Commit Graph
110 Commits
Author SHA1 Message Date
RoyirinRosmontis c37d8af821 新增:PAC 明确直连域名空模板 2026-09-16 21:45:48 +08:00
RoyirinRosmontis cddd3afd18 Merge remote-tracking branch 'origin/main' 2026-09-16 19:13:38 +08:00
RoyirinRosmontis 0603224de2 修复:完善 PAC 分流与启动取消 999909161906 2026-09-16 19:10:12 +08:00
RoyirinRosmontis 3ce5e57dae 更新 README.md 2026-09-16 19:09:37 +08:00
RoyirinRosmontis 9376e35025 修复:PAC 规则解析与关键域名分流 999909161743 2026-09-16 17:46:54 +08:00
RRRosmontis 110a526fc6 server_config: 同步伪装页为线上实际版本(md5 4eb73450)
仓库内 fake-site/index.html 为旧版(md5 e0f5cbcb),与四个生产节点实际
服务的版本不一致。已用线上(us 节点)实际抓取版本替换,恢复所有节点
2026-09-11 12:53:56 +08:00
RoyirinRosmontis 9b7b817cb7 更新 README.md 2026-09-11 02:06:47 +08:00
RoyirinRosmontis a39647d46f 更新 README.md 2026-09-11 02:06:21 +08:00
RoyirinRosmontis be02d1b17f 更新 README.md 999909110156 2026-09-11 02:01:47 +08:00
RoyirinRosmontis 53c36e143f 更新 README.md 2026-09-11 02:01:30 +08:00
RoyirinRosmontis 23ba368737 修复:- 系统代理设置保存/恢复:覆盖前备份原 ProxyEnable/ProxyServer/ProxyOverride/AutoConfigURL(内存+settings.json 防崩溃丢失),关闭/退出时恢复用户原有代理而不是清空;启动残留清理只认本程序精确地址(127.0.0.1:1080 精确匹配 + PAC URL 正则),不再误删其他代理软件(如 Clash)在 127.0.0.1 上的 PAC
- CONNECT 目标解析支持 IPv6 字面量:剥掉方括号再拆 host:port,[::1]:443 不再解析成 "[::1]"(直连/白名单/内网绕过判定失效的根因)
- 更新包校验加固:release 附件按 RRPP_Lite_<tag>.exe 名字精确匹配(不再固定取第一个);下载后与 API 记录的 size 比对;发布流程附带 .sha256 边车时校验 SHA-256
- 上游代理认证注入按完整头名精确匹配:Proxy-Authorization 不再误判为已有 Authorization;注入位置紧跟请求行保证上游读到我们的认证
- 远程同步后节点按 settings 记录的域名重匹配:服务端调整节点顺序时不再静默连到别的节点;启动校验等待订阅同步完成(最多 15 秒)后再执行
- DNS 分流判定缓存加 300 秒 TTL:域名换 IP 后不再长期沿用旧的直连/隧道判断(_is_private_ip/_is_china_ip/_is_whitelisted 换 _ttl_cache,保留 cache_clear 兼容)
- is_proxy_on 状态判定同步收紧为本程序 PAC 地址(其他软件的 PAC 不再让状态灯误亮)
2026-09-11 01:56:04 +08:00
RoyirinRosmontis cb3552f595 修复:- 上次选中的节点在本机已不可用(如 IPv6 专用节点但本机无 IPv6 出口)时启动不再停留其上:新增 _verify_selected_node/_first_reachable_index,启动后台校验并自动回退到第一个可达节点、写入设置、刷新标题栏(原来只在点开启代理时才报错) 999909102118 2026-09-10 21:18:25 +08:00
RoyirinRosmontis 2a20215d9e 修复:- 节点菜单 IPv6 专用节点不可用提示改为直接写在菜单项上([不可用:本机无 IPv6]),原来只挂在 tooltip 上不明显 2026-09-10 21:16:52 +08:00
RoyirinRosmontis c3286593a6 修复:
- IPv6 专用节点识别不到:服务端 subscription?method=rrpp_client 吐的是旧扁平格式,ipv6_only 字段被后端丢掉、只在 remark 里留 "(IPv6)"。判定改为三级:ipv6_only 字段 -> remark 含 IPv6 -> 域名解析兜底(解析结果只有 IPv6 无 IPv4)
- 可达性探测改用该节点自己的 HTTP 端口(原来固定按 443 探测),IPv6 地址直接取自解析结果,避免端口不对造成误判
- 本机无全局 IPv6 地址时判定不可达(菜单置灰,提示「不可用:本机无 IPv6」),有 IPv6 时只标注不禁用
- 节点可达性判定不再打印日志
2026-09-10 21:14:59 +08:00
RoyirinRosmontis 9e766d8132 新增功能:
- 节点菜单标注 IPv6 专用节点(nodes.json 的 ipv6_only 字段):本机有 IPv6 出口时标 [IPv6],没有时标 [IPv6 专用 · 本机不可用] 并置灰不可选(带原因 tooltip),避免选中后连不上
- 新增 _local_has_ipv6()(查本机全局 IPv6 地址)/_node_reachable()(ipv6_only 节点真实探测 IPv6 连通性,按域名缓存)/_node_ipv6_only();_reload_nodes() 时清空可达性缓存
- 开启代理时若当前节点 IPv6 专用且本机无 IPv6 出口,直接报错提示切换节点(不再静默失败断网)
- 节点菜单构建拆出 _build_node_menu() 便于离屏测试
2026-09-10 21:01:02 +08:00
RoyirinRosmontis 259a1ae41f 修复:
- 节点 HTTP 代理参数读取不到真实字段导致认证恒为 401:新增 _http_method(),_endpoint_port() 与 _proxy_auth_basic() 改为优先读取新版 nodes.json 的 methods.http.port/username/password,缺失时回退节点顶层键(兼容旧扁平结构)
- 实测原逻辑下所有节点均返回 401 Authorization Required(认证串为空,US 节点端口也从 1205 落到默认 443)
2026-09-10 20:56:12 +08:00
RRRosmontis bcb113e8c9 移除误提交的 __pycache__,补 .gitignore 2026-09-10 10:52:48 +08:00
RRRosmontis 6d204c77fb server_config: SS 升级 2022-blake3 + http 独立凭据 + fail2ban 基线
- SS 方法 aes-256-gcm → 2022-blake3-aes-256-gcm(SIP022 抗重放探测),
  PSK 为 base64(32字节) 格式;模板 config.json 同步更新
