This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
software:freebsd:utp_ctrl_daemon [2015/05/17 00:58] – [Требования] root | software:freebsd:utp_ctrl_daemon [2022/02/04 18:37] – removed - external edit (Unknown date) 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== uTPControl - block uTP torrent proto ====== | ||
- | Версия: | ||
- | Лицензия: | ||
- | Тестировалось на: FreeBSD 7.3\\ | ||
- | [[http:// | ||
- | |||
- | |||
- | Предназначена для " | ||
- | Мягкое - пакеты не блокируются, | ||
- | Даже если будет ложное срабатывание - все пакеты пройдут без изменений, | ||
- | Размер генерируемых пакетов менее 64 байт.\\ | ||
- | |||
- | |||
- | ===== Требования ===== | ||
- | - Для запуска необходимо наличие IPDIVERT (загруженного модулем либо в ядре); | ||
- | - ipfw для перенаправления траффика; | ||
- | - ng_tee для отсылки копий udp пакетов из ipfw в divert сокет программы; | ||
- | - Привилегии root (не проверял под другими пользователями) | ||
- | подробнее см: [[https:// | ||
- | |||
- | |||
- | ===== Установка ===== | ||
- | Устанавливается на сервер, | ||
- | |||
- | Скачиваем, | ||
- | |||
- | В правила ipfw добавляем: | ||
- | < | ||
- | 9999 - порт диверт сокета, | ||
- | em0 - интерфейс через который ходит трафик.\\ | ||
- | |||
- | Запускаем саму программу, | ||
- | < | ||
- | |||
- | |||
- | ===== Ключи командной строки ===== | ||
- | **-h** - показать подсказки и выйти\\ | ||
- | **-d** - стать демоном (отключится от консоли и продолжить работу)\\ | ||
- | **-b port** - порт диверт сокета, | ||
- | **-c CPUnum** - привязка к процессору\\ | ||
- | **-p PID file** - путь к файлу куда сохранить PID на время работы, | ||
- | **-u uid|user** - идентификатор/ | ||
- | **-g gid|group** - идентификатор/ | ||
- | |||
- | |||
- | ===== Оптимизация ===== | ||
- | Сама программа довольно проста: | ||
- | Читаем из сокета, | ||
- | |||
- | Для более оптимальной работы заворачивать весь трафик на программу не нужно, и даже вредно.\\ | ||
- | Лучше всего будет заворачивать входящий из интернета в локальную сеть: эффект будет тот же, но меньшая нагрузка на интернет канал и на сам сервер, | ||
- | |||
- | На нагруженных серверах не рекомендую применять без предварительного тестирования. Для начала хотя бы с маленьких сегментов стоит трафик позаворачивать и мониторить загрузку.\\ | ||
- | |||
- | |||
- | ===== Проверка работоспособности ===== | ||
- | Скачиваем последний uTorrent (2 и более), | ||
- | < | ||
- | (чтобы только по uTP всё качалось).\\ | ||
- | Закачиваем торрент файл, по популярнее какой нибудь, | ||
- | Запускаем закачку в начале с выключенной программой uTPControl.\\ | ||
- | Смотрим чтобы появились пиры.\\ | ||
- | Запускаем uTPControl на сервере.\\ | ||
- | Если всё сделано правильно то пиры начнут исчезать из списка и за пару минут исчезнут полностью.\\ | ||
- | |||
- | |||
- | ===== История изменений ===== | ||
- | **2010.06.07 - 1.05** | ||
- | * изменены опции сборки: | ||
- | |||
- | **2010.06.05 - 1.04** | ||
- | * исправлена обработка расширений uTP пакета; | ||
- | * исправлено: | ||
- | * оптимизирован код рассчитывающий контрольный суммы IP и UDP заголовков | ||
- | |||
- | **2010.06.03 - 1.03** | ||
- | * исправлена работа с ng интерфейсами | ||
- | * обрабатывается только входящий трафик на интерфейс | ||
- | * добавлен расчёт контрольной суммы IP пакета | ||
- | * добавлена доп инфа в отладочном выводе: | ||
- | |||
- | **2010.06.02 - 1.02** | ||
- | * небольшой фикс в функции изменения UID/GID | ||
- | * код перемещён в /src/, дистрибутив собирается автоматом | ||
- | |||
- | **2010.06.01 - 1.01** | ||
- | * первый публичный релиз | ||