Commit Graph
133 Commits
Author SHA1 Message Date
fscarmen 4f29ea5c92 v1.3.16 feat: support bind_interface for multi-NIC servers
- Add bind_interface option in sb -d menu to bind outbound traffic to a specific NIC
- Change v2rayN Hysteria2 Realm config from Finalmask field to ProtoExtraObj

v1.3.16 feat: 支持指定网络出口,多网卡绑定

- sb -d 菜单新增「指定网络出口」选项,可为出站流量绑定特定网卡
- v2rayN 的 Hysteria2 Realm 配置从 Finalmask 字段改为 ProtoExtraObj
2026-07-15 23:06:26 +00:00
starfendouandGitHub c62368ebcc fix: add explicit action:route to custom warp-ep route rules (#330) 2026-07-07 16:10:23 +08:00
fscarmen 3dfbec4215 v1.3.15 feat: improve hysteria2 realm UX, fix port hopping, add v2rayN realm support
- add v2rayN Finalmask field for hysteria2 realm subscription output
- add dedicated "Close Realm" / "Open Realm" menu entries (E[167]/E[168])
- detect realm state from subscribe/proxies realm-opts instead of reading config file
- skip fetch_nodes_value when closing realm; keep it when opening
- fix port hopping target parsing (strip leading whitespace from awk output)
- keep server/server_port in sing-box json output when realm is enabled, realm as additional field

v1.3.15 feat: 优化 Hysteria2 Realm 交互体验,修复端口跳跃,新增 v2rayN Realm 支持

- v2rayN 订阅输出增加 Realm 的 Finalmask 字段
- 新增"关闭 Realm"/"开启 Realm"独立菜单项(E[167]/E[168])
- 通过 subscribe/proxies 的 realm-opts 判断 Realm 状态,不再读取配置文件
- 关闭 Realm 时跳过 fetch_nodes_value,开启时保留
- 修复端口跳跃目标解析(去除 awk 输出的前导空格)
- sing-box JSON 输出开启 Realm 时保留 server/server_port,realm 作为附加字段
2026-07-01 06:44:10 +00:00
fscarmen 5dfd0cdbfc fix: resolve loss of UUID when adding/removing protocols in sb -r
fix: 修复 sb -r 添加或删除协议时 UUID 丢失的问题
2026-06-27 03:09:34 +00:00
fscarmenandGitHub 53ce0dc541 fix: resolve failure to update server IP in sb -d
fix: 修复 sb -d 服务端 IP 修改失败的问题
2026-06-25 09:55:07 +08:00
fscarmen 6bb22b3562 feat: support custom TLS fingerprint and partial configuration hot-reload
- Support custom client TLS fingerprint configuration.
- Change default TLS fingerprint from 'firefox' to 'chrome'.
- Implement hot-reload for partial configuration updates (avoid unnecessary restarts).

feat: 支持自定义 TLS 指纹与部分配置热重载

- 客户端 TLS 指纹默认值从 firefox 改为 chrome。
- 支持自定义客户端 TLS 指纹。
- 优化部分配置项的更新逻辑,无需重启服务即可生效。
2026-06-20 08:18:18 +00:00
fscarmen 2ca9504654 feat: security upgrade for subscriptions, client output improvements
- replace Nekobox with Throne for client output; generate independent Throne config
- security upgrade: remove `insecure=true`, use TLS certificate fingerprint verification

feat: 订阅链接安全升级,客户端输出优化

- 使用 Throne 替代 Nekobox 输出客户端配置,独立生成 Throne 配置
- 安全升级:移除 `insecure=true`,启用 TLS 证书指纹校验
2026-06-06 03:25:28 +00:00
fscarmen 803cfa7959 fix: correct UUID extraction from nginx.conf after sb -d changes
* fix awk logic matching /auto and /auto2 instead of actual UUID path
* avoid empty UUID caused by incorrect regex matching fallback rules
* thanks https://github.com/github0null for reporting the issue

fix: 修复 sb -d 后 nginx.conf 中 UUID 提取错误问题

* 修复 awk 匹配到 /auto、/auto2 而非真实 UUID 路径的问题
* 修复正则错误导致 UUID 为空的问题
* 感谢 https://github.com/github0null 反馈该问题
2026-06-02 12:51:42 +00:00
fscarmen 5644e6bebb v1.3.14 feat: add custom warp-ep route rule management
- add optional custom warp-ep route rule management via [sb -d]
- expand custom route entries by individual domain_suffix and rule_set values

v1.3.14 feat: 增加自定义 warp-ep 路由规则管理

- 增加可选的自定义 warp-ep 路由规则管理,可通过 [sb -d] 按需配置
- 将 domain_suffix 和 rule_set 数组按单项展开显示
2026-05-29 22:46:10 +00:00
fscarmen a683f289ea fix: correct v2rayN and Throne subscription exports. Thanks to [Maxrxf]
- export Hysteria2 as v2rayn config with bandwidth, certificate, and port hopping metadata
- preserve Hysteria2 upload and download bandwidth values when rebuilding node data
- encode certificate spaces in subscription URLs to avoid invalid TLS certificate parameters
- fix Throne Hysteria2 scheme, allowInsecure flag, ALPN field, and hop interval format
- correct VLESS WS encryption parameter from zero to none

fix: 修复 v2rayN 与 Throne 订阅导出问题。感谢 [Maxrxf]

- 将 Hysteria2 导出为 v2rayn 配置格式,并携带带宽、证书和端口跳跃参数
- 重建节点数据时保留 Hysteria2 上下行带宽配置
- 对订阅 URL 中证书空格进行编码,避免 TLS 证书参数无效
- 修复 Throne Hysteria2 协议头、allowInsecure 标记、ALPN 字段和跳跃间隔格式
- 修复 VLESS WS encryption 参数由 zero 改为 none
2026-05-23 08:46:12 +00:00
fscarmen 5672af2cee feat: add Armbian support to system detection
- add Armbian detection and mapping logic in system identification
- update error messages to include Armbian in supported systems

feat: 增加对 Armbian 系统的支持

- 在系统识别逻辑中添加对 Armbian 的检测与映射
- 更新错误提示信息,在支持系统中包含 Armbian
2026-05-20 04:07:17 +00:00
fscarmen d785652c53 v1.3.13 feat: add explicit HTTP clients for remote rule sets
* add `http_clients` configuration for sing-box 1.14.0+
* set `route.default_http_client` for remote rule-set downloads
* fix: correct Cloudflare API validation logic

v1.3.13 feat: 增加远程规则集 HTTP Client 配置

* 为 sing-box 1.14.0+ 增加 `http_clients` 配置
* 为远程规则集下载设置 `route.default_http_client`
* fix: 修正 Cloudflare API 判断逻辑
2026-05-17 21:08:30 +00:00
fscarmen 0b3add9cf7 fix: support host:port parsing for ws CDN input
- parse preferred CDN input as host and optional port instead of treating the whole value as a single host
- support `IPv4 / IPv6 / domain` forms including bracketed IPv6 like `[addr]:port`
- persist CDN port for `vmess + ws` and `vless + ws + tls` config generation
- fall back to default ws ports when no port is provided: `80` for `vmess + ws` and `443` for `vless + ws + tls`
- update Clash, ShadowRocket, V2rayN, Throne, and sing-box exports to use the parsed host and port consistently

fix: 支持 ws 优选地址的 host:port 解析

- 将优选 CDN 输入解析为主机和可选端口,而不是把整串值当作单一主机
- 支持 `IPv4 / IPv6 / domain` 形式,包括 `[addr]:port` 这种带中括号的 IPv6
- 为 `vmess + ws` 和 `vless + ws + tls` 的配置生成持久化保存 CDN 端口
- 未显式填写端口时回退到默认 ws 端口:`vmess + ws` 为 `80`,`vless + ws + tls` 为 `443`
- 统一更新 Clash、ShadowRocket、V2rayN、Throne 和 sing-box 导出,确保都使用解析后的主机与端口
2026-05-16 10:50:49 +00:00
fscarmen d6cb1796f4 v1.3.12 feat: add Hysteria2 Realm support
* add Hysteria2 Realm configuration for servers and supported clients
* export Realm options for Clash/Mihomo and sing-box clients
* support WARP-assisted hole punching for strict NAT environments
* allow enabling or disabling Hysteria2 Realm from `sb -d`
* add non-interactive Realm and Realm WARP parameters
* rename `PORT_HOPPING_RANGE` to `HY2_PORT_HOPPING_RANGE` to align Hysteria2 optional parameter prefixes

feat: 增加 Hysteria2 Realm 支持

* 为服务端和支持的客户端增加 Hysteria2 Realm 配置
* 为 Clash/Mihomo 和 sing-box 客户端导出 Realm 参数
* 支持严格 NAT 环境下的 WARP 辅助打洞
* 支持通过 `sb -d` 开启或关闭 Hysteria2 Realm
* 增加 Realm 和 Realm WARP 无交互参数
* 将 `PORT_HOPPING_RANGE` 改为 `HY2_PORT_HOPPING_RANGE`,统一 Hysteria2 可选参数名前缀
2026-05-14 22:44:42 +00:00
fscarmenandGitHub ac70ab7206 fix: sync naive firewall ports for both TCP and UDP
fix: 修复 naive 防火墙端口未同时同步 TCP 和 UDP
2026-05-12 20:02:59 +08:00
fscarmen b5cf0bdb0a v1.3.11 feat: update v2rayN exports for Tuic, AnyTLS and naive dedicated links
- generate v2rayn:// dedicated links for Tuic subscriptions
- generate v2rayn:// dedicated links for AnyTLS subscriptions
- generate v2rayn:// dedicated links for naive http2 and quic modes
- Thank to @DHR60

feat: 更新 v2rayN 的 Tuic, AnyTLS 与 naive 专属链接导出格式

- 为 Tuic 订阅生成 v2rayn:// 专属链接
- 为 AnyTLS 订阅生成 v2rayn:// 专属链接
- 为 naive http2 和 quic 模式生成 v2rayn:// 专属链接
- 感谢 @DHR60
2026-05-07 12:19:47 +00:00
fscarmenandGitHub 2be3dedea5 fix: ensure iptables persistence dependency is installed, thanks @taanng
fix: 确保安装 iptables 持久化依赖,感谢 @taanng
2026-05-05 17:09:32 +08:00
fscarmen 7ef4b4ee2c fix: correct escaped parentheses in menu prompts
fix: 修正菜单提示中的括号转义
2026-05-01 13:26:26 +00:00
fscarmen dbb79a77ad v1.3.10 feat: add naive support and switch NekoBox export to Throne
- add naive to protocol selection, quick install, and reload flows
- generate naive inbound config with username/password authentication
- create and refresh 200-day certificates for naive when missing, expired, or SNI changes
- export naive nodes for ShadowRocket, V2RayN, Throne, and sing-box clients
- replace NekoBox subscription output with Throne-compatible links
- include TLS certificate data in Throne subscription links
- update client prompts and compatibility notes for naive and Throne

v1.3.10 feat: 增加 naive 支持并将 NekoBox 导出切换为 Throne

- 将 naive 加入协议选择、极速安装和重载流程
- 生成带用户名 / 密码认证的 naive 入站配置
- 在证书缺失、过期或 SNI 变化时自动生成 / 刷新 200 天证书
- 为 ShadowRocket、V2RayN、Throne 和 sing-box 客户端导出 naive 节点
- 将 NekoBox 订阅输出替换为 Throne 兼容链接
- 在 Throne 订阅链接中附带 TLS 证书数据
- 更新 naive 与 Throne 相关客户端提示和兼容性说明
2026-04-27 13:06:08 +00:00
fscarmenandGitHub 272aaab85c fix: correct sing-box template download URL in Docker flow
fix: 修复 Docker 下载 sing-box 模板地址错误
2026-04-23 17:10:01 +08:00
fscarmen d8edd86142 v1.3.9 feat: refactor config flow and firewall system
- remove pre-install UFW blocking logic, fallback to iptables when inactive
- unify firewall behavior across install, update, and uninstall
- normalize user input (spaces, full-width symbols)
- avoid unnecessary sing-box restart for CDN / bandwidth / port hopping changes
- reduce redundant single-use functions

feat: 重构配置流程与防火墙系统

- 移除安装前 UFW 强制校验,inactive 自动回退 iptables
- 统一安装 / 修改 / 卸载的防火墙逻辑
- 自动处理空格与全角符号输入
- 优选地址 / 带宽 / 端口跳跃修改不再重启 sing-box
- 清理单次调用函数,提升结构可读性
2026-04-11 14:22:18 +00:00
fscarmen 1c06a002da v1.3.8 feat: add UFW firewall support and merge -p into -d https://github.com/fscarmen/sing-box/issues/290
- Automatically detect UFW and switch rule management accordingly
- Add native UFW support for Hysteria2 port hopping rules (no iptables / netfilter-persistent required)
- Optimize UFW rule updates and cleanup behavior
- Merge the old -p (port change) functionality into -d (config editor), simplifying usage
- Remove the standalone -p / -P entry points entirely

feat: 支持 UFW 防火墙管理,合并 -p 到 -d

- 自动检测 UFW 并切换规则管理方式
- 新增对 Hysteria2 端口跳跃的 UFW 原生支持(无需 iptables / netfilter-persistent)
- 优化 UFW 规则更新及清理逻辑
- 将原有 -p(修改端口)功能合并到 -d(配置修改),简化使用方式
- 完全移除独立的 -p / -P 入口
2026-04-10 06:46:08 +00:00
fscarmen cd2632ba9d v1.3.7 Enhance Hysteria2 with post-installation port hopping and bandwidth configuration
- Add support for enabling/disabling Hysteria2 port hopping and modifying port ranges after installation
- Allow customization of Hysteria2 upload/download bandwidth without reinstalling
- Enhance client configuration with proper Hysteria2 bandwidth (up/down) and port hopping parameters
- Improve port range input validation with automatic separator normalization
- Simplify menu option 9 description to "Change node configuration

增强 Hysteria2,支持安装后配置及客户端参数完善

- 支持安装后启用/禁用 Hysteria2 端口跳跃,并可修改端口范围
- 支持自定义 Hysteria2 上下行带宽,无需重新安装
- 完善客户端配置,补充 Hysteria2 上传/下载速率及端口跳跃参数
- 改进端口范围输入校验,自动规范分隔符格式
- 简化菜单选项 9 描述为“修改节点配置”
2026-04-09 15:00:51 +00:00
fscarmen 1d02e20855 Summary: Refine dependency detection and optimize firewall package installation
- Conditional Firewall Installation: Users who do not enable "Port Hopping" will no longer be forced to install firewall-related packages (e.g., iptables, firewalld) during initialization, reducing unnecessary system overhead.

- Improved Dependency Management: Reorganized the logic for checking and installing necessary software to ensure a smoother setup across different Linux distributions.

- Better Alpine Linux Support: Refined how the script handles specific tools like wget and service management on Alpine systems.

总结:优化依赖检测逻辑,并改进防火墙软件包的安装策略

- 按需安装防火墙: 对于不启用“端口跳跃”的用户,初始化时不再强制安装防火墙相关软件包(如 iptables、firewalld),减少系统冗余占用。

- 优化依赖安装:重构了必要软件的检测与安装逻辑,确保在不同 Linux 系统下运行更加顺畅。

- 增强 Alpine 系统适配:针对 Alpine 系统微调了工具检测和系统服务的处理方式,提升稳定性。
2026-04-05 11:08:33 +00:00
fscarmen 0c1a60bc28 refactor: improve stability https://github.com/fscarmen/sing-box/issues/286
- fix cleanup exit flow by separating interrupt exit from normal exit
- add timeout fallback for CDN detection to prevent hanging
- Test GitHub CDN using `api.github.com`, and remove proxies that are unreachable.

重构: 提升稳定性
- 修复退出清理流程,分离中断退出与正常退出
- 为 CDN 检测增加超时回退,避免脚本卡死
- 测试 Github CDN 改为 api.github.com,去掉若干不能连接的代理
2026-04-03 12:43:16 +00:00
fscarmen 2b00bac908 feat: optimize install UX, refine wording and CDN detection
- Add dynamic step tracking (STEP_NUM/TOTAL_STEPS) for installation.
- Implement calc_install_steps() to auto-calculate progress.
- Refine wording: replace "reality SNI" with "TLS SNI" for clarity.
- Simplify protocol selection prompts by removing fixed step labels.
- Enhance check_cdn() logic by testing actual script URL instead of root.
- Add localized strings (E/C[136-138]) for protocol menus.
- Improve CDN detection reliability with adjusted timeouts and methods.

feat: 优化安装交互、统一文案并增强 CDN 检测逻辑

- 新增安装步骤动态计数,实时显示安装进度。
- 引入 calc_install_steps() 根据协议选择动态计算总步骤。
- 规范化文案:将 "reality SNI" 统一修改为 "TLS SNI"。
- 精简协议选择交互,移除硬编码的固定步骤标识。
- 优化 check_cdn():改为检测脚本实际地址,提升判断准确性。
- 新增多语言文案 (E/C[136-138]) 并调整检测超时逻辑。
2026-03-30 13:28:07 +00:00
fscarmenandGitHub 87bb449303 feat: add prefer_go option for local DNS and enhance system compatibility. https://github.com/fscarmen/sing-box/issues/280
- Set `prefer_go: true` for the local DNS server to resolve issues where `systemd-resolved` might be unavailable or inaccessible on certain Linux distributions (e.g., Alpine Linux, lightweight Debian).

- Improve DNS resolution reliability by prioritizing Go's internal resolver over the system's C library or DBus interfaces.

功能:为本地 DNS 添加 prefer_go 选项并增强系统兼容性

- 为本地 (local) DNS 服务器设置 `prefer_go: true`,以解决在某些 Linux 发行版(如 Alpine Linux、精简版 Debian)上因缺少 `systemd-resolved` 服务而导致的解析失败或报错问题。

- 通过优先使用 Go 内置的解析器而非系统的 C 库或 DBus 接口,提升 DNS 解析的可靠性和一致性。
2026-03-27 10:56:29 +08:00
fscarmen ac1e83558d v1.3.6 feat: refactor change_config, optimize text() and unify TLS_SERVER handling
- Replace change_cdn() with change_config() supporting multi-field edits (CDN, Reality SNI, node name, UUID/password, server IP) via unified menu
- Rewrite text() with bash nameref + pre-scanned TEXT_NEEDS_EVAL map to eliminate per-call grep subprocesses
- Refactor ssl_certificate() to accept a TLS_SERVER parameter instead of using global TLS_SERVER_DEFAULT
- Remove per-protocol TLS_SERVER array; use single scalar read from cert SAN
- Localize cert fingerprint variables inside export_list()
- Bump version to v1.3.6 (2026.03.22)

v1.3.6 重构:统一修改入口 change_config、优化 text() 函数、统一 TLS_SERVER 处理

- 用 change_config() 替换 change_cdn(),通过统一菜单支持多项修改(CDN、Reality SNI、节点名、UUID/密码、服务器 IP)
- 用 bash nameref + 预扫描 TEXT_NEEDS_EVAL 关联数组重写 text() 函数,消除每次调用产生的 grep 子进程
- 重构 ssl_certificate(),改为接受 TLS_SERVER 参数,不再依赖全局变量 TLS_SERVER_DEFAULT
- 移除各协议独立的 TLS_SERVER 数组,改为从证书 SAN 读取统一标量
- 将证书指纹变量局部化至 export_list() 内部
- 版本升级至 v1.3.6 (2026.03.22)
2026-03-24 01:13:33 +00:00
fscarmen 623db9c416 v1.3.5 Performance: Optimize concurrent process execution to significantly accelerate script installation. 2026-03-15 02:30:10 +00:00
fscarmenandGitHub f77b3ba2df Thanks to [VPS.Town](https://vps.town). 2026-03-11 20:07:31 +08:00
fscarmenandGitHub c2c59acfbb fix: correct password variable in Shadowsocks configuration
- Replace `${UUID}` with `${SIP022_PASSWORD}` in Clash configuration
- Ensure consistent SS password across all clients (ShadowRocket, V2rayN, NekoBox, Sing-box)
- Fix connection issues caused by inconsistent passwords
2026-02-28 12:06:16 +08:00
fscarmen f4af9c1687 Modify the IP API URL to ip.cloudflare.now.cc 2026-02-20 04:32:08 +00:00
fscarmen 4d87f17ec3 v1.3.4 Chore: upgrade SS encryption method to SS-2022 spec. 2026-02-10 17:11:06 +00:00
fscarmen 6c4021a9b7 Thanks to @DHR60. Set allowInsecure=true for better legacy version compatibility
Thanks to @DHR60 (v2rayN team) for pointing this out
Ref: https://github.com/2dust/v2rayN/issues/8670#issuecomment-3771775914
2026-01-20 09:42:12 +00:00
fscarmen 8bd017c214 v1.3.3 feat: enhance security and update SFM/SFA compatibility.
Security: Add pinnedPeerCertSha256 for Hy2/Trojan in v2rayN to prevent MITM (replaces AllowInsecure).

Compatibility: Refactor SFM/SFI/SFA configs for sing-box v1.13.0+.
2026-01-20 07:32:16 +00:00
fscarmenandGitHub 63e80cff38 feat: optimize IP info retrieval and add node flag emojis
1. Implement self-hosted IP API for faster data fetching and improved stability.

2. Add region-specific flag emojis to node names for a more intuitive visual experience.
2026-01-03 12:00:49 +08:00
fscarmen 146f21f780 Restore statistics of run-times. 2025-12-22 11:47:48 +00:00
fscarmen a7dd49d7ec Fix Alpine compatibility: use musl libc instead of glibc. https://github.com/fscarmen/sing-box/issues/249 2025-12-21 01:42:09 +00:00
fscarmen a58ca29f42 Fix Alpine compatibility and improve process management.
- Fix Alpine compatibility issues
- Correct process supervision on Alpine
- Improve application PID detection logic
2025-12-18 16:16:25 +00:00
fscarmen d7cdde95f6 v1.3.2 feat: Add Argo tunnel creation via Cloudflare API
- Auto-create Argo tunnels using Cloudflare API tokens with auto DNS setup
- Intelligent GitHub proxy fallback: test direct first, then cycle proxies
- Support 3 Argo auth methods: Token, Json, and API token
- Add comprehensive API token permission requirements to README
- Update documentation with Cloudflare API setup instructions

Credits: Thanks to zmlu for Cloudflare API implementation approach
2025-12-15 13:36:23 +00:00
fscarmen cdc8601727 feat: Add SNI support and self-signed certificate enhancements for multiple protocols
- Add SNI (Server Name Indication) support to Hysteria2, Tuic, Trojan, and AnyTLS protocols for improved TLS handshake compatibility
- Update self-signed certificate public key configuration across affected protocol inbound configurations
- Add detailed documentation on handling self-signed certificates in various client applications
- Include client-specific instructions for certificate validation and bypass methods
- Improve security posture by leveraging SNI for better certificate verification workflows
- Update configuration templates and inline comments for clarity on certificate usage per protocol
2025-12-09 14:51:03 +00:00
fscarmen f0240b9081 Add LICENSE (GNU GPL v3)
Add the full GNU General Public License v3.0 text to the project root (LICENSE) and
include the SPDX identifier (SPDX-License-Identifier: GPL-3.0-or-later). Update README
to reference the LICENSE file.
2025-11-21 11:42:33 +00:00
fscarmen 8ebd2d54f6 Switched the image from supervisord to s6-overlay because it provides a much smaller memory footprint.
s6-overlay vs supervisord — Memory Footprint Comparison

s6-overlay:
Uses only 1–2 MB of RAM. Its service processes typically consume around 200 KB RSS each.
Extremely lightweight, written in C, minimal overhead.

supervisord:
Consumes roughly 10–15 MB of RAM in real-world usage.
Implemented in Python, so it naturally has a higher baseline memory footprint (≈8–10× s6-overlay).
2025-11-16 01:38:44 +00:00
fscarmen 4713fc4cca Optimized Sing-box deployment with local-first Reality key handling for reduced latency, DNF integration for modern CentOS systems, and Supervisor as PID 1 in Docker for robust process supervision.
1. Local-First Reality Key Computation: Prioritize on-device calculation of public key from private key for faster processing; fallback to API only if local fails, reducing latency and API calls.

2. DNF Support for CentOS 8+: Replace YUM with DNF on CentOS 8 and later for improved dependency resolution and speed, with backward compatibility for older systems.

3. Ensure Supervisor runs as true PID 1 in Docker container for proper signal handling and supervision.
2025-11-15 03:07:34 +00:00
fscarmen bd89cd8964 Enhance installation menu, fix Nginx status display, improve CentOS 7 compatibility, and add conditional Nginx startup for WS protocol support. https://github.com/fscarmen/sing-box/issues/232
1. Add quick install mode to the menu for faster, automated setup.

    2. Fix bug causing incorrect display of Nginx running status.

    3. Resolve compatibility issues specific to CentOS 7 environments.

    4. Introduce Nginx process startup in the guardian script for WS protocol (previo
usly unsupported due to missing Nginx dependency).
2025-11-13 12:55:55 +00:00
fscarmen 76920a992b v1.3.1 Quick Install Mode and Custom Reality Key Support.
1. Reality Configuration Update: In Reality configurations, the original multiplexing (multiplex) has been replaced with xtls-rprx-vision flow control, improving transmission efficiency, reducing latency, and enhancing security. The original configuration conversion script command remains fully compatible and unchanged — bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/vision.sh).

2. Quick Install Mode: Added a one-click installation feature that auto-fills all parameters, simplifying the deployment process. Chinese users can use -l or -L; English users can use -k or -K. Case-insensitive support makes operations more flexible.

3. Custom Reality Key Support: In response to user feedback, you can now specify a custom Reality private key via --REALITY_PRIVATE=<privateKey>. The script will automatically compute the corresponding public key using the integrated API. If left blank, it generates a random private-public key pair in real-time.

4. Enhanced HTTP + Reality Support in Clash Clients: Added full compatibility for HTTP + Reality transport in Clash clients, improving connection stability and performance.
2025-11-12 10:39:08 +00:00
fscarmen c1cc9d372e v1.3.0 Replace multiplex with xtls-rprx-vision flow control in reality configuration. 2025-11-11 02:56:12 +00:00
fscarmen 55779c3f7d feat: Enhance self-signed certs with DNS SAN and add insecure=1 support to v2rayN TUIC/Trojan URIs. 2025-11-08 16:13:01 +00:00
fscarmen adcaf813fc v1.2.19 Enhance security by replacing certificate skipping with certificate fingerprint verification
This commit improves the security posture for Shadowrocket, Clash, and sing-box clients by implementing certificate fingerprint validation instead of the less secure certificate skipping approach.

Key changes:
- Shadowrocket: Replaced insecure TLS validation with HPKP-based certificate fingerprint verification
- Clash: Updated configuration to use certificate fingerprints instead of skip-cert-verify flags
- sing-box: Implemented certificate_public_key_sha256 verification for enhanced TLS security

This change ensures that only connections with verified server certificates are accepted, significantly reducing the risk of man-in-the-middle attacks while maintaining compatibility with self-signed certificates.
2025-11-06 09:16:58 +00:00
fscarmen 6465d2ef8d Remove statistics of run-times. 2025-10-31 05:16:55 +00:00