| data_path |
String |
Optional runtime data directory path. |
| prefer_ipv6 |
bool |
Prefer IPv6 where applicable in runtime logic. |
| fast_mode |
bool |
Enables fast-path optimizations for traffic processing. |
| use_middle_proxy |
bool |
Enables Middle Proxy mode. |
| proxy_secret_path |
String |
Path to proxy secret binary; can be auto-downloaded if absent. |
| proxy_config_v4_cache_path |
String |
Optional cache path for raw getProxyConfig (IPv4) snapshot. |
| proxy_config_v6_cache_path |
String |
Optional cache path for raw getProxyConfigV6 (IPv6) snapshot. |
| ad_tag |
String |
Global fallback ad tag (32 hex characters). |
| middle_proxy_nat_ip |
IpAddr |
Explicit public IP override for NAT environments. |
| middle_proxy_nat_probe |
bool |
Enables NAT probing for Middle Proxy KDF/public address discovery. |
| middle_proxy_nat_stun |
String |
Deprecated legacy single STUN server for NAT probing. |
| middle_proxy_nat_stun_servers |
String[] |
Deprecated legacy STUN list for NAT probing fallback. |
| stun_nat_probe_concurrency |
usize |
Maximum concurrent STUN probes during NAT detection. |
| middle_proxy_pool_size |
usize |
Target size of active Middle Proxy writer pool. |
| middle_proxy_warm_standby |
usize |
Number of warm standby Middle-End connections. |
| me_init_retry_attempts |
u32 |
Startup retries for ME pool initialization (0 means unlimited). |
| me2dc_fallback |
bool |
Allows fallback from ME mode to direct DC when ME startup fails. |
| me_keepalive_enabled |
bool |
Enables ME keepalive padding frames. |
| me_keepalive_interval_secs |
u64 |
Keepalive interval in seconds. |
| me_keepalive_jitter_secs |
u64 |
Keepalive jitter in seconds. |
| me_keepalive_payload_random |
bool |
Randomizes keepalive payload bytes instead of zero payload. |
| rpc_proxy_req_every |
u64 |
Interval for service RPC_PROXY_REQ activity signals (0 disables). |
| me_writer_cmd_channel_capacity |
usize |
Capacity of per-writer command channel. |
| me_route_channel_capacity |
usize |
Capacity of per-connection ME response route channel. |
| me_c2me_channel_capacity |
usize |
Capacity of per-client command queue (client reader -> ME sender). |
| me_reader_route_data_wait_ms |
u64 |
Bounded wait for routing ME DATA to per-connection queue (0 = no wait). |
| me_d2c_flush_batch_max_frames |
usize |
Max ME->client frames coalesced before flush. |
| me_d2c_flush_batch_max_bytes |
usize |
Max ME->client payload bytes coalesced before flush. |
| me_d2c_flush_batch_max_delay_us |
u64 |
Max microsecond wait for coalescing more ME->client frames (0 disables timed coalescing). |
| me_d2c_ack_flush_immediate |
bool |
Flushes client writer immediately after quick-ack write. |
| direct_relay_copy_buf_c2s_bytes |
usize |
Copy buffer size for client->DC direction in direct relay. |
| direct_relay_copy_buf_s2c_bytes |
usize |
Copy buffer size for DC->client direction in direct relay. |
| crypto_pending_buffer |
usize |
Max pending ciphertext buffer per client writer (bytes). |
| max_client_frame |
usize |
Maximum allowed client MTProto frame size (bytes). |
| desync_all_full |
bool |
Emits full crypto-desync forensic logs for every event. |
| beobachten |
bool |
Enables per-IP forensic observation buckets. |
| beobachten_minutes |
u64 |
Retention window (minutes) for per-IP observation buckets. |
| beobachten_flush_secs |
u64 |
Snapshot flush interval (seconds) for observation output file. |
| beobachten_file |
String |
Observation snapshot output file path. |
| hardswap |
bool |
Enables hard-swap generation switching for ME pool updates. |
| me_warmup_stagger_enabled |
bool |
Enables staggered warmup for extra ME writers. |
| me_warmup_step_delay_ms |
u64 |
Base delay between warmup connections (ms). |
| me_warmup_step_jitter_ms |
u64 |
Jitter for warmup delay (ms). |
| me_reconnect_max_concurrent_per_dc |
u32 |
Max concurrent reconnect attempts per DC. |
| me_reconnect_backoff_base_ms |
u64 |
Base reconnect backoff in ms. |
| me_reconnect_backoff_cap_ms |
u64 |
Cap reconnect backoff in ms. |
| me_reconnect_fast_retry_count |
u32 |
Number of fast retry attempts before backoff. |
| me_single_endpoint_shadow_writers |
u8 |
Additional reserve writers for one-endpoint DC groups. |
| me_single_endpoint_outage_mode_enabled |
bool |
Enables aggressive outage recovery for one-endpoint DC groups. |
| me_single_endpoint_outage_disable_quarantine |
bool |
Ignores endpoint quarantine in one-endpoint outage mode. |
| me_single_endpoint_outage_backoff_min_ms |
u64 |
Minimum reconnect backoff in outage mode (ms). |
| me_single_endpoint_outage_backoff_max_ms |
u64 |
Maximum reconnect backoff in outage mode (ms). |
| me_single_endpoint_shadow_rotate_every_secs |
u64 |
Periodic shadow writer rotation interval (0 disables). |
| me_floor_mode |
"static" | "adaptive" |
Writer floor policy mode. |
| me_adaptive_floor_idle_secs |
u64 |
Idle time before adaptive floor may reduce one-endpoint target. |
| me_adaptive_floor_min_writers_single_endpoint |
u8 |
Minimum adaptive writer target for one-endpoint DC groups. |
| me_adaptive_floor_min_writers_multi_endpoint |
u8 |
Minimum adaptive writer target for multi-endpoint DC groups. |
| me_adaptive_floor_recover_grace_secs |
u64 |
Grace period to hold static floor after activity. |
| me_adaptive_floor_writers_per_core_total |
u16 |
Global writer budget per logical CPU core in adaptive mode. |
| me_adaptive_floor_cpu_cores_override |
u16 |
Manual CPU core count override (0 uses auto-detection). |
| me_adaptive_floor_max_extra_writers_single_per_core |
u16 |
Per-core max extra writers above base floor for one-endpoint DCs. |
| me_adaptive_floor_max_extra_writers_multi_per_core |
u16 |
Per-core max extra writers above base floor for multi-endpoint DCs. |
| me_adaptive_floor_max_active_writers_per_core |
u16 |
Hard cap for active ME writers per logical CPU core. |
| me_adaptive_floor_max_warm_writers_per_core |
u16 |
Hard cap for warm ME writers per logical CPU core. |
| me_adaptive_floor_max_active_writers_global |
u32 |
Hard global cap for active ME writers. |
| me_adaptive_floor_max_warm_writers_global |
u32 |
Hard global cap for warm ME writers. |
| upstream_connect_retry_attempts |
u32 |
Connect attempts for selected upstream before error/fallback. |
| upstream_connect_retry_backoff_ms |
u64 |
Delay between upstream connect attempts (ms). |
| upstream_connect_budget_ms |
u64 |
Total wall-clock budget for one upstream connect request (ms). |
| upstream_unhealthy_fail_threshold |
u32 |
Consecutive failed requests before upstream is marked unhealthy. |
| upstream_connect_failfast_hard_errors |
bool |
Skips additional retries for hard non-transient connect errors. |
| stun_iface_mismatch_ignore |
bool |
Ignores STUN/interface mismatch and keeps Middle Proxy mode. |
| unknown_dc_log_path |
String |
File path for unknown-DC request logging (null disables file path). |
| unknown_dc_file_log_enabled |
bool |
Enables unknown-DC file logging. |
| log_level |
"debug" | "verbose" | "normal" | "silent" |
Runtime logging verbosity. |
| disable_colors |
bool |
Disables ANSI colors in logs. |
| me_socks_kdf_policy |
"strict" | "compat" |
SOCKS-bound KDF fallback policy for ME handshake. |
| me_route_backpressure_base_timeout_ms |
u64 |
Base backpressure timeout for route-channel send (ms). |
| me_route_backpressure_high_timeout_ms |
u64 |
High backpressure timeout when queue occupancy exceeds watermark (ms). |
| me_route_backpressure_high_watermark_pct |
u8 |
Queue occupancy threshold (%) for high timeout mode. |
| me_health_interval_ms_unhealthy |
u64 |
Health monitor interval while writer coverage is degraded (ms). |
| me_health_interval_ms_healthy |
u64 |
Health monitor interval while writer coverage is healthy (ms). |
| me_admission_poll_ms |
u64 |
Poll interval for conditional-admission checks (ms). |
| me_warn_rate_limit_ms |
u64 |
Cooldown for repetitive ME warning logs (ms). |
| me_route_no_writer_mode |
"async_recovery_failfast" | "inline_recovery_legacy" | "hybrid_async_persistent" |
Route behavior when no writer is immediately available. |
| me_route_no_writer_wait_ms |
u64 |
Max wait in async-recovery failfast mode (ms). |
| me_route_inline_recovery_attempts |
u32 |
Inline recovery attempts in legacy mode. |
| me_route_inline_recovery_wait_ms |
u64 |
Max inline recovery wait in legacy mode (ms). |
| fast_mode_min_tls_record |
usize |
Minimum TLS record size when fast-mode coalescing is enabled (0 disables). |
| update_every |
u64 |
Unified interval for config/secret updater tasks. |
| me_reinit_every_secs |
u64 |
Periodic ME pool reinitialization interval (seconds). |
| me_hardswap_warmup_delay_min_ms |
u64 |
Minimum delay between hardswap warmup connects (ms). |
| me_hardswap_warmup_delay_max_ms |
u64 |
Maximum delay between hardswap warmup connects (ms). |
| me_hardswap_warmup_extra_passes |
u8 |
Additional warmup passes per hardswap cycle. |
| me_hardswap_warmup_pass_backoff_base_ms |
u64 |
Base backoff between hardswap warmup passes (ms). |
| me_config_stable_snapshots |
u8 |
Number of identical config snapshots required before apply. |
| me_config_apply_cooldown_secs |
u64 |
Cooldown between applied ME map updates (seconds). |
| me_snapshot_require_http_2xx |
bool |
Requires 2xx HTTP responses for applying config snapshots. |
| me_snapshot_reject_empty_map |
bool |
Rejects empty config snapshots. |
| me_snapshot_min_proxy_for_lines |
u32 |
Minimum parsed proxy_for rows required to accept snapshot. |
| proxy_secret_stable_snapshots |
u8 |
Number of identical secret snapshots required before runtime rotation. |
| proxy_secret_rotate_runtime |
bool |
Enables runtime proxy-secret rotation from remote source. |
| me_secret_atomic_snapshot |
bool |
Keeps selector and secret bytes from the same snapshot atomically. |
| proxy_secret_len_max |
usize |
Maximum allowed proxy-secret length (bytes). |
| me_pool_drain_ttl_secs |
u64 |
Drain TTL for stale ME writers after endpoint-map changes (seconds). |
| me_pool_drain_threshold |
u64 |
Max draining stale writers before batch force-close (0 disables threshold cleanup). |
| me_bind_stale_mode |
"never" | "ttl" | "always" |
Policy for new binds on stale draining writers. |
| me_bind_stale_ttl_secs |
u64 |
TTL for stale bind allowance when stale mode is ttl. |
| me_pool_min_fresh_ratio |
f32 |
Minimum desired-DC fresh coverage ratio before draining stale writers. |
| me_reinit_drain_timeout_secs |
u64 |
Force-close timeout for stale writers after endpoint-map changes (0 disables force-close). |
| proxy_secret_auto_reload_secs |
u64 |
Deprecated legacy secret reload interval (fallback when update_every is not set). |
| proxy_config_auto_reload_secs |
u64 |
Deprecated legacy config reload interval (fallback when update_every is not set). |
| me_reinit_singleflight |
bool |
Serializes ME reinit cycles across trigger sources. |
| me_reinit_trigger_channel |
usize |
Trigger queue capacity for reinit scheduler. |
| me_reinit_coalesce_window_ms |
u64 |
Trigger coalescing window before starting reinit (ms). |
| me_deterministic_writer_sort |
bool |
Enables deterministic candidate sort for writer binding path. |
| me_writer_pick_mode |
"sorted_rr" | "p2c" |
Writer selection mode for route bind path. |
| me_writer_pick_sample_size |
u8 |
Number of candidates sampled by picker in p2c mode. |
| ntp_check |
bool |
Enables NTP drift check at startup. |
| ntp_servers |
String[] |
NTP servers used for drift check. |
| auto_degradation_enabled |
bool |
Enables automatic degradation from ME to direct DC. |
| degradation_min_unavailable_dc_groups |
u8 |
Minimum unavailable ME DC groups required before degrading. |