Skip to content

CJianYu/justmysocks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JMS Doctor

一个零依赖、跨平台、默认不泄露节点凭据的 Just My Socks 订阅诊断工具。

它可以在本机解析 JMS 订阅,检查协议、重复节点、DNS 解析和 TCP 可达性,并生成适合提交 Issue 的脱敏报告。支持 macOS、Linux 和 Windows,只需要 Python 3.10+。

联盟链接披露: 本项目免费开源。下面的“购买 Just My Socks”链接包含作者的联盟标识 aff=22688;如果你通过该链接购买,作者可能获得佣金,你的价格不会因此增加。已有账号的用户无需点击。

查看网页版使用说明 · 购买 Just My Socks(联盟链接) · 官方服务条款

实用指南

为什么做这个工具

JMS 提供的订阅通常是 Base64 编码的节点 URI 列表。遇到“下载成 PHP 文件”“客户端导入后没有节点”“域名能解析但端口不通”等问题时,直接把订阅链接粘贴到在线转换站可能泄露服务器、端口和密码。

JMS Doctor 默认只在本机处理数据,并对主机名脱敏;它不会上传订阅内容,也不会写入日志。

功能

  • 解析 Base64 或纯文本订阅,识别 ss://vmess://vless://trojan:// 节点。
  • 只显示协议、节点名称和脱敏主机,不打印密码、UUID 或完整订阅链接。
  • 检测无法解析的行、重复节点名称和缺失字段。
  • 可选 DNS 与 TCP 探测,定位“订阅正常但连不上”的问题。
  • 输出脱敏 JSON,方便在 GitHub Issue 中求助。
  • 全部使用 Python 标准库,无第三方依赖。

安装

推荐先查看安装脚本,再运行:

curl -fsSL https://raw.githubusercontent.com/CJianYu/justmysocks/main/install.sh -o /tmp/jms-doctor-install.sh
less /tmp/jms-doctor-install.sh
sh /tmp/jms-doctor-install.sh

或者克隆仓库后直接运行:

git clone https://github.com/CJianYu/justmysocks.git
cd justmysocks
python3 tools/jms_doctor.py --help

Windows 用户可以下载 tools/jms_doctor.py,然后在 PowerShell 中运行:

python .\tools\jms_doctor.py --help

使用

最安全的方式是不把订阅链接写进终端历史。直接运行后,根据提示粘贴链接;输入内容不会回显:

jms-doctor

从本地文件诊断:

jms-doctor --file subscription.txt

检查 DNS 和 TCP 端口:

jms-doctor --file subscription.txt --dns --tcp

生成脱敏 JSON 报告:

jms-doctor --file subscription.txt --dns --json > jms-report.json

查看购买入口和联盟披露:

jms-doctor --buy

输出示例

JMS Doctor 1.0.0
Nodes: 3 | Parsed: 3 | Warnings: 0

01  ss      Los Angeles 1    c70…s1.example.net:443
02  vmess   Los Angeles 2    c70…s2.example.net:443
03  ss      Backup 801       c70…01.example.net:443

DNS: 3/3 resolved
TCP: 2/3 reachable

示例中的域名和端口是虚构数据。真实报告不会包含密码或 UUID。

常见问题

为什么不直接提供在线订阅转换?

订阅链接本身相当于访问凭据。纯本地工具更容易说明数据流向,也避免第三方服务器记录链接。本项目目前专注于诊断,不承诺生成适用于所有客户端的完整规则配置。

为什么节点域名被隐藏?

默认脱敏是为了让你可以安全地把报告贴到 Issue。确实需要查看完整主机名时,可添加 --show-hosts;请勿公开分享该输出。

没有 Just My Socks 账号可以使用吗?

工具需要订阅内容才能诊断。需要购买时可以使用作者的联盟链接。点击和购买完全自愿;你也可以直接访问官方首页。

安全边界

  • 不要把真实订阅链接、密码、UUID 或未脱敏报告提交到公开 Issue。
  • --tcp 只连接订阅中声明的服务器端口,不发送应用层数据。
  • 工具不修改系统代理、防火墙、DNS 或客户端配置。
  • 使用网络服务时请遵守所在地法律、服务条款和组织政策。

漏洞报告方式见 SECURITY.md

开发

python3 -m unittest discover -s tests -v
python3 tools/jms_doctor.py --file tests/fixtures/sample-subscription.txt

License

MIT。详见 LICENSE

About

Privacy-first Just My Socks subscription diagnostics for SS, VMess, VLESS and Trojan

Topics

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages