Настройка 3proxy на CentOS 7

3 000 руб. за проект
12 февраля 2020, 09:26 • 3 отклика • 44 просмотра
Настроен 3proxy на CentOS 7 с цепочкой parent.
Авторизация происходит по логину/паролю пользователя (login1 password1)

Есть цепочка parent, которая задает подключение к другому прокси серверу с другими логин/паролем
parent 1000 http 10.10.10.10 1290 login2 password2

Нужно сделать парсинг пароля пользователя и вставить его в цепочку parent.

Например: пользователь имеет пароль = Fw872DWF36_country-Belarus_session-F334rwf4
Разделитель это нижнее подчеркивание _
Нужно разбить пароль пользователя на 2 части - ДО первого подчеркивания и оставшуюся часть.

Таким образом:
password1 = Fw872DWF36 (авторизует на текущем 3proxy сервере)
password2 = _country-Belarus_session-F334rwf4 (используется для цепочки parent)

При этом логины (login1 и login2) не нужно как-либо модифицировать.

Это можно сделать через плагин для 3proxy.
Можно посмотреть utf8tocp1251, он переписывает логин с паролем (username/password), и логин с паролем для внешнего прокси по аналогии, extusername/extpassword.

utf8tocp1251
https://github.com/z3APA3A/3proxy/tree/devel/src/plugins/utf8tocp1251

Мануал по принципу работы 3proxy и подключению плагинов
https://3proxy.org/doc/devref.rtf

Как подключать плагины в 3proxy:

plugin [ ...]
Loads specified library and calls given export function with given arguments, as
int functions_to_call(struct pluginlink * pl, int argc, char * argv[]);
function_to_call must return 0 in case of success, value > 0 to indicate error.