Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Всё о Direct Connect _ Ratio в DC

Автор: yatsik 22.7.2009, 14:19

Как реализовать ? есть у кого опыт?

Автор: alex82 22.7.2009, 15:38

Без радикальной переделки протокола реализовать это невозможно.

Автор: yatsik 23.7.2009, 7:41

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

Автор: Wariner 23.7.2009, 8:46

идеи такие уже были... юзаем поиск!

Автор: yatsik 23.7.2009, 18:39

искал не нашел, если не сложно ссылку. плиз

Автор: Wariner 23.7.2009, 18:56

кое что тут http://mydc.ru/topic931.html?hl=%F0%E0%F2%E8%EE
а вообще читай эту тему http://mydc.ru/index.html?showtopic=682&view=findpost&p=8471

Автор: yatsik 23.7.2009, 19:07

ясно ) надо доставать с полки книжку по ассамблеру и ковырять как исходники хаба так и клиента....

Автор: Wariner 23.7.2009, 19:46

да вроде ассамблер тут не причём... C++ )))

Автор: alex82 23.7.2009, 19:48

Цитата(yatsik @ 23.7.2009, 19:07) *
ясно ) надо доставать с полки книжку по ассамблеру

При чем здесь ассемблер? Подавляющее большинство клиентов и единственный вменяемый хаб с открытыми исходниками написаны на C.

Автор: mariner 23.7.2009, 20:22

Цитата(yatsik @ 23.7.2009, 20:07) *
ясно ) надо доставать с полки книжку по ассамблеру и ковырять как исходники хаба так и клиента....


эмм, не знаешь тему, а тужа же. Все написано на c\c++\python\perl\lua (ассеблера там нет и в помине, мы же не драйвер или модуль к ядру пишем, не правда ли? )

Автор: Delion 23.7.2009, 22:46

Цитата
почему? есть же ратио локально на дц клиенте, а если просто сделать скрипт в клиенте который отпралял бы инфу, и скрипт на хабе который бы протоколировал и записывал данные

Начни с того,что на таком хабе мало кто будет сидеть. Полтора энтузиаста.

Автор: yatsik 27.7.2009, 7:33

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

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

Автор: mariner 27.7.2009, 8:38

а зачем? сформулируй причину зачем нужна. Ну кроме желания уменьшения свободы файлообмена и ратиодрочерство

Автор: Delion 28.7.2009, 11:01

В продолжение идеи - фактически персонаж хочет запретить на этом своём рейтинговом хабе все клиенты кроме собственноручно модифицированных. Типа удачи.
Теоретически это возможно,но практически для этого нужна неплохая команда.
Короче,овчинка не стОит выделки.

Автор: Setuper 3.8.2009, 11:44

Он просто хочет из dc сделать торент

Автор: MEXAHuK 18.9.2009, 7:32

есть такая проблема и называется она ПРОВАЙДЕР. (П)
П ввёл порочную систему поощрения за "кто больше раздал тому деньга идёт", первым двум\трём клиентам (первому идёт +7000 рублей.)
у П есть трекер и у него слава Богу пока что есть статистика по пользователям. теперь Шеф П попросил(считайте приказал) поставить ДЦ хаб и прикрутить к нему статистику.
народу на хабе не так уж много но достаточно чтобы кто-то избалованный порочной поощриловкой, с периодичностью три раза в неделю квакал: "я раздал терабайт инфы и получается что я первый! гоните деньги" и пихает ратио своего клиента (который легко подделать)
Шеф П: "вынь и положь. иначе уволю." гад

Автор: dimetrius 18.9.2009, 10:12

Значит пора искать новую работу waaaht.gif

Автор: Delion 18.9.2009, 12:48

Цитата
поставить ДЦ хаб и прикрутить к нему статистику

