Пользователь
0,0
рейтинг
19 февраля 2014 в 17:18

Разработка → Twister теперь действительно работает на Windows



Совсем недавно был пост о выходе Twister для Windows, к сожалению, версия обладала ошибкой, из-за которой некоторые клиенты не могли подключится, теперь всё работает.

Кроме того, теперь в твистере отображаются популярные хештеги (Trending).

Желающие протестировать P2P сервис микроблогига предлагаю попробовать снова запустить Twister (загрузив новую версию), теперь он действительно работает на Windows.

Коротко, что такое Twister — это децентрализованный аналог твиттера (микроблогинговый сервис) который построен по принципу P2P и использует всё самое лучшее от Bittorrent и Bitcoin. Другими словами — это микроблогинговый сервис который невозможно цензурировать, модерировать и у него нет единой точки отказа.





Что такое Twister (Подробно)
habrahabr.ru/post/208472
Twister — это сервис микроблогинга (аналогичный твиттеру), но его отличает несколько очень интересных технологий которые были использованы одновременно.

А именно: Bitcoin Block Chain, Bittorrent DHT, Bittorrent Swarm.

Другими словами — это полностью анонимный, децентрализованный сервис микроблогинга который вобрал в себя всё лучшее от Bittorrent и Bitcoin.

Сейчас происходит бум децентрализованных сервисов, Bitcoin, Bittorrent, Bitmessage, мессенджер Tox, их объединяет общая идея — быть независимыми от всех, быть неподконтрольными.

Создатель Twister, Miguel Freitas, считает, что микроблоги осуществляли огромную помощь в различных акциях протеста в множестве государств. Но, к сожалению, политика «информационной безопасности» государств идет в разрез со свободой слова, и под давлением тех или иных структур, начали удаляться неправильные сообщения или целые учетные записи.

Ну и конечно, иногда государство требует произвести деанонимизацию — от компаний — получив все записи о заходах пользователя.

Именно идея отсутствия свободы слова в удобном формате и побудили его создать данный сервис.

Что должен включать в себя удобный способ распространения информации?
— Интерфейс который будет понятен большинству пользователей
— Поддержка мобильных устройств
— Защита от глобального контроля и шпионажа
— Нормальные имена пользователей (Сравнение Twister и Bitmessage)

Автор данного мессенджера в своем whitepaper проводит сравнение с существующими федеративными социальными сетями и таким приложением как Bitmessage.
К сожалению, все эти свойства ранее не встречались ни в одном из сервисов или протоколов.

А теперь давайте поговорим из чего состоит Twister.

Что и для чего используется


Bitcoin Block Chain

Цепочка блоков от системы Bitcoin используется для хранения регистрационной информации, другими словами, когда вы регистрируетесь в системе — данные о вас рассылаются всем. Это позволяет защитить вас от кражи вашего ника в системе и не позволяет другим людям, под видом вас, публиковать ложную информацию.

Обратите внимание, что цепочка блоков отличается от Bitcoin.

Bittorrent DHT

Данная технология используется для рассылки ваших сообщений в сеть, передачи личных сообщений и другого контента который может быть в сети.

Как только вы напишите пост — он будет разослан в DHT сеть и сохранен у вас для дальнейшего распространения.

Обратите внимание, что каждый участник сети не хранит все данные сети (есть вероятность того, что если у вас мало подписчиков, что информация из вашего блога будет недоступна при отсутствии подключения у вас с интернетом)

Bittorrent Swarm

Swarm — рой
Данная технология используется для практически моментального обновления информации среди подписчиков или людей находящихся рядом.
Она работает параллельно с DHT, что позволяет решить одну и ту же проблему различными способами, дополнительно разгрузив основную DHT сеть от запросов.

Генерация новых блоков

Дочитав до этого места вы возможно спросите, "Но постойте, генерация блоков в сети bitcoin требует много вычислительных ресурсов, кто этим занимается и какая награда? "

Вы правы, по умолчанию вы не генерируете новые блоки в сети, но вы можете начать их генерировать, а в качестве награды вы получите возможность отправить рекламное сообщение которое будет отображено всем пользователям сети.



1) twister.net.co/wp-content/uploads/twister-0.9.15-win32-bundle.zip
2) Для запуска — распакуйте архив и запустите runme.bat
3) Подождите пару минут, у вас откроется Chrome с твистером, если у вас другой браузер — откройте следующий адрес в нём: http://127.0.0.1:28332/home.html
4) Вас перебросит на страницу http://127.0.0.1:28332/network.html на которой будет отображаться ход скачивания цепочки блоков, как только цепочка будет обновлена — вы сможете зарегистрироваться http://127.0.0.1:28332/login.html
5) После регистрации нового пользователя вы должны подождать немного пока сеть его подтвердит.
Важно (!) сохраните ваш ключ который будет вам показан, при потере ключа вы потеряете доступ к вашему логину навсегда (!)

