Нода працює «з коробки» і не потребує налаштування. Змінні середовища потрібні, коли поведінку клієнта треба підлаштувати під власну інфраструктуру: змінити порти, обмежити версії TLS, увімкнути живий лог запитів або метрики.
Як задати змінні#
Клієнт встановлено в /opt/wafclient, він запускається як systemd-служба privateflare. Змінні зчитуються з файлу /opt/wafclient/.env — інсталятор створює його порожнім.
- Відкрийте файл і додайте змінні, по одній у рядку у форматі
ІМ'Я=значення:
nano /opt/wafclient/.env- Перезапустіть службу — змінні зчитуються лише під час запуску клієнта:
systemctl restart privateflareПриклад файлу .env:
TLSMIN=1.2
LOGROUTE=/my-secret-log
LOGPASS=strong-password
LOGFORMAT=jsonЩоб скасувати налаштування, видаліть рядок із
.envі перезапустіть службу. Для змінних-перемикачів (PFNOH3,PFNOBANта інших) важить сама наявність значення:PFNOH3=0теж вимкне HTTP/3.
Мережа і TLS#
| Змінна | Опис | За замовчуванням |
|---|---|---|
HTTPP | Порт HTTP. Нечислове значення або 0 ігнорується | 80 |
HTTPSP | Порт HTTPS і HTTP/3 | 443 |
TLSMIN | Мінімальна версія TLS: 1.0, 1.1, 1.2 або 1.3 | 1.0 |
TLSMAX | Максимальна версія TLS: 1.0, 1.1, 1.2 або 1.3 | 1.3 |
Некоректне значення TLSMIN або TLSMAX не призводить до помилки — використовується значення за замовчуванням.
HTTP/3 і відбитки#
| Змінна | Що робить |
|---|---|
PFNOH3 | Вимикає HTTP/3: QUIC не запускається, заголовок Alt-Svc не віддається, відвідувачі залишаються на TCP |
PFNOJA | Вимикає розрахунок JA3/JA4: заголовки PF-JA3 і PF-JA4 на бекенд не надсилаються |
PFNOSYN | Вимикає пасивний TCP-відбиток: заголовки PF-TCP-Fingerprint, PF-TCP-Signature і PF-TCP-OS на бекенд не надсилаються |
Достатньо будь-якого непорожнього значення, наприклад PFNOH3=1. Змінні не залежать одна від одної.
Важливо: JA3/JA4 розраховуються лише для TCP-з’єднань. Браузер, який перейшов на HTTP/3, прийде на бекенд без
PF-JA3/PF-JA4. Якщо відбитки потрібні в кожному запиті — задайтеPFNOH3. На заголовокTLSFingerprintце не поширюється: він надходить і по TCP, і по HTTP/3, іPFNOJAна нього не впливає.
Заголовки пасивного TCP-відбитка:
| Заголовок | Приклад | Що це |
|---|---|---|
PF-TCP-Signature | 4:64:0:1460:mss*44,10:mss,sok,ts,nop,ws:df,id+:0 | Сигнатура з’єднання у форматі p0f v3 |
PF-TCP-Fingerprint | cd79d39f578d | Короткий хеш сигнатури |
PF-TCP-OS | Linux 2.2.x-3.x | Визначена ОС клієнта. Відсутній, якщо збігу немає |
Системні налаштування#
Під час запуску клієнт оптимізує мережеві параметри ядра, налаштовує фаєрвол і блокує IP через iptables/ipset. Якщо сервером керує ваша власна автоматизація, ці дії можна вимкнути.
| Змінна | Що робить |
|---|---|
PFNOBAN | Вимикає блокування IP через iptables/ipset |
PFNOTUNE | Вимикає оптимізацію sysctl і налаштування фаєрвола |
PFNOFW | Вимикає лише налаштування фаєрвола |
Достатньо будь-якого непорожнього значення.
Живий лог запитів#
| Змінна | Опис | За замовчуванням |
|---|---|---|
LOGROUTE | Адреса сторінки живого логу, наприклад /log. Якщо не задана — лог вимкнено | вимкнено |
LOGUSER | Логін | log |
LOGPASS | Пароль | log |
LOGFORMAT | Формат рядків: json або текстовий (будь-яке інше значення) | текстовий |
Детальніше — у розділі Логування.
Метрики#
Нода може віддавати метрики у форматі Prometheus — їх зручно підключити до власного моніторингу.
| Змінна | Опис | За замовчуванням |
|---|---|---|
METRICSROUTE | Адреса сторінки метрик, наприклад /metrics. Якщо не задана — метрики вимкнено | вимкнено |
METRICSUSER | Логін | metrics |
METRICSPASS | Пароль | metrics |
Важливо: сторінки логу і метрик доступні на будь-якому домені, який обслуговує нода. Обов’язково задайте власний пароль і неочевидну адресу — значення за замовчуванням загальновідомі.