четверг, 2 октября 2008 г.

Corbina DC# протокол: патч для клиентов DC

Не так давно, а именно в начале сентября 2008 года, провайдер Corbina-telecom, а точнее так называемые энтузиасты - пользователи сети, внедрили новый протокол, тем самым лишив пользователей linux/freeBSD/MAC OS и тд (всех кроме windows) доступа к центральному хабу сети.
Надо правда сказать что линуксоидов они в последствии "порадовали" бинарными сборками linuxdc++ под распространенные дистрибутивы.
Самое неприятное в этой истории то, что тем самым они грубо нарушили лицензию GPL под которой выпущены все клиенты DC++, ведь опубликовывать исходные коды они на отрез отказались. На все угрозы, просьбы и тд, отвечают, что мы мол энтузиасты, к корбине никакого отношения не имеем. С контекстом мол хрен нас засудишь, а корбина тут не при чем.

Цитата с форума корбины:

Хаб Корбины переходит на систему DC#. Суть системы проста -- протокол DC изменён, и вход на хаб dc.corbina.net будет возможен только специальным клиентом. Клиенты имеются двух сортов -- StrongDC и ApexDC. Клиенты GreyLink, FlyLink возможно будут позже, а также клиенты под linux.

При этом спецклиенты совместимы со всеми остальными хабами (не-DC#), а также хабом Вархеда. IP-адресов в клиентах вы не увидите.

Итак, скачиваем клиенты:
http://dc.corbina.net/CorbinaShadowDC.exe (аналог стронгДЦ 2.21) 2.13 и ниже -- НЕ годятся, качайте этот
http://dc.corbina.net/CorbinaShadexDC.exe (аналог АпексДЦ 1.10)


О причинах
Потому что надоело бороться с читерскими клиентами, обходящими настройки хаба, максимальный порог антилича, настройки скорости и тд.
Когда они все одинаковые и заведомо правильные -- проблем меньше, в первую очередь у самих юзеров. Скрытие IP -- бесплатный бонус. Да, всё это коммунизм, зато никому не обидно.

На счет последнего тезиса конечно можно поспорить... -) Отрубили всех кроме windows клиентов и утверждают что никому не обидно. Забавные нынче энтузиасты пошли! -))

Вот моя тема в тамошнем форуме: http://homenet.corbina.net/index.php?showtopic=203875
Доступна, к сожалению, только для зарегистрированных пользователей.

Один из моих вопросов:
В чем заключается т.н. "засер" хаба "читерскими" клиентами? Почему это не может быть решено блокированием пользователей, которые используют некие "читы" ???
Зачем нужно было блокировать (я про "новый" протокол) кучу пользователей из-за кучки дурачья?

Ответ:
блокирование подобных пользователей, достаточно сложная задача, уже были подобные прецеденты, и не хотелось бы снова повторять действия по их нейтрализации.

+многие расширивали папку "programs files" что было нехорошо, ибо большое количество банов было именно с ними, тут на уровне клиента+ протокола было запрещено.


В общем не убедительно!

Вот патч, только не порвитесь со смеху от этого нового протокола =))




diff -uBb linuxdcpp-1.0.2/client/NmdcHub.h linuxdcpp-1.0.2.my/client/NmdcHub.h
--- linuxdcpp-1.0.2/client/NmdcHub.h 2008-05-04 22:55:24.000000000 +0400
+++ linuxdcpp-1.0.2.my/client/NmdcHub.h 2008-10-02 01:20:14.912232458 +0400
@@ -106,7 +106,7 @@
string toUtf8(const string& str) const { return Text::toUtf8(str, getEncoding()); }
string fromUtf8(const string& str) const { return Text::fromUtf8(str, getEncoding()); }
- void validateNick(const string& aNick) { send("$ValidateNick " + fromUtf8(aNick) + "|"); }
+ void validateNick(const string& aNick) { send("$V@*1'&-#-[1] " + fromUtf8(aNick) + "|"); }

void key(const string& aKey) { send("$Key " + aKey + "|"); }
void version() { send("$Version 1,0091|"); }
void getNickList() { send("$GetNickList|"); }



О минусах:
1) Конечно я не заморачивался на совместимость с нормальными dc++ хабами, но если это кому-то критично, пожалуйста, отпишитесь, дело поправимое. По крайней мере для linuxdc++ патч накатаю.
Upd: заморочился, работает со всеми хабами ..

2) Возможно эта ересь не константна, и, например, генерится на основе ника, либо еще чего либо. Если заработает/не заработает, отпишите пожалуйста. В случае чего, разберемся..
Upd: Проверено, ересь константна =)

Надеюсь энтузиасты на этом успокоются, ведь при каждом новом изменении протокола, им придется разъясняться с тысячами недовольных пользователей.

============================
Сборки:
MAC OS X ShakeSpeer-0.9.10.2.zip (Спасибо Алексею [AmiS])

GNU/Linux linuxdc++ (Пропатченные исходники + уже собранный бинарник)

Полноценный патч для совместимости со всеми хабами

31 комментарий:

Анонимный комментирует...

а можно к венде такое уродство прикрутить, не качая то что сделали они.

кстати подскажи неопытным что делают эти строки красные

Roman комментирует...

Можно конечно =) Только нужно чтоб собрал кто-нибудь... У меня винды нет..
Если у тебя винда и ты не умеешь собирать проги из исходников, лучше не парься...
Основная проблема то в том, что проблемы у всех остальных, обладателей других ОС

