mirror of
https://github.com/3proxy/3proxy.git
synced 2026-04-12 16:00:11 +08:00
67 lines
4.7 KiB
Plaintext
67 lines
4.7 KiB
Plaintext
========================================================================
|
||
3proxy traffic plugin
|
||
========================================================================
|
||
Как известно 3proxy считает траффик не сетевой, а прикладной.
|
||
Обычно прикладной траффик немного меньше (примерно на 10%) чем сетевой,
|
||
однако в некоторых случаях, например когда пользователи сети играют в
|
||
игры, сетевой траффик может превысить прикладной в 4-5 раз. Это довольно неприятно,
|
||
так как получается, что они за это не платят.
|
||
|
||
Происходит это потому, что в каждом посланом пакете есть заголовок+данные. Заголовок
|
||
весит порядка 50-60 байт а колличество данных может меняться от 15-20 байт (что характерно для игр)
|
||
до 800-900 байт (у IE). Также колличество данных в пакете зависит от загрузки сети,
|
||
удалённости сервера и прочих причин.
|
||
|
||
Данный плагин может исправить такую ситуацию. Он может умножать счётчик траффика
|
||
при окончании соединения на некоторый коэффициент либо добавлять к данным размеры заголовков пакетов,
|
||
которые прошли по сети.
|
||
|
||
Как использовать плагин:
|
||
|
||
загрузка плагина:
|
||
plugin "TrafficPlugin.dll" start
|
||
|
||
Далее недоходимо добавить правила:
|
||
ДЛЯ РЕЖИМА ДОМНОЖЕНИЯ ТРАФФИКА НА ЧИСЛО:
|
||
trafcorrect m <сервис> <исходящий порт> <коэффициент>
|
||
где: <сервис> может быть proxy, socks4, socks45, socks5, tcppm, udppm, pop3p
|
||
если сервис указан неверно то считается, что это может быть любой сервис.
|
||
можно использовать *, тогда правило будет считаться для любого сервиса.
|
||
<исходящий порт> - порт, к которому подключается прокси сервер. * - любой
|
||
<коэффициент> - число на каоторое домнажается траффик. Обязательный параметр.
|
||
Должен быть от больше 0 и меньше 100
|
||
|
||
ДЛЯ РЕЖИМА С УЧЁТОМ РАЗМЕРА ЗАГОЛОВКОВ ПАКЕТОВ:
|
||
trafcorrect p <сервис> <tcp/udp> <исходящий порт> [размер пустого пакета]
|
||
<tcp/udp> - протокол, по которому осуществляется соединение.
|
||
[размер пакета] - средний размер пустого пакета. Можно определить захватив
|
||
данные при помощи такой утилиты как Ethernal. Параметр необязателен. Если отсутствует,
|
||
то размер пакета будет считаться равным 66 байт.
|
||
|
||
Режимы можно смешивать.
|
||
Следует учитывать, что плугин создаёт список всех правил изменения траффика.
|
||
Когда происходит окончание соединения выполняется первое подходящее правило.
|
||
|
||
Пример:
|
||
plugin "TrafficPlugin.dll" start
|
||
trafcorrect m socks5 6112 4.5
|
||
trafcorrect m socks5 * 1.1
|
||
|
||
следующее неверно:
|
||
plugin "TrafficPlugin.dll" start
|
||
trafcorrect m socks5 * 1.1
|
||
trafcorrect m socks5 6112 4.5
|
||
Вторая строчка выполнена никогда не будет. Так как 1 имеет более широкое назначение.
|
||
|
||
РЕЖИМ ОТЛАДКИ ПРАВИЛ:
|
||
1. Запускает прокси в оконном режиме (чтобы видеть stdout).
|
||
2. Загрузка плагина должна выглядеть сл. образом:
|
||
plugin "TrafficPlugin.dll" start debug
|
||
3. В окне прокси сервера будет написана информация о прохождении правил коррекции траффика.
|
||
Правила нумеруются с 1.
|
||
|
||
/////////////////////////////////////////////////////////////////////////////
|
||
Copyright:
|
||
(c) Maslov Michael aka Flexx(rus) All rights reserved.
|
||
Plugin was writen on Visual C++ 6.0 SP5
|
||
Using structures.h from 3proxy distr. |