Переменные окружения
Полный справочник по переменным окружения EASYXRAY_* в EasyXray — база данных, панель, логирование, память, шифрование токенов узлов и монитор работоспособности туннеля.
EasyXray читает свою конфигурацию во время выполнения из переменных окружения
EASYXRAY_*. При установке через скрипт инсталлятор записывает их в файл окружения
службы (/etc/default/easyxray, либо /etc/conf.d/easyxray / /etc/sysconfig/easyxray в
зависимости от дистрибутива); для Docker они задаются в docker-compose.yml или
через docker run -e. Значения по умолчанию разумны — задавайте только то, что
нужно изменить, после чего перезапустите: systemctl restart easyxray.
База данных
| Variable | Default | Description |
|---|---|---|
EASYXRAY_DB_TYPE | sqlite | Бэкенд: sqlite или postgres (также принимаются postgresql / pg). |
EASYXRAY_DB_FOLDER | /etc/easyxray | Папка для файла базы данных SQLite (EasyXray.db). |
EASYXRAY_DB_DSN | — | Строка подключения к PostgreSQL (используется при EASYXRAY_DB_TYPE=postgres). |
EASYXRAY_DB_MAX_OPEN_CONNS | — | Максимум открытых соединений в пуле PostgreSQL. |
EASYXRAY_DB_MAX_IDLE_CONNS | — | Максимум простаивающих соединений в пуле PostgreSQL. |
Путь к базе данных SQLite по умолчанию — /etc/easyxray/EasyXray.db. Подробности о
переходе SQLite ↔ PostgreSQL см. в разделе
База данных.
Панель
| Variable | Default | Description |
|---|---|---|
EASYXRAY_PORT | — | Переопределение порта панели (1–65535). Имеет приоритет над сохранённой настройкой. |
EASYXRAY_INIT_WEB_BASE_PATH | / | Начальный базовый веб-путь при первом запуске (например, /mypanel). |
EASYXRAY_ENABLE_FAIL2BAN | true | Включить ограничение по IP на основе Fail2ban. |
EASYXRAY_SKIP_HSTS | false | Не отправлять заголовок HSTS — установите true, когда TLS терминируется обратным прокси. |
Шифрование токенов узлов
API-токены узлов — и сохранённый токен PIA — по умолчанию хранятся в открытом
виде. Шифрование при хранении включается явно и отказывает безопасно: при любом
режиме, кроме off, панель не запустится, если не сможет загрузить ключ.
| Variable | Default | Description |
|---|---|---|
NODE_TOKEN_ENCRYPTION | off | off, migration (чтение принимает открытый текст или шифротекст, запись всегда шифрует) или required (запись та же, но без ключа запуск не удастся). Префикса EASYXRAY_ здесь нет. |
EASYXRAY_NODE_TOKEN_KEY_FILE | /etc/easyxray/node_token_key.json | JSON-связка ключей с правами 0600 или строже (в Windows не проверяется: файл защищают права NTFS). Загружается первой. |
EASYXRAY_NODE_TOKEN_KEY | — | Один 32-байтный ключ в base64, читается только при неудачной загрузке файла ключей. Его идентификатор фиксирован (env), поэтому ротация невозможна. |
Файл ключей задаёт активный ключ и все прежние ключи, ещё нужные для расшифровки:
{ "active": "k1", "keys": { "k1": "<base64 32-byte key>" } }Сгенерируйте ключ командой openssl rand -base64 32; ключи никогда не
принимаются в аргументах командной строки. После включения режима перешифруйте
строки, уже находящиеся в базе, активным ключом:
easyxray encrypt-tokensКоманда обрабатывает строки узлов; токен PIA перешифровывается при следующем
чтении. Для ротации добавьте новый ключ в keys, укажите его в active,
сохраните старый ключ для расшифровки и снова выполните easyxray encrypt-tokens.
Логирование и бинарные файлы
| Variable | Default | Description |
|---|---|---|
EASYXRAY_LOG_LEVEL | info | debug, info, notice, warning или error. |
EASYXRAY_DEBUG | false | Режим отладки (принудительно устанавливает уровень логирования debug). |
EASYXRAY_LOG_FOLDER | /var/log/easyxray | Каталог для вывода логов. |
EASYXRAY_BIN_FOLDER | bin | Папка для бинарного файла Xray-core и файлов geosite/geoip. |
Память и профилирование
Панель удерживает потребление памяти низким за счёт GOGC и периодических
освобождений. Это продвинутые параметры — оставьте их незаданными, если только
вы не настраиваете хост с ограниченными ресурсами.
| Variable | Default | Description |
|---|---|---|
EASYXRAY_GOGC | — | Целевой процент сборщика мусора Go; ниже = меньше RAM, чуть больше нагрузка на CPU. |
EASYXRAY_MEMORY_RELEASE_INTERVAL | — | Минуты между вызовами FreeOSMemory; 0 отключает. |
EASYXRAY_MEMORY_LIMIT | — | Мягкий лимит памяти Go в MiB. |
GOMEMLIMIT | — | Мягкий лимит в синтаксисе Go (например, 400MiB); имеет приоритет над предыдущим. |
EASYXRAY_PPROF | false | Открыть профилирование pprof на 127.0.0.1:6060. |
Xray
| Variable | Default | Description |
|---|---|---|
XRAY_VMESS_AEAD_FORCED | false | Принудительно включить VMess AEAD. |
Монитор работоспособности туннеля
Опциональный сторож: он опрашивает URL (опционально через локальный входящий Xray) и перезапускает Xray после нескольких неудачных попыток подряд. Перезапуск обрывает все подключённые клиенты, поэтому включайте его осознанно.
| Variable | Default | Description |
|---|---|---|
EASYXRAY_TUNNEL_HEALTH_MONITOR | false | Включить монитор. |
EASYXRAY_TUNNEL_HEALTH_PROXY | — | Прокси, через который отправляется проба, например socks5://127.0.0.1:1080. Пусто = проверяется только доступность хоста. |
EASYXRAY_TUNNEL_HEALTH_URL | https://www.cloudflare.com/cdn-cgi/trace | URL для опроса. |
EASYXRAY_TUNNEL_HEALTH_INTERVAL | 30s | Интервал между пробами. |
EASYXRAY_TUNNEL_HEALTH_TIMEOUT | 10s | Тайм-аут одной пробы. |
EASYXRAY_TUNNEL_HEALTH_FAILURES | 3 | Количество неудач подряд до перезапуска. |
EASYXRAY_TUNNEL_HEALTH_COOLDOWN | 5m | Минимальная задержка между перезапусками. |
Автоматическая установка
| Variable | Description |
|---|---|
EASYXRAY_NONINTERACTIVE | Установите 1 (или запустите без TTY), чтобы выполнить установку без единого запроса; сгенерированные учётные данные записываются в /etc/easyxray/install-result.env. См. Установку. |

EasyXray