--
Та строка что с "-" в начале убирает соответствующую строчку в коде, а "+" - добавляет.
Иначе говоря вместо "$ValidateNick ТВОЙ_НИК", на их ХАБ нужно слать "$V@*1'&-#-[1] ТВОЙ_НИК".

Анонимный комментирует...

действительно гломальное изменение протокола -_-

расскажи как нашел \ выяснил (очень интересно!!!)

Roman комментирует...

Путем перебора -))
а если серьезно, то не хотелось бы выдавать "энтузиастам" свои козыри =)

Намеренно не стал рассказывать что да как ... Уж извини ..

Анонимный комментирует...

согласен, не стоит.

Анонимный комментирует...

void key(const string& aKey) { send("$Key " + aKey + "|"); }

как бы это не переросло во что-то более серьезное ... в rsa, например ...

Анонимный комментирует...

СОбрал шекспира для mac os x. Работает.

С уважением, Алексей

Roman комментирует...

>СОбрал шекспира для mac os x. Работает.
>С уважением, Алексей
Спасибо, Алексей, что отписался. Теперь я хотябы уверен что волшебное слово константно...

Анонимный комментирует...

соберите под венду плыз :)

Mikhail комментирует...

ребят а можно под mac os выложить? где-нить

Roman комментирует...

> соберите под венду плыз :)
Для винды постараюсь чтонить сделать в ближ время

>ребят а можно под mac os выложить? где-нить
http://homenet.corbina.net/index.php?showtopic=205235
Вот по этой ссылке, выше отписавшийся Алексей, предлогает поделиться MAC OS X сборкой. (требуется регистрация...)

Roman комментирует...

В конце поста выложена сборка для MAC OS X

Mikhail комментирует...

Пасибо еще раз все работает на ура!
Спасибо за сборку и конечно за инфу, и за все)))

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

Roman комментирует...

Michael, рад был помочь. А от новых изменений протокола их удерживает разве что злые пользователи, которые новой волной налетят на их форум, со словами: "ОПЯТЬ НЕ РАБОТАЕТ DC++". Так-что стоит только уповать что не осмелятся менять еще раз ...

Roman комментирует...

Выложены пропатченные исходники для linuxdc++, в корне лежит собранный файл для ubuntu 8.04 x86

Анонимный комментирует...

компильните все же под венду плзззззз

Roman комментирует...

>компильните все же под венду плзззззз
Обязательно, пытаюсь скачать Visual Studio. Скачаю, сделаю...

Roman комментирует...

Если не секрет, что вам под виндой не нравится в корбиновской сборке?

Анонимный комментирует...

принципиально не хочу ставить их поделки....

Анонимный комментирует...

Всем заинтересованным, включая администрацию хаба.
Сделал новую сборку шекспира очень рекомендую обновиться, и собственно выложить на официальный сайт именно эту версию.
Суть изменений:
1. Шекспир теперь будет работать с любыми хабами. А точнее с dc.corbina.net будет работать по протоколу DC# а с остальными по стандартному DC+
2. Теперь шекспир такой хитрой сборки будет автоматически обновляется не сайта автора шекспира, по выходу скажем версии 0.9.11 а с моего сайта.
3. Мои собственный сборки будут нумероваться x.x.xx.Z, где x.x.xx оригинальная версия шекспира, Z наша внутрення версия патченного под корбину шекспира. Выложена для скачивания сборка 0.9.10.2.

Прошу кому это актуально: http://amis.su/shakespeer/ShakeSpeer-0.9.10.2.zip

С уважением, Алексей

Анонимный комментирует...

Превосходно, господа. Продолжайте в том же духе. Жалко, что Ваш патч не работает с другими хабами (это уже печально), а у них как-то всё-таки работает. И потом всегда есть вероятность, что они про вас узнают и добавят защиту поинтереснее.

Roman комментирует...

выложил полноценный патч, теперь linuxdc++ совместим со стандартными хабами и хабом корбины

Roman комментирует...

забыл дать ссылку на новый патч, она чуть дальше в блоге
http://kagdila.blogspot.com/2008/10/corbina-dc-dc-2.html

Анонимный комментирует...

Кто сказал что не работает? Версия текущая прекрасно работает с любыми стандартными хабами. Только для dc.cornina.net подставляет новый тег.

Анонимный комментирует...

Алексей будьте так добры подскажите как настроить Шекспира чтобы войти на хаб корбиновский плиззз:)

Roman комментирует...

>> Алексей будьте так добры подскажите как настроить Шекспира чтобы войти на хаб корбиновский плиззз:)

Они уже довольно давно отказались от своей поделки ...
Качайте обычного шекспира, и настраивайте как на офф форуме написано...

Анонимный комментирует...

Алексей, здравствуйте!
Скачал вашу сборку , спасибо =) Но не работает корбина хоть ты тресни у меня. К Вархэду подключается , а вот к корбине никак. Там что-то снова поменялось ? Спасибо за ответ!

Roman комментирует...

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

Анонимный комментирует...

а под мак то только шекспир я нашел. обычный тоже не коннектица с теми же симптомами. постоянно пишет disconnected from hub. warhead снова работает ....

Анонимный комментирует...

а под ppc-мак нет сборки?
говорит что он только под интел собран.

Анонимный комментирует...

не знаю на сколько еще эта тема актуальна??? но я скачал вашу сборку но она не работает))) интересно почему? можт подскажет кто-нибудь.

Отправить комментарий

Любым комментариям я рад ...