Если вы не хотите регистрироваться, а просто хотите посмотреть, как оно работает — вот уже зарегистрированная учетная запись:
Логин:habr_public
Ключ: L1P7TqdTGcYDaqgDaM1afz7BRkBArBFiNohYuJMzQkxRkg2kL5W1

Или habrahabr_public KxW3qe7n6qdnMGfUe3CizM4TH2h878DxuBq6V24FmpkPV9hdn2ix

Введите эти данные тут http://127.0.0.1:28332/login.html в поле «Импортировать секретный ключ»


Официальный сайт: twister.net.co
Репозиторий: github.com/miguelfreitas/twister-core
Репозиторий html интерфейса: github.com/miguelfreitas/twister-html

Кого почитать?

@ mfreitas — основатель проекта
@ twister — основная информация по проекту и обновления
@ rutwister — информация по проекту и обновления на русском языке
@ twmonitor — монитор активности репозиториев
@ shift — я

Всем новоприбывшим предлагаю писать с хештегом #ru в твистер.
Shift @shifttstas
карма
51,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (40)

  • +8
    Если не сложно добавьте пару слов о том, что это. Я лично зашел посмотреть связь напольной игры и редмонской ОС.
    • +1
      Добавил подробное описание и ссылка на обзорный пост
  • +1
    А я уж думал это у меня руки кривые. Всё сделал, оно выкачало блоки, а постить не давало хоть ты убейся…
    • +2
      Там была ошибка — по DHT он не мог никого найти, сейчас вроде бы временно ошибка решена через DNS Сидов, но продолжаются поиски разработчика знающего сетевую часть под windows
      • 0
        Я руками прописал ему адреса пиров, он нашёл их и обновил ципочки, и DHT узлы нашёл, но подтверждение сети на регистрацию мне так и не пришло
        • +1
          Сейчас тестировал на win7 вроде все работает. на гитхабе разработчики не понимают как сетевая часть может себя вести настолько по разному в разных OS
          • 0
            Да легко, пара магических чисел, вместо определённых в системе констант, и всё. Любой ответ любого API в любой ситуации м.б. интерпретирован не верно.
          • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      У меня и сейчас не получается, хотя блоки выкачал, твиты читаются,
      но при попытке отправить твит выдает «Ajax ошибка: bad post signature» :(
      • +1
        Зайдите на страницу своего профиля, скорее всего сеть вас еще не зарегистрировала
        • 0
          Профиль уже редактировался, так что получается что сеть зарегистрировала.
          Возможно в чем-то другом было дело, но в любом случае, сейчас всё заработало.
      • 0
        После регистрации такая проблема существовала на протяжении 2-ух часов. Сейчас твиты и лс пишутся без сбоев.
        • +1
          Из-за наплыва людей, возможно долго шла регистрация
      • 0
        Аналогично.

        Ещё предлагает подписаться на себя, но когда хочешь подписаться на себя, не подписывается (на других подписывается без проблем).

        В общем, будем ждать действительно работающую версию.
  • 0
    Попробовал поставить себе на Arch из AUR — при старте демона получаю:
    лют 19 16:59:03 Stvad-pc systemd[1]: Starting Twister daemon…
    лют 19 16:59:03 Stvad-pc systemd[1]: Started Twister daemon.
    лют 19 16:59:03 Stvad-pc twisterd[1802]: ************************
    лют 19 16:59:03 Stvad-pc twisterd[1802]: EXCEPTION: N5boost12interprocess22interprocess_exceptionE
    лют 19 16:59:03 Stvad-pc twisterd[1802]: Permission denied
    лют 19 16:59:03 Stvad-pc twisterd[1802]: bitcoin in AppInit()
    лют 19 16:59:03 Stvad-pc systemd[1]: twister.service: main process exited, code=exited, status=1/FAILURE
    лют 19 16:59:03 Stvad-pc systemd[1]: Unit twister.service entered failed state.
    • +1
      Пакеты все требуемые установили? конфигурационный файл создан?
      • 0
        все пакеты подтянулись зависимостями.
        конфигурационный файл?
        запустил вручную (не через systemctl start) — работает. вручную запускал от рута. пологаю что проблема гдето в правах пользователя twister.
        • +1
          файл настроек в домашней дерриктории /.twister/ создали?
  • +2
    Хотел сказать, что с таким способом установки и запуска не взлетит, но в секции загрузок на официальном сайте все уже написали. Удачи проекту! :)
    • +3
      Это же альфа-альфа, но для этого уровня она стабильная, понятно что потом будет и установщик и клиенты под все платформы… сейчас вон даже на андроиде работает
      • +3
        Так тут такое дело… вам ведь нужны пользователи, верно? :)
        Две ситуации:
        1. Пользователь читает про какой-то классный аналог твиттера без модерации, бежит на сайт поставить и попробовать, а его встречают папка с кучей непонятных файлов и батником или вообще инструкция по компиляции.
        2. Пользователь читает про какой-то классный аналог твиттера без модерации, бежит на сайт, жмет «Download», запускает и наслаждается.

        К чему это все? Мне кажется, именно на старте проекта очень важно первое впечатление. Ведь собрать пакеты (хотя бы простые .deb и .rpm) намного проще, чем допилить остальную часть программы, а приток пользовательской базы будет огромен.
  • 0
    Существуют подобные аналоги имиджборд? Недавно услышал о nanoboard и nanohtml. Но для его работы необходим Bittorrent Sync.
    • +1
      есть подобие форума Osiris — он отличный но не OpenSource и с 2011 года забыт разработчиком, мои обзоры о нем доступны на хабре
  • +6
    shifttstas
    Я запустил твистер на винде ещё когда увидел твой предыдущей пост о том, что он работает на винде. Спустился на несколько версий вниз (запустилось!) и прописал «dns seeds» руками (заработало!).

    В итоге, оно, конечно, заработало вполне стабильно и мне даже понравилось, но разработчик ведёт себя как-то неверно, ИМХО.
    1. Выпустить версию для винды без тестирования.
    2. Закономерно с багом, а последние — так вообще нерабочие.
    3. Чинить это три недели. Возможно, всё таки удалось заполучить машину с виндой?

    Ладно, хорошо, пусть будет так — в конце концов это его дело, и винить его тоже некрасиво. Но стоит ли (пока) говорить об этом проекте серьёзно?
    К примеру взгляните на I2P. Сеть разрабатывается ОДИННАДЦАТЬ лет, и до сих пор версия меньше единицы. Рутер написан на джаве, работает как танк — стабильность на высоте, просто пуленепробиваем. И всё равно его рассматривают как бета-версию.

    То, что пишет разработчик, обычно работает на его компьютере всегда — просто потому, что он САМ ЭТО И НАПИСАЛ. Но, по моему мнению, разработчик твистера относится очень безалаберно к тому, что он делает.
    Выпустить версию для ОС, которой у него вообще нет? Без тестирования? Запросто!
    Подождите пару минут, у вас откроется Chrome с твистером, если у вас другой браузер — откройте следующий адрес в нём: 127.0.0.1:28332/home.html
    чтооооо? С чего вдруг хром? Почему? Зачем делать так, если в винде, дай бог, лет двадцать есть механизм выбора дефолтного браузера???
    runme.bat:
    twisterd -datadir=./ -rpcuser=user -rpcpassword=pwd -rpcallowip=127.0.0.1 -daemon
    ping 127.0.0.1 -n 5 -w 1000 > nul
    start «Chrome» chrome --new-window 127.0.0.1:28332/home.html
    ping 127.0.0.1 -n 5 -w 1000 > nul
    twisterd -datadir=./ -rpcuser=user -rpcpassword=pwd addnode seed3.twister.net.co onetry
    ping 127.0.0.1 -n 5 -w 1000 > nul
    twisterd -datadir=./ -rpcuser=user -rpcpassword=pwd addnode seed2.twister.net.co onetry
    ping 127.0.0.1 -n 5 -w 1000 > nul
    twisterd -datadir=./ -rpcuser=user -rpcpassword=pwd addnode seed.twister.net.co onetry
    ping 127.0.0.1 -n 5 -w 1000 > nul
    twisterd -datadir=./ -rpcuser=user -rpcpassword=pwd addnode dnsseed.gombadi.com onetry
    ping 127.0.0.1 -n 5 -w 1000 > nul
    twisterd -datadir=./ -rpcuser=user -rpcpassword=pwd addnode dnsseed.gombadi.com onetry
    ping 127.0.0.1 -n 5 -w 1000 > nul
    twisterd -datadir=./ -rpcuser=user -rpcpassword=pwd addnode dnsseed.gombadi.com onetry
    И вот это вот, как я понимаю, только что был тот самый фикс, который ждали три недели, и который в результате был написан за одну минуту на коленке в автобусе?

    ping 127.0.0.1 -n 5 -w 1000 > nul
    А так КТО делает?

    Почему нельзя было писать всё на джаве, чтобы работало везде и одинаково? Почему нельзя было предусмотреть конфиг-файл, в котором в специальной секции все вот эти dns seed'ы можно было бы прописать? Почему? Что это? Ну как так-то?
    • +1
      Да, я знаю...


      Но всё равно, правда, почему так?
      • –3
        Разработчик — основатель — один, он не windows программист, проект open source — желающие подтягиваются, надо хотя бы радоваться что не на Java оно написано.
        • 0
          Это хреново, что оно написано не на джаве. Роутер I2P запускается любой платформе, и работает везде одинаково хорошо. А тут хрень какая-то!

          Если есть покушение на cross-platform, то надо сразу писать нормально. Компиляция с cygwin — я бы не сказал, что это прям уж круто и кросс-платформенно — всю работу сделали парни из cygwin.
          • –2
            Если говорить о выборе языка, то я вот, например, сожалею о том, что эта штука (twister-core) не написана на джаваскрипте под Node.js.

            Причём нечто джаваскриптоподобное в ней есть, и даже в изобилии. Диаграмма употребления языков показывает 43,5% TypeScript:

            [языки]

            Спрашивается: почему не выбрали JavaScript?

            Эх…
            • 0
              Я, в общем, тоже очень люблю этот язык, но всё равно мне кажется, что пока не время писать пользовательские приложения (то есть для пользователя, на компьютер пользователя) на JS. Пока есть пару вариантов, как я понимаю — мозилловский движок (XUL) и смесь Node с вебкитом. Честно говоря, ни на первом, ни на втором десктопное приложение мне бы иметь не очень-то и хотелось бы (хотя попробовать пописать на этом — с радостью).

              Теперь со стороны разработчика. Для XUL хорошей среды разработки нету (признают даже в мозилле), а как дела у node-webkit?

              edit: то есть, это ни разу не вина джаваскрипта. Это вина технологий, которые по моему личному мнению пока что не годятся. Даже Qt тормозит во сравнении с нативными приложениями, а это обычный C++, однако. Я бы с радостью, честно.
          • 0
            Из-за того, что роутер I2P написан на Java, а не на C/C++ он не работает на самом многочисленном, и самом важном железе — роутерах, и это очень грустно. Для Twister работа на роутерах не так актуальна, зато очень актуально потребление ресурсов, ибо требуется работа на мобильных платформах.
            • 0
              Из-за того, что рутер I2P работает на Java, он запускается на бесчисленной туче платформ, и из их числа — OS/2.
              А хардверные рутеры потребительского класса I2P вообще в прицнипе вряд-ли потянут, будь он хоть на ассемблере, так что аргумент не аргумент.
        • +1
          Почему радоваться? I2P на JAVA, и работает отлично, разве нет?
          • –2
            Про мобильные платформы, баги, уязвимости, потребление памяти вспомните
          • –1
            На роутерах не работает, и это колоссальная проблема.
        • +2
          Давайте и здесь не любить java. Она же не позволяет (просто) сделать чтобы конечный юзер компилил приложение сам.
    • +2
      При всём том, что я сам еле запустил это дело на Винде с третьего раза, не имею претензий к разработчику.
      Тем более, что он честно написал, что это альфа-версия. Для того и выпустил, чтобы люди потестировали.

      > А так КТО делает?
      Ну да, говно, многие это понимают, мне кажется, в том числе и сам разработчик, но ведь это не важно в данном контексте.
      Если бы он делал всё красиво и идеально, он бы, возможно, так бы и писал в стол, как сотни тысяч остальных программистов-перфекционистов на свете, и его Твистер выпустил бы кто-нибудь другой.
  • 0
    Воркэраунд для тех, кто запустился на старой версии, и вроде как зарегистрировался, но не смог ничего ни написать, ни изменить свою информацию. (Ещё периодически появляется ошибка, говорящая, что не удаётся получить идентификатор последнего поста, и предлагающая для решения проблемы подписаться на самого себя. Конечно же, это не решает проблему.)

    Несмотря на то, что в вашем клиенте написано, что вы зарегистрированы, на самом деле это не так, система не приняла вашу регистрацию (вы не были подключены к ней в старом клиенте, а когда подключились (даже если), было уже поздно).
    Качаем новый архив (0.9.15), распаковываем в новую папку, заходим, регистрируем тот же ник заново (система разрешит это сделать и выдаст вам новый приватный ключ), и всё заработает.
    Что удивительно, ваши подписки на пользователей, которые вы сделали из старого клиента, останутся.
    • 0
      Если вам разрешают еще раз зарегистрировать мы — значит сеть не подтвердила вашу регистрацию от сюда и все остальные ошибки.
      • 0
        Ну естественно. Именно поэтому я и написал „вроде как зарегистрировался“.
        Потому что понять из клиента, что ты на самом деле не зарегистрирован, нельзя никак: подписываться на людей и читать их ленты можно, майнинг включается, сеть подключается; т. е., всё можно, кроме редактирования профиля и написания своих постов.
  • НЛО прилетело и опубликовало эту надпись здесь

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