Commit Graph
88 Commits
Author SHA1 Message Date
RoyirinRosmontis e16ef58182 style(lite): unify compact settings buttons 2026-09-18 22:29:28 +08:00
RoyirinRosmontis f4d777113c feat(lite): add tray settings and reset controls 2026-09-18 21:43:09 +08:00
RoyirinRosmontis 26926f6469 feat(lite): enable built-in PAC by default and publish 9999091820 2026-09-18 20:39:34 +08:00
RoyirinRosmontis a0e2600399 feat(lite): add built-in PAC mode and publish 9999091820 2026-09-18 20:34:18 +08:00
RoyirinRosmontis 01de67610d feat(lite): add detailed runtime logs and publish 9999091817 2026-09-18 17:10:03 +08:00
RoyirinRosmontis 384a6107a8 style(lite): unify settings action labels 2026-09-18 16:46:33 +08:00
RoyirinRosmontis fb47f9e1d2 style(lite): compact settings dialog buttons 2026-09-18 16:43:05 +08:00
RoyirinRosmontis 71a67d7dca feat(lite): 持久化代理模式配置并发布 9999091816 2026-09-18 16:23:40 +08:00
RoyirinRosmontis 8063b6d4e8 feat(lite): 发布多跳代理跳板 9999091814 2026-09-18 14:40:44 +08:00
RoyirinRosmontis aac616eed9 fix: 修正发布版本时间戳 2026-09-17 17:07:52 +08:00
RoyirinRosmontis 9bbfe900c8 删除 lite/rrpp_client_nodes.template.json 2026-09-17 17:05:20 +08:00
RoyirinRosmontis c58ef59889 feat: 支持第三方节点订阅 2026-09-17 16:57:47 +08:00
RoyirinRosmontis 9dbaabd4a9 修复:Nuitka onefile 更新路径 2026-09-16 23:45:40 +08:00
RoyirinRosmontis 6673d28503 改进:显示更新下载进度并就地保存 2026-09-16 23:35:38 +08:00
RoyirinRosmontis 6fb2926627 清理:移除本地辅助脚本与测试工具 2026-09-16 23:20:16 +08:00
RoyirinRosmontis 02d36c72f7 重构:模块化 RRPP Lite 并更新入口 2026-09-16 23:13:28 +08:00
RoyirinRosmontis c37d8af821 新增:PAC 明确直连域名空模板 2026-09-16 21:45:48 +08:00
RoyirinRosmontis 0603224de2 修复:完善 PAC 分流与启动取消 2026-09-16 19:10:12 +08:00
RoyirinRosmontis 9376e35025 修复:PAC 规则解析与关键域名分流 2026-09-16 17:46:54 +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,启动后台校验并自动回退到第一个可达节点、写入设置、刷新标题栏(原来只在点开启代理时才报错) 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
RoyirinRosmontis 17cdb276ea 修复: - 节点认证方式升级为 SSO:user/password 按 URL-safe Base64 作为查询参数拼接在 config.json 的 nodes_url 后(旧 nginx auth_basic 已废弃),服务端返回的 401/403/429 等中文原因直接透出到登录框,登录框输入占位改为 SSO 邮箱 2026-09-03 22:40:50 +08:00
RoyirinRosmontis f8eba465a9 修复: - 日志不再打印用户数据目录路径:节点配置加载与首启创建提示中的 %LOCALAPPDATA% 路径已移除 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、输出名不变)
2026-08-26 14:56:06 +08:00
RoyirinRosmontis 2aeb327638 新增功能:
- 切换节点后把当前节点域名记录到用户设置(settings.json 的 current_node),下次启动自动继续使用上次选中的节点(按域名匹配,节点表变化时安全回退第一条)
2026-08-26 14:39:57 +08:00
RoyirinRosmontis 2120009c8c 修复:
- 手动点击「检查更新」无视「跳过检查更新」设置:必定输出日志,发现新版本时照常弹窗询问下载(跳过设置只作用于启动时的自动检查)
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