Файлообмен через чат 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. Неужели что-то подобное действительно придётся использовать в будущем?

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 35

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

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

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

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

                                          Only users with full accounts can post comments. Log in, please.