Skip to content

Releases: pickrui/oixcloud-external-proxy-program

v0.0.9

Choose a tag to compare

@pickrui pickrui released this 09 Jul 04:49
  • 修复「每过一段时间节点全部离线、需要重新导入 Surge 才恢复」:节点连接参数现在每 10 分钟自动刷新(菜单栏与多端口映射模式),不再依赖每日一次的配置刷新
  • 更快自愈:网络切换、睡眠唤醒后立即刷新;连续拨号失败自动强制刷新;服务器更换 ECH 配置时自动使用其提供的新配置重连
  • 登录失效(令牌过期/被下线)不再静默失败:菜单与图标提示「登录已失效」,可一键重新登录;手动「更新节点」失败时保留现有列表并说明原因
  • 菜单栏图标随状态变化:正常 / 面板不可达或节点离线 / 登录失效 / 未登录
  • 新增「诊断…」:一键检查面板连通、节点连通、端口监听与 Surge 状态,结果可拷贝
  • 新增应用内更新:检测到新版本时菜单出现「更新到 vX.Y…」,自动下载、校验签名并原子替换后重启
  • 新增「允许局域网访问」:同一网络的设备可使用本机代理与配置(单端口配置也会按请求来源填充地址)
  • 「自动选择」加入切换阈值:新节点需快 50 ms 以上才切换,避免来回横跳

  • Fixes "every node goes offline after a while until the profile is re-imported": node connection parameters now refresh automatically every 10 minutes in tray and multi-port mapping modes, instead of relying on the daily managed-config fetch
  • Faster self-healing: immediate refresh on network change and wake; repeated dial failures force a refresh; when the server rotates its ECH config, the client retries with the server-offered config automatically
  • Expired/revoked logins no longer fail silently: the menu and icon show "login expired" with one-click re-login; a failed manual refresh keeps the current node list and explains why
  • The menu bar icon now reflects state: ok / panel unreachable or nodes offline / login expired / logged out
  • New "Diagnostics…": one-click check of panel reachability, node connectivity, port listeners and Surge status, with a copyable report
  • New in-app updater: when a new release is available the menu shows "Update to vX.Y…" — downloads, verifies the signature and swaps atomically, then restarts the tray
  • New "Allow LAN Access": devices on the same network can use this Mac's proxy and config (the single-port profile now fills in the requesting host)
  • Auto-select now uses a switching threshold: it only changes node when the best one is ≥50 ms faster, eliminating flip-flopping

v0.0.8

Choose a tag to compare

@pickrui pickrui released this 09 Jul 00:14
  • 修复 Surge 频繁提示「该客户端已终止」的多个成因:安装/更新改为原子替换(不再打断正在运行的进程);节点进程先监听端口再拉取配置(避免启动慢被 Surge 判死反复重启);端口短暂被占自动重试;配置与缓存改为原子写入,杜绝切换瞬间读到半截文件
  • 同一时间只允许一个客户端(菜单栏或 --serve)运行,后启动的自动退出并在日志说明;Surge 按节点拉起的进程不受限
  • 完整性校验改为系统 API 进程内完成,不再周期性唤起子进程;「无法校验」不再误杀正常进程
  • 日志每行带时间戳,统一存放 ~/Library/Logs/oixcloud/--version 显示正式版本号(报障请附带)

  • Fixes several causes of Surge repeatedly reporting the external client terminated: installs/updates now replace the binary atomically (running processes are no longer killed mid-update); per-node processes bind their port before the first config fetch (no more kill/restart churn on slow starts); transient port conflicts are retried; config and cache writes are atomic
  • Only one client (tray or --serve) may run at a time — a second one exits and says so in the log; per-node processes spawned by Surge are exempt
  • Integrity check now runs in-process via the system API (no periodic child process); "unable to verify" no longer kills a healthy process
  • Timestamped logs unified under ~/Library/Logs/oixcloud/; --version now reports the release version (please include it in bug reports)

v0.0.7

Choose a tag to compare

@pickrui pickrui released this 07 Jul 14:10
  • 新增可配置监听地址--listen [host:]port--bind <host>、配置项 listenAddress,可让托管配置与各代理被同网络其他设备访问(默认仍仅 127.0.0.1
  • 生成的配置按请求来源地址填充节点 server:设备从 http://<本机IP>:6171/ 拉取时,Surge/Clash 里的节点自动指向 <本机IP> 而非 127.0.0.1
  • ⚠️ 监听 0.0.0.0 的端口无鉴权,请仅在可信网络中使用
  • 内部:合并重复逻辑,无行为变化

  • New configurable listen address: --listen [host:]port, --bind <host>, and listenAddress in config — reach the managed config and the proxies from other devices on your network (still 127.0.0.1 by default)
  • Generated config fills each node's server from the request's address: a device fetching from http://<this-Mac-IP>:6171/ gets nodes pointed at <this-Mac-IP> instead of 127.0.0.1
  • ⚠️ A port bound to 0.0.0.0 has no authentication — use it only on trusted networks
  • Internals: deduplicated shared logic, no behavior change

v0.0.6

Choose a tag to compare

@pickrui pickrui released this 05 Jul 13:38
  • 本地端口默认改为 mixed:同一端口同时支持 SOCKS5 与 HTTP
  • 新增声明式 listeners:把指定节点绑定到固定本地端口(不随节点增删漂移),类型支持 socks5 / http / mixed
  • 内部:accept 多路复用(空闲监听端口不再各占线程)+ 修复拨号超时竞态等资源泄漏

  • Local ports now default to mixed: SOCKS5 and HTTP on the same port
  • New declarative listeners: bind a named node to a fixed local port (no drift as nodes are added/removed), types socks5 / http / mixed
  • Internals: multiplexed accept (idle listeners no longer each hold a thread) + dial-timeout race / leak fixes