Попробуй финт ушами. Сканируй,у кого больше всего ответов на поисковые запросы,выбери множитель в мегабайтах и,перемножив,условно посчитай,сколько кто отдал. Цифры скорее всего будут небольшие.
Идея как выбрать множитель: эдак за час перед час пиком на хабе поищи новый фильм,посмотри у скольких он есть в шаре,раздели размер фильма на количество имеющих его пользователей и да будет тебе сей множитель. При желании ещё можно приплести количество запросов этого самого фильма за некий промежуток времени...но это уже сам додумывай.

Идея извратная,но для отчётности начальству сойдёт still_dreaming.gif

Автор: MEXAHuK 18.9.2009, 15:49

БУХАХАХАХАХАААА......ХАХХХАХХАХАХАХАХА.... ГЫЫЫЫЫ....
(пацталом на долгое время.)

можно ещё более развратней (у меня прокатит)

Цитата
если да то можно тебя попросить задуматься над написанием двух скриптов
1. клиент скрипт стоит у пользователя на ДЦ клиенте и следит за статистикой клиента (скачал/раздал) а потом отсылает эту инфу (желательно в зашифрованном виде big_smile.gif) ) на хаб второму скрипту
2 сервер скрипт стоит на хабе и собирает всю инфу куданить в файл или в БД (почти не суть важно)

очень прошу так как больше некого просить

+upd можно прикрутить это к какому нить из скриптов регистрации и не регать клиента с определённым ип/ником если нет отклика от первого скрипта статистики у клиенте

Автор: Delion 18.9.2009, 16:23

Раскрывающийся текст
Вы уволены! black_heart.gif

Автор: Alexey 18.9.2009, 23:57

А что помешает материально заинтересованным пользователям разобраться в механизме работы клиентского скрипта и модифицировать его под свои нужды?

Автор: Delion 19.9.2009, 2:22

Цитата(Alexey @ 19.9.2009, 0:57) *
разобраться в механизме работы клиентского скрипта и модифицировать его под свои нужды?

Ох. Давайте заново. Нету скрипта такого. Ну да,наверное можно написать,как для хаба,так и для клиента. Но тогда придётся этот самый клиент модифицировать,дабы избежать как минимум подделки инфы. После идеологически обосновать и перебанить все остальные клиенты.
Ещё вариант. Взять протокол,научить его кушать ratio. Взять клиент,научить его жить заради ratio. Взять написать новый хаб или переписать существующий,дабы и он жил заради ratio.
Третий вариант. Можно написать соответствующее расширение для ADC. А далее модифицировать несчастный клиент,писать свой хаб или убеждать остальных хабописателей,что это вот расширение будет рулить.
По-всякому дело дрянь. Пользуйтесь торрентами и закройте уже тему.

Автор: Alexey 19.9.2009, 3:29

Я где-то сказал, что мне оно надо или просил кого-то найти существующий скрипт или реализовать это любым из способов?

Автор: Jaska 19.9.2009, 13:19

Гм, вывод ратио сделать можно. Я это сделал только Setuper указал на одну вещь которую я и не заметил big_smile.gif стата скачал/отдал идет по всем хабам. Но и это не предел. В FlyLink все стата хранится в SQLite и PPA спроектировал БД очень грамотно, тоесть вывод статы для конкретного хаба возможен. Конечно же статистику можно подделать, поскольку вся бд представляет собой 1 файлик и его можно либо открыть редактором и вписать свои данные, либо просто заменить чужим но эту попытку можно пресечь на стороне хаба - ведь стата отправляться при подключении и отключении и по таймеру, мы в первую очередь сверяем цифры при подключении и отключении (правда что делать с теми у кого динамичные ипы и много аккаунтов пока непонятно) второй шаг - админы хабов наверняка знают какая максимальная скорость в их локалке (я думаю это все будет писаться именно для админов локалок) и соответственно мы знаем сколько можно раздать допустим за час. ну взять немного с запасом и если изменение не соотвествует действительности - ну наказываем тогда.

з.ы. кажется костылей будет много .. не уверен что это стоит делать.

Автор: MEXAHuK 19.9.2009, 19:14

с начальством я разобрался (спасибо Коньяку "Чёрный Аист")
лично мне видится всё достаточно проще (но для меня это недостижимо):
на клиенте есть lua скриптик(если сборка своя то можно встроить). он смотрит за клиентом (качает/раздаёт) и каждые 1 кило/мега/гига байт просто отсылет на хаб сигнал что клиент хаба принял/отдал 1 кило/мега/гига байт. и написать какуюнить защиту.
а вот статистику и аутентификацию будет выполнять уже скрипт на хабе. а там и работа с БД и т.п. и т.д...

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

Автор: Alexey 19.9.2009, 20:06

Ради десятка заинтересованных заставлять тысячи менять клиент?

Автор: MEXAHuK 19.9.2009, 20:15

тысячи уже хотят этого... у кого трафик учитываться не будет тому деньга не грозит. а у нас "кто больше всех раздал тому 7000 рублей." (это сейчас потом ещё повысят)
меня почему в это дело впрягли - раньше я дикарём ХАБством занимался, а значит опыт какой-никакой есть.

Автор: Jaska 19.9.2009, 20:20

Слушай давай материальную часть опустим. Луа скрипт на стороне клиента - не вариант. Какую ты защиту сделаешь?!

Автор: MEXAHuK 19.9.2009, 20:25

да хотябы скомпилить файл скрипта на клиенте чтобы шаловливые ручки не шастали.
написать скрипт по принципу бота и незримо для юзера отправлять в приват боту на хабе что-то типа "клиент такойто раздал/скачал ещё 1 (n)байт" и число вычисленное по хитрому математическому алгоритму для достоверности.

Автор: Jaska 19.9.2009, 20:37

Это все обратно очень просто декомпилируется (посмотри тему с антиматом и антирекламой JanusHS)
Какие клиенты поддерживают lua и тем временем у них открытый код? Я их не ковырял, не знаю что там да как.

Автор: MEXAHuK 19.9.2009, 20:41

перерыв был большой у меня... сходу вспоминается только PeLink.
ссыли на темы дай поласта

можно DLLку написать для какогонить клиента с тем же функционалом что я предложил выше. благо они могут шифроваться при компилировани.

Автор: Alexey 19.9.2009, 21:18

Цитата(Jaska @ 19.9.2009, 21:37) *
Какие клиенты поддерживают lua и тем временем у них открытый код?

http://mydc.ru/r/?http://www.apexdc.net/

Автор: Jaska 20.9.2009, 4:33

Цитата(MEXAHuK @ 19.9.2009, 23:41) *
перерыв был большой у меня... сходу вспоминается только PeLink.
ссыли на темы дай поласта

можно DLLку написать для какогонить клиента с тем же функционалом что я предложил выше. благо они могут шифроваться при компилировани.


big_smile.gif а кто писать то либу будет а? Если нам и либа непочем может и хаб с клиентом напишем да протокол другой придумаем а? сори за отступление но я сразу говорю - я в с++ новичек. Мне еще разбираться и разбираться, а знающие вряд ли возьмутся за это дело.

Автор: MEXAHuK 20.9.2009, 5:09

если бы знающие люди поделились бы исхлдником бы каакойнить библиотекеи для примера и АПИ какогонить клиента... С++ я знаю самые основы достаточные чтобы чужой код ковырять и находить логические ошибки в нём.

Автор: Jaska 20.9.2009, 8:16

У клиента нет api .. название классов предполагает их назначение. Писать либу смысла не вижу, надо изменять сам клиент. И это придется делать с каждой новой версией. Я тоже знаю основы, но что-то пока это мне не помогло допилить под себя. Мало ковырять чужое, нужно что-то свое написать а это уже проблематично big_smile.gif

p.s. очень рискованно что-то менять особенно когда до конца не понимаешь всей системы. это можно допустить в lua но никак не в с++ ибо это черевато последствиями

Автор: MEXAHuK 20.9.2009, 16:38

+1
полностью согласен!
вот уж не думал что буду жалеть о своей псевдоармейской подготовке