import path from "node:path"; const dataDir = process.env.DATA_DIR || path.resolve(".vpn-proxy"); export const settings = { appMode: process.env.APP_MODE === "client" ? "client" : "gateway", port: Number(process.env.PORT || 3456), proxyPort: Number(process.env.PROXY_PORT || 8080), clientProxyPortStart: Number(process.env.CLIENT_PROXY_PORT_START || 8080), clientProxyPortEnd: Number(process.env.CLIENT_PROXY_PORT_END || 8090), tproxyPort: Number(process.env.TPROXY_PORT || 7895), bindIp: process.env.PROXY_BIND_IP || "0.0.0.0", dataDir, distDir: process.env.DIST_DIR || "/app/dist", configPath: process.env.SING_BOX_CONFIG || path.join(dataDir, "sing-box-config.json"), cachePath: process.env.SING_BOX_CACHE || "/var/lib/sing-box/cache.db", statePath: path.join(dataDir, "state.json"), customRulesPath: path.join(dataDir, "custom-rules.json"), customRuleSetsPath: path.join(dataDir, "custom-rule-sets.json"), clientSettingsPath: path.join(dataDir, "client-settings.json"), devicesPath: path.join(dataDir, "devices.json"), deviceRulesPath: path.join(dataDir, "device-rules.json"), subscriptionCachePath: path.join(dataDir, "subscription-cache.json"), sharedProxyHost: process.env.SHARED_PROXY_HOST || "", hwidPath: path.join(dataDir, "hwid"), routingRuDirect: String(process.env.ROUTING_RU_DIRECT || "true") !== "false", ruleSetDownloadDetour: process.env.RULE_SET_DOWNLOAD_DETOUR || "vpn", logLevel: process.env.LOG_LEVEL || "info", appName: "VPN Proxy Gateway", };