Файлообмен через чат Facebook

В финале конкурса Facebook Hackathon студенты UC Berkeley показали, что может произойти с интернетом после принятия SOPA, если корпорации получат полный контроль над интернетом, американцам запретят файлоообмен и закроют доступ к большинству веб-сайтов, кроме нескольких крупных (например, MSN и Facebook). Студенты разработали программу Emotiface, которая кодирует файлы в base64 ASCII и передаёт их пакетами через чат Facebook.

Демо передачи анимированного GIF



Один из разработчиков объясняет, из каких модулей состоит Emotiface:
  • локальный веб-сервер на python, который конвертирует файлы в base64 ASCII и формирует пакеты с указанием UUID и всей остальной необходимой служебной информацией;
  • пользовательский скрипт в браузере (вроде скрипта Greasemonkey) с открытым сайтом Facebook.com забирает пакеты с локального веб-сервера;
  • Скрипт отслеживает входящие сообщения в чате (пакеты) и отправляет в чат исходящие пакеты;
  • поскольку Facebook пытается блокировать автоматизированную отправку сообщений в чат, на локальном веб-сервере эмулируются нажатия клавиш (keydown event) с помощью bash-скрипта и AppleScript, такой способ они не смогут заблокировать, потому что он аналогичен реальному нажатию клавиш;
  • поскольку Facebook блокирует около 50% пакетов после первых 15-ти, пришлось реализовать метод TCP для уведомления о доставке каждого пакета.
Emotiface на github. Неужели что-то подобное действительно придётся использовать в будущем?
+24
5 декабря 2011, 16:10
13
alizar 2223,8 G+

комментарии (35)

+1
frig #
Забавно, конечно, но реально есть и всегда будут способы и попроще.
Как только возникнет необходимость — треккеры тоже станут ненужны, их функция тоже будет отдана самим клиентам.
+1
JustLuckyGuy #
utorrent вроде-бы уже поддерживает передачу файла без трекера
0
frig #
Да для передачи то понятно, что сервер не нужен, а вот для хранения списка пиров, списка файлов — пока что нужен. Но я думаю, что именно «пока что» и ровно до тех пор, пока не стали душить.
+9
Agent_Smith #
Ну есть же DHT
0
Eternalko #
Вы когда хотите скачать фильм 1959 года выпуска идете искать его на «рутрекер» или в «DHT»?
+1
SADKO #
Фильм найдётся на трэкере, пиры найдутся через DHT.
+1
Eternalko #
Пиры то найдутся, но откуда-то торрент надо скачать? И узнать что это за торрент, описание и т.д.
0
nick4fake #
Что мешает сделать надстройку над dht и распределенно хранить базу?
0
Eternalko #
Она будет повторять на 100% функционал рутрекера?
0
nick4fake #
Что вы под этим функционалом понимаете? Она сможет позволить искать и выбирать торренты, возможно хранить картинки и т.д.
Я не понимаю, почему это еще не сделали
0
Eternalko #
Возможно хранить картинки если повезет.

Посмотрите правде в глаза.
Живы раздачи и торренты там, где есть сайт-форум, где скачивающие тусуются и выкладывают раздачи. Нет тусовки, нет торрентов.

