-
Notifications
You must be signed in to change notification settings - Fork 26
Expand file tree
/
Copy pathclient_config.toml.simple
More file actions
152 lines (121 loc) · 5.39 KB
/
client_config.toml.simple
File metadata and controls
152 lines (121 loc) · 5.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
# ==============================================================================
# MasterDnsVPN Go Client Configuration
# Author: MasterkinG32
# Github: https://github.com/masterking32
# Year: 2026
# ==============================================================================
# ------------------------------------------------------------------------------
# 1) Core Tunnel Mode
# ------------------------------------------------------------------------------
# Transport protocol between client and server:
# - "SOCKS5": optimized proxy mode
# - "TCP": raw TCP tunnel mode
PROTOCOL_TYPE = "SOCKS5"
# Must match server DOMAIN values.
DOMAINS = ["v.domain.com"]
# ------------------------------------------------------------------------------
# 2) Local Listener (SOCKS5 or TCP Forwarding)
# ------------------------------------------------------------------------------
# The IP and Port the client will listen on.
# - If PROTOCOL_TYPE = "SOCKS5", this acts as a SOCKS5 proxy server.
# - If PROTOCOL_TYPE = "TCP", this acts as a raw TCP port forwarder.
LISTEN_IP = "127.0.0.1"
LISTEN_PORT = 10809
# SOCKS5 Specific Settings:
LOCAL_SOCKS5_HANDSHAKE_TIMEOUT_SECONDS = 300.0
SOCKS5_AUTH = false
SOCKS5_USER = "master_dns_vpn"
SOCKS5_PASS = "master_dns_vpn"
# ------------------------------------------------------------------------------
# 3) Local DNS Listener & Cache
# ------------------------------------------------------------------------------
LOCAL_DNS_ENABLED = false
LOCAL_DNS_IP = "127.0.0.1"
LOCAL_DNS_PORT = 5353
LOCAL_DNS_WORKERS = 2
LOCAL_DNS_QUEUE_SIZE = 512
LOCAL_DNS_CACHE_MAX_RECORDS = 2000
LOCAL_DNS_CACHE_TTL_SECONDS = 3600.0
LOCAL_DNS_PENDING_TIMEOUT_SECONDS = 600.0
LOCAL_DNS_FRAGMENT_ASSEMBLY_TIMEOUT_SECONDS = 300.0
LOCAL_DNS_CACHE_PERSIST_TO_FILE = true
LOCAL_DNS_CACHE_FLUSH_INTERVAL_SECONDS = 60.0
# ------------------------------------------------------------------------------
# 4) Resolver Selection & Health
# ------------------------------------------------------------------------------
# Resolver balancing strategy:
# 0=Round Robin (default), 1=Random, 2=Round Robin, 3=Least Loss, 4=Lowest Latency
RESOLVER_BALANCING_STRATEGY = 0
AUTO_DISABLE_TIMEOUT_SERVERS = true
AUTO_DISABLE_TIMEOUT_WINDOW_SECONDS = 300.0
AUTO_DISABLE_TIMEOUT_MIN_OBSERVATIONS = 3
AUTO_DISABLE_CHECK_INTERVAL_SECONDS = 1.0
RECHECK_INACTIVE_SERVERS_ENABLED = true
RECHECK_INACTIVE_INTERVAL_SECONDS = 1800.0
RECHECK_SERVER_INTERVAL_SECONDS = 3.0
RECHECK_BATCH_SIZE = 5
# Optional runtime lines written into the MTU success output file when a resolver
# is auto-disabled or re-added by background health checks.
# Supported placeholders:
# {IP}, {DOMAIN}, {CAUSE}, {TIME}, {UP_MTU}, {DOWN_MTU}
RESOLVER_REMOVED_SERVER_LOG_FORMAT = "IP {IP} removed from list at {TIME} due to {CAUSE}"
RESOLVER_ADDED_SERVER_LOG_FORMAT = "Server {IP} re-added at {TIME} (UP MTU: {UP_MTU}, DOWN MTU: {DOWN_MTU})"
PACKET_DUPLICATION_COUNT = 1
SETUP_PACKET_DUPLICATION_COUNT = 2
STREAM_RESOLVER_FAILOVER_RESEND_THRESHOLD = 2
STREAM_RESOLVER_FAILOVER_COOLDOWN = 1.0
# ------------------------------------------------------------------------------
# 5) Stream & Control Queue Limits
# ------------------------------------------------------------------------------
# Hard cap for how many small control packets may be packed into one block.
# The effective runtime value is also limited by 50% of synced upload MTU.
MAX_PACKETS_PER_BATCH = 5
# Maximum in-flight data packets per stream on client side.
STREAM_TX_WINDOW = 4
STREAM_TX_QUEUE_LIMIT = 128
STREAM_TX_MAX_RETRIES = 24
STREAM_TX_TTL_SECONDS = 120.0
# ------------------------------------------------------------------------------
# 6) Encoding, Compression & Encryption
# ------------------------------------------------------------------------------
# If true, MTU test responses request Base64 TXT payloads from server.
# If false, server returns raw byte TXT payloads.
BASE_ENCODE_DATA = false
# Compression types:
# 0=OFF, 1=ZSTD, 2=LZ4, 3=ZLIB
UPLOAD_COMPRESSION_TYPE = 0
DOWNLOAD_COMPRESSION_TYPE = 0
COMPRESSION_MIN_SIZE = 100
ARQ_WINDOW_SIZE = 600
MAX_INFLIGHT_PACKETS = 128
# Encryption method:
# 0=None, 1=XOR, 2=ChaCha20, 3=AES-128-GCM, 4=AES-192-GCM, 5=AES-256-GCM
# Must match server DATA_ENCRYPTION_METHOD.
DATA_ENCRYPTION_METHOD = 1
# Shared secret key with server (required on client).
ENCRYPTION_KEY = ""
# ------------------------------------------------------------------------------
# 7) Initial MTU Sync
# ------------------------------------------------------------------------------
MIN_UPLOAD_MTU = 70
MIN_DOWNLOAD_MTU = 150
MAX_UPLOAD_MTU = 150
MAX_DOWNLOAD_MTU = 200
MTU_TEST_RETRIES = 2
MTU_TEST_TIMEOUT = 2.0
MTU_TEST_PARALLELISM = 6
# If true, successful MTU-tested resolvers are saved to file.
SAVE_MTU_SERVERS_TO_FILE = false
# Output file name.
# If {time} is present, timestamp is inserted into filename.
MTU_SERVERS_FILE_NAME = "masterdnsvpn_success_test_{time}.txt"
# Per-line format for each successful resolver.
# Supported placeholders:
# {IP}, {UP_MTU}, {DOWN_MTU}, {DOWN-MTU}, {DOMAIN}, {UP_MTU_CHARS}, {TIME}
MTU_SERVERS_FILE_FORMAT = "{IP} - UP: {UP_MTU} DOWN: {DOWN-MTU}"
# Optional text appended once after initial MTU scan is finished.
MTU_USING_SECTION_SEPARATOR_TEXT = "---- Active MTU Testing Results ----"
# ------------------------------------------------------------------------------
# 8) Logging
# ------------------------------------------------------------------------------
LOG_LEVEL = "INFO"