Compare commits

..
Author SHA1 Message Date
RoyirinRosmontis bfb341cbb6 上传文件至「lite」 2026-08-23 02:29:27 +08:00
RoyirinRosmontis 561ad9ea71 更新 README.md 2026-08-23 02:21:38 +08:00
RoyirinRosmontis 504e350eea 更新 lite/nodes.json 2026-08-23 02:16:18 +08:00
RoyirinRosmontis 4c8f47bb0d 更新 lite/config.json 2026-08-23 02:14:50 +08:00
RoyirinRosmontis a3f11ba72f 更新 README.md 2026-08-23 02:09:04 +08:00
RoyirinRosmontis 458ad94527 添加 lite/nodes.json 2026-08-23 02:05:58 +08:00
RoyirinRosmontis dfdca2f2a6 上传文件至「lite」 2026-08-23 02:05:03 +08:00
7 changed files with 11585 additions and 950 deletions
+1 -4
View File
@@ -1,11 +1,8 @@
## 警告
- 包含 WireGuard 的 common 版本转发器永久不再维护,推荐使用 Lite 版本
> common 版本现在有许多未修复的 bug (如部分 UI 的显示问题) 、令人难以忍受的代码逻辑 (如 PAC 规则直接写在代码里)和安全性问题 (认证凭据的暴露与证书忽略),而 Lite 版本修复了这些问题,并会收到持续的更新
- 当前任何版本内 PAC 规则模式的配置、节点列表的获取随文件一起打包,不具有实时更新可用性,可自行添加
- 本程序完全没有 Linux 与 CLI 功能兼容,默认构建为带有图形界面的 Windows .exe
## 如何区分 common 版本与 Lite 版本
- Lite 版本的版本号前四位固定为 9999,后续为从月份开始的构建时间戳,而 common 版本的版本号为包含年份的完整的构建时间戳
## 服务器侧配置手册 (部分内容过时)
https://rrrosmontis.icu/articles/index.html?id=00005
+85
View File
@@ -0,0 +1,85 @@
# -*- 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,
)
+1 -2
View File
@@ -1,6 +1,5 @@
{
"version": "",
"update_url": "",
"pac_base_url": "",
"nodes_url": ""
"local_port": 1080
}
+3954 -4
View File
File diff suppressed because it is too large Load Diff
+7461 -4
View File
File diff suppressed because it is too large Load Diff
+76 -930
View File
File diff suppressed because it is too large Load Diff
+4 -3
View File
@@ -56,14 +56,15 @@ http {
}
}
# 443 端口:iam.aeolianchi.me HTTPS 站点 + 认证 CONNECT 代理
server {
listen 443 ssl;
http2 on;
server_name XXX;
server_name iam.aeolianchi.me;
root /var/www/html;
ssl_certificate /etc/nginx/ssl/XXX/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/XXX/privkey.pem;
ssl_certificate /etc/nginx/ssl/iam.aeolianchi.me/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/iam.aeolianchi.me/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_session_cache shared:SSL:10m;