- nginx CONNECT Basic Auth 改为每节点独立密码;补充无 apache2-utils 时
  用 openssl passwd -6 的替代写法;注明 htpasswd 实时读取无需 reload
- 新增 2.5 节 fail2ban sshd 基线(含 systemd backend 与 LXC 注意事项)
- 验证清单加 fail2ban 检查项

落实状态:jp/us SS 已升级并验证;四节点 http 独立凭据已生效并验证;
fail2ban 已在 jp/us/ru/aq 全部运行(sshd jail)。
2026-09-10 10:52:35 +08:00
RRRosmontis 63837eb9d8 server_config: 密钥体系改为每节点独立(VLESS UUID/REALITY 密钥对/short_id、SS 密码)
2026-09-10 起 jp/us/ru/aq 四节点已落实独立密钥;SNI 仍全节点统一。
旧「全套共用一套」表述同步修正(0 节/6.2/6.3)。
2026-09-10 10:12:31 +08:00
RRRosmontis efa7e25f66 server_config: 新增 PMTUD 黑洞缓解(tcp_mtu_probing)与 REALITY 公钥推导验证要求
- 2.4 节:客户端路径 PMTUD 黑洞导致「TCP 通但 TLS 握手稳定超时」,
  节点开启 net.ipv4.tcp_mtu_probing=1(本次已在 us/ru/aq 落实,jp 原有)
- 6.3 节:public_key 必须由 private_key 做 X25519 推导逐字符验证,禁止手抄
  (手抄错 1 字符曾致全节点 REALITY 握手失败)
- 验证清单补充 mtu_probing 检查项
2026-09-10 09:49:19 +08:00
RRRosmontis 20d2532e8f server_config: 重写为完整部署规范(BBR/nginx CONNECT/sing-box/mtg)
- 新增完整 README.md 部署规范:架构、端口规划、BBR 跨境优化、
  nginx 源码编译+CONNECT 隧道、sing-box(VLESS+REALITY/SS)、mtg(MTProto)、
  本机 IP 自动识别、systemd、启动顺序与验证清单
