### Плагин коррекции траффика 3proxy

Как известно, 3proxy считает траффик не сетевой, а прикладной. Обычно прикладной траффик немного меньше (примерно на 10%) чем сетевой, однако в некоторых случаях, например когда пользователи сети играют в игры, сетевой траффик может превысить прикладной в 4-5 раз. Это довольно неприятно, так как получается, что они за это не платят.

Происходит это потому, что в каждом посланом пакете есть заголовок+данные. Заголовок весит порядка 50-60 байт а количество данных может меняться от 15-20 байт (что характерно для игр) до 800-900 байт (у IE). Также количество данных в пакете зависит от загрузки сети, удалённости сервера и прочих причин.

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

#### Использование

1. Извлечь TrafficPlugin.dll в каталог с 3proxy.exe
2. Стартовать плагин в 3proxy.cfg

       plugin TrafficPlugin.dll start

3. Добавить правила:
   ДЛЯ РЕЖИМА ДОМНОЖЕНИЯ ТРАФФИКА НА ЧИСЛО:

       trafcorrect m <сервис> <исходящий порт> <коэффициент>

   где: <сервис> может быть proxy, socks4, socks45, socks5, tcppm, udppm, pop3p если сервис указан неверно то считается, что это может быть любой сервис. можно использовать *, тогда правило будет считаться для любого сервиса.
   <исходящий порт> - порт, к которому подключается прокси сервер. * - любой <коэффициент> - число на каоторое домнажается траффик. Обязательный параметр. Должен быть от больше 0 и меньше 100
   ДЛЯ РЕЖИМА С УЧЁТОМ РАЗМЕРА ЗАГОЛОВКОВ ПАКЕТОВ:

       trafcorrect p <сервис> <tcp/udp> <исходящий порт> [размер пустого пакета]

   <tcp/udp> - протокол, по которому осуществляется соединение. [размер пакета] - средний размер пустого пакета. Можно определить захватив данные при помощи такой утилиты как Ethereal. Параметр необязателен. Если отсутствует, то размер пакета будет считаться равным 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 содержит *.

#### Загрузить:

- Плагин включен в дистрибутив 3proxy 0.6