А трекер-шмекер или DHT это уже дело 10-е.
0
KOLANICH #
когда хочу скачать что-то довольно редкое, иду на btdigg
+13
savant #
Вот и возвращаемся к фидошным ююкам, но в новой ипостаси :)
+1
Vertex #
Хех, достаем пылящийся модем, и открываем BBS. :)
+18
sHinE #
Эх, во времена интерента по траффику у моего провайдера был форум, доступный снаружи и бесплатный изнутри. А у меня еще был и шаред-хостинг. Скрипт нарезал файлы на хостинге (которые туда заливались скрптом-качалкой) по кусочкам примерно в 50 кб, кодировал в base64 и отправлял через личные сообщения на форуме. Второй скрипт собирал эти кусочки и сохранял на диск. Ну и скрипт, который управлял этими двумя, потому как ограничение на количество ЛС, надо было удалять лишние. В итоге около 20 мб/час можно было передавать :)
0
TheMengzor #
Прикинул нагрузку на MySQL и PHP, если поднять bandwidth :)
0
trueneutral #
У меня было чуть проще — платный трафик, но бесплатная почта. Так что комбинация «скачать — нарезать по 5 мегов — кинуть в почту» работала идеально :)
0
sHinE #
Мой пров это предусмотрел, у него было две почты — одна, на которую можно с внешки достучаться — на нее траффик был платный, другая — чисто локальная, но бесплатная.
У другого моего провайдера была услуга хостинга, платного (был и бесплатный, но там сетвые функции php закрыты были). В позднюю эру лимитного интернета туда ставился скрипт типа rapidget :-D и аналог веб-прокси, на который через proxomitron рулились запросы из браузера.
В общем весело было :) А потом пришел анлим и стало скучно :-D в этом плане.
+1
DjOnline #
Было похожее, только шаред-хостинг был с php и был виден и снаружи, поэтому задача упрощалась.
Несмотря на закрытые сетевые функции php, данные отлично можно было принимать методом POST извне.
+2
coocheenin #
Беркли — рулит!

А вообще, если до такого дойдет, люди просто будут чаще встречаться.
Как раньше, винил под мышку — и, вперед :)
0
coocheenin #
При попытке посмотреть код на github последний ругается «Something went wrong.»
–1
Mithgol #
Это SOPA :-)
0
SADKO #
На букву Жо :-)
+1
Finom #
А причем здесь блог Peer-to-peer? Сообщения ведь всё равно идут через сервера фейзбука.
+2
SADKO #
Ну p2p штуки обычно тоже через TCP или UDP протоколы работают, а то и вообще по IP.
Не так важно, на чём паразитировать, хоть на коротких волнах, или листочке бумаги на холодильнике.
P2p это принцип, обмена, применимый даже за пределами тырьнетов.
+1
SADKO #
Эх, ностальгия. Помнится во времена модемов, я извращался до того, что тоннелил IPX через чаты и форумы висевшие в халявном доступе у MTU (Таверна) и DEMOSа (а уж там то было раздолье, хоть проксю свою запускай, или чужую используй :-)…
0
Infthi #
А потом, когда закажешь с фейсбука архив информации по себе, там будут все эти логи? :)
+1
bagyr #
Еще можно делать огромные аналоги qr-кодов и через картиноко-хостеров их шарить.
0
hashspark #
Если честно напомнило сеть через LPT порт. Когда-то тоже делал что-то подобное с пересылкой тогда ещё сообщений. Только формировалось там по байтам и потом склеивались фразы.
+1
Nika_BlackHat #
Вот он векторный гипертекстовый фидонет моей мечты!
Здравствуй, дорогой мой нод! Заууячь мне, пожалуйста, новый альбом Мориса Боисеева.
+1
philpirj #
Это возрождение скачивания файлов с ботов на IRC. Я уверен, с такими темпами IRC ждёт светлое будущее. Там и группы по интересам, и друзья, и скриптование, и из IRC мемов вырос bash.org, и IRC передача файлов со временем заменила FTP, и там было реально весело. Назад в будущее!
+2
Fedcomp #
Когда вконтакте был бесплатный мобильный доступ на 0.vkontakte.ru, я пробовал написать бота который принимал бы дома команды. Бота сделал, и хотел написать на питоне под симбу скрипт «прокси» который бы через сообщения вк превращал бота в прокси сервер. Итого можно было с бесплатным доступом всего лишь к 0.вк бороздить просторы интернета на мобильнике, разумеется имея где то прокси бота. Хотел про это написать в песочницу, но к сожалению это быстро прикрыли.
Также если base64 прикроют — можно будет придумать как через полу-человеческие фразы передавать информацию, что то типо того что делают СЕО боты, но для передачи байтов.
0
xnodev #
Мы в свое время писали подобные скрипты для mIRC :)
0
mihmig #
Почему-то вспомнилась шутка: «Извращений в мире по сути всего два — хоккей на траве и диал-ап через ip-телефонию».
Вот BBS по диалапу через VOIP может сделать?

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.