- nginx/nginx.conf:占位符版,proxy_connect_allow all + 回环保护
- sing-box/config.json:占位符版,VLESS+REALITY + SS
- systemd/:nginx/sing-box/mtg 服务文件
- scripts/sync-nginx-local-ips.sh:去除真实域名,占位符版
- fake-site/index.html:伪装页(清除真实品牌域名)
- 移除过时:traffic-monitor/、pac/、conf.d 具体站点配置
- 所有敏感值(IP/域名/端口/密钥)均以 <占位符> 表示
2026-09-10 00:22:03 +08:00
RoyirinRosmontis 17cdb276ea 修复: - 节点认证方式升级为 SSO:user/password 按 URL-safe Base64 作为查询参数拼接在 config.json 的 nodes_url 后(旧 nginx auth_basic 已废弃),服务端返回的 401/403/429 等中文原因直接透出到登录框,登录框输入占位改为 SSO 邮箱 999909032240 2026-09-03 22:40:50 +08:00
RoyirinRosmontis f8eba465a9 修复: - 日志不再打印用户数据目录路径:节点配置加载与首启创建提示中的 %LOCALAPPDATA% 路径已移除 999908311640 2026-08-31 16:36:44 +08:00
RoyirinRosmontis 53e9d1e31a 修复: - 检查更新不再内置回退地址:只读取 config.json 的 update_url,未配置时检查更新直接失败并记录日志 2026-08-31 16:25:48 +08:00
RoyirinRosmontis 59393b9ae9 修复: - 检查更新地址改用 config.json 的 update_url 配置,内置回退地址域名从 git.bu4.ren 更换为 git.rrrosmontis.icu 2026-08-31 16:24:15 +08:00
RoyirinRosmontis 89b5c09e95 修复: - 设置页代理转发端口输入框横向过长:宽度 72px 缩到 54px(够放下 5 位端口号) 2026-08-27 13:19:51 +08:00
RoyirinRosmontis b15beb97b4 修复: - 设置页代理转发端口输入框过大:内边距从 5px 缩到 2px,并固定为 72×22 与右侧开关同高,和其他设置项同一水平 2026-08-27 13:19:33 +08:00
RoyirinRosmontis 567d395d6f 新增功能: - 代理白名单:设置页新增第一个设置项「代理白名单+配置」,点配置打开编辑弹窗(Windows 环境变量风格列表),支持添加/删除强制直连的域名、IP、CIDR(IPv4/IPv6 均支持),每条规则带复选框可单独启用/禁用,保存后立即生效,白名单优先于域名表强制隧道与固定代理模式 2026-08-27 13:18:07 +08:00
RoyirinRosmontis c2c3bd1426 修复:
- 打包路径兼容 Nuitka:识别 __compiled__,无 sys._MEIPASS 时回退 __file__ 所在目录(onefile 解压临时目录);新增 build_nuitka.bat(PyQt5 插件、内置 config.json、输出名不变)
999908261456
2026-08-26 14:56:06 +08:00
RoyirinRosmontis 2aeb327638 新增功能:
- 切换节点后把当前节点域名记录到用户设置(settings.json 的 current_node),下次启动自动继续使用上次选中的节点(按域名匹配,节点表变化时安全回退第一条)
999908261439
2026-08-26 14:39:57 +08:00
RoyirinRosmontis 717b7569de 更新 server_config/nginx/nginx.conf 2026-08-26 11:32:44 +08:00
RoyirinRosmontis 2120009c8c 修复:
- 手动点击「检查更新」无视「跳过检查更新」设置:必定输出日志,发现新版本时照常弹窗询问下载(跳过设置只作用于启动时的自动检查)
999908241235
2026-08-24 12:35:41 +08:00
RoyirinRosmontis 5620f0051e 修复:
- 版本号与"检查更新"间距调整为 4px
2026-08-24 12:32:30 +08:00
RoyirinRosmontis f8e8fd1acd 修复:
- 版本号与"检查更新"间距从 16px 缩到 6px(约一两个空格)
2026-08-24 12:31:35 +08:00
RoyirinRosmontis d1369d02d4 修复:
- 设置弹窗版本号与「检查更新」入口改为整体居中,中间隔 16px 小空
2026-08-24 12:30:10 +08:00
RoyirinRosmontis ebccfb4165 新增功能:
- 设置弹窗版本号左对齐,右侧新增「检查更新」入口(节点同款 hover),点击手动触发一次检查更新(后台执行,完成后提示见主界面日志)
2026-08-24 12:28:59 +08:00
RoyirinRosmontis b9a35684ac 新增功能:
- 设置弹窗标题下固定显示当前版本号(config.json 的 version)
2026-08-24 12:27:10 +08:00
RoyirinRosmontis 7e6c95f78a 修复:
- 保存更改成功提示去掉端口号显示,统一为"已保存,下次开启代理生效"
2026-08-24 12:24:31 +08:00
RoyirinRosmontis 54385d72ce 修复:
- ToggleSwitch 开关点击无反应:自绘 QCheckBox 在部分样式引擎下默认点击不触发切换,改为显式处理鼠标按下事件切换并重绘
2026-08-24 12:21:00 +08:00
RoyirinRosmontis 2652213a10 新增功能:
- 设置页新增「跳过检查更新」开关(settings.json 的 skip_update_check,默认关):开启后跳过 PAC 最新版拉取与程序版本检查且不输出相关日志;节点配置更新与客户端认证不受影响
2026-08-24 12:16:55 +08:00
RoyirinRosmontis 4afb810078 修复:
- 设置弹窗提示语移到"设置"标题正下方(保存结果/错误信息同位置显示)
2026-08-24 12:12:26 +08:00
RoyirinRosmontis 3519fbe9e3 修复:
- 设置页「使用代理更新」改为左文字 + 右侧苹果风格开关(ToggleSwitch 自绘:绿/灰胶囊+滑动圆钮,无图片资源)
2026-08-24 12:10:28 +08:00
RoyirinRosmontis a08ca154c9 新增功能:
- 设置页新增「使用代理更新」开关(用户级 settings.json 的 update_via_proxy,默认关):开启后检查更新与下载走节点隧道(CONNECT),关闭时直连仓库 releases API——直连不通的网络可开启隧道,默认直连避免节点隧道故障影响更新检查
2026-08-24 12:07:42 +08:00
RoyirinRosmontis f92c3f52e0 修复:
- 更新检查超时从 10 秒放宽到 20 秒(隧道到 Gitea 链路较慢,避免慢网被误判为失败)
2026-08-24 11:48:26 +08:00
RoyirinRosmontis 22498cb884 修复:
- 移除设置弹窗标题下方的分割线(视觉效果不佳)
2026-08-23 15:24:43 +08:00
RoyirinRosmontis 8e550cba6b 修复:
- 设置弹窗标题"设置"下方增加分割线(与主界面分隔线同款)
2026-08-23 15:08:37 +08:00
RoyirinRosmontis 863d6ccc57 新增功能:
- 检查更新改为基于 Gitea 仓库 releases API:版本取 release 的 tag_name(v0.1.0 式),下载取 exe 附件链接;语义化版本比较(v0.2.0 > v0.1.0)
- config.json 移除 update_url(latest_version.json 不再使用),默认检查地址为仓库 API;CDN 上的 latest_version.json 可下线
999908231446
2026-08-23 14:45:54 +08:00
RoyirinRosmontis d831c3f41c 更新 README.md v0.1.0 2026-08-23 14:38:05 +08:00
RoyirinRosmontis 62e5c991fc 修复:
- 登录中状态改为:绿色登录按钮变灰不可点、按钮文字替换为"登录中"(完成后恢复"登录"),不再用红色提示行显示
2026-08-23 14:26:59 +08:00
RoyirinRosmontis b414c45d5b 修复:
- 退出登录后立即触发登录流程(隐藏主窗口弹登录框,取消则退出),不再停留在无节点的空闲状态
- "nodes.json 中没有可用节点"弹窗增加提示:可在右下角设置中退出登录后重新登录获取节点配置
2026-08-23 14:23:43 +08:00