Compare commits

...
31 Commits
Author SHA1 Message Date
RoyirinRosmontis d831c3f41c 更新 README.md 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
RoyirinRosmontis 115d339d3b 修复:
- 设置弹窗的设置项在空白区域纵向居中(上下均分留白)
2026-08-23 14:16:58 +08:00
RoyirinRosmontis 01def4cef0 修复:
- 设置按钮去掉 hover 效果,常驻小卡片背景(灰底+浅边框)
2026-08-23 14:15:12 +08:00
RoyirinRosmontis 6c25360f68 修复:
- 底部两行提示小字均改为左对齐,右侧完全留给设置按钮
- 设置入口改为小按钮:默认透明文字,hover 显示卡片背景+边框(替代原来的下划线样式)
2026-08-23 14:13:46 +08:00
RoyirinRosmontis 4a1d74903d 其他:
- 仓库补回 config.json / nodes.json / pac_domains.json / pac_ip_cn.json 空模板(所有数据字段为空,供参考结构与自行填充;PAC 模板含生成工具说明)
2026-08-23 14:06:28 +08:00
RoyirinRosmontis e9f8321daf 修复:
- 退出登录按钮改为红色填充样式(与主界面关闭代理按钮一致)
2026-08-23 14:03:36 +08:00
RoyirinRosmontis e8a37edfc0 修复:
- 设置弹窗提示语移到按钮上方并居中显示
2026-08-23 14:01:58 +08:00
RoyirinRosmontis 701845afc2 修复:
- 设置弹窗改为"保存更改"统一提交(后续设置项在此扩展),保存更改与退出登录并排底部
- 更新检查与更新下载不再携带节点 Basic 认证头(update_url 已迁移到公开 CDN,凭据不再暴露给 CDN 日志)
2026-08-23 13:59:03 +08:00
RoyirinRosmontis 40175a144d 新增功能:
- 代理转发端口从内置 config.json 移到设置弹窗:可修改并持久化到用户数据目录 settings.json(下次开启代理生效)
- 取值链:本地设置 > 内置 config.json > 默认 1080;非法输入(非数字/超出 1-65535)拒绝保存
- 代理运行中锁定端口修改(输入框与保存按钮禁用,提示先关闭代理)
2026-08-23 13:53:23 +08:00
RoyirinRosmontis 3c83f26647 新增功能:
- 底部提示行改为:左对齐"请勿二次分发此软件!"+ 右对齐"设置"入口(hover 下划线+手型,与节点标签一致)
- 新增设置弹窗(风格与登录框一致),目前仅含"退出登录":清除加密凭据与本地节点配置,下次启动/开启代理时要求重新登录
2026-08-23 13:47:56 +08:00
RoyirinRosmontis bbf78e655d 新增功能:
- 登录成功后凭据加密落盘(auth.json,DPAPI 同 nodes.json 保护级别)
- 每次启动后台用已保存凭据拉取最新节点配置(内容比对,变化才覆盖):服务端修改 nodes.json 后,客户端下次启动自动同步
- 凭据失效(401)或网络失败时保留本地配置不破坏;登录框在保存过凭据时自动预填,重新登录一键完成
2026-08-23 13:45:05 +08:00
RoyirinRosmontis 1e60db3b11 修复:
- 登录弹窗表单改为按内容高度垂直居中(外层容器对齐),消除输入框之间及上下的拉伸留白;行距收紧到 6px、窗口高度降到 170
2026-08-23 13:30:55 +08:00
RoyirinRosmontis a8b18c6d8a 修复:
- 登录弹窗 logo 下方增加品牌小字 R.R.P.P.(logo+文字垂直居中)
2026-08-23 13:27:40 +08:00
RoyirinRosmontis f2ad051377 修复:
- 登录弹窗加宽到 420、logo 加大到 80x80
2026-08-23 13:25:50 +08:00
RoyirinRosmontis ae540efb8b 修复:
- 登录弹窗细节调整:错误提示行平时隐藏(消除密码框下方大段空白)、logo 加大到 64x64、窗口加宽到 380、取消/登录按钮缩小
- 启动时节点未配置:隐藏主窗口只显示登录框,登录成功恢复主窗口,取消则直接退出程序
2026-08-23 13:23:49 +08:00
RoyirinRosmontis 2ab7b90c49 修复:
- 登录弹窗布局重排:左侧 logo,右侧登录名/密码输入框,底部小字提示"登录以获取节点配置"+ 取消/登录按钮
2026-08-23 13:20:32 +08:00
RoyirinRosmontis 61a59a7872 新增功能:
- 节点配置登录弹窗(LoginDialog,风格与主界面一致):nodes.json 未配置时启动后自动弹出,点击开启代理时也会弹出
- 登录凭据以 Basic 认证请求 config.json 的 nodes_url(参与 nginx 认证),成功后拉取 nodes.json 并 DPAPI 加密保存到 %LOCALAPPDATA%\RRPP,自动刷新标题
- 401 显示"认证失败"、非法返回数据拒绝写入、请求期间按钮禁用防重复提交
- 移除原先无认证的 nodes 自动拉取(该接口已改为必须认证,避免每次启动 401 噪音)
2026-08-23 13:10:42 +08:00
RoyirinRosmontis 415e9787e3 修复:
- dev 模式(未打包)文件读取优先级改为源码目录优先:否则首启在 %LOCALAPPDATA% 生成的加密空模板会永远压过开发者放回源码目录的 nodes.json,test.bat 调试无法生效;打包后仍为用户数据目录优先
2026-08-23 12:55:06 +08:00
RoyirinRosmontis 306f587f7c 清理: 从仓库移除 lite/ 下不再随仓库维护的数据与构建文件(nodes/PAC 数据改为本地加密存储与 CDN 分发,config.json 与 spec 本地保留不再提交) 2026-08-23 12:51:08 +08:00
RoyirinRosmontis 11c1eab4b4 修复:
- 更新检查跳过(节点未配置)时 _latest_version 未初始化,_on_update_done 读取触发 AttributeError;改为检查开始前统一初始化
2026-08-23 12:45:33 +08:00
RoyirinRosmontis 365171d6a1 修复:
- 节点未配置(nodes.json 域名为空)时更新检查优雅跳过,不再以 "???" 域名连接隧道刷错误日志
- 节点未配置时禁止开启代理:否则系统代理会指向连不通任何目标的转发器导致断网
- 更新检查早退路径重复发送完成信号(原逻辑遗留),统一由 finally 发送
2026-08-23 12:41:36 +08:00
RoyirinRosmontis 1336b9efb4 新增功能:
- nodes.json 本地存储改用 Windows DPAPI 加密(本机本用户可解,非 Windows 明文;读取兼容明文/密文,损坏内容安全降级)
- 新增 others/nodes_tool 工具:加密导入 / 解密查看 / 显示存储路径
- 移除项目目录中的 nodes.json 与 PAC 数据文件(不再参与打包:nodes 存 %LOCALAPPDATA%,PAC 由 CDN 拉取);PAC 更新脚本与路由测试改从 CDN 获取数据
2026-08-23 12:37:36 +08:00
RoyirinRosmontis 8fed0a1844 修复:
- 用户数据目录从用户主目录 ~/RRPP 迁移到 Windows 惯例位置 %LOCALAPPDATA%\RRPP(隐藏、不进备份、无同步冲突;非 Windows 环境回退主目录)
2026-08-23 12:29:29 +08:00
RoyirinRosmontis e8f3d8b645 修复:
- PAC 数据更新源改为直接拉取数据文件(原 manifest 方案简化,文件自带资源号/日期)
- 远端数据缺少版本号时改为按内容比对,避免每次启动重复下载

新增功能:
- 配置真实 PAC CDN 地址(cdn.rrrosmontis.icu)
2026-08-23 12:19:17 +08:00
RoyirinRosmontis 254f78cc04 新增功能:
- 节点配置与 PAC 数据改为 ~/RRPP 存储,首次启动自动初始化(nodes.json 缺失时生成模板)
- PAC 数据在线更新:按 pac_manifest.json 的资源号/日期比对,从 CDN 直连拉取(无需认证),失败自动使用本地副本
- nodes.json 支持在线更新(独立地址,按内容比对,原子覆盖)
- 打包仅内置 config.json,nodes/PAC 不再进 EXE
2026-08-23 12:11:59 +08:00
RoyirinRosmontis f518819d8a 修复:
- 检查更新可能失败
- 关闭代理时代理不会正确退出,表现为重启设备后代理设置异常
- 按关闭按钮关闭窗口时程序不会正确退出

新增功能:
- 多节点切换支持
- 更好的 PAC 规则
- 更多的配置项分离加载
2026-08-23 11:24:39 +08:00
RoyirinRosmontis 73f724f396 更新 README.md 2026-08-23 02:53:28 +08:00
RoyirinRosmontis 9339625763 上传文件至「lite」 2026-08-23 02:47:06 +08:00
RoyirinRosmontis 3e5a3ef5d0 更新 README.md 2026-08-23 02:46:26 +08:00
6 changed files with 763 additions and 11565 deletions
+5 -2
View File
@@ -1,8 +1,11 @@
## 警告 ## 警告
- 包含 WireGuard 的 common 版本转发器永久不再维护,推荐使用 Lite 版本 - 包含 WireGuard 的 common 版本转发器永久不再维护,推荐使用 Lite 版本
> common 版本现在有许多未修复的 bug (如部分 UI 的显示问题) 、令人难以忍受的代码逻辑 (如 PAC 规则直接写在代码里)和安全性问题 (认证凭据的暴露与证书忽略),而 Lite 版本修复了这些问题,并会收到持续的更新 > common 版本现在有许多未修复的 bug (如部分 UI 的显示问题) 、令人难以忍受的代码逻辑 (如 PAC 规则直接写在代码里)和安全性问题 (认证凭据的暴露与证书忽略),而 Lite 版本修复了这些问题,并会收到持续的更新
- 当前任何版本内 PAC 规则模式的配置、节点列表的获取随文件一起打包,不具有实时更新可用性,可自行添加
- 本程序完全没有 Linux 与 CLI 功能兼容,默认构建为带有图形界面的 Windows .exe - 本程序完全没有 Linux 与 CLI 功能兼容,默认构建为带有图形界面的 Windows .exe
## 如何区分 common 版本与 Lite 版本 ## 如何区分 common 版本与 Lite 版本
- Lite 版本的版本号前四位固定为 9999,后续为从月份开始的构建时间戳,而 common 版本的版本号为包含年份的完整的构建时间戳 - Lite 版本的版本号前四位固定为 9999,后续为从月份开始的构建时间戳,而 common 版本的版本号为包含年份的完整的构建时间戳
## 服务器侧配置手册 (部分内容过时)
https://rrrosmontis.icu/articles/index.html?id=00005
-85
View File
@@ -1,85 +0,0 @@
# -*- mode: python ; coding: utf-8 -*-
from pathlib import Path
from PyInstaller.utils.hooks import collect_all
# 强制收集 PyQt5 全部模块及二进制文件
qt_datas, qt_binaries, qt_hiddenimports = collect_all('PyQt5')
# 自动收集 lite 目录下全部 *.json 数据文件(nodes.json / pac_*.json 等),
# 直接打进 EXE 内置目录(_MEIPASS),运行时无需在 EXE 旁附带任何文件。
# 以后新增 json 数据文件无需再改 spec。
_JSON_DATAS = [(str(p), '.') for p in Path(SPECPATH).glob('*.json')]
print(f"[spec] 打包 json 数据文件: {[Path(src).name for src, _ in _JSON_DATAS]}")
# 自定义 manifest:普通权限运行 + 声明 PerMonitorV2 DPI 感知,
# 避免程序在不同缩放比例的显示器之间移动时被 Windows 位图拉伸。
_MANIFEST = r'''<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" name="RRPP_Lite" type="win32"/>
<description>Royirin Rosmontis Private Proxy Lite</description>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
</application>
</compatibility>
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2, PerMonitor, system</dpiAwareness>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/pm</dpiAware>
</windowsSettings>
</application>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/>
</dependentAssembly>
</dependency>
</assembly>
'''
a = Analysis(
['proxy_lite.py'],
pathex=['..\\.venv\\Lib\\site-packages'],
binaries=qt_binaries,
datas=[('ico.ico', '.')] + _JSON_DATAS + qt_datas,
hiddenimports=qt_hiddenimports,
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
noarchive=False,
optimize=0,
)
pyz = PYZ(a.pure)
exe = EXE(
pyz,
a.scripts,
a.binaries,
a.datas,
[],
name='Royirin Rosmontis Private Proxy Lite',
debug=False,
bootloader_ignore_signals=False,
strip=False,
# UPX 会压缩资源段(含图标),冷缓存下 Explorer 可能提取不到图标导致任务栏空白
upx=False,
upx_exclude=[],
runtime_tmpdir=None,
console=False,
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
icon=['ico.ico'],
manifest=_MANIFEST,
)
+3 -2
View File
@@ -1,5 +1,6 @@
{ {
"version": "", "version": "",
"update_url": "", "update_url": "",
"local_port": 1080 "pac_base_url": "",
} "nodes_url": ""
}
+4 -3954
View File
File diff suppressed because it is too large Load Diff
+5 -7462
View File
File diff suppressed because it is too large Load Diff
+746 -60
View File
File diff suppressed because it is too large Load Diff