Localzet Server and Cluster documentation

SOCKS5: API и эксплуатация

Это самостоятельный Linux PHP CLI-сервис, который использует localzet/server:^7.0. Запуск и остановка выполняются через start.php:

php start.php start
php start.php status
php start.php stop

Конфигурация

Все параметры задаются переменными окружения процесса службы:

ПеременнаяПо умолчаниюНазначение
SOCKS5_BIND127.0.0.1IPv4 адрес прослушивания
SOCKS5_PORT1080TCP порт
SOCKS5_USERNAME, SOCKS5_PASSWORDобязательныSOCKS username/password auth
SOCKS5_ALLOW_NO_AUTH0Включает anonymous только на loopback
SOCKS5_MAX_CONNECTIONS1024Одновременные соединения на worker
SOCKS5_MAX_CONNECTIONS_PER_IP32Одновременные соединения с одного IP
SOCKS5_MAX_ATTEMPTS_PER_MINUTE120Попытки соединения с одного IP за rolling minute
SOCKS5_PID_FILE, SOCKS5_LOG_FILE/tmp/localzet-socks5.*Пути pid и log файлов

Задайте credentials в защищённом окружении, не в unit-файле с открытым доступом или shell history. AUTH username/password передаются без шифрования; ограничьте сетевой доступ и применяйте зашифрованный туннель для удалённых клиентов. Anonymous доступ разрешается только при явной настройке и loopback bind.

Поддержка протокола

Реализован SOCKS5 TCP CONNECT к IPv4 адресам и DNS-именам. DNS lookup синхронный и может блокировать worker. UDP ASSOCIATE выключен, BIND и IPv6 назначения не поддерживаются. Не считайте сервис универсальным SOCKS5 сервером: тестируйте только нужный вам CONNECT поток и учитывайте ограничения фрагментации/буферов.

Запуск интеграционных проверок: python3 tests/integration.py (нужен Python 3). Они создают локальные временные endpoints и проверяют auth, relay и лимиты, но не проверяют внешнее production окружение, разрешение DNS или сетевые ACL.