RoyirinRosmontis
|
1cc4da8318
|
server_config: 如实记录 UDP 接入现状(服务端已部署、订阅不下发、无 fallback 组)
- §6.4 新增「接入现状」表:订阅无 hy2/tuic、代理组仅 select、lite 客户端仅 HTTP CONNECT+UoT、UDP 目前只能手工导入
- 记录日后接入订阅所需三步(nodes.json 字段 / app.py 生成 / fallback 组 REALITY 优先)及 fallback 非瞬时切换的注意点
|
2026-09-20 22:10:20 +08:00 |
|
RoyirinRosmontis
|
8809e40ec1
|
server_config: 启用 UDP 传输(Hysteria2/TUIC)+ UDP 系统调优,如实记录 KVM/LXC/NAT/NSG 差异
- README 新增 §6.4:Hysteria2/TUIC 配置片段、带宽声明与 Brutal 取舍、客户端链接格式、端到端验证方法
- 如实记录各节点差异(2026-09-20 实测):
* hk2 NAT 段 4301-4320 UDP 1:1
* ru(LXC NAT)外部只有宿主映射的 UDP 端口可达(23336+ 实测 connection refused),最终复用与 TCP 同号的 23333/23334
* jp(Azure)NSG 仅放行 UDP 8445 → 单节点只能承载一个 UDP 协议,保留 TUIC
* aq 为 IPv6-only,listen 用 ::
- §2.6 UDP 策略修订:由「不部署 UDP」改为「已启用 UDP 传输,同时保留 UoT」
- sysctl 模板补 udp_rmem_min/udp_wmem_min;rrpp-qdisc.sh 增加 rx-udp-gro-forwarding / rx-gro-list(aq 内核 5.10 不支持前者,LXC 无法设置)
- §10 验证清单补 UDP 项,并强调「只看监听不足以证明外部可达」
|
2026-09-20 22:05:57 +08:00 |
|
RoyirinRosmontis
|
375153b810
|
server_config: 系统级网络优化规范(KVM/LXC 差异 + qdisc 持久化 + sysctl.conf 覆盖坑)
- 新增 sysctl/99-zz-rrpp-network.{kvm,lxc}.conf 两套模板(99-zz- 前缀保证最后生效)
- 新增 systemd/rrpp-qdisc.service + scripts/rrpp-qdisc.sh(default_qdisc 只对新建网卡生效,需显式 replace)
- README §2.6:如实记录实测差异
* KVM/完整VM:rmem/wmem、netdev_max_backlog、default_qdisc、qdisc 均可写
* LXC/OpenVZ:上述项缺失或只读、eth0 为 noqueue、/usr/lib/sysctl.d 的 pid_max/fs.protected_* 报 permission denied(正常)
* 坑:sysctl --system 会在 sysctl.d 之后加载 /etc/sysctl.conf,实测某节点旧文件把 tcp_mtu_probing 覆盖回 0
- 记录 UDP 策略:节点不部署 UDP 传输,UDP 需求统一走 UoT v2(§5.5)
- 更新 §9 服务表、§10 验证清单、§11 目录索引
|
2026-09-20 21:50:13 +08:00 |
|
DSH Agent
|
9a64853db4
|
server_config: 新增 RRPP 订阅后端规则集下发文档(PAC → classical 规则集)
- 新增 §12:PAC 不能直接下发的原因、三个规则集产物、PAC 更新后的再生成流程、
mihomo/Shadowrocket 两种客户端接入方式与验证口径
- 新增 rrpp-subscription/:API.md(订阅端点/method/rules 参数/规则集说明)
与 gen_rulesets.py(PAC → 客户端规则集转换脚本,幂等、原子替换)
- method 新增 shadowrocket(.conf:远程 RULE-SET + FINAL,不猜测 REALITY 参数)
- method=clash 新增 &rules=provider|inline|global
|
2026-09-19 18:46:54 +08:00 |
|
RRRosmontis
|
bdd9d3498d
|
fix(uot-relay): 数据报级错误不再杀隧道 + 地址族健壮性
实测复现:目标为关闭的 UDP 端口时,连接式 socket 收到 ICMP port unreachable
→ ConnectionRefusedError → 被兜底 except 接住并 stop.set() → 整条 UoT 隧道被关
(客户端见 'UoT TCP 流已关闭',多隧道同秒集体死亡)。
修复:
- 一律用未连接 UDP socket(不接收 ICMP 错误)
- send/recv 的数据报级错误只丢包继续;EAGAIN 等可写重试(1s 上限)
- 按地址族惰性建 socket(v4/v6 混用)、IPv6 recvfrom 4 元组归一化
- connect 模式预建 socket(修掉主循环空池即关连接的回归)
五节点已部署并验证:狂发 200 包到关闭端口/无路由目标后隧道仍存活;
UoT DNS 端到端 JP/US/AQ/HK2 通过,RU 为该节点出口 UDP 限制(实测 4/10)
导致的偶发超时,非 relay 问题。
|
2026-09-19 16:41:19 +08:00 |
|
RoyirinRosmontis
|
41204df78a
|
release: publish 9999091904
999909190441
|
2026-09-19 04:43:17 +08:00 |
|
RoyirinRosmontis
|
d0e739eff1
|
fix(lite): hide tun network command windows
|
2026-09-19 04:36:54 +08:00 |
|
RoyirinRosmontis
|
e406d614b7
|
refactor(lite): keep tunnel startup details out of main log
|
2026-09-19 04:29:24 +08:00 |
|
RoyirinRosmontis
|
357fd26a49
|
fix(lite): bundle tun runtime and quiet connection logs
|
2026-09-19 04:27:20 +08:00 |
|
RoyirinRosmontis
|
9d5bc527d3
|
feat(lite): add opt-in tun ipv6 mode
|
2026-09-19 04:20:34 +08:00 |
|
RoyirinRosmontis
|
2315735979
|
fix(lite): report tun worker startup errors
|
2026-09-19 04:07:27 +08:00 |
|
RoyirinRosmontis
|
889dcb88e5
|
style(lite): restore intended mode hover contrast
|
2026-09-19 04:01:02 +08:00 |
|
RoyirinRosmontis
|
9224ad33fe
|
style(lite): swap mode card hover colors
|
2026-09-19 03:54:59 +08:00 |
|
RoyirinRosmontis
|
50364dc17a
|
feat(lite): merge TUN mode with IPv6 routing
999909190333
|
2026-09-19 03:41:41 +08:00 |
|
RRRosmontis
|
3e29012d9c
|
server_config: CONNECT 出站超时 60s→10s,并补充排障口径
实测(2026-09):目标为黑洞 IP 时,nginx 出站超时 60s > lite 客户端 15s,
表现为客户端 'read operation timed out' 而非 502,形似代理卡死,实为超时错配。
改为 10s 后黑洞目标 10.2s 返回、正常目标 0.4-0.7s 不受影响(五节点已生效)。
README 新增 5.6 节:三个超时的口径 + 'CONNECT 502' 的排查顺序
(先判断目标是否本身不可达 → 再看 nginx 错误类型 → 最后才怀疑 CONNECT 模块),
并建议客户端日志记录原始域名(案例:Dropbox 旧 IP 失效导致误判)。
|
2026-09-19 01:23:38 +08:00 |
|
RoyirinRosmontis
|
e4d57bc90d
|
更新 README.md
|
2026-09-19 00:41:12 +08:00 |
|
RoyirinRosmontis
|
fd433fc43e
|
更新 README.md
|
2026-09-19 00:40:37 +08:00 |
|
RoyirinRosmontis
|
a054a547e5
|
更新 README.md
|
2026-09-19 00:38:19 +08:00 |
|
RRRosmontis
|
2e56f82e7b
|
server_config: 新增 UoT v2(UDP over TCP)支持
全节点(jp/us/ru/aq/hk2)已部署并实测通过(UoT DNS 端到端 ✅ + TCP 回归 ✅):
- nginx 模板:map $request 识别 sing-box UoT v2 magic 地址
(sp.v2.udp-over-tcp.arpa)→ 127.0.0.1:15201;default_server 块加
proxy_connect_address;read/send timeout 10m
- 新增 uot-relay/:Python 标准库 UoT v2 relay(connect/non-connect 双模式,
仅监听 127.0.0.1,空闲 9 分钟断开)
- README 5.5 节:部署方法 + 客户端协议 + 四个实测坑
($connect_host 未注册变量 / data_timeout 与 read_timeout 同槽 /
CONNECT 恒落 default_server / 拒绝端口 0)
|
2026-09-19 00:31:41 +08:00 |
|
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
999909182137
|
2026-09-18 21:43:09 +08:00 |
|
RoyirinRosmontis
|
26926f6469
|
feat(lite): enable built-in PAC by default and publish 9999091820
999909182036
|
2026-09-18 20:39:34 +08:00 |
|
RoyirinRosmontis
|
a0e2600399
|
feat(lite): add built-in PAC mode and publish 9999091820
999909182030
|
2026-09-18 20:34:18 +08:00 |
|
RoyirinRosmontis
|
01de67610d
|
feat(lite): add detailed runtime logs and publish 9999091817
999909181706
|
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
999909181618
|
2026-09-18 16:23:40 +08:00 |
|
RoyirinRosmontis
|
8063b6d4e8
|
feat(lite): 发布多跳代理跳板 9999091814
999909181435
|
2026-09-18 14:40:44 +08:00 |
|
RoyirinRosmontis
|
aac616eed9
|
fix: 修正发布版本时间戳
999909171702
|
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 更新路径
999909162304
|
2026-09-16 23:45:40 +08:00 |
|
RoyirinRosmontis
|
6673d28503
|
改进:显示更新下载进度并就地保存
999909162303
|
2026-09-16 23:35:38 +08:00 |
|
RoyirinRosmontis
|
6fb2926627
|
清理:移除本地辅助脚本与测试工具
|
2026-09-16 23:20:16 +08:00 |
|
RoyirinRosmontis
|
02d36c72f7
|
重构:模块化 RRPP Lite 并更新入口
999909162302
|
2026-09-16 23:13:28 +08:00 |
|
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 |
|