Compare commits

..
64 Commits
Author SHA1 Message Date
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 可下线
2026-08-23 14:45:54 +08:00
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
RRRosmontis e13f41a493 添加 lite/config.json(清除历史版本) 2026-08-23 02:45:33 +08:00
RoyirinRosmontis 6c9a04b754 上传文件至「lite」 2026-08-23 02:29:27 +08:00
RoyirinRosmontis 3a521daefd 更新 README.md 2026-08-23 02:21:38 +08:00
RoyirinRosmontis fc81351254 更新 lite/nodes.json 2026-08-23 02:16:18 +08:00
RoyirinRosmontis 0b359ff87d 更新 README.md 2026-08-23 02:09:04 +08:00
RoyirinRosmontis 922b89a391 添加 lite/nodes.json 2026-08-23 02:05:58 +08:00
RoyirinRosmontis ab7c6cc87a 上传文件至「lite」 2026-08-23 02:05:03 +08:00
RoyirinRosmontis 1a891a1ad2 删除 lite/build_lite.bat 2026-08-23 02:04:42 +08:00
RoyirinRosmontis 65e4ba75ae 删除 lite/RRPP_Lite.spec 2026-08-23 02:04:37 +08:00
RRRosmontis 81658503c4 server_config/README.md 仅保留目录结构 2026-08-23 01:57:50 +08:00
RRRosmontis 0df9037407 添加 server_config:jp 服务器端配置(nginx/sing-box/流量监控/脚本/存档),已脱敏 2026-08-23 01:50:35 +08:00
RoyirinRosmontis 00a0af03e9 更新 README.md 2026-08-23 01:38:31 +08:00
RoyirinRosmontis e6c6732457 更新 README.md 2026-08-23 01:37:29 +08:00
RoyirinRosmontis b8fdcd0ccf 更新 common/proxy.py 2026-08-23 01:35:47 +08:00
RoyirinRosmontis dd4f2787d8 添加 README.md 2026-08-23 01:34:53 +08:00
RoyirinRosmontis 21372f08b2 更新 common/wg/wireguard.exe 2026-08-23 01:30:49 +08:00
RoyirinRosmontis d018df4e99 更新 common/wg/wg.exe 2026-08-23 01:30:27 +08:00
RoyirinRosmontis 27359c8379 更新 common/jp_client.conf 2026-08-23 01:29:34 +08:00
RoyirinRosmontis 53ae62698b 更新 common/proxy.py 2026-08-23 01:29:06 +08:00
RoyirinRosmontis b2e92fdcca 删除 full/ico.ico 2026-08-23 01:27:50 +08:00
RoyirinRosmontis 86de7bd108 删除 full/RRPP.spec 2026-08-23 01:27:45 +08:00
RoyirinRosmontis cdf70fbbef 删除 full/upload_to_server.py 2026-08-23 01:27:36 +08:00
RoyirinRosmontis 5042d1b05c 更新 full/jp_client.conf 2026-08-23 01:27:25 +08:00
RoyirinRosmontis 10a6b630e7 删除 full/build.bat 2026-08-23 01:26:55 +08:00
RoyirinRosmontis 9cc7060684 更新 full/proxy.py 2026-08-23 01:26:15 +08:00
RoyirinRosmontis 5ec84db56f 上传文件至「lite」 2026-08-18 08:16:31 +00:00
RoyirinRosmontis 701fa35789 删除 full/dist/jp_client.conf 2026-08-18 08:15:49 +00:00
RoyirinRosmontis 554c8e63ac 上传文件至「full/dist」 2026-08-18 08:15:06 +00:00
RoyirinRosmontis a12e43932e 上传文件至「full/wg」 2026-08-18 08:14:35 +00:00
RoyirinRosmontis eaea693a82 上传文件至「full」 2026-08-18 08:14:03 +00:00
RoyirinRosmontis 9eed3fd1f0 删除 full/Royirin Rosmontis Private Proxy.lnk 2026-08-18 08:13:51 +00:00
RoyirinRosmontis 688bdce087 上传文件至「full」 2026-08-18 08:13:40 +00:00
9 changed files with 1095 additions and 7949 deletions
+8 -1
View File
@@ -1,4 +1,11 @@
## 警告
- 包含 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
-78
View File
@@ -1,78 +0,0 @@
# -*- mode: python ; coding: utf-8 -*-
from PyInstaller.utils.hooks import collect_all
# 强制收集 PyQt5 全部模块及二进制文件
qt_datas, qt_binaries, qt_hiddenimports = collect_all('PyQt5')
# 自定义 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', '.'), ('pac_domains.json', '.'), ('pac_ip_cn.json', '.')] + 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,
)
-6
View File
@@ -1,6 +0,0 @@
@echo off
cd /d "%~dp0"
call ..\.venv\Scripts\python.exe -m PyInstaller RRPP_Lite.spec
echo.
echo Build complete. Output: dist\Royirin Rosmontis Private Proxy Lite.exe
pause
+6
View File
@@ -0,0 +1,6 @@
{
"version": "",
"update_url": "",
"pac_base_url": "",
"nodes_url": ""
}
+10
View File
@@ -0,0 +1,10 @@
[
{
"domain": "",
"port": "",
"country": "",
"username": "",
"password": "",
"remark": ""
}
]
+4 -214
View File
@@ -1,216 +1,6 @@
{
"_comment": "强制走代理隧道的域名后缀(IP 智能分流的补充规则):命中这些域名的连接即使解析到国内 IP 也强制走隧道。匹配规则:host == 条目 或 host 以 \".条目\" 结尾。该文件可选:EXE 同目录的 pac_domains.json 优先于打包内置版本,可自行增删。",
"domains": [
"1e100.net",
"aistudio.google.com",
"akamaihd.net",
"anthropic.com",
"apexlegends.com",
"azure.com",
"azureedge.net",
"azurefd.net",
"battle.net",
"bing.com",
"bing.net",
"bingapis.com",
"blizzard.com",
"canva.com",
"cdninstagram.com",
"cf-cdn.com",
"chatgpt.com",
"clau.de",
"claude.ai",
"claudeusercontent.com",
"cloudflare.com",
"cloudflare.net",
"cloudflarecdn.com",
"cloudflareinsights.com",
"cloudflarestatus.com",
"cloudfront.net",
"cloudinary.com",
"crunchyroll.com",
"deepmind.com",
"deepmind.google.com",
"discord.com",
"discord.gg",
"discord.media",
"discordapp.com",
"discordapp.net",
"disney-plus.net",
"disneyplus.com",
"docker.com",
"docker.io",
"dssott.com",
"duckduckgo.com",
"ea.com",
"eaassets.com",
"epicgames.com",
"facebook.com",
"fastly.net",
"fastlylb.net",
"fb.com",
"fbcdn.net",
"fbsbx.com",
"figma.com",
"gemini.google.com",
"generativeai.googleapis.com",
"ggpht.com",
"ghcr.io",
"github.com",
"github.io",
"githubassets.com",
"githubcopilot.com",
"githubusercontent.com",
"gitlab.com",
"gitlab.io",
"gog.com",
"google",
"google-analytics.com",
"google.co.jp",
"google.com",
"google.com.hk",
"googleapis.com",
"googlehosted.com",
"googletagmanager.com",
"googleusercontent.com",
"googlevideo.com",
"grok.com",
"gstatic.com",
"hf.co",
"huggingface.co",
"huggingfacecdn.com",
"hulu.com",
"imgur.com",
"instagram.com",
"itch.io",
"jsdelivr.net",
"leagueoflegends.com",
"licdn.com",
"line-apps.com",
"line-scdn.net",
"line.me",
"linkedin.com",
"linux.do",
"live.com",
"max.com",
"medium.com",
"messenger.com",
"meta.ai",
"meta.com",
"microsoft.com",
"microsoft365.com",
"microsoftonline.com",
"midjourney.com",
"msecnd.net",
"msftncsi.com",
"msn.com",
"netflix.com",
"netlify.app",
"netlify.com",
"nflxext.com",
"nflximg.net",
"nflxvideo.net",
"nico.ms",
"nicovideo.jp",
"nintendo.com",
"nintendowifi.net",
"oaistatic.com",
"oaiusercontent.com",
"office.com",
"office.net",
"openai.com",
"openaiusercontent.com",
"origin.com",
"pages.dev",
"paramountplus.com",
"patreon.com",
"paypal.com",
"paypalobjects.com",
"perplexity.ai",
"pinimg.com",
"pinterest.com",
"pixiv.net",
"playstation.com",
"poe.com",
"primevideo.com",
"proton.me",
"protonmail.com",
"protonvpn.com",
"pximg.net",
"quora.com",
"redd.it",
"reddit.com",
"redditmedia.com",
"redditstatic.com",
"riotgames.com",
"s-microsoft.com",
"s.team",
"sc-cdn.net",
"scdn.co",
"search.brave.com",
"serverfault.com",
"signal.org",
"slack-edge.com",
"slack-imgs.com",
"slack.com",
"snapchat.com",
"sonyentertainmentnetwork.com",
"spotify.com",
"spotifycdn.com",
"stackexchange.com",
"stackoverflow.com",
"statically.io",
"steam-api.com",
"steam-chat.com",
"steam.com",
"steamcdn-a.akamaihd.net",
"steamcommunity-a.akamaihd.net",
"steamcommunity.com",
"steamcontent.com",
"steamgames.com",
"steampowered.com",
"steamserver.net",
"steamstatic.com",
"steamstore-a.akamaihd.net",
"steamusercontent.com",
"steamuserimages-a.akamaihd.net",
"superuser.com",
"t.me",
"telega.one",
"telegram-cdn.org",
"telegram.org",
"threads.net",
"tiktok.com",
"tiktokcdn.com",
"tiktokv.com",
"ttvnw.net",
"tumblr.com",
"tv.apple.com",
"tvplus.apple.com",
"twimg.com",
"twitch.tv",
"twitchcdn.net",
"twitter.com",
"ubi.com",
"ubisoft.com",
"unpkg.com",
"unrealengine.com",
"valorant.com",
"valvesoftware.com",
"vercel.app",
"vercel.com",
"whatsapp.com",
"whatsapp.net",
"wikimedia.org",
"wikipedia.org",
"workers.dev",
"x.ai",
"x.com",
"xai.com",
"youtube.com",
"ytimg.com",
"zoom.com",
"zoom.us",
"zoomgov.com"
]
"_comment": "强制走代理隧道的域名后缀模板(数据字段为空)。生成与更新:others/update_pac_domains/update_pac_domains.py;客户端按文件内 version/date 从 CDN 在线更新。",
"version": "",
"date": "",
"domains": []
}
+4 -7461
View File
File diff suppressed because it is too large Load Diff
+1004 -105
View File
File diff suppressed because it is too large Load Diff
+17 -42
View File
@@ -1,51 +1,26 @@
# server_config — 服务器端配置(已脱敏)
来源:**jp 服务器**(`iam.aeolianchi.me`,Azure Japan East 学生订阅,Ubuntu 24.04)
采集时间:2026-08-23
> 本目录只收录**服务器端**配置;客户端(转发器 / PAC / WG)见仓库根目录的 `lite/` 与 `common/`。
## 目录结构
# server_config
```
server_config/
├── nginx/ # jp nginx(HTTPS CONNECT 代理 + 明文 HTTP 转发 + 伪装站)
│ ├── nginx.conf # 主配置(proxy_connect 模块 + /__proxy 转发 + 自代理环保护)
│ ├── conf.d/ # 附加站点
│ │ ├── api.aeolianchi.me.conf # 流量监控状态反代
│ │ └── autodiscover.aeolianchi.me.conf # autodiscover 反代(→ bj)
│ └── local_ip_rules.conf.example # 本机公网 IP 直连规则(自动生成,示例)
├── nginx/
│ ├── nginx.conf
│ ├── conf.d/
│ │ ├── api.aeolianchi.me.conf
│ │ └── autodiscover.aeolianchi.me.conf
│ └── local_ip_rules.conf.example
├── sing-box/
│ └── config.json # VLESS + REALITY 入站(8443),密钥已脱敏
├── traffic-monitor/ # Azure 门户口径流量监控(/home/agent)
│ ├── config.json # SMTP 凭据已脱敏
│ ├── traffic_monitor.py # 监控脚本(vnstat + Azure Usage Details API)
│ └── traffic-monitor.service # systemd 单元
│ └── config.json
├── traffic-monitor/
│ ├── config.json
│ ├── traffic_monitor.py
│ └── traffic-monitor.service
├── scripts/
│ ├── sync-nginx-local-ips.sh # 每 5 分钟自动同步公网 IP 直连规则(cron)
│ └── rrpp-stats # vnstat 统计输出(每分钟写入 stats.json)
├── pac/ # 旧版 PAC(现客户端改为内存生成,仅存档)
│ ├── sync-nginx-local-ips.sh
│ └── rrpp-stats
├── pac/
│ ├── proxy.pac
│ └── proxy_wg.pac
└── cron/
├── crontab.txt # RRRosmontis 用户 crontab
└── sync-nginx-local-ips # /etc/cron.d 条目
├── crontab.txt
└── sync-nginx-local-ips
```
## 脱敏说明
| 原文 | 替换为 | 说明 |
|---|---|---|
| 公网 IP(`20.48.32.251` / `20.89.52.88`) | `<PUBLIC_IP>` | 服务器公网地址(DNS 可解析,但按惯例遮蔽) |
| VLESS UUID | `<VLESS_UUID>` | sing-box 入站用户 UUID |
| REALITY 私钥 | `<REALITY_PRIVATE_KEY>` | TLS Reality 私钥(机密) |
| REALITY short_id | `<REALITY_SHORT_ID>` | TLS Reality short id |
| SMTP 账号 / 密码 / 收发地址 | `<SMTP_USER>` `<SMTP_PASSWORD>` `<SMTP_FROM>` `<SMTP_TO>` | 告警邮件凭据 |
未收录:TLS 私钥/证书(仅保留 nginx 中的路径引用)、`/etc/nginx/.htpasswd`(认证哈希,用户名为 `user`)、Azure 订阅 ID 等。
## 安全提示
1. **`common/jp_client.conf`(WireGuard 客户端配置)此前已入库且含真实密钥**(客户端私钥、对端公钥、Endpoint)。若本仓库非私有,建议**轮换 WG 密钥与 sing-box REALITY 密钥**。
2. `local_ip_rules.conf` 由 `sync-nginx-local-ips.sh` 每 5 分钟自动重写(cron),仓库内为脱敏示例;公网 IP 变更后无需手动改 nginx。
3. 明文 HTTP 代理路径要求 Basic 认证(`user`);无认证返回 401,不会成为开放代理。