Compare commits

..

1188 Commits

Author SHA1 Message Date
xream
8a417d9852 feat: sub-store.json 初始化时, 支持读取 Base64 内容 2025-07-19 13:27:25 +08:00
xream
ebff520499 feat: 手动还原支持 Base64 文本文件
Some checks failed
build / build (push) Has been cancelled
2025-07-19 12:55:32 +08:00
xream
876d2e92ca feat: 处理 clash 系和 sing-box 的 Early Data 2025-07-19 06:47:24 +08:00
xream
63064bc596 feat: Gist 备份默认为 Base64 编码方式
Some checks failed
build / build (push) Has been cancelled
2025-07-18 17:21:11 +08:00
xream
e81245a5bb feat: Gist 备份恢复增加 Base64 编码方式 2025-07-18 17:12:51 +08:00
xream
217fdae7f1 feat: Node 环境使用 SUB_STORE_DATA_URL 恢复备份后, 支持 SUB_STORE_DATA_URL_POST 执行自定义命令 2025-07-18 16:10:26 +08:00
xream
ef4d0a228b feat: 支持从 Gist 恢复时保留当前 GitHub Token 2025-07-18 14:54:13 +08:00
xream
e816e5b3c0 fix: 尝试修复上传 Gist 2025-07-18 13:37:35 +08:00
xream
005051c4ac feat: Node 运行环境支持 SOCKS5 代理 2025-07-18 13:13:43 +08:00
xream
61078b10f3 feat: 备份数据到 Gist 时, 清除 GitHub Token. 恢复后请重新设置 GitHub Token
Some checks failed
build / build (push) Has been cancelled
2025-07-18 10:14:18 +08:00
xream
bfa1b11a0e feat: 正式弃用 SUB_STORE_BACKEND_CRON 和 SUB_STORE_CRON, 请使用 SUB_STORE_BACKEND_SYNC_CRON
Some checks failed
build / build (push) Has been cancelled
2025-07-17 18:49:34 +08:00
xream
7d60aed50d feat: 优化 Surge ws 传输层引号解析
Some checks failed
build / build (push) Has been cancelled
2025-07-12 21:06:02 +08:00
xream
e20d0c1dc9 feat: 订阅流量信息中的数值取整以兼容部分客户端解析; 不包含有效节点的订阅不写入乐观缓存
Some checks failed
build / build (push) Has been cancelled
2025-07-12 11:11:40 +08:00
xream
c5660024fb doc: demo.js 2025-07-12 09:26:04 +08:00
xream
76e12bd6a0 feat: Surge username password 逻辑优化
Some checks failed
build / build (push) Has been cancelled
2025-07-11 10:36:43 +08:00
xream
3a33446422 doc: demo.js
Some checks failed
build / build (push) Has been cancelled
2025-07-10 12:37:19 +08:00
xream
17b12711b4 fix: 修复 sing-box 和 mihomo 的 ip-version 2025-07-10 12:32:11 +08:00
xream
c266635ba1 fix: 修复 sing-box shadowsocks+shadow-tls
Some checks failed
build / build (push) Has been cancelled
2025-07-10 08:00:39 +08:00
xream
f34eac9568 feat: 节点本地内容支持 JSON5 2025-07-10 01:37:16 +08:00
xream
aa5b51a3cc feat: 放宽 sing-box VLESS flow 逻辑 2025-07-10 01:28:15 +08:00
xream
b8897dd94a fix: 修复 Egern transport 兼容性
Some checks failed
build / build (push) Has been cancelled
2025-07-08 21:59:16 +08:00
xream
71958e6bb1 doc: demo.js 2025-07-08 09:43:31 +08:00
xream
fa5f88ae85 fix: 修复 snell 版本过滤范围
Some checks failed
build / build (push) Has been cancelled
2025-07-01 20:56:55 +08:00
xream
212aa7730d fix: 修复阿里 httpdns edns
Some checks failed
build / build (push) Has been cancelled
2025-06-25 19:36:08 +08:00
xream
4c5c9baa3e release: bump version
Some checks failed
build / build (push) Has been cancelled
2025-06-23 21:37:50 +08:00
xream
25dcbdc4dd Merge pull request #460 from Ayideyia/master
适配下游客户端API
2025-06-23 21:37:24 +08:00
啊伊的伊阿
282780b791 适配下游客户端API 2025-06-23 21:33:49 +08:00
xream
cde09541cf feat: anytls 支持 min-idle-session
Some checks failed
build / build (push) Has been cancelled
2025-06-19 10:38:20 +08:00
xream
6731c42edb doc: README 2025-06-14 12:02:32 +08:00
xream
64b9505035 feat: token 唯一性检测增加 type 和 name 2025-06-09 18:42:35 +08:00
xream
b0347637bc feat: SOCKS5 解析去除密码首尾双引号 2025-06-09 12:37:32 +08:00
xream
ab67ce9f5a feat: ProxyUtils 新增 JSON5 2025-06-05 11:01:41 +08:00
xream
cacc106c68 doc: README 2025-06-03 16:42:01 +08:00
xream
542fcc44a1 feat: 订阅和文件的远程链接支持使用换行混写三种格式 1. 完整远程链接 2. 类似 /api/file/name 的内部文件调用路径 3. 本地文件的绝对路径 2025-06-03 00:10:45 +08:00
xream
dca3d2f79c fix: 脚本链接为路径时带参解析 2025-06-02 23:17:47 +08:00
xream
3e14f91347 feat: sing-box VLESS packet_encoding 2025-06-02 20:39:15 +08:00
xream
4aafdaaddb feat: 支持本地文件 2025-06-01 11:54:32 +08:00
xream
e4f646af0c feat: 若设置 $options._res.headers, 拉取文件时将设置自定义响应头
Some checks failed
build / build (push) Has been cancelled
2025-05-28 13:46:57 +08:00
xream
532be2ff8c Stash 正式版支持 VLESS REALITY(xtls-rprx-vision)
Some checks failed
build / build (push) Has been cancelled
2025-05-27 19:46:31 +08:00
xream
37fc7ac88e feat: VMess 支持 kcp/quic(正确处理 type, host, path, fp, alpn, tls等参数)
Some checks failed
build / build (push) Has been cancelled
2025-05-27 03:01:28 +08:00
xream
9e0028219d feat: Shadowrocket 支持 anytls
Some checks failed
build / build (push) Has been cancelled
2025-05-26 17:24:39 +08:00
xream
54750d552b feat: 为 env 响应增加如何使用前端搭配后端的引导说明
Some checks failed
build / build (push) Has been cancelled
2025-05-25 00:58:06 +08:00
xream
0e7561a069 feat: Node.js 环境中 JSON 数据文件校验失败后会备份原文件, 创建新文件
Some checks failed
build / build (push) Has been cancelled
2025-05-24 18:40:30 +08:00
xream
6804c6368a fix: 修复 QX VLESS TLS
Some checks failed
build / build (push) Has been cancelled
2025-05-23 22:36:08 +08:00
xream
9c5d6e9a10 feat: 单条订阅和文件支持链接参数 produceType raw, 此时返回原始数据的数组
Some checks failed
build / build (push) Has been cancelled
2025-05-22 16:09:35 +08:00
xream
ef2d6be8eb feat: 预处理支持 Base64 兜底 2025-05-22 15:17:38 +08:00
xream
04e12a4836 fix: 修复 SOCKS5 URI
Some checks failed
build / build (push) Has been cancelled
2025-05-21 01:39:30 +08:00
xream
f94cf7185a feat: 日志增加 body JSON limit 2025-05-20 21:16:30 +08:00
xream
fa7df51f8c feat: Shadowrocket 支持前置代理. 补充 demo.js 说明
Some checks failed
build / build (push) Has been cancelled
2025-05-18 17:21:54 +08:00
xream
18659d1cc8 feat: Node.js 环境下 API / 路由不自动跳转到 sub-store.vercel.app
Some checks failed
build / build (push) Has been cancelled
2025-05-17 22:49:12 +08:00
xream
1d12dc55bd feat: 单条订阅和文件支持链接参数 produceType raw, 此时返回原始数据的数组 2025-05-17 20:22:24 +08:00
xream
af9a2c86c1 fix: 修复 Surge/Loon VMess aead
Some checks failed
build / build (push) Has been cancelled
2025-05-12 12:26:14 +08:00
xream
98892fa100 fix: 修复 QX VMess aead 2025-05-12 11:06:13 +08:00
xream
6e2411e2c2 doc: demo.js 2025-05-12 01:42:42 +08:00
xream
b3f6876bbd feat: 兼容 xishang0128/sparkle 的 JavaScript 覆写; ProxyUtils 新增 Buffer, Base64
Some checks failed
build / build (push) Has been cancelled
2025-05-11 16:21:28 +08:00
xream
d2c3956884 feat: QX 正式支持 SS2022
Some checks failed
build / build (push) Has been cancelled
2025-05-07 02:59:19 +08:00
xream
21c1e11976 feat: 兼容非标 Shadowsocks URI 输入
Some checks failed
build / build (push) Has been cancelled
2025-04-28 13:55:15 +08:00
xream
e0f6b3e692 feat: sing-box Hysteria up/down 跟文档不一致, 但是懒得全转, 只处理最常见的 Mbps 2025-04-28 10:23:30 +08:00
xream
0d2920fadd feat: 兼容 Shadowrocket 非标 VMess URI 输入中的 peer(sni)
Some checks failed
build / build (push) Has been cancelled
2025-04-27 09:45:14 +08:00
xream
da9b1d8795 feat: 输出到 Clash/Stash/Shadowrocket 时, 会过滤掉配置了前置代理的节点, 并提示使用对应的功能
Some checks failed
build / build (push) Has been cancelled
2025-04-26 13:46:58 +08:00
xream
4c4bda563a feat: Stash 输出中过滤掉有前置代理的节点, 并在日志中提示
Some checks failed
build / build (push) Has been cancelled
2025-04-22 09:42:32 +08:00
xream
95f181351a feat: 忽略失败的远程选择支持开启通知(前端 >= 2.15.17)
Some checks failed
build / build (push) Has been cancelled
2025-04-21 19:28:58 +08:00
xream
3b85063f73 feat: 简单实现了 SUB_STORE_MMDB_CRON 定时更新 MMDB. ASN: SUB_STORE_MMDB_ASN_PATH, SUB_STORE_MMDB_ASN_URL. COUNTRY: SUB_STORE_MMDB_COUNTRY_PATH, SUB_STORE_MMDB_COUNTRY_URL; 脚本中新增 ProxyUtils.downloadFile 方便下载二进制文件. 2025-04-21 18:25:00 +08:00
xream
7f691c8511 fix: SS 解析增加默认节点名
Some checks failed
build / build (push) Has been cancelled
2025-04-20 20:10:08 +08:00
xream
55cc7dcd16 fix: 修复 URI 输出
Some checks failed
build / build (push) Has been cancelled
2025-04-19 16:44:40 +08:00
xream
4f745b0232 feat: sing-box 输出支持 brutal
Some checks failed
build / build (push) Has been cancelled
2025-04-18 22:49:19 +08:00
xream
28b233b62c fix: 修复 URI 输出
Some checks failed
build / build (push) Has been cancelled
2025-04-18 15:04:06 +08:00
xream
44d72523ce feat: AnyTLS URI 支持 UDP 参数
Some checks failed
build / build (push) Has been cancelled
2025-04-18 12:24:31 +08:00
xream
b60995f7ac feat: Loon 输入输出正式支持 VLESS XTLS/REALITY, VMess REALITY
Some checks failed
build / build (push) Has been cancelled
2025-04-17 09:57:56 +08:00
xream
a262dfbbe8 fix: 修复 Loon block-quic 参数
Some checks failed
build / build (push) Has been cancelled
2025-04-16 07:28:28 +08:00
xream
166f3cb447 feat: 支持 QX udp-over-tcp=true/sp.v1/sp.v2
Some checks failed
build / build (push) Has been cancelled
2025-04-14 15:39:13 +08:00
xream
1f0463bfe2 feat: 支持 QX udp-over-tcp=true/sp.v1; mihomo UDP over TCP 的协议版本默认 1, sing-box 默认为 2 2025-04-14 15:28:35 +08:00
xream
302c92ed87 fix: 修复 TUIC congestion-controller
Some checks failed
build / build (push) Has been cancelled
2025-04-13 03:28:11 +08:00
xream
0d575e6e88 doc: demo.js
Some checks failed
build / build (push) Has been cancelled
2025-04-11 22:49:12 +08:00
xream
d41b54abde feat: 支持 Loon block-quic 参数 2025-04-11 22:44:12 +08:00
xream
2c3e701149 doc: demo.js 2025-04-11 15:21:41 +08:00
xream
b074f42fdc feat: 拉取文件时 日志输出 User-Agent; 脚本上下文参数 $options 中新增 _req 字段, 包含请求信息
Some checks failed
build / build (push) Has been cancelled
2025-04-08 12:48:38 +08:00
xream
e054b71a62 feat: Shadowrocket VMess ws 传输层增加默认 path
Some checks failed
build / build (push) Has been cancelled
2025-04-03 22:33:31 +08:00
xream
7213cea16c feat: Stash 正式版支持 SS2022, 测试版(>=3.1.0) 支持 VLESS REALITY(xtls-rprx-vision)
Some checks are pending
build / build (push) Waiting to run
2025-04-03 15:47:35 +08:00
xream
260b1e5332 docs(README): 增加赞助商信息 2025-04-03 15:23:15 +08:00
xream
73e5d53f48 feat: Loon 输入输出支持 VLESS XTLS/REALITY, VMess REALITY. 需 includeUnsupportedProxy 或 build >= 842 自动开启)
Some checks failed
build / build (push) Has been cancelled
2025-04-01 18:22:28 +08:00
xream
39829fa97a feat: QX 输入值支持 =
Some checks failed
build / build (push) Has been cancelled
2025-03-29 19:52:40 +08:00
xream
93d524331a feat: QX 使用 includeUnsupportedProxy 参数开启 Shadowsocks 2022 2025-03-29 14:17:59 +08:00
xream
e0c6cc4453 feat: 正则排序支持顺序/倒序/原顺序(前端 > 2.15.10)
Some checks are pending
build / build (push) Waiting to run
2025-03-28 12:46:51 +08:00
xream
80955aa339 doc: 标记 Clash Deprecated 2025-03-27 19:53:46 +08:00
xream
4d27e5bdac feat: 脚本链接叠加参数调整
Some checks are pending
build / build (push) Waiting to run
2025-03-27 12:52:19 +08:00
xream
e2011de69e feat: Loon 解析器支持参数 resourceUrlOnly 仅使用远程资源, 忽略 Loon 自身解析数据
Some checks failed
build / build (push) Has been cancelled
2025-03-26 00:26:31 +08:00
xream
9568f4d6d9 feat: 优化日志, Loon 解析器自动读取 build 2025-03-25 23:58:28 +08:00
xream
543641de9d feat: VLESS 兼容 Shadowrocket 传输层 none 2025-03-25 23:35:23 +08:00
xream
2fbc589a8a feat: Loon 输入输出支持 VLESS REALITY(flow 为 xtls-rprx-vision). 需 includeUnsupportedProxy 或 build >= 838 自动开启) 2025-03-25 22:22:29 +08:00
xream
c854614efc feat: 调整 User-Agent 判断
Some checks are pending
build / build (push) Waiting to run
2025-03-25 17:49:47 +08:00
xream
16a5995d21 fix: 修复 ss shadow-tls
Some checks failed
build / build (push) Has been cancelled
2025-03-23 14:32:24 +08:00
xream
15b55f6d1a feat: 更新文件时, 更新同步配置; 更新单条订阅/组合订阅时, 更新 mihomo 覆写
Some checks failed
build / build (push) Has been cancelled
2025-03-21 00:36:42 +08:00
xream
8e5ce26e7b fix: 修复重置后端数据后无默认字段的问题
Some checks are pending
build / build (push) Waiting to run
2025-03-20 22:03:06 +08:00
Aritro37
c5d8aff73c fix: 修复聚合模式下,名称带有中文或特殊符号的分享token判断异常的问题 2025-03-20 21:57:42 +08:00
xream
5696492dde release: bump version
Some checks are pending
build / build (push) Waiting to run
2025-03-19 16:11:49 +08:00
Aritro37
e6d05fd873 perf: 增加 MERGE 模式下的信息输出 2025-03-19 16:08:48 +08:00
Aritro37
4111b8fabf fix: 修复 SUB_STORE_FRONTEND_PATH 使用绝对目录时前端资源 Content-Type 响应错误的问题 2025-03-19 15:52:37 +08:00
Aritro37
dfc619a181 feat: 引入SUB_STORE_BACKEND_MERGE 变量实现前后端端口合并及安全增强
1. 新增SUB_STORE_BACKEND_MERGE配置变量,支持功能整合模式:
   - 当设置SUB_STORE_BACKEND_MERGE为非空任意值时,后端支持同时处理API和前端资源请求
   - 新增配置示例:
     #合并前后端端口
     SUB_STORE_BACKEND_MERGE=true
     #设置接口安全地址
     SUB_STORE_FRONTEND_BACKEND_PATH=/safe-api
     #设置前端文件的路径
     SUB_STORE_FRONTEND_PATH=./dist
     #后端监听的端口
     SUB_STORE_BACKEND_API_PORT=3000
     #后端监听的HOST
     SUB_STORE_BACKEND_API_HOST="127.0.0.1"

2. 合并后支持前端在子路由界面刷新:
   - 原前端在subs、files、sync等页面刷新时会出现404问题,合并后修复了该问题
2025-03-19 15:26:17 +08:00
Aritro37
ff5283a66f fix: 修复使用 .env 时 /api/utils/env 接口中的 env 字段为空的问题 2025-03-19 15:07:01 +08:00
xream
6c54518e84 chore: 日志
Some checks failed
build / build (push) Has been cancelled
2025-03-18 13:34:50 +08:00
Aritro37
dd92a26e6c Perf: 提前加载 .env;后端复用前端 Path
Some checks are pending
build / build (push) Waiting to run
2025-03-17 22:01:38 +08:00
xream
bb5c9d43d0 Merge pull request #430 from Aritro37/master
feat: 支持通过.env配置环境变量,后端支持设置前置路由
2025-03-17 17:07:37 +08:00
Aritro37
e54ac92357 feat: 支持通过.env配置环境变量,后端支持设置前置路由 2025-03-17 17:04:24 +08:00
xream
507e37021c feat: 增加更多的同步配置日志
Some checks are pending
build / build (push) Waiting to run
2025-03-16 15:48:47 +08:00
xream
a70dc7b913 feat: undici 配置重定向
Some checks are pending
build / build (push) Waiting to run
2025-03-15 22:50:47 +08:00
xream
fc56df7bfd fix: 处理 YAML short-idnull 的情况
Some checks are pending
build / build (push) Waiting to run
2025-03-15 16:29:19 +08:00
xream
1281df59f3 feat: 增强 VMess URI 解析兼容性; 修改导出文件名格式
Some checks failed
build / build (push) Has been cancelled
2025-03-13 20:19:45 +08:00
xream
1faa3fb793 fix: 修复 VMess URI IPv6 格式
Some checks are pending
build / build (push) Waiting to run
2025-03-13 19:26:53 +08:00
xream
47307716b2 feat: url 支持 credentials; 修改导出文件名格式 2025-03-13 17:42:48 +08:00
xream
312caa6880 feat: patch http-proxy; 使用 undici 替代 request 2025-03-13 13:02:19 +08:00
xream
15a51e0dd0 fix: 修复文件预览未使用代理策略的问题 2025-03-12 19:44:54 +08:00
xream
8116c78dda feat: 升级 http-proxy-middleware 2025-03-12 15:30:14 +08:00
xream
6a026a3d07 feat: mihomo hysteria2 兼容 obfs_password 字段
Some checks failed
build / build (push) Has been cancelled
2025-03-10 23:06:33 +08:00
xream
cef931fa5d feat: Hysteria2 URI 输入输出支持 hop-interval 和 keepalive 参数, 为保证兼容性, 输出时多端口暂时保持使用 mport 参数 2025-03-10 19:52:15 +08:00
xream
29525b3e22 feat: sing-box hop_interval 和 server_ports 不需要 includeUnsupportedProxy 2025-03-10 19:36:41 +08:00
xream
8f701570e4 feat: Stash 使用 includeUnsupportedProxy 参数开启 XTLS-uTLS-Vision-REALITY(版本>=2.8.0 时自动开启)
Some checks failed
build / build (push) Has been cancelled
2025-03-07 14:09:56 +08:00
xream
3f8269e835 feat: Node.js 环境支持自定义 JSON Body limit, 例: SUB_STORE_BODY_JSON_LIMIT=10mb 2025-03-07 13:59:22 +08:00
xream
465b62218a feat: 验证 mihomo ss cipher
Some checks failed
build / build (push) Has been cancelled
2025-03-05 15:25:16 +08:00
xream
d255390d48 fix: 修复 Surge shadow-tls-password 引号解析
Some checks are pending
build / build (push) Waiting to run
2025-03-04 22:36:47 +08:00
xream
72c7f4333a feat: SurgeMac mihomo 配置中支持自定义 DNS 2025-03-04 20:11:22 +08:00
xream
f35837ff9f feat: 支持 AnyTLS URI
Some checks are pending
build / build (push) Waiting to run
2025-03-03 20:52:31 +08:00
xream
c2c39c5de6 fix: 修复 Egern 输出
Some checks are pending
build / build (push) Waiting to run
2025-03-03 10:42:44 +08:00
xream
87a4b14ae2 feat(wip): 本地脚本支持传入参数 2025-03-02 19:02:15 +08:00
xream
ff1dacda87 区域过滤和协议过滤支持保留模式和过滤模式(后端需 >= 2.17.0, 前端需 >= 2.15.0)
Some checks are pending
build / build (push) Waiting to run
2025-03-02 11:06:33 +08:00
xream
9426f128c4 feat: Surge 输出会判断 HTTP 是否 headers 字段
Some checks are pending
build / build (push) Waiting to run
2025-03-01 21:43:14 +08:00
xream
ebc7173c95 feat: 文件类型为 mihomo 配置时, 来源可以为无
Some checks are pending
build / build (push) Waiting to run
2025-03-01 08:45:17 +08:00
xream
dd4e0cef68 feat: 扩展 scriptResourceCache 缓存, 详见 demo.js
Some checks are pending
build / build (push) Waiting to run
2025-02-28 15:54:04 +08:00
xream
b1618c3803 feat: 支持使用环境变量 SUB_STORE_PRODUCE_CRON 在后台定时处理订阅, 格式为 0 */2 * * *,sub,a;0 */3 * * *,col,b 2025-02-28 14:07:35 +08:00
xream
1b4c046b75 fix: mihomo 覆写可以多次使用
Some checks are pending
build / build (push) Waiting to run
2025-02-27 23:37:39 +08:00
xream
41034ceb46 feat: 规范化 subscription-userinfo 2025-02-27 23:23:32 +08:00
xream
6efb19c856 feat: geo 更新 2025-02-27 17:27:15 +08:00
xream
2cd30dfe68 feat: 内容无变化时 不进行上传; 增加 gist 数量日志
Some checks are pending
build / build (push) Waiting to run
2025-02-26 18:50:11 +08:00
xream
d53947d820 feat: sing-box 支持 anytls
Some checks failed
build / build (push) Has been cancelled
2025-02-23 09:48:09 +08:00
xream
7e75031e92 fix: 修复 short-id 正则
Some checks are pending
build / build (push) Waiting to run
2025-02-22 14:25:06 +08:00
xream
4a07c02dc1 feat: 支持 Shadowrocket Shadowsocks 输入中的 Shadow TLS 参数
Some checks failed
build / build (push) Has been cancelled
2025-02-21 01:44:34 +08:00
xream
95d6688539 fix: 修复 Shadowrocket 输出的 Shadow TLS
Some checks are pending
build / build (push) Waiting to run
2025-02-21 00:50:38 +08:00
xream
a23e2ffcd6 fix: uuid 只辅助判断, 不直接过滤 2025-02-20 22:52:35 +08:00
xream
fda1252d0e fix: 修复 Egern http 传输层 2025-02-20 22:24:39 +08:00
xream
62c5c2e15b fix: 修复 Loon ip-mode
Some checks are pending
build / build (push) Waiting to run
2025-02-19 17:15:31 +08:00
xream
ffabcc9391 feat: 支持 anytls 协议
Some checks are pending
build / build (push) Waiting to run
2025-02-19 17:01:40 +08:00
xream
0825f15d04 feat: Egern 支持 Shadow TLS
Some checks failed
build / build (push) Has been cancelled
2025-02-18 15:07:24 +08:00
xream
fbf6b5ce6e fix: UUID
Some checks failed
build / build (push) Has been cancelled
2025-02-16 05:05:33 +08:00
xream
3eb0816c88 fix: 修复 TUIC URI
Some checks are pending
build / build (push) Waiting to run
2025-02-15 20:47:34 +08:00
xream
8fc755ff02 fix: 文件类型为 mihomo 配置时, 不应处理本地或远程内容字段 2025-02-15 20:32:29 +08:00
xream
6d3d6fa1b3 feat: 仅匹配 UUIDv4 2025-02-15 19:58:34 +08:00
xream
4ef4431c2c feat: 兼容更多 TUIC URI 字段
Some checks are pending
build / build (push) Waiting to run
2025-02-14 23:27:01 +08:00
xream
5058662651 feat: 下载文件名增加前后缀
Some checks are pending
build / build (push) Waiting to run
2025-02-14 15:39:13 +08:00
xream
f9d120bac3 feat: 兼容 v2rayN 非标 TUIC URI
Some checks failed
build / build (push) Has been cancelled
2025-02-13 20:26:59 +08:00
xream
72a445ae33 doc: README 2025-02-12 22:39:18 +08:00
xream
5e2a87e250 fix: 修复 Shadowsocks URI 解析
Some checks are pending
build / build (push) Waiting to run
2025-02-12 19:21:24 +08:00
xream
71fc9affbf feat: 支持 v2ray SOCKS URI 的输入和输出
Some checks are pending
build / build (push) Waiting to run
2025-02-12 03:27:40 +08:00
xream
6f82294c49 fix: 修复 Egern VMess tcp 2025-02-11 23:56:45 +08:00
xream
7c398ba51c fix: 修复 mihomo 覆写配置无法使用普通脚本的问题
Some checks are pending
build / build (push) Waiting to run
2025-02-11 13:18:42 +08:00
xream
7002eee88d feat: 调整 Egern VMess 传输层
Some checks are pending
build / build (push) Waiting to run
2025-02-10 21:02:40 +08:00
xream
bd21d58fe7 feat: VMess/VLESS 校验 uuid
Some checks are pending
build / build (push) Waiting to run
2025-02-10 13:34:58 +08:00
xream
2ea46dcbf1 feat: Shadowsocks URI 部分逻辑修正
Some checks are pending
build / build (push) Waiting to run
2025-02-10 06:44:24 +08:00
xream
4a2a2297f6 feat: Shadowsocks URI 支持 Shadow TLS plugin 2025-02-10 06:32:17 +08:00
xream
07d5a913f0 feat: 同步配置逻辑优化
Some checks are pending
build / build (push) Waiting to run
2025-02-09 20:58:27 +08:00
xream
421df8f0d4 doc: README 2025-02-07 19:43:06 +08:00
xream
e14944dd19 feat: 调整 Egern VMess security 逻辑
Some checks failed
build / build (push) Has been cancelled
2025-02-06 18:18:15 +08:00
xream
bf18c51f6a feat: mihomo 和 Shadowrocket VMess cipher 支持 zero 2025-02-06 18:08:46 +08:00
xream
23e8fbd1b7 feat: Proxy URI Scheme 支持省略端口号(http 默认为 80, tls 默认为 443) 2025-02-06 14:59:50 +08:00
xream
b94b3c366b feat: Egern 正式支持 Shadowsocks 2022
Some checks are pending
build / build (push) Waiting to run
2025-02-06 00:04:54 +08:00
xream
afb5f7b880 feat: 支持 VLESS spx 参数; 支持 Trojan 结合 REALITY/XHTTP 2025-02-05 20:01:41 +08:00
xream
74ec133a79 feat: Loon 正式支持 Shadow-TLS
Some checks failed
build / build (push) Has been cancelled
2025-02-03 13:47:17 +08:00
xream
2a76eb6462 feat: mihomo snell 版本小于 3 的节点, 强制去除 udp 字段, 防止内核报错
Some checks are pending
build / build (push) Waiting to run
2025-02-02 18:59:14 +08:00
xream
9ac5e136a6 feat: 去除订阅流量信息中空字段, 增强兼容性 2025-02-02 18:39:46 +08:00
xream
38f5a97a20 fix: 修复 Surge 输入的 tfo
Some checks failed
build / build (push) Has been cancelled
2025-01-31 15:14:19 +08:00
xream
14a3488ce2 fix: 修复 Egern 和 Stash 可根据 User-Agent 自动包含官方/商店版/未续费订阅不支持的协议
Some checks failed
build / build (push) Has been cancelled
2025-01-26 20:41:57 +08:00
xream
6afec4f668 feat: Egern 增加 TUIC
Some checks failed
build / build (push) Has been cancelled
2025-01-23 08:22:48 +08:00
xream
b1874e510d feat: 支持 VLESS XHTTP extra
Some checks are pending
build / build (push) Waiting to run
2025-01-22 09:43:43 +08:00
xream
48aaaf5c99 doc: README 2025-01-21 12:02:49 +08:00
xream
7385e17a4c fix: 修复 Base64 合法性判断
Some checks failed
build / build (push) Has been cancelled
2025-01-17 16:34:30 +08:00
xream
c3daea55ab feat: Loon 节点支持 ip-mode
Some checks failed
build / build (push) Has been cancelled
2025-01-15 23:54:35 +08:00
xream
fc9ff48b1f fix: ss none 必须配置 password 2025-01-15 23:11:34 +08:00
xream
fb21890b68 fix: 修复组合订阅空 subscription-userinfo 的问题
Some checks failed
build / build (push) Has been cancelled
2025-01-14 11:34:02 +08:00
xream
2155cc9639 fix: 修复组合订阅中的单条订阅透传 User-Agent 2025-01-14 08:25:53 +08:00
xream
03e320cbd0 feat: 组合订阅中的单条订阅也支持透传 User-Agent
Some checks are pending
build / build (push) Waiting to run
2025-01-13 20:09:00 +08:00
xream
e325b9a39a feat: Loon 排除 XTLS; 切换使用 esbuild 打包 2025-01-13 16:03:52 +08:00
xream
87597f6fc2 ci: pnpm
Some checks are pending
build / build (push) Waiting to run
2025-01-13 14:44:34 +08:00
xream
3462d36c35 feat: Egern 和 Stash 可根据 User-Agent 自动包含官方/商店版/未续费订阅不支持的协议 2025-01-13 14:27:08 +08:00
xream
02946ec81c feat: Surge 默认开启 Shadowsocks 2022 2025-01-13 14:00:38 +08:00
xream
c963c872ff feat: Egern 使用 includeUnsupportedProxy 参数开启 Shadowsocks 2022
Some checks failed
build / build (push) Has been cancelled
2025-01-12 06:12:14 +08:00
xream
c4a1bb4ea1 feat: Loon 使用 includeUnsupportedProxy 参数开启 Shadowsocks/ShadowsocksR + Shadow TLS 2025-01-11 23:34:00 +08:00
xream
f96d9dea74 feat: 日志中增加上传配置的响应
Some checks failed
build / build (push) Has been cancelled
2025-01-09 18:56:36 +08:00
xream
01eb69d8ae ci: GitHub Action
Some checks are pending
build / build (push) Waiting to run
2025-01-09 09:35:07 +08:00
xream
797ba6f601 fix: 修复 Loon Shadow TLS 2025-01-09 09:30:16 +08:00
xream
128353a7f3 feat: gist 单页数量改为 100 2025-01-09 09:14:36 +08:00
xream
e6f6d51608 feat: Loon 使用 includeUnsupportedProxy 参数开启 Shadowsocks + Shadow TLS V3
Some checks are pending
build / build (push) Waiting to run
2025-01-08 22:52:00 +08:00
xream
589a6bfadb feat: Base64 Pre-processor 检测解码是否正常
Some checks are pending
build / build (push) Waiting to run
2025-01-08 20:13:46 +08:00
xream
75012503f8 fix: 修复 Clash Pre-processor 2025-01-08 19:49:34 +08:00
xream
85a3e2ee54 feat: 文件支持 Mihomo 配置, 支持使用覆写; target 名称适配大小写和别名
Some checks failed
build / build (push) Has been cancelled
2025-01-03 23:37:50 +08:00
xream
95b7557635 feat: Loon 正式支持 Shadowsocks 2022
Some checks failed
build / build (push) Has been cancelled
2024-12-31 23:24:35 +08:00
xream
14ca62db4a doc: demo.js
Some checks are pending
build / build (push) Waiting to run
2024-12-31 15:28:32 +08:00
xream
a2a754adb7 feat: sing-box 支持使用 _network 字段来设置 network 2024-12-31 15:27:14 +08:00
xream
6b23f82953 fix: 修复代理 App 版中路由 target 参数为空的情况
Some checks are pending
build / build (push) Waiting to run
2024-12-30 21:36:45 +08:00
xream
e071a7f253 feat: 组合订阅和文件的导出导入 2024-12-30 21:21:18 +08:00
xream
b9bba895e1 feat: 支持订阅级别的 noCache 2024-12-29 23:37:07 +08:00
xream
8090d678ee feat: 分享支持多一级路由指定输出目标 2024-12-29 22:08:24 +08:00
xream
ff4be7ac38 feat: 订阅支持开关 passThroughUA 透传请求的 User-Agent 2024-12-29 21:33:15 +08:00
xream
7e2109dc68 feat: 支持订阅参数 url 同时支持单条本地节点内容, 支持多一级路由指定输出目标 2024-12-29 21:03:52 +08:00
xream
278beae99a feat: 支持 Egern 前置代理 prev_hop 和 Hysteria2 端口跳跃 2024-12-29 20:05:55 +08:00
xream
3aedd5943d feat: sing-box includeUnsupportedProxy 开启支持 Hysteria2 端口跳跃 2024-12-29 16:07:33 +08:00
xream
222551eb20 feat: Egern 增加默认 sni 2024-12-28 21:00:40 +08:00
xream
0d5e1ab38b feat: 下载订阅的日志中增加请求 target 和实际输出 2024-12-28 17:42:26 +08:00
xream
a3ec98caa9 feat: Clash 订阅仅缓存 proxies 数据 2024-12-27 21:55:13 +08:00
xream
d9e4d814bb feat: geo 更新 2024-12-27 21:35:51 +08:00
xream
e843aa3702 feat: geo 更新 2024-12-26 03:40:53 +08:00
xream
66464645f2 feat: UDP 协议跳过设置 utls 2024-12-24 21:43:23 +08:00
xream
9ccd6b3816 doc: demo.js 2024-12-24 20:49:41 +08:00
xream
74be1e3d82 doc: README 2024-12-24 15:10:38 +08:00
xream
6d78eb7356 feat: Clash 系输入支持 mieru; 调整 juicity 和 mieru 相关过滤逻辑 2024-12-24 15:08:28 +08:00
xream
38eccca8b4 feat: 组合订阅支持手动设置流量信息. 支持使用链接. 此时使用响应内容 2024-12-24 01:20:38 +08:00
xream
33e5aeceb5 fix: 修复订阅不存在时不打印错误日志的问题 2024-12-23 14:14:10 +08:00
xream
837667edc9 feat: 手动设置流量信息时, 支持使用链接. 此时使用响应内容 2024-12-22 21:57:01 +08:00
xream
0069b0ce83 feat: sing-box 支持 detour 参数(之前只能用 underlying-proxy 或 dialer-proxy 来设置) 2024-12-22 20:06:00 +08:00
xream
fcc9d047ae fix: 修复 edns sourcePrefixLength 2024-12-21 21:13:09 +08:00
xream
382d22e622 feat: 支持 socks5, socks5+tls, http, https(便于输入) 格式输入 2024-12-16 21:06:46 +08:00
xream
06f3e97af2 feat: 支持 Shadowsocks 2022 的 URI 输入/输出 2024-12-15 23:03:41 +08:00
xream
bd87e9231e fix: 修复 Surge SOCKS5 解析 2024-12-13 02:27:03 +08:00
xream
d1d6d19542 feat: Mihomo 支持 direct 2024-12-12 18:35:55 +08:00
xream
08bf0b78bb feat: Surge 支持 direct 2024-12-12 18:22:25 +08:00
xream
9a3cd4f57c feat: 处理状态码 2024-12-12 15:35:19 +08:00
xream
d015c7867e fix: 修复 SS URI 解析 2024-12-08 11:24:46 +08:00
xream
4713b63083 feat: Loon 使用 includeUnsupportedProxy 参数开启 Shadowsocks 2022 2024-12-05 23:50:51 +08:00
xream
dbf9e7c360 feat: 优化去除无效节点逻辑 感谢群友 Cooip JM 2024-12-05 12:45:07 +08:00
xream
4ea84118c4 feat: gRPC 支持 authority 2024-12-05 00:52:11 +08:00
xream
dda8113a42 feat: 增加 subscription-userinfo 兼容性 2024-12-04 00:56:53 +08:00
xream
f16b2d34f1 feat: geo 更新 2024-11-30 13:58:04 +08:00
xream
5b28e1a4c9 feat: 支持禁用节点操作 2024-11-29 21:03:29 +08:00
xream
8d0a71d983 feat: VMess URI 输出支持 alterId; Trojan 支持 fp 和 alpn 2024-11-28 16:04:52 +08:00
xream
815552d470 feat: 找不到资源时不通知, 仅保留日志 2024-11-28 15:44:55 +08:00
xream
9d90369594 feat: Trojan URI 支持省略端口号 2024-11-28 13:15:22 +08:00
xream
6aece471aa feat: Stash 使用 includeUnsupportedProxy 参数开启 Shadowsocks 2022 2024-11-27 15:20:20 +08:00
xream
99396773f6 ci: 去除 GitLab Sync 2024-11-26 15:01:04 +08:00
xream
e229408a2d feat: 默认缓存阈值 1024KB 2024-11-24 12:31:18 +08:00
xream
514414587b feat: 默认超时 8000ms 2024-11-24 12:13:52 +08:00
egerndaddy
d4c419745e Update Egern.yaml 2024-11-22 23:59:59 +08:00
xream
fe3da254f4 feat: 支持 Egern 输出 2024-11-21 13:16:04 +08:00
xream
7d8132d7cd feat: 默认输出格式改为 V2Ray; accept 为 application/json 时, 输出 JSON; 响应增加 X-Powered-By Sub-Store 2024-11-19 23:06:45 +08:00
xream
bc1247efaf feat: 手动设置的订阅流量信息会附加到订阅自己的流量信息之前 2024-11-17 23:40:03 +08:00
xream
dea937df66 feat: 默认查询流量信息的 User-AgentQuantumult%20X/1.0.30 (iPhone14,2; iOS 15.6) 改为 clash; 流量信息缓存逻辑调整 2024-11-17 02:10:38 +08:00
xream
cfb5a8e082 feat: 支持解析订阅中的 profile-web-page-url 字段 2024-11-17 01:02:28 +08:00
xream
4790bf47d1 feat: Surge 密码解析支持首尾成对的单引号双引号, 输出时增加双引号 2024-11-16 21:50:52 +08:00
xream
56fd495fb6 feat: 支持更多的 subscription-userinfo 2024-11-12 22:20:46 +08:00
xream
f4639d9a34 feat: 支持更多的 subscription-userinfo 2024-11-12 22:06:22 +08:00
xream
cc58a5541e feat: 订阅刷新按钮逻辑调整为无缓存刷新订阅和流量 2024-11-10 01:22:48 +08:00
xream
772f431887 feat: 模块版文件中增加 token 路由 2024-11-08 18:10:39 +08:00
xream
2b60c515cd feat: 支持管理 token 2024-11-04 13:59:57 +08:00
xream
c8c22c3901 fix: 修复 VMess URI SNI 2024-11-01 20:27:23 +08:00
xream
d8f9466b84 feat(wip): 支持自定义 share token 2024-10-31 23:33:34 +08:00
xream
d12ccad382 feat: MMDB 加入 $utils.ipasn 2024-10-31 01:39:13 +08:00
xream
b4358663cc feat(wip): 支持 JWT 2024-10-31 00:23:45 +08:00
xream
aba6264988 feat(wip): 支持 JWT 2024-10-30 23:08:01 +08:00
xream
2320ab3838 feat(wip): 支持 JWT 2024-10-30 22:51:31 +08:00
xream
542957d34a feat(wip): 支持 JWT 2024-10-30 22:27:39 +08:00
xream
07e50175f9 feat: cipher 应为小写 2024-10-30 16:07:27 +08:00
xream
e09d66060d feat: 远程订阅支持 insecure 不验证服务器证书 2024-10-30 14:33:34 +08:00
xream
b048ecdfff fix: 修复 surge mac 未开启 mihomo 时, 对于不支持的节点未报错, 导致出现 proxy 为 undefined 的问题 2024-10-29 18:31:02 +08:00
xream
aac72fb9a3 feat: Surge 支持 udp-port, 修复 udp-relay 参数解析 2024-10-27 19:00:42 +08:00
xream
baec193e5c feat: 支持 VLESS mKcp 2024-10-23 17:38:59 +08:00
xream
8fe818f826 fix: 处理乱填的订阅流量信息解析报错 2024-10-19 19:12:25 +08:00
xream
72286984ec fix: 修复 YAML 处理 undefined 的问题 2024-10-18 12:38:58 +08:00
xream
27e693c308 feat: ⚠️ BREAKING CHANG 仅手动指定 target 为 SurgeMac 时, 启用 mihomo 来支援 Surge 本身不支持的协议 2024-10-17 20:26:07 +08:00
xream
6cf8080cd3 fix: 修复 VMess VLESS servername 2024-10-17 14:01:44 +08:00
xream
839fcacf63 fix: 修复传输层和 SNI 的问题(有问题麻烦即时反馈 谢谢) 2024-10-16 21:31:41 +08:00
xream
a2e45bcb10 commit
feat: Surge 支持 Shadowsocks 2022(为了兼容 必须使用 `includeUnsupportedProxy` 参数或开启 `包含官方/商店版不支持的协议` 开关)
2024-10-15 17:00:13 +08:00
xream
ea0eb91691 doc: README 2024-10-12 14:51:58 +08:00
xream
1f0ddf2d28 fix: 修复组合订阅预览 2024-10-12 10:46:39 +08:00
xream
a660c6ff90 feat: 组合订阅支持通过单条订阅的标签进行关联 2024-10-11 20:57:45 +08:00
xream
71d9adbc07 chore: bump release version 2024-10-11 20:00:09 +08:00
pillarcoin
97bec9183a fix: clash 配置中 VLESS 节点的 short-id 值被错误解析 2024-10-11 19:10:02 +08:00
xream
ef85b6d0e9 feat: 文件支持设置代理/策略, 链接支持传入 proxy 参数指定代理/策略; 修复代理/策略优先级 2024-10-07 22:05:07 +08:00
xream
8ffb060cb4 feat: 组合订阅支持设置代理/策略, 链接支持传入 proxy 参数指定代理/策略 2024-10-07 20:56:33 +08:00
xream
6d43961e96 feat: Node.js 支持使用环境变量 SUB_STORE_BACKEND_DEFAULT_PROXY 设置默认代理; ProxyUtils 增加 download 方法 2024-10-07 18:43:29 +08:00
xream
f3200aea8c feat: 流量和同步配置也使用默认代理/策略 2024-10-07 18:34:39 +08:00
xream
e2346d16a2 feat: 新增全局代理/策略设置, 前端 > 2.14.265 2024-10-07 18:05:06 +08:00
xream
dc320eaa6c feat(file): 新增启用下载(文件名为显示名称), 前端 > 2.14.264 2024-10-07 17:26:15 +08:00
xream
02031019f7 doc: demo.js 2024-09-22 06:02:58 +08:00
xream
5d09fe782f feat: 增加 _subDisplayName _collectionDisplayName 2024-09-18 19:42:53 +08:00
xream
6e425e5908 doc: demo.js 2024-09-18 19:22:12 +08:00
xream
d10c9233c0 feat: 正式弃用旧的 subName 和 collectionName 2024-09-18 19:18:50 +08:00
xream
cc556b641d fix: 修复 password 为数字时的 bug 2024-09-16 01:43:16 +08:00
xream
de2813b035 feat: 使用自定义缓存时 cacheKey 的值不能为空 2024-09-13 23:42:55 +08:00
xream
c9158ceb1d feat: 内置的 Google/Cloudflare DNS 更换为 DoH 2024-09-09 14:56:47 +08:00
xream
5cf0c98f5f chroe: 修改脚本链接为 release 分支 2024-09-07 23:21:42 +08:00
xream
7d0414f8ca fix: 传输层 path 应为以 / 开头的字符串 2024-09-05 17:39:42 +08:00
xream
bee1d62a1a fix: 传输层 path 应以 / 开头 2024-09-05 17:15:30 +08:00
xream
72bc9b9456 feat: 处理非字符串的 ports 字段 2024-09-04 13:40:17 +08:00
xream
3b4c14e7d0 doc: README 2024-09-04 10:49:52 +08:00
xream
59d93483bb feat: Node.js 版支持环境变量 SUB_STORE_BACKEND_DOWNLOAD_CRON 设置定时恢复配置, SUB_STORE_BACKEND_UPLOAD_CRON 设置定时备份配置, SUB_STORE_BACKEND_SYNC_CRON 设置定时同步订阅/文件 2024-09-04 02:20:28 +08:00
xream
75d88c02c7 feat: SurgeMac 支持使用 mihomo 来支援 Surge 本身不支持的协议; 弃用旧的 ssr-local 方案 2024-09-03 20:31:42 +08:00
xream
99d5868cff feat: 订阅和文件的请求链接支持传入 $options , 可在脚本中使用 2024-09-03 13:58:10 +08:00
xream
e1489a3cf7 feat: sing-box VLESS Reality uTLS 默认启用 2024-09-02 21:20:22 +08:00
xream
59fe16a7b0 feat: Surge Hysteria2 与 TUIC 协议支持端口跳跃; Hysteria2 URI 的端口部分支持 端口跳跃 的「多端口地址格式」 2024-09-02 16:38:21 +08:00
xream
562d349629 feat: 脚本操作传入上下文 require (仅对应的环境支持)" 2024-08-31 22:39:54 +08:00
egerndaddy
9ce14351c5 doc: 添加 Egern 模块链接 2024-08-29 13:26:27 +08:00
egerndaddy
76e781c711 Create Egern.yaml 2024-08-29 13:09:59 +08:00
xream
f0acf4a2a7 fix: DoH 结果过滤 2024-08-29 12:30:49 +08:00
xream
9abeb4ce7b fix: 修复 SurgeMac ShadowsocksR obfs-param 2024-08-28 14:51:06 +08:00
xream
153802c7c4 feat: Loon SOCKS5 UDP 2024-08-26 00:33:22 +08:00
xream
19418b631f feat(uri): VMess URI 输入支持 allowInsecure(输出不支持, 与 2dust/v2rayN 分享链接逻辑一致) 2024-08-18 15:53:13 +08:00
xream
97caeed208 feat(geo): 增加 利雅得 Riyadh 2024-08-17 14:06:28 +08:00
xream
dd8d1d85e8 feat: 支持 Loon tls-pubkey-sha256, tls-cert-sha256 2024-07-30 22:17:25 +08:00
xream
14ed56b5d5 chore: 传输层应该有配置, 暂时不考虑兼容不给配置的节点 2024-07-24 11:27:33 +08:00
xream
9785271c5b chore: 增加部分 clash.meta(mihomo) 内核客户端的 User-Agent(clash-verge, flclash) 2024-07-20 14:48:39 +08:00
xream
05bdf95a29 feat: 处理端口跳跃(感谢亚托莉佬) 2024-07-19 15:23:44 +08:00
xream
317a804b36 fix: 修复 URI 报错 2024-07-19 14:33:34 +08:00
xream
10ec8a25a2 feat: 处理不规范的 hysteria2 节点 2024-07-19 09:45:28 +08:00
xream
aa0943a909 fix: 被识别为 IP4P 的域名解析结果均增加 _IP4P 字段; 修复报错 2024-07-18 19:48:01 +08:00
xream
a0c1bbbf70 fix: 域名解析修复; 结果增加 _IP4P 字段 2024-07-18 19:42:57 +08:00
xream
fea9de4fae feat: IP4P 合并进 IPv6; ProxyUtils 中增加 ipAddress 2024-07-18 18:35:22 +08:00
xream
cddd1818fe chore: bump release version 2024-07-08 02:51:21 +08:00
xream
f94830b2df Merge pull request #339 from zhiqiang02/add-tai-wan-keyword
Add 'Tai Wan' as a keyword for Taiwan flag
2024-07-08 02:50:13 +08:00
zhiqiang02
e02a26040e Add 'Tai Wan' as a keyword for Taiwan flag
碰到了某机场奇奇怪怪的节点名
2024-07-08 02:38:50 +08:00
xream
6906efdd55 chore: bump release version 2024-07-02 21:04:14 +08:00
xream
9558b63261 Merge pull request #336 from cooip-jm/patch-1
处理grpc-opts为 {} 的情况
2024-07-02 21:03:30 +08:00
cooip-jm
4bfdef17ee 处理grpc-opts为 {} 的情况
该字段仅影响sing-box内核,对mihomo无影响
2024-07-02 21:01:11 +08:00
xream
9d29fc8a09 feat: 处理 reality-opts 为 {} 的情况 2024-07-02 20:39:04 +08:00
xream
f524920c13 feat: 文件支持设置 查询流量信息订阅链接. 服务器版中使用此链接可在响应中传递订阅流量信息 2024-06-28 18:34:26 +08:00
xream
bfe072cbdf feat: 域名解析支持自定义 EDNS(需新版前端) 2024-06-22 11:45:37 +08:00
xream
32dcca4a26 feat: 域名解析支持自定义 DoH(需新版前端) 2024-06-20 21:42:15 +08:00
xream
a5d77c39c8 feat: 域名解析增加超时参数(默认使用全局超时) 2024-06-20 13:41:05 +08:00
xream
6ea1b69a62 doc: demo.js 增加更多字段的说明 2024-06-20 11:44:07 +08:00
xream
2b3b9177e5 feat: 域名解析新增 _resolved_ips 为解析出的所有 IP 2024-06-20 11:28:17 +08:00
xream
91aab3ca7a fix: 修复 Tencent DNS 缓存 2024-06-20 10:59:06 +08:00
xream
c1a9fc6abc fix: 修复 Loon Hysteria2 salamander 混淆 2024-06-17 11:08:43 +08:00
xream
11d9ce7372 feat: 支持 Loon Hysteria2 salamander 混淆 2024-06-16 21:49:13 +08:00
xream
ad3d2270ac feat: 读取节点的 ca-str 和 _ca (后端文件路径) 字段, 自动计算 fingerprint 2024-06-13 20:44:12 +08:00
xream
3ad42f2c10 feat: Stash 支持 juicity, ssh 2024-06-12 15:16:56 +08:00
xream
ec06eb8659 fix: sing-box tls cert 应该为数组 2024-06-10 19:10:57 +08:00
xream
4a23a4d8b6 fix: tlsParser typo 2024-06-10 19:07:19 +08:00
xream
913638a233 feat: /api/sub/flow/:name 接口支持指定远程订阅 url(可携带订阅 url 支持的参数, 例如 flowUserAgent) 2024-06-10 13:24:06 +08:00
xream
bf642ce0e6 fix: 兼容空的订阅链接 2024-06-09 01:42:40 +08:00
xream
1ecac9da92 chore: demo.js 2024-06-06 21:50:13 +08:00
xream
c5a417da8f feat: VMess URI 支持 TCP/H2 传输层 2024-06-03 21:14:07 +08:00
xream
8cd0545023 feat: ws, http, h2 传输层补全 path 2024-06-03 00:34:03 +08:00
xream
b6f848a6e6 feat: ProxyUtils.removeFlag 2024-06-02 18:30:53 +08:00
xream
99d058bcf1 feat: 支持 flowUrl 2024-06-02 16:03:01 +08:00
xream
533103e765 feat: 进一步优化乐观缓存和同步配置的逻辑 2024-06-01 20:09:57 +08:00
xream
cf82764171 feat: 进一步优化乐观缓存和同步配置的逻辑 2024-06-01 19:50:16 +08:00
xream
7b783c1fe3 fix: 简单修复乐观缓存(当异步更新乐观缓存时, 若存在常规缓存, 将使用常规缓存) 2024-05-31 20:52:01 +08:00
xream
372eff9a44 chore: 文案 2024-05-31 11:42:23 +08:00
xream
d3b5a529d7 doc: README 2024-05-30 21:32:48 +08:00
xream
8049134bb5 feat: Surge includeUnsupportedProxy 去除 HTTP 传输层(不一定能通, 由服务端配置确定) 2024-05-30 18:41:56 +08:00
xream
3f620700a4 feat: GUIforCores 请求增加参数 proxy, timeout 2024-05-30 17:19:38 +08:00
xream
9e64a68481 fix: VMess URI 输入传输层为 HTTP 时, path 默认为 / 2024-05-30 14:28:02 +08:00
xream
9ce5916414 fix: 乐观缓存未捕获错误 2024-05-30 13:10:08 +08:00
xream
047c21fe70 feat: 节点上的额外参数调整为下划线开头, 原参数目前仍保留, 若有脚本需要使用这些参数请尽快修改(_subName, _collectionName, _resolved, _no-resolve) 2024-05-30 04:48:13 +08:00
xream
47849dc6d0 feat: 节点上的额外参数调整为下划线开头, 原参数目前仍保留, 若有脚本需要使用这些参数请尽快修改(_subName, _collectionName, _resolved) 2024-05-30 04:28:54 +08:00
xream
af06086c1b chore: 去除 Surge/Surfboard 输出节点名中的逗号和等号 2024-05-29 19:15:52 +08:00
xream
4a6a147667 feat: 新增 定时处理订阅 功能, 避免 App 内拉取超时 2024-05-28 12:05:35 +08:00
xream
c6540d14cd feat: Surge Beta 模块支持定时处理订阅. 一般用于定时处理耗时较长的订阅, 以更新缓存. 这样 Surge 中拉取时就能用到缓存, 不至于总是超时 2024-05-28 02:31:25 +08:00
xream
3db71ec531 fix: Base64 输入支持 hy2:// 2024-05-26 10:28:46 +08:00
xream
cf156c2f17 fix: Stash 服务器证书 SHA256 指纹字段为 server-cert-fingerprint 2024-05-25 18:54:51 +08:00
xream
e28e2a78fb feat: 下载订阅日志中增加请求的 User-Agent 2024-05-25 18:29:48 +08:00
xream
b0a2c709e8 fix: Stash 服务器证书 SHA256 指纹字段为 server-cert-fingerprint 2024-05-21 11:05:45 +08:00
xream
5dc2c8ced7 chore: demo.js 2024-05-20 17:42:09 +08:00
xream
d2a65ee0fe chore: demo.js 2024-05-20 17:38:49 +08:00
xream
4dd4ae98ca chore: 最新版 Surge 已删除 ability: http-client-policy 参数, 模块暂不做修改, 对测落地功能无影响 2024-05-18 23:57:18 +08:00
xream
0d41eb467f feat: 某些域名仅支持从国内 DNS 解析正确结果, 为方便部署在海外的用户, 使用国内 DNS 解析时, ECS IP 指定为国内 IP 2024-05-18 22:24:58 +08:00
xream
ba1c91a7a5 chore: 文案 2024-05-17 17:49:10 +08:00
xream
30fa87c172 doc: Shadowrocket 模块 2024-05-15 20:58:55 +08:00
xream
1eaa33948b chore: bump release version 2024-05-14 20:45:39 +08:00
xream
619e256ed8 Merge pull request #322 from onejibang/master
chore: Change network request method
2024-05-14 20:45:00 +08:00
onejibang
b46209e164 chore: Change network request method 2024-05-14 16:51:05 +08:00
xream
a1ba4e273e chore: bump release version 2024-05-13 19:44:27 +08:00
xream
bfc95ed92a Merge pull request #320 from onejibang/feature-gui-for-cores
feat: 适配GUI.for.Cores项目组下的客户端程序
2024-05-13 19:41:45 +08:00
xream
32f591ec56 Merge branch 'master' into feature-gui-for-cores 2024-05-13 19:41:28 +08:00
onejibang
cea16d8c44 chore: Canonical variable name 2024-05-13 19:22:33 +08:00
onejibang
93a1ba7b50 feat: support HEAD method 2024-05-13 19:12:22 +08:00
xream
e6d1aa1150 feat: 使用了自定义缓存 cacheKey 的远程订阅 调整为乐观缓存 2024-05-13 17:08:17 +08:00
onejibang
26e83798da feat: Provide virtual disk operation API 2024-05-13 16:35:05 +08:00
xream
b083d2d840 feat: Node.js 版支持 MMDB, 通过环境变量或在脚本中传入数据库文件路径, 可使用 ipaso 和 geoip 方法 2024-05-12 23:17:11 +08:00
onejibang
cf35afcab2 Adapted for GUI.for.Cores 2024-05-11 17:32:01 +08:00
xream
d073dfeef8 feat: 支持 Trojan, VMess, VLESS httpupgrade(暂不支持 Shadowsocks v2ray-plugin) 2024-05-10 10:15:11 +08:00
Peng-YM
f970ea3361 Update README.md 2024-05-09 09:38:36 +08:00
xream
630bac0575 fix: 简单修复 SS URI 多参数拼接 2024-05-05 02:14:55 +08:00
xream
7f3cb2b191 feat: 当无插件参数时, 去除 SS URI 输出中的 / 以兼容部分客户端 2024-05-05 02:11:50 +08:00
xream
92e1e4a0fb feat: ProxyUtils 中增加 Gist 类; 补充 demo.js 中的示例 2024-05-04 21:35:27 +08:00
xream
3b85d313fe fix: 兼容不规范的 QX URI 2024-05-03 03:56:59 +08:00
xream
c91d8e28e4 fix: 哪吒探针在线时长 2024-04-30 15:39:14 +08:00
xream
8cbb4492be feat: 全部是 WireGuard 节点的订阅, 支持输出为 Surge 模块 2024-04-25 16:55:32 +08:00
xream
6f7da57e3a fix: 旗帜操作中将 🏴‍☠️ 🏳️‍🌈 也视为已有旗帜并在删除后添加新旗帜 2024-04-25 13:38:01 +08:00
xream
2586c29746 fix: 处理手动删除 Gist 之后, Sub-Store 侧重新同步的逻辑 2024-04-23 09:28:39 +08:00
xream
6f7fe8204b feat: 支持完整导出和导入 Sub-Store 单条订阅数据 2024-04-22 15:15:57 +08:00
xream
bafaf07743 Merge pull request #314 from eric-gitta-moore/master
feat: script ip-flag for node
2024-04-22 13:09:33 +08:00
Eric Moore
9962eb0947 feat: script ip-flag for node 2024-04-22 12:59:06 +08:00
xream
ac5232a7bc ci: restore the functionality of generating conventional changelog 2024-04-22 04:25:19 +08:00
xream
2301ccbfb5 fix: 修复对不规范的节点名称的处理 2024-04-22 02:51:44 +08:00
xream
0b5761e5fc feat: QX 输出正式支持 VLESS 2024-04-22 02:15:54 +08:00
xream
3ab21b0e26 feat: 支持 Loon SOCKS5/SOCKS5-TLS 2024-04-21 12:36:11 +08:00
xream
89ab72e46c doc: README 2024-04-21 11:32:23 +08:00
xream
18bd6526d0 chore: 增加探针版本(没有自定义的必要吧 默认为 0.0.1) 2024-04-20 07:45:49 +08:00
xream
c7329c32eb feat: 哪吒探针网络监控接口支持用参数传入检测次数; 节点字段上自定义的多个次数, 只取最大值 2024-04-19 06:27:45 +08:00
xream
4819ae95e4 feat: 哪吒探针网络监控接口提示不兼容的节点, 支持传入节点名 2024-04-19 05:57:26 +08:00
xream
370d228b04 feat: 订阅兼容哪吒探针网络监控接口(Loon/Surge 可输出节点延迟) 2024-04-19 05:16:24 +08:00
xream
d092916168 fix: sing-box wireguard 2024-04-17 11:36:23 +08:00
xream
0c93de48ab feat: GEO 增加 TYO 2024-04-17 05:50:50 +08:00
xream
274aa50373 ci: GitHub Actions: Transitioning from Node 16 to Node 20 2024-04-17 01:12:07 +08:00
xream
e24de8d0b6 feat: 支持 WireGuard URI 输入和输出 2024-04-17 00:56:53 +08:00
xream
93a5ce6c3b feat: 支持 dialer-proxy, detour 2024-04-14 21:34:45 +08:00
xream
cb66c8daa2 feat: fancy-characters 增加 modifier-letter(小写没有 q, 用 ᵠ 替代. 大写缺的太多, 用小写替代) 2024-04-12 22:39:59 +08:00
xream
f4cdc953e6 feat: 支持设置并在远程订阅失败时读取最近一次成功的缓存 2024-04-09 20:49:42 +08:00
xream
2a1c2eb9df chore: 处理订阅输出哪吒探针兼容响应的 Uptime 字段 2024-04-09 13:48:33 +08:00
xream
6217c2e5cd fix: 修复 sing-box wireguard reserved 2024-04-07 19:48:08 +08:00
xream
f90d9c2fd1 chore: Surge 模块文案 2024-04-07 16:40:09 +08:00
xream
3e952e9e88 chore: Surge 默认模块更新为支持编辑参数的版本 2024-04-06 19:40:30 +08:00
xream
a81b55f752 doc: demo.js 2024-04-05 13:46:07 +08:00
xream
33652af516 feat: 订阅支持输出哪吒探针兼容响应; 清理输出数据; 增加内部数据字段 2024-04-05 13:37:15 +08:00
xream
2bca669930 fix: 修复 SS URI 解析错误 2024-04-04 16:52:46 +08:00
xream
f1bf0e1e8d fix: 修复 Tencent DNS 解析 2024-04-04 15:26:19 +08:00
xream
16b9cd9aaf feat: GEO 增加 AMS 2024-04-03 00:45:48 +08:00
xream
32eb069ab2 feat: GEO 增加 JNB, SJC, SEL 2024-04-02 21:06:56 +08:00
xream
4c9f8011c7 fix: 修复内蒙古识别为蒙古的问题 2024-04-02 20:56:07 +08:00
xream
bd26b0a561 feat: 区域过滤增加韩国德国 2024-04-02 20:40:13 +08:00
xream
958d1e52c8 chore: 日志输出增加订阅的来源 User-Agent 2024-03-31 10:59:49 +08:00
xream
e7a2e60963 feat: sing-box 订阅格式修改(如需原始格式 请使用 target=sing-box&produceType=internal); 清理 Clash 系无效字段 2024-03-31 09:36:32 +08:00
xream
fa6a274f79 feat: ProxyUtils 增加 getFlag, getISO 方法 2024-03-31 08:20:51 +08:00
xream
e40b3f88d5 chore: geo 增加关键词 德意志 2024-03-31 06:59:31 +08:00
xream
163ad9ee09 feat: JSON 输出支持 produceType internal 2024-03-31 04:45:57 +08:00
xream
abb6f2dec1 feat: 处理 sni off 的情况. 若出现问题, 麻烦大家及时反馈 2024-03-30 01:12:34 +08:00
xream
56870bbd5f fix: 修复组合订阅子订阅失败导致预览失败 2024-03-26 14:59:24 +08:00
xream
efbc6ecd84 feat: 流量单位显示由 EB 提升到 YB 2024-03-25 03:50:47 +08:00
xream
c27c589024 chore: 调整部分日志 2024-03-25 02:47:06 +08:00
xream
0efed4f1a0 feat: 处理传入 httpClient 的 timeout 参数 2024-03-24 07:28:16 +08:00
xream
e3a514d1fb feat: hysteria2 支持 mport, clash.meta(mihomo) 支持 ports 2024-03-21 20:07:24 +08:00
xream
64478c7a27 feat: 刷新时 清除所有缓存 2024-03-21 02:37:21 +08:00
xream
dc8f19f350 doc: demo.js 2024-03-21 01:52:42 +08:00
xream
b4ccfc7e07 chore: Sub-Store Simple 脚本增加脚本超时(默认 120) 可能会影响某些逻辑 待观察 2024-03-19 23:48:26 +08:00
xream
3f1940630a chore: 增加 gist 错误日志 2024-03-19 21:30:52 +08:00
xream
5a0bdb1276 doc: demo.js 2024-03-18 20:24:18 +08:00
xream
a1b86e26a2 chore: 增加上传同步配置的详细日志 2024-03-16 02:47:01 +08:00
xream
6ec8c29f6a feat: 规则中处理 GEOIP/GEOSITE, Loon 已支持 SRC-PORT/DEST-PORT/PROTOCOL 2024-03-15 08:49:36 +08:00
xream
bbb9602f9f release: backend version 2.14.256 2024-03-15 08:12:06 +08:00
xream
6db6153672 Merge pull request #295 from makaspacex/master
[Feat]规则转换增加对GEOIP与GEOSITE的支持
2024-03-15 08:10:30 +08:00
makabaka
b66189948a 规则转换增加对GEOIP与GEOSITE的支持 2024-03-14 22:07:45 +08:00
xream
2611dccc73 feat: 支持设置查询远程订阅流量信息时的 User-Agent 2024-03-14 19:45:39 +08:00
xream
25d3cf6ca4 feat: 通过代理/节点/策略获取订阅 现已支持 Surge, Loon, Stash, Shadowrocket, QX, Node.js 2024-03-14 01:54:07 +08:00
xream
3637c5eb74 feat: SSH 协议跟进 clash.meta(mihomo) 的修改 2024-03-13 16:24:30 +08:00
xream
80d46597b4 feat: 支持使用代理/节点/策略获取订阅 2024-03-13 05:33:52 +08:00
xream
ca65e4209e feat: 支持自定义订阅流量信息 2024-03-12 01:17:56 +08:00
xream
53bb4866e7 fix: 修复订阅流量传递 2024-03-12 00:55:30 +08:00
xream
09495fa607 fix: 修复重置天数微妙的偏差 2024-03-11 19:33:51 +08:00
xream
4b27d40602 feat: 订阅支持开始日期和重置周期 2024-03-11 13:39:52 +08:00
xream
518de2e919 feat: 订阅支持每月重置天数 2024-03-10 23:08:56 +08:00
xream
078bf228de feat: produceArtifact 方法支持传入自定义 subscription; VLESS 非 reality 删除空 flow 2024-03-10 17:22:25 +08:00
xream
aaef97cf5d feat: SSH 新增 clash.meta(mihomo), 调整 Surge 和 sing-box 2024-03-08 19:01:01 +08:00
xream
7beff4013f feat: 订阅列表的流量信息兼容远程和本地合并的情况, 排除设置了不查询订阅信息的链接 2024-03-08 18:40:44 +08:00
xream
23cf81d0a5 feat: Node.js 版 /api/utils/env 增加 meta 信息 2024-03-08 14:20:55 +08:00
xream
572f2f5533 feat: OpenAPI 增加 isEgern, isLanceX; /api/utils/env 增加 meta 信息 2024-03-08 13:56:59 +08:00
xream
1c6d761e09 fix: 修复 Surge WireGuard allowed-ips 双引号 2024-03-07 17:24:49 +08:00
xream
437297b8b0 feat: 增加下载缓存阈值 2024-03-05 05:03:17 +08:00
xream
ca437865e6 feat: 域名解析新增 IP4P, 支持禁用缓存 2024-03-05 01:01:46 +08:00
xream
739100c873 feat: Stash/clash.meta(mihomo) 支持 interface-name 字段 2024-03-04 11:43:07 +08:00
xream
a4384f4f13 fix: 修复 Clash 节点名为 binary 的情况 2024-03-03 14:33:49 +08:00
xream
468d136f0e ci: git push assets to "release" branch 2024-02-28 23:07:16 +08:00
xream
b0c1157fe1 feat: 调整规则参数 2024-02-28 22:36:22 +08:00
xream
56626dabc7 Merge pull request #289 from makaspacex/master
修复IP-CIDR的option错误
2024-02-28 22:19:11 +08:00
makabaka
2a87f7b3c3 修复IP-CIDR的option错误 2024-02-28 20:06:03 +08:00
xream
81adfbc461 doc: README 2024-02-23 22:03:10 +08:00
xream
e04217c50d fix: 参数对象 2024-02-23 20:15:37 +08:00
xream
391a5aa2e4 chore: 调整默认定时为每天 23 点 55 分 2024-02-23 20:05:48 +08:00
xream
2f3b42f552 fix: Surge TUIC server-cert-fingerprint-sha256 2024-02-22 11:37:18 +08:00
xream
76302f9d53 fix: sing-box wireguard reserved 2024-02-21 19:09:23 +08:00
xream
1924e9735c feat: Surge 参数 tos allow-other-interface interface test-udp test-timeout hybrid; Stash 参数 benchmark-timeout; Surge 新增 SSH(仅密码方式), sing-box 新增 SSH 2024-02-18 05:25:31 +08:00
xream
6a8cee3cd5 feat: 节点名称为空时, 添加默认节点名称 2024-02-17 17:41:54 +08:00
xream
9b2209cc8b chore: sing-box grpc servicename 应为字符串 2024-02-17 12:03:25 +08:00
xream
c585785c50 fix: 兼容不规范的 VLESS URI 2024-02-17 11:39:04 +08:00
xream
c3e5da7ee4 fix: 兼容不规范的 VLESS URI 2024-02-17 10:50:33 +08:00
xream
2ecad8bbb8 feat: 旗帜操作(支持更多选项) 2024-02-17 08:32:37 +08:00
xream
a642213928 feat: 脚本操作完整支持 /api/file/name 的内部文件调用路径 2024-02-15 03:30:53 +08:00
xream
f85e360ea8 feat: 同步配置前, 预处理订阅, 防止同时请求过多 2024-02-14 19:51:44 +08:00
xream
1b948cdf52 doc: 补充文档 2024-02-13 15:30:13 +08:00
xream
556d5f393c feat: 带参数 includeUnsupportedProxy 时, 支持输出 Surge WireGuard Section 2024-02-13 15:21:29 +08:00
xream
a8c05207c0 chore: dev 调整 2024-02-11 01:10:01 +08:00
xream
e97fb1e6d9 fix: 兼容更多 Trojan URI 格式 2024-02-08 23:06:39 +08:00
xream
e40b9a77c4 fix: 修复 Loon UDP 参数 2024-02-07 15:14:24 +08:00
xream
df0ac8a218 fix: 缓存不合法时即刻重置 2024-02-07 01:14:52 +08:00
xream
36377f3c20 fix: 修复 Surge 协议 test-url 字段 2024-02-06 22:59:54 +08:00
xream
47f26bdac8 feat: Loon 解析器支持参数 ua=clash.meta&timeout=3000, 支持从链接重新获取 2024-02-06 21:29:10 +08:00
xream
a8a89ee2a2 fix: 修复 PassWall VLESS URI 兼容性 2024-02-06 00:30:53 +08:00
xream
199c5fb337 fix: 修复域名解析 2024-02-05 13:19:22 +08:00
xream
df505616ec chore: Stash 覆写增加图标 2024-02-05 11:40:02 +08:00
xream
c5b11f8b36 fix: 修复过滤非法节点功能 2024-02-04 01:22:27 +08:00
xream
b19b49d2fa chore: 端口号允许为 0 2024-02-03 23:59:26 +08:00
xream
395c6e4e4a chore: 在 bundle 文件顶部添加版本号 2024-02-03 22:34:58 +08:00
xream
ae1c738f70 chore: 开发流程使用 esbuild 2024-02-03 21:30:27 +08:00
xream
02d54208b0 feat: 支持 Hysteria(v1) URI 2024-02-03 17:54:37 +08:00
xream
5d3fc499ce feat: 支持 TUIC v5 URI 2024-02-03 16:17:26 +08:00
xream
d23bc7663e feat: 支持 Loon fast-open 2024-02-02 22:55:00 +08:00
xream
15704ea1c9 chore: 增加 esbuild bundle(暂不启用 仅本地使用) 2024-02-02 19:53:14 +08:00
xream
68cb393a7e feat: 更新 Surge, Loon, QX 输入的 Shadowsocks cipher 2024-02-02 13:23:59 +08:00
xream
2e99f28aa5 feat: 输出时校验 Surge, Surfboard, Loon, QX Shadowsocks cipher 2024-02-02 13:04:32 +08:00
xream
1a18e65e47 chore: VLESS HTTP 传输层增加默认 path 2024-02-02 12:44:08 +08:00
xream
bbd5341d7a chore: 脚本说明 2024-02-02 11:58:01 +08:00
xream
623802d73f chore: 增加脚本说明 2024-02-01 21:59:24 +08:00
xream
19920dbfa3 chore: 增加脚本说明 2024-02-01 21:58:30 +08:00
xream
8764e01d7e chore: 增加脚本说明 2024-02-01 21:58:17 +08:00
xream
31b6dd0507 chore: YAML 解析兼容(保持类型) 2024-01-31 03:27:07 +08:00
xream
a84007d39e chore: Clash 系输出中 tls 字段存在且不为布尔值时, 删除该字段防止客户端解析报错 2024-01-30 23:32:39 +08:00
xream
751e50bf99 chore: YAML 解析兼容 2024-01-30 22:23:57 +08:00
xream
a91f978042 feat: 远程订阅 URL 新增参数 validCheck 将检查订阅有效期和剩余流量 2024-01-30 14:14:57 +08:00
xream
1248e6b32a fix: v2ray-plugin 2024-01-30 03:24:42 +08:00
xream
d0f255d9c6 feat: h2 传输层修正 host 为数组, path 不为数组 2024-01-30 02:17:58 +08:00
xream
060415584e feat: 支持 tls 的 plugin 中跳过证书验证; Surge Shadow TLS 默认版本为 2; sing-box 支持 Shadowsocks Shadow TLS 2024-01-30 01:53:22 +08:00
xream
8a2087c53a feat: 支持更多不规范的 SS URI; 去除 Surfboard 节点名中的等号; 支持 Mihomo shadowsocks shadow-tls 2024-01-30 00:49:41 +08:00
xream
64117c50c7 feat: 支持更多不规范的 VLESS/SS URI 2024-01-29 23:38:21 +08:00
xream
6564d9497a chore: 增加定时任务默认为每天 0 点的说明 2024-01-24 15:17:45 +08:00
xream
1c03e46bbb chore: Beta 模块, 支持最新 Surge iOS TestFlight 版本的分类,参数设置和参数说明(增加双引号 确保兼容性) 2024-01-23 12:45:02 +08:00
xream
084b385fdb chore: Beta 模块, 支持最新 Surge iOS TestFlight 版本的分类,参数设置和参数说明 2024-01-23 04:03:35 +08:00
xream
290b9b5411 chore: 新增 Beta 模块, 支持最新 Surge iOS TestFlight 版本的分类和参数设置 2024-01-22 04:48:34 +08:00
xream
e5c1ae9ed8 feat: 优化流量解析规则 2024-01-20 23:00:37 +08:00
xream
9b6d9d49f9 Merge pull request #275 from dnomd343/master
fix: 流量信息匹配错误
2024-01-20 22:40:13 +08:00
xream
a12adf5255 chore: 脚本操作时不使用空值合并运算符 2024-01-20 22:14:23 +08:00
Dnomd343
8682f14ee7 fix: scientific counting matching error 2024-01-20 13:16:11 +08:00
xream
b3de7a4bc5 feat: 优化调整 Gist 同步逻辑; 增加 GitLab Snippet 同步 2024-01-20 05:33:31 +08:00
xream
099ae5ad83 fix: 配置接口补齐错误处理 2024-01-20 00:50:35 +08:00
xream
c7d00ac512 feat: 域名解析支持类型和过滤 2024-01-19 21:43:54 +08:00
xream
ca0d800bbb release: backend version 2.14.184 2024-01-19 12:54:40 +08:00
xream
31b48d7a6c Merge pull request #274 from izhangxm/feat_add_proxy_convter_api
增加规则转换与协议转换API接口
2024-01-19 12:35:32 +08:00
makabaka
ab96ae9413 增加规则转换与协议转换API接口 2024-01-19 12:23:04 +08:00
xream
3fc507b576 feat: 解析并删除旧的 ws-path ws-headers 字段 2024-01-19 10:18:27 +08:00
xream
2f2dbbdb68 release: backend version 2.14.182 2024-01-18 17:17:15 +08:00
xream
1543e76841 Merge pull request #273 from izhangxm/master
修复clash规则头部有注释的情况下规则转换功能失败的问题
2024-01-18 17:07:59 +08:00
makabaka
74c4719806 fix_clashprovider_test 2024-01-18 15:09:24 +08:00
xream
b80d7f5875 feat: Clash 节点支持 fingerprint(内部转为 tls-fingerprint); 支持 Clash 配置文件中的 global-client-fingerprint 优先级低于 proxy 内的 client-fingerprint 2024-01-18 12:14:35 +08:00
xream
779950ab11 Revert "fix: sing-box fingerprint"
This reverts commit 42404537e8.
2024-01-18 11:36:07 +08:00
xream
42404537e8 fix: sing-box fingerprint 2024-01-18 11:29:15 +08:00
xream
228566116d feat: 支持同步配置时选择包含官方/商店版不支持的协议; 同步配置优化 2024-01-18 06:18:05 +08:00
xream
9bb06bf438 feat: 兼容不规范的 VLESS URI 2024-01-18 01:17:06 +08:00
xream
88e52f9787 revert: 去除 Loon Trojan HTTP 传输层 2024-01-17 22:13:54 +08:00
xream
845a173738 chore: README 2024-01-17 21:55:56 +08:00
xream
4a6bcbc9b4 chore: README 2024-01-17 21:49:56 +08:00
xream
bbaac2de6f fix: Loon 传输层 2024-01-17 21:24:17 +08:00
xream
614438ae3d feat: 支持 QX VLESS 输出(不支持 XTLS/REALITY) 2024-01-17 21:16:34 +08:00
xream
4966132397 feat: produceArtifact 支持 Stash internal (Fixes #271) 2024-01-17 20:31:43 +08:00
xream
059c4bd148 chore: README 2024-01-17 19:55:22 +08:00
xream
63887e3dad feat: 支持解析 QX VLESS 输入; VLESS 无 network 时, 默认为 tcp 2024-01-17 19:30:23 +08:00
xream
7fd585b5d4 feat: SurgeMac 支持 external 2024-01-17 09:15:33 +08:00
xream
16c79ac0fc feat: 支持从 gist 获取不在同步配置中的 gist 文件 2024-01-17 01:10:54 +08:00
xream
14d9885db8 fix: 不上传没有设置来源的同步配置 2024-01-16 23:41:51 +08:00
xream
1e61088ed8 chore: README 2024-01-16 20:52:46 +08:00
xream
af6904ea50 feat: 取消 github 用户名绑定关系(现在用户名错误只影响头像), 增加最近一次 gist 检查状态 2024-01-16 09:44:02 +08:00
xream
1bc44ccde8 feat: 订阅链接可使用标准参数格式 #noCache&noFlow 或 井号附加 #noCache#noFlow 2024-01-16 08:11:34 +08:00
xream
bdc7ee50f7 fix: 修复 sing-box wireguard 输出 2024-01-16 07:24:30 +08:00
xream
812f24d102 feat: 以 #noFlow 结尾的远程链接不查询订阅流量信息 2024-01-16 07:07:55 +08:00
xream
8c943176a5 feat: VLESS URI 输入兼容 Shadowrocket 导出格式 2024-01-16 01:00:22 +08:00
xream
f4c4cdba67 fix: 修复响应头缓存 2024-01-14 23:44:15 +08:00
xream
ada03be05f chore: Loon 插件支持修改响应头缓存有效期 2024-01-14 23:39:27 +08:00
xream
5584225413 feat: 优化订阅流量获取, 启用共享缓存(默认一分钟) 并优先尝试 HEAD 方法 2024-01-14 23:37:55 +08:00
xream
5cbcf4fce4 feat: Node.js 版本体支持定时任务, 环境变量 SUB_STORE_BACKEND_CRON 2024-01-14 18:45:31 +08:00
xream
89931c0032 chore: 文案调整 2024-01-14 15:46:56 +08:00
xream
88f3198320 fix: 找不到资源时报错; 调整脚本操作类型判断; 执行脚本失败时, 同时输出普通脚本和快捷脚本错误 2024-01-14 15:45:08 +08:00
xream
27a14bb255 revert: 回滚文件模板功能 2024-01-14 12:33:36 +08:00
xream
5ecce27f4e feat: 脚本内部 produceArtifact 支持指定 produceType: 'internal', produceOpts: { 'include-unsupported-proxy': true } 来获得内部的数据结构; 订阅链接参数支持 type=internal&includeUnsupportedProxy=true; 文件支持 nunjucks 模板, 为 sing-box 增加的 Filter 用法 sub/col 为订阅/组合订阅中的节点名 {{ '订阅的name' | sub('美国|🇺🇸|us', 'i') }}, subNode/colNode 为订阅/组合订阅中的节点 {{ '订阅的name' | subNode('美国|🇺🇸|us', 'i') }}, 底层 produceArtifact('subscription', 'sing-box', 'internal', '美国|🇺🇸|us', 'i') 2024-01-14 12:13:29 +08:00
xream
12903d77f7 fix: 修复无脚本操作时 文件数据结构错误 2024-01-13 22:01:02 +08:00
xream
0c6ec7f82a revert: 同步接口支持 POST 2024-01-13 20:40:45 +08:00
xream
ba251ced34 fix: 同步接口支持 POST 2024-01-13 19:56:30 +08:00
xream
d96a0421f7 fix: Surge Snell TFO 2024-01-13 16:51:48 +08:00
xream
aff7ddf41e feat: 脚本筛选的快捷操作支持 await 2024-01-13 13:55:07 +08:00
xream
164ae9a7a8 feat: 快捷脚本支持 await; 脚本操作支持 produceArtifact 2024-01-13 13:40:34 +08:00
xream
3aacd26b79 feat: 支持输出到 sing-box; 文件脚本支持 ` ; 脚本支持 ProxyUtils.yaml` 2024-01-13 10:28:07 +08:00
xream
5915416232 feat: 文件支持远程/合并, /api/file/name 接口支持参数覆盖 2024-01-12 07:22:25 +08:00
xream
c059296224 feat: 文件支持脚本操作 2024-01-12 06:16:39 +08:00
xream
9ae70eca09 feat: 同步配置支持文件 2024-01-12 03:52:41 +08:00
xream
d0acf49b83 feat: 文件接口 2024-01-12 02:23:57 +08:00
xream
c51f3511dd fix: 兼容部分不带节点名的 URI 2024-01-08 09:44:53 +08:00
xream
ee2fcc7ee3 fix: 兼容部分不带参数的 URI 输入 2024-01-08 09:28:33 +08:00
xream
95615d1877 feat: 支持全局请求超时(前端 > 2.14.29) 2024-01-08 07:22:03 +08:00
xream
962bcda9dd chore: 同步远程配置输出更多日志 2024-01-07 17:44:03 +08:00
xream
9bb4739d56 Node.js 版的通知支持第三方推送服务. 环境变量名 SUB_STORE_PUSH_SERVICE. 支持 Bark/PushPlus 等服务. 形如: https://api.day.app/XXXXXXXXX/[推送标题]/[推送内容]?group=SubStore&autoCopy=1&isArchive=1&sound=shake&level=timeSensitivehttp://www.pushplus.plus/send?token=XXXXXXXXX&title=[推送标题]&content=[推送内容]&channel=wechat 的 URL, [推送标题][推送内容] 会被自动替换 2024-01-02 22:52:33 +08:00
xream
de1d40f41a feat: Wireguard 结构跟进 Clash.Meta, allowed_ips 改为 allowed-ips 2024-01-02 16:38:48 +08:00
xream
c0ab301160 feat: Trojan URI 支持 gRPC 2023-12-29 16:08:02 +08:00
xream
a22df97a51 release: backend version 2.14.135 2023-12-29 15:42:31 +08:00
xream
45772ade4d Merge pull request #263 from Ariesly/ipv6-uri
fix: Handles node-info IPv6 address URIs
2023-12-29 15:39:03 +08:00
Ariesly
e8dab545f5 fix: Handles node-info IPv6 address URIs 2023-12-29 07:10:47 +00:00
xream
c2bd80207a doc: 补充文档 2023-12-27 02:55:04 +08:00
xream
bc5ae9a2ef feat: 支持 Surfboard(前端 > 2.14.27) 2023-12-27 00:28:15 +08:00
xream
36db057e32 feat: 当节点端口号为合法端口号时, 将类型转为整数(便于脚本判断) 2023-12-23 21:02:39 +08:00
xream
5ac73b863a feat: 支持忽略失败的远程订阅(前端版本 > 2.14.20) 2023-12-18 01:42:33 +08:00
xream
23042c33d6 feat: 支持忽略失败的远程订阅(前端版本 > 2.14.20) 2023-12-18 01:41:37 +08:00
xream
4ca5f5e355 feat: 支持忽略失败的远程订阅(前端版本 > 2.14.20) 2023-12-18 01:24:48 +08:00
xream
f10e5913fb feat: 兼容部分不规范的机场 Hysteria/Hysteria2 端口跳跃字段为空时 删除此字段 2023-12-17 18:31:12 +08:00
xream
8b75c11587 feat: Hysteria2 URI 输入支持 hy2:// 2023-12-17 16:13:34 +08:00
xream
c287dcad3b fix: 过滤 Stash/Clash Shadowsocks cipher 2023-12-13 20:11:36 +08:00
xream
ce6cd794c8 feat: 环境变量 SUB_STORE_DATA_URL 启动时自动从此地址拉取并恢复数据 2023-12-13 09:54:57 +08:00
xream
e05475aa5e feat: Node.js 前端代理后端路由 需设置环境变量 注意安全 SUB_STORE_FRONTEND_PATH=/prefix 2023-12-13 02:04:24 +08:00
xream
c35e9d37ae feat: Node.js 前端代理后端路由 需设置环境变量 注意安全 SUB_STORE_FRONTEND_BACKEND_PATH=/prefix 2023-12-13 01:26:16 +08:00
xream
8f2dbfe3df feat: Node.js 前端代理后端路由 需设置环境变量 注意安全 SUB_STORE_FRONTEND_BACKEND_PATH=/prefix 2023-12-13 00:34:08 +08:00
xream
a0a998dfdd feat: Node.js 前端代理后端路由 需设置环境变量 注意安全 SUB_STORE_FRONTEND_PATH=/prefix 2023-12-13 00:26:11 +08:00
xream
12491ac7c0 feat: Node.js 前端代理后端路由 需设置环境变量 注意安全 SUB_STORE_FRONTEND_PATH=/prefix 2023-12-13 00:26:03 +08:00
xream
78e3024cec feat: Node.js 前端代理后端路由 2023-12-12 22:52:50 +08:00
xream
5e21a20e37 fix: 修复 Loon Trojan WS 传输层 2023-12-12 21:13:17 +08:00
xream
76b5dc5809 feat: 脚本筛选支持节点快捷脚本. 语法与 Shadowrocket 脚本类似
```
const port = Number($server.port)

return [80, 443].includes(port)
```
2023-12-11 11:57:12 +08:00
xream
a1776644a0 feat: Node 版后端支持挂载前端文件夹, 环境变量 SUB_STORE_FRONTEND_PATH, SUB_STORE_FRONTEND_HOST, SUB_STORE_FRONTEND_PORT 2023-12-10 13:13:39 +08:00
xream
7aaa03d4ca chore: workflow 2023-12-10 09:32:56 +08:00
xream
d0cba285ab fix: 处理 Hysteria2 URI 中的密码部分 2023-12-09 02:08:59 +08:00
xream
d636e1b94c fix: 处理预览时子订阅出错的情况 2023-12-08 18:16:50 +08:00
xream
69726cd5c4 fix: 处理 IPv6 地址 URI 2023-12-08 17:53:07 +08:00
xream
8918479b9e release: backend version 2.14.114 2023-12-08 11:49:11 +08:00
xream
17504ab5aa Merge pull request #261 from Ariesly/master 2023-12-08 11:45:58 +08:00
Ariesly
0d8fa91cd5 fix(hysteria2): For shadowrocket obfs 2023-12-08 01:51:54 +00:00
Ariesly
e7dfa1ce38 chore(hysteria2): Uri support with tfo 2023-12-08 01:34:53 +00:00
Ariesly
fe937d6ebf fix(hysteria2): Change to TLS Fingerprint 2023-12-08 01:30:09 +00:00
xream
b7b734f529 release: backend version 2.14.113 2023-12-07 18:15:21 +08:00
xream
f5ef6010bc Merge pull request #260 from Ariesly/master
feat: Hysteria2 URI
2023-12-07 18:03:26 +08:00
Ariesly
0e82a7669d feat: Hysteria2 URI 2023-12-07 06:25:33 +00:00
xream
6d11ea0fcc feat: ProxyUtils.produce 增加第二个参数 type, 暂时仅支持目标为 ClashMetainternal 输出节点数组供开发者使用 2023-12-05 21:53:22 +08:00
xream
75f802f607 fix: 默认 User-Agent 改为 clash.meta 后, 调整订阅预处理器的逻辑, 减少 Base64 误判 2023-12-05 12:43:13 +08:00
xream
000e90d114 feat: 手动下载备份文件和使用备份上传恢复(前端版本 > 2.14.15) 2023-12-04 16:07:10 +08:00
xream
c2499f6779 fix: 修复 Base64 内容的判断 2023-12-02 16:14:11 +08:00
xream
bf9210fc5a fix: 修复多行订阅流量(仅传递首个订阅的流量信息) 2023-12-01 17:09:56 +08:00
xream
53dd1fd4c5 feat: 支持不规范的 Loon ss+simple obfs 协议格式 2023-11-30 16:01:13 +08:00
xream
c541b83037 feat: 支持按顺序合并本地和远程订阅(前端版本 > 2.14.14 可输入) 2023-11-29 03:57:20 +08:00
xream
3054d5cd5d feat: 远程订阅支持换行符连接的多个订阅链接(前端版本 > 2.14.13 可输入) 2023-11-29 02:24:03 +08:00
xream
5a645081d1 fix: SS URI 端口取整数部分 2023-11-28 23:14:45 +08:00
xream
1fc5b764fe feat: 支持设置默认 User-Agent 2023-11-25 04:31:17 +08:00
xream
5f1415d9d4 feat: 后端支持自定义 hostport. 环境变量 SUB_STORE_BACKEND_API_HOST 默认 ::, SUB_STORE_BACKEND_API_PORT 默认 3000 2023-11-24 18:31:13 +08:00
xream
1e3b4a147a feat: 增加了节点字段 1. no-resolve, 可用于跳过域名解析 2. resolved 用来标记域名解析是否成功 2023-11-21 20:10:05 +08:00
xream
905a50c0b9 fix: Hysteria/Hysteria2 输出到 Stash 时 down-speed 和 up-speed 字段截取数字部分 2023-11-20 11:22:01 +08:00
xream
89e8a99729 Merge pull request #250 from YES-Lee/patch-1
feat: add sync task for qx
2023-11-19 11:44:04 +08:00
xream
ff8573cae7 fix: 修复 app 版参数 2023-11-16 12:49:06 +08:00
xream
1ae1ec40ca feat: 补全 Surge 全协议的 no-error-alert 和 ip-version 字段 2023-11-15 15:16:34 +08:00
xream
53925518b4 feat: Sub-Store 生成的订阅地址支持传入 订阅链接/User-Agent/节点内容 可以复用此订阅的其他设置
例如: 建一个 name 为 sub 的订阅, 配置好节点操作

以后可以自由传入参数 无需在 Sub-Store 前端创建新的配置

`/download/sub?target=Surge&content=encodeURIComponent编码过的本地节点`

`/download/sub?target=Surge&url=encodeURIComponent编码过的订阅链接&ua=encodeURIComponent编码过的User-Agent`
2023-11-14 21:46:56 +08:00
xream
f3de132d70 feat: 脚本链接的末尾加上 #noCache 关闭缓存 2023-11-14 21:14:47 +08:00
xream
3e30a35bc4 feat: 脚本操作支持节点快捷脚本. 语法与 Shadowrocket 脚本类似
```
$server.name = '前缀-' + $server.name
$server.ecn = true
$server['test-url'] = 'http://1.0.0.1/generate_204'
```
2023-11-14 17:07:01 +08:00
xream
3e5f3eafdd feat: 脚本操作 ProxyUtils 增加了 isIPv4, isIPv6, isIP 方法 2023-11-14 00:57:52 +08:00
xream
9c78b87834 feat: 兼容某些格式的 Trojan URI(首个 # 之后的字符串均视为节点名称) 2023-11-13 18:49:50 +08:00
xream
ea88cc1794 feat: 支持 QX tls-pubkey-sha256 tls-alpn tls-no-session-ticket tls-no-session-reuse 字段 2023-11-13 14:34:36 +08:00
xream
c8b197c0a1 feat: 支持 QX server_check_url 和 Stash benchmark-url 字段 2023-11-13 14:06:44 +08:00
xream
69fab11344 feat: 兼容传输层 headers 中小写的 host 字段 2023-11-08 09:54:53 +08:00
xream
955c74a77d feat: 兼容某些机场订阅 hysteria 节点中的 auth_str 字段(将会在未来某个时候删除 但是有的机场不规范) 2023-11-08 07:44:12 +08:00
xream
6d51774d36 feat: 为脚本操作增加流量信息操作 flowUtils 2023-11-07 16:42:28 +08:00
xream
a91f9d7728 feat: 兼容另一种 username password 格式 2023-10-31 21:59:34 +08:00
xream
df366cf8eb doc: pnpm 2023-10-30 01:44:18 +08:00
xream
c547f34f57 feat: 支持 Loon Hysteria2(ecn, 流量控制参数未知) 2023-10-29 23:04:56 +08:00
xream
a4ff32331a fix: 简单限制一下订阅/组合订阅的名称(不可包含 "/" ) 2023-10-29 22:38:20 +08:00
xream
14648d6401 feat: 订阅链接支持参数(例: https://foo.com#noCache 关闭缓存) 2023-10-26 11:26:31 +08:00
Johnson
6216217286 feat: add qx sync task 2023-10-25 10:44:22 -05:00
xream
6a66475154 feat: Surge 支持 block-quic 参数 2023-10-24 09:31:48 +08:00
xream
adc95bba60 feat: Surge 全协议支持 Shadow TLS, 部分协议增加 TLS Fingerprint 支持 2023-10-24 07:26:34 +08:00
xream
fab3644b86 feat: 支持 Shadowrocket Hysteria2 URI 格式输入 2023-10-18 23:48:45 +08:00
xream
c21ce0be16 fix: Surge Hysteria2 输出重复添加 tfo 的 bug 2023-10-18 05:09:10 +08:00
xream
fa65eb1850 feat: Base64 订阅关键词增加 VLESS 和 Hysteria2 2023-10-16 22:11:26 +08:00
xream
79c9b89c5f feat: Stash Hysteria2 2023-10-15 15:55:19 +08:00
xream
fca508ba8a feat: Surge Hysteria2 输入/输出增加 ecn 参数 2023-10-12 22:15:10 +08:00
xream
21b531a44d feat: Surge TUIC 输入/输出增加 ecn 参数 2023-10-12 22:09:58 +08:00
xream
4e5b46a43d feat: Surge Hysteria2 输出增加 download-bandwidth(若有值但解析失败则为 0) 2023-10-12 00:39:10 +08:00
xream
bf81ca4acf feat: 输入增加 Hysteria2 URI 支持; Surge Hysteria2 输出增加 fingerprint 2023-10-11 23:35:42 +08:00
xream
e7c0b23222 feat: Surge 输入输出增加 Hysteria2 2023-10-09 23:42:22 +08:00
xream
40fb0fd7f3 feat: 兼容更多 VMess URI 格式 2023-10-09 17:36:11 +08:00
xream
b061fca356 feat: Surge Snell 输入支持解析 reuse 字段 2023-10-08 16:42:35 +08:00
xream
d3c6c99b0a feat: proxy 增加 subName(订阅名), collectionName(组合订阅名); 脚本增加第三个参数 env(包含订阅/组合订阅/环境/版本等信息) 2023-10-08 13:21:22 +08:00
xream
3fbc280e28 [+] 重复节点通知中增加订阅名称和重复节点名称 2023-10-02 16:21:08 +08:00
xream
9e3e4c6e46 [+] Surge 输出支持 underlying-proxy; VMess/Vless URI 支持 gRPC mode(默认为 gun) 2023-10-01 22:05:51 +08:00
xream
bc0dd4b175 feat: 支持 hysteria2 2023-09-22 14:43:43 +08:00
xream
7603fac036 fix: 修复部分环境无 clearTimeout 的问题 2023-09-18 20:09:03 +08:00
K
9acc161684 fix @ 2023-09-15 18:52:21 +08:00
xream
024582a99d fix: 修复 sub-store-0 路由 2023-09-15 18:42:53 +08:00
xream
1d31a80b9f fix: 修复文件和模块命名/重复添加的逻辑 2023-09-15 10:08:36 +08:00
xream
b2d0276836 feat: 文件和模块接口获取原始内容; 文件列表不返回原始内容 2023-09-14 18:51:23 +08:00
xream
3211fbf357 feat: 模块接口; 脚本参数支持 JSON 和 URL编码 2023-09-14 17:34:24 +08:00
xream
33a17c2d66 feat: 实验性支持本地脚本复用 2023-09-14 08:56:33 +08:00
xream
2c89a0ddbd feat: 支持 Clash VLESS 输出(与 Clash.Meta 的区别为: 无 XTLS 2023-09-11 02:35:36 +08:00
xream
939022e5a3 fix: 修复了 Clash.Meta 输出 VLESS 时 内部字段 sni 未作用到 servername 的问题 2023-09-09 14:03:40 +08:00
xream
59bca5670d fix: 预览时脚本下载报错导致的崩溃 2023-09-07 23:17:36 +08:00
Peng-YM
07b38cf971 release: backend version 2.14.49 2023-09-04 23:16:52 +08:00
Peng-YM
28186f596f feat: added the ability to change the base path for the data files
before starting node, use the command `export SUB_STORE_DATA_BASE_PATH="<YOUR_PATH>"`
2023-09-04 23:16:13 +08:00
xream
ea31b1d0ec fix: 排序接口修正为使用 name 排序 2023-09-04 21:31:55 +08:00
xream
77191f9caa feat: 为 Gist 备份还原增加基础校验逻辑 2023-09-04 17:06:37 +08:00
xream
07a270963e feat: 支持 Surge WireGuard 的输入和输出(由于 Surge 配置的特殊性, 仅支持 同进同出) 支持的字段格式: HK WARP = wireguard, section-name=Cloudflare, no-error-alert=true, underlying-proxy=HK, test-url=http://1.0.0.1/generate_204, ip-version=v4-only 2023-09-01 02:44:43 +08:00
xream
f1e1d50a2c fix: 暂时将后端上传限制放宽到 1mb 2023-09-01 02:07:24 +08:00
Peng-YM
a65cd1f1c9 Update README.md 2023-08-31 16:41:50 +08:00
xream
5b0e2e1ef2 docs: config 2023-08-30 22:52:05 +08:00
xream
b29266ac57 chore: sync to GitLab 2023-08-30 16:19:17 +08:00
xream
336ddd6706 chore: 调整部分日志 2023-08-29 13:52:02 +08:00
xream
25ec219659 docs: 更新 Surge SSR 协议说明; 模块说明页增加更新说明的链接 2023-08-29 01:59:01 +08:00
xream
41d24b131a feat: 根据 UA 识别 macOS 版 Surge(也可指定参数 target=SurgeMac) 并支持 SSR 协议(节点字段 exec 为 ssr-local 路径, 默认 /usr/local/bin/ssr-local; 端口从 10000 开始递增, 暂不支持配置) 2023-08-29 01:46:49 +08:00
xream
ba78982f41 feat: 统一将 VMess 和 VLESS 的 http 传输层的 path 和 Host 处理为数组 2023-08-28 23:47:10 +08:00
xream
26193301b3 fix: 仅在 VMess/VLESS 且传输层为 http 时设置 Host 为数组 2023-08-28 23:38:03 +08:00
xream
0141e48200 feat: 增加还原备份完成的日志输出 2023-08-28 23:29:53 +08:00
xream
5ae6687b1f chore: changelog 2023-08-28 23:15:48 +08:00
xream
ad6d1ab441 fix: build dist 2023-08-28 20:41:40 +08:00
xream
f5aea14904 fix: 非 tls, 有 ws/http 传输层, 使用域名的节点, 将设置传输层 Host 防止之后域名解析后丢失域名(不覆盖现有的 Host) 2023-08-28 20:34:22 +08:00
Peng-YM
4f2c95f6ab chore: remove unnecessary files 2023-08-28 20:07:32 +08:00
Peng-YM
be1e2c9979 chore: removed tracking dist files from git 2023-08-28 20:06:50 +08:00
Peng-YM
347b19e30d remove: deprecated artifact 2023-08-28 20:01:05 +08:00
xream
f94a12bf6e feat: bundle 2023-08-28 19:01:34 +08:00
xream
bd510a9aa9 fix: sync 2023-08-28 18:48:33 +08:00
xream
f02af9d643 fix: vless servername 2023-08-28 15:32:08 +08:00
xream
af8e965866 feat: new target platform "Clash.Meta" 2023-08-28 13:10:48 +08:00
xream
4bebcff1d3 feat: 非 tls, 有 ws/http 传输层, 使用域名的节点, 将设置传输层 Host 防止之后域名解析后丢失域名 2023-08-28 00:09:24 +08:00
xream
7b8f6f7e52 feat: 域名解析新增 Tencent, Ali; 脚本下载失败, 脚本操作失败, 脚本过滤失败时都会报错了 2023-08-27 23:17:57 +08:00
xream
49c7107d20 fix: transport headers may have no Host 2023-08-27 18:17:30 +08:00
xream
8bfa4dbbf2 feat: VLESS URI 2023-08-27 00:57:21 +08:00
xream
5e14d05c30 feat: 组合订阅错误信息将包含出现错误的子订阅名称; 获取流量失败时, 不影响节点订阅; 订阅上游无有效节点时将报错 2023-08-26 20:27:12 +08:00
xream
8c5dca71fb feat: Loon WireGuard 2023-08-26 15:00:46 +08:00
xream
4973454f58 feat: wireguard 2023-08-25 22:48:03 +08:00
xream
4c6ba2cdc8 feat: hysteria 2023-08-25 16:19:08 +08:00
Hsiaoyi
9cbbd0e86f Merge pull request #233 from eltociear/master-1
Fix typo in README.md
2023-08-24 21:46:03 +08:00
xream
0320a77451 feat: producers adjustments, VMess URI formats 2023-08-24 21:43:58 +08:00
xream
afb9296158 feat: Added support for VMess URI in other formats and VMess without transport settings 2023-08-24 20:23:48 +08:00
xream
9b0c15ebc2 fix: 兼容 value 为空的 Trojan URI 2023-08-24 11:38:27 +08:00
xream
46738d5947 fix: trojan network tcp 2023-08-24 11:08:43 +08:00
xream
1f505752ae fix: trojan uri and tls 2023-08-24 10:02:03 +08:00
Ikko Eltociear Ashimine
0734a3d563 Fix typo in README.md
Speicial -> Special
2023-08-24 00:46:24 +09:00
xream
497bc264e3 fix: servername/sni priority over wss host 2023-08-22 18:21:34 +08:00
xream
feb207b333 fix: servername/sni priority over wss host 2023-08-22 17:28:39 +08:00
xream
9ac1112b37 fix: VMess URI alterId parseInt 2023-08-22 15:29:55 +08:00
xream
96769598ef fix: QX tls 2023-08-22 00:42:53 +08:00
xream
f8ed6a3342 fix: QX tls 2023-08-22 00:08:53 +08:00
xream
99b19c410d fix: vmess/vless http-opts.path/http-opts.headers.Host must be an array in some clients 2023-08-21 22:16:07 +08:00
xream
9e54507bbb fix: double quotes in Surge vmess ws-headers Host 2023-08-21 21:20:31 +08:00
xream
20afa0ad22 Surge 默认模块不带 ability 参数; 分离出固定带参和不带参的模块 2023-08-20 17:22:51 +08:00
walkxspace
c5b6960b35 Update geo.js (#231) 2023-08-19 11:44:55 +08:00
xream
4dd86cb368 feat: Added replaceArtifact API 2023-08-18 13:48:37 +08:00
xream
4a0319e95f fix: flexible cipher for Loon 2023-08-15 21:22:33 +08:00
xream
090d8a978f feat: Added support for scy of VMESS URI 2023-08-15 18:15:04 +08:00
xream
bc9fae6062 feat: Added support for SNI & allowInsecure of Trojan URI 2023-08-15 17:25:25 +08:00
xream
048344268c feat: Added replaceSubscriptions, replaceCollection API 2023-08-15 15:48:57 +08:00
xream
c5746f6a6b Fixed: fast-open tfo 2023-08-15 14:59:27 +08:00
xream
5cb226da62 feat: Added support for SS URI in other formats 2023-08-15 01:48:54 +08:00
xream
d229047744 Fixed: unsupported cipher for Clash/Stash 2023-08-14 10:04:47 +08:00
Hsiaoyi
cb21a8e6ec Merge pull request #229 from xream/feature/tuic
Adjust the logic for determining the tuic version
2023-08-13 17:03:40 +08:00
xream
537a00e8a9 Adjust the logic for determining the tuic version 2023-08-13 17:00:44 +08:00
Hsiaoyi
b770578cba Merge pull request #228 from xream/feature/tuic
feat: Added support for tuic and some compatibility adjustments
2023-08-13 15:56:52 +08:00
xream
47a95e5a3d feat: Added support for tuic and some compatibility adjustments 2023-08-13 15:54:04 +08:00
Hsiaoyi
e99f13d487 Merge pull request #227 from xream/feature/snell
feat: Added support for producing snell nodes with reuse and optional obfs
2023-07-31 18:44:53 +08:00
xream
fcab8401e0 feat: Added support for producing snell nodes with reuse and optional obfs 2023-07-31 18:41:48 +08:00
Hsiaoyi
431b1a3c8e Merge pull request #226 from Keywos/master
fixed deleted gist
2023-07-31 17:42:49 +08:00
Hsiaoyi
36d46003d6 Fixed: empty uploading files 2023-07-31 17:42:31 +08:00
K
ff71f12996 version 2.14.3 2023-07-31 16:41:22 +08:00
K
f7c08e3a56 fixed deleted gist 2023-07-31 16:38:07 +08:00
K
6eea8bb2d0 Merge branch 'sub-store-org:master' into master 2023-07-31 14:58:54 +08:00
Hsiaoyi
fc90e22a48 Added Surge-Noability.sgmodule 2023-07-28 22:38:36 +08:00
Hsiaoyi
26d47b019b Merge pull request #223 from xream/feature/V2Ray
feat: V2Ray Producer
Fixes #180
2023-07-26 09:55:45 +08:00
xream
8e49a78f45 feat: V2Ray Producer 2023-07-26 09:48:14 +08:00
Hsiaoyi
edee10cee3 Update Surge.sgmodule 2023-07-26 09:03:59 +08:00
K
20d958d74f Update Surge.sgmodule 2023-07-26 01:48:47 +08:00
Hsiaoyi
6427f99545 Update Surge.sgmodule
ability=http-client-policy
2023-07-24 14:39:21 +08:00
Hsiaoyi
7d2ea10206 Merge pull request #219 from Keywos/script-Cache
surge
2023-07-23 18:00:42 +08:00
Hsiaoyi
e862235cb8 Merge pull request #220 from xream/fix/FullConfig
fix: Full Config Preprocessor
2023-07-23 17:42:06 +08:00
xream
38f1728e42 fix: Full Config Preprocessor 2023-07-23 17:38:29 +08:00
K
d963be87f8 [!] Surge 2023-07-23 15:11:32 +08:00
K
390e4540d2 Merge branch 'script-Cache' of https://github.com/Keywos/Sub-Store into script-Cache 2023-07-22 15:24:20 +08:00
K
0bd00406f3 [-] log 2023-07-22 15:24:19 +08:00
Hsiaoyi
b9ce4e8f20 Merge pull request #218 from sub-store-org/dependabot/npm_and_yarn/backend/axios-0.21.2
build(deps-dev): bump axios from 0.20.0 to 0.21.2 in /backend
2023-07-22 14:35:52 +08:00
Hsiaoyi
de15bbf3ea using Node.js v16 2023-07-22 14:34:06 +08:00
dependabot[bot]
5d6bd1415b build(deps-dev): bump axios from 0.20.0 to 0.21.2 in /backend
Bumps [axios](https://github.com/axios/axios) from 0.20.0 to 0.21.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v0.21.2/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.20.0...v0.21.2)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-22 06:17:45 +00:00
Hsiaoyi
6e9c3ead4c Merge pull request #217 from Keywos/script-Cache
[+] version 2.14.0
2023-07-22 14:15:56 +08:00
K
b3ccd5743a Merge branch 'sub-store-org:master' into script-Cache 2023-07-22 14:13:09 +08:00
K
e18c215fe4 [+] version 2023-07-22 14:11:45 +08:00
Hsiaoyi
e4b54b43a1 Merge pull request #216 from Keywos/script-Cache
script-Cache
2023-07-22 13:56:54 +08:00
K
21726bf950 script-Cache 2023-07-22 13:53:47 +08:00
Hsiaoyi
f6ca9af00f fix: tasks cache in Node.js environment (#209) 2023-05-09 17:16:35 +08:00
Hsiaoyi
39b79b6ca4 feat: Added support for producing Surge nodes with test-url (#199) 2023-03-19 18:32:34 +08:00
NobyDa
999271fa9d Improve resource cache key. (#190) 2023-02-08 12:30:26 +08:00
QuentinHsu
5de35c7720 🐞 fix(subscriptions): negative usage flow (#175) 2022-10-25 00:07:23 +08:00
Jasonzza
06d0c14abc fix: sync artifacts issue (#164) 2022-09-11 23:52:51 +08:00
Peng-YM
029900085c fix: cron-sync-artifacts.js path 2022-09-10 11:47:34 +08:00
Peng-YM
cca5c18d9c build: Update config files 2022-09-10 00:48:11 +08:00
Peng-YM
3de8a1d5be build: Bump version 2022-09-09 23:25:25 +08:00
Peng-YM
94fbe535b3 build: Update GitHub action 2022-09-09 23:15:28 +08:00
Peng-YM
6ee6a9b5e2 build: Split sub-store.min.js for better performance on iOS devices 2022-09-09 23:11:13 +08:00
Peng-YM
1c29771de9 build: Build minimized JavaScripts files 2022-09-09 21:07:28 +08:00
Peng-YM
5845ea1a66 fix (ip-flag.js): Use batch processing to reduce memory footprint 2022-09-09 21:05:05 +08:00
Peng-YM
eb32a09def fix (core): Fix QX vmess-http producer
closes #162
2022-09-09 21:04:08 +08:00
Peng-YM
c60aec603f fix (core): Proxy port smaller that 80 is now allowed
close #167
2022-09-09 21:03:01 +08:00
Peng-YM
0072739f01 refactor (core): Reworked Trojan URI parser to support IPV6 nodes 2022-08-13 12:57:49 +08:00
Peng-YM
1bd2f5f643 fix: xchacha20-ietf-poly1305 cipher is now supported
closes #151
2022-08-13 11:22:23 +08:00
Peng-YM
0a31f5d5d7 fix: ip-flag does not work on Loon
The node parameter should not include proxy name
2022-08-12 00:00:11 +08:00
Peng-YM
6484edb5db feat: Add ip-flag script 2022-08-11 22:58:48 +08:00
Peng-YM
c073870f24 perf: Add support for sending http requests using specific nodes
Only supported on Loon & Surge
2022-08-11 01:07:16 +08:00
Peng-YM
e93332048e fix: Occasional crashed when performing migration 2022-08-10 00:28:46 +08:00
Peng-YM
4dcb9ae79e feat: Include cron-sync-artifact in Stash configuration 2022-08-09 22:42:13 +08:00
Peng-YM
6ea3575101 fix: Rename subscription and collection will break artifacts 2022-08-09 22:28:45 +08:00
Peng-YM
26820ea892 fix: proxy duplicate issue 2022-08-04 20:40:40 +08:00
Peng-YM
f64e8ecfe4 fix: Loon shadowsocksr obfs-param incorrect 2022-08-02 09:23:34 +08:00
Peng-YM
77604a3544 perf (core): DomainResolveProcessor now cache results 2022-07-19 21:29:06 +08:00
Peng-YM
8f5d027080 fix (cron-sync-artifact): sync timeout due to missing await 2022-07-19 20:55:18 +08:00
Peng-YM
5244de4dba fix (config): Sub-Store url is incorrect in Surge.sgmodule 2022-07-13 15:14:11 +08:00
Peng-YM
4121ec2970 chore (gh-action): Trigger workflow run only if package.json have been modified 2022-07-13 15:10:30 +08:00
Peng-YM
a949c49192 perf: Use the latest release scripts in configs 2022-07-13 14:53:44 +08:00
Peng-YM
9fba3506f0 chore: Update GitHub action to automatically release new version 2022-07-13 14:41:34 +08:00
Peng-YM
9677c7ebbd fix (product): cron-sync-artifacts not working 2022-07-13 14:03:43 +08:00
github-actions@github.com
03149dcadb Release 2022-07-13 02:32:52 +00:00
Peng-YM
1bfa6ebb2c fix (core): trojan sni is lost when parsing Clash nodes
#build
2022-07-13 10:31:08 +08:00
Peng-YM
4cd525824e fix (restful): Add query field in IP-API 2022-07-12 23:15:29 +08:00
Peng-YM
813f2b839d perf: Add switch for cron-sync-artifacts 2022-07-12 18:56:24 +08:00
Peng-YM
3d58534dfe fix (restful): Intercept IP-API query failed message when querying node info 2022-07-12 18:34:31 +08:00
Peng-YM
f7333c0617 perf: Include cron script for syncing artifacts in configurations 2022-07-12 18:15:05 +08:00
Peng-YM
f7d4b66db6 feat (restful): Add /api/utils/node-info for querying proxy node info 2022-07-12 15:09:44 +08:00
Peng-YM
8c844eb23a chore: Use pnpm in GitHub action 2022-07-11 23:38:57 +08:00
Peng-YM
de892aaa2b fix: Vmess auto/none cipher parsed incorrectly 2022-07-11 23:33:06 +08:00
Peng-YM
b143476e71 fix (core): Clash Vmess servername does parse correctly 2022-07-11 23:20:21 +08:00
Peng-YM
2c4e47166d feat (restful): Add /api/utils/refresh
The API call does the following:
- Fetch GitHub avatar and update artifact store url
- Revoke all cached resources
2022-07-11 23:06:49 +08:00
Peng-YM
6881148021 perf: Use cache for all remote resources 2022-07-11 20:46:16 +08:00
Peng-YM
848491c0f8 feat: Add support for targetPlatform ShadowRocket 2022-07-11 18:23:56 +08:00
Peng-YM
49c8f2e521 perf: Modify revert.js to completely clear sub-store cache 2022-07-11 18:22:42 +08:00
Peng-YM
2aa3cbd9d2 fix: Backend crash when operator argument is undefined 2022-07-08 16:28:47 +08:00
Peng-YM
d7b97f4595 fix: Error codes are not shown in the response 2022-07-08 11:00:26 +08:00
Peng-YM
8aed0665e3 fix: Restrict artifact name in order to fix a Gist API bug 2022-07-08 10:47:38 +08:00
Peng-YM
b1d811e4c5 fix: Sync time is updated even if upload failed 2022-07-08 10:26:05 +08:00
Peng-YM
2ee515dc23 fix: Full config preprocessor bug 2022-07-07 23:24:01 +08:00
Peng-YM
07cae95ff4 feat: Add artifactStore URL in settings 2022-07-07 22:40:46 +08:00
Peng-YM
240156daef refactor: Revise sync artifacts APIs
- /api/sync/artifacts: sync all artifacts
- /api/sync/artifact/:name: sync a specific artifact
2022-07-07 14:47:09 +08:00
Peng-YM
a420c126c2 refactor: Refactor the arguments of the Flag Operator 2022-07-06 18:12:36 +08:00
Peng-YM
acd0a62496 fix: Set default subscription source to remote when migrating data 2022-07-06 18:12:36 +08:00
Peng-YM
ffd219abfe refactor: Add new frontend as submodule 2022-07-06 18:12:36 +08:00
Peng-YM
bc58419bb1 feat: Added Conditional Filter 2022-07-06 18:12:36 +08:00
Peng-YM
a28c001a5a fix: Useless filter bug 2022-07-06 18:12:36 +08:00
Peng-YM
310d797abf fix: Perform migration after restoring data from gist 2022-07-06 18:12:36 +08:00
Peng-YM
41f84ddb85 chore: nodemon now ignore the changes of sub-store.json 2022-07-06 18:12:36 +08:00
Peng-YM
00c28c6cb8 refactor: Standardize error handling for RESTful APIs 2022-07-06 18:12:36 +08:00
Peng-YM
0e089ef8ce feat: Fetch avatar from GitHub automatically 2022-07-06 18:12:36 +08:00
Peng-YM
7468089f04 fix: QuickSettingOperator does not respect default settings 2022-07-06 18:12:36 +08:00
Peng-YM
b2a797cd25 fix: Useless filters are not migrated 2022-07-06 18:12:36 +08:00
Peng-YM
8e2cd5bb28 fix: Database updateByName not working 2022-07-06 18:12:36 +08:00
Peng-YM
9e33160e37 fix: Process ids are now preserved in migration 2022-07-06 18:12:36 +08:00
Peng-YM
ce51674d6b feat: Add sorting API
Added POST /api/sort/subs, /api/sort/collections, /api/sort/artifacts for sorting subs, collections, and artifacts.
2022-07-06 18:12:36 +08:00
Peng-YM
84b4dba425 refactor: Migrate to API v2
- Added auto schema migration
- Refactored /api/subs, /api/collections, /api/artifacts. Now these APIs will return array instead of object. This enables sorting items in the future.
2022-07-06 18:12:36 +08:00
Peng-YM
b1151859b3 chore: Migrate from npm to pnpm for better performance 2022-07-06 18:12:36 +08:00
Peng-YM
fdbcce8932 doc: Change LICENSE to AGPLv3 2022-07-06 18:11:49 +08:00
github-actions@github.com
297fb1b32a Build sub-store.min.js 2022-07-04 03:47:46 +00:00
Virgil Clyne
0f6a3a8f5f fix (geo.js): adjust the China flag order (#138)
#build
2022-07-04 11:45:47 +08:00
Peng-YM
7834fd6056 fix: Failed to parse Surge/QX nodes with tls fingerprint 2022-07-02 22:53:09 +08:00
Peng-YM
606cfed8da feat (backend): Add preview API
- POST /api/preview/sub for previewing subs
- POST /api/preview/collection for previewing collection
2022-07-01 17:36:48 +08:00
Peng-YM
bb87a6c41e refactor: Download API
Now the download APIs are moved into a new file
2022-06-30 12:19:43 +08:00
Peng-YM
9653b09844 fix: Backend crashes when invalid url is used
Improve error handling for flow info API
2022-06-29 14:07:22 +08:00
Peng-YM
ffc7c07469 perf: Improve /utils/env API
- Add version number
- Add support for Stash & ShadowRocket backend
2022-06-29 11:25:57 +08:00
Peng-YM
7e1139528e feat (backend): Add backend API to get flow info for subscriptions 2022-06-29 00:12:31 +08:00
Peng-YM
79a8956f92 docs: Add version number into products 2022-06-28 13:10:52 +08:00
Peng-YM
03d4d6e918 fix(geo.js): ISO Code at Start/End of String (#137) 2022-06-28 12:52:52 +08:00
github-actions@github.com
f1c8d85ddc fix(geo.js): separate ISO Code from Country Name (#133)
#build
Build sub-store.min.js
2022-06-28 12:44:24 +08:00
Jacob Lee
9202437f05 feat: add preview specific platform feature (#131) 2022-06-25 13:17:12 +08:00
Jacob Lee
013b2173fd Fix: fix the issue that speed dial auto-adaptation theme does not work and is overwritten (#130) 2022-06-24 22:15:06 +08:00
Peng-YM
305ae480bc fix (proxy-parser): ws-headers with multiple keys are not correctly handled when parsing Surge proxies
closes #120
2022-06-24 18:01:31 +08:00
Jacob Lee
730986fed4 feat (UI/sub-editor): Add speed dial for quick saving and adding operations (#129) 2022-06-24 17:22:59 +08:00
QuentinHsu
a1df2de7e2 perf (UI): Use display name in collections
closes #127
2022-06-24 14:41:37 +08:00
Peng-YM
64a453c44a fix (proxy-producer): ws-headers keys are lost when producing Surge nodes
closes #119
2022-06-23 17:59:34 +08:00
Peng-YM
4095606bdf perf: Allow using full configuration as subscription source
Supported configuration formats: Loon, QX, and Surge

closes #121
2022-06-23 15:31:54 +08:00
Hsiaoyi Hsu
f93398b701 feat: Added support for display name 2022-06-22 23:08:15 +08:00
github-actions@github.com
ed86a568ec Build sub-store.min.js 2022-06-22 14:31:15 +00:00
Virgil Clyne
237ecd497e feat: Update getFlag() #build
Update geo.js
2022-06-22 22:29:56 +08:00
Peng-YM
6610f835ba chore: Add dev branch to GitHub action 2022-06-22 22:25:15 +08:00
Peng-YM
ae518a9874 docs: replaced the SIP002 link in commet 2022-06-22 19:25:19 +08:00
Peng-YM
7bd63545cc Update README.md 2022-06-21 22:56:38 +08:00
github-actions@github.com
533b477314 Build sub-store.min.js 2022-06-21 09:04:24 +00:00
Peng-YM
50a3eb5592 fix: unable to delete subscription with trailing spaces #build 2022-06-21 17:02:57 +08:00
Peng-YM
89164c3e7a feat: Added mocha test to GitHub action 2022-06-21 17:01:31 +08:00
Peng-YM
8e0a942a6b fix: vmess aead 2022-06-21 17:00:50 +08:00
Peng-YM
49ed9f1ff3 feat: Added cron script for syncing all artifacts to gist 2022-06-21 16:01:02 +08:00
Peng-YM
94262e162a Added github workflow for building dist files 2022-06-21 15:48:55 +08:00
Peng-YM
05b03b5337 Fix QX SSR issue 2022-06-21 09:24:37 +08:00
Peng-YM
bca4f06fcd feat: Reworked Loon producer 2022-06-20 22:58:27 +08:00
Peng-YM
409c4cbdd9 feat: Added support for parsing Loon vless, Surge socks5 and snell proxies 2022-06-20 22:10:29 +08:00
Peng-YM
d602dbeb7c feat: Added dedicated Stash producer 2022-06-20 21:51:13 +08:00
Peng-YM
bea2c64e40 Fixed min.js not found issue 2022-06-20 20:38:54 +08:00
Peng-YM
99946a8795 Fix trojan URI issues 2022-06-20 19:32:57 +08:00
Peng-YM
e401a31b6c Various bug fixes for URI format parsing 2022-06-20 17:01:09 +08:00
QuentinHsu
4dde556daf feat: add version info in console.log (#117) 2022-06-20 14:14:03 +08:00
Peng-YM
69ccc6bd08 Fixed QX trojan wss issue 2022-06-20 11:11:53 +08:00
Peng-YM
4945826f2d Now an error will be thrown if a required field of a proxy is missing 2022-06-20 01:33:24 +08:00
Peng-YM
83504d42c4 Fixed QX tls issue 2022-06-19 01:14:38 +08:00
Hsiaoyi Hsu
340e3746fe Removed Surge vmess encrypt-method (#116) 2022-06-18 10:15:02 +08:00
Peng-YM
467c03c9d3 Minor bug fix 2022-06-17 22:39:41 +08:00
Peng-YM
8fe645ac3f Set vmess alterId to 0 if not specified 2022-06-17 22:19:02 +08:00
Peng-YM
c12ff37f68 Reworked Surge producer 2022-06-17 22:12:01 +08:00
Peng-YM
0da236fbb1 Minor bug fixes 2022-06-17 20:00:26 +08:00
Peng-YM
1b526414cd Fixed QX vmess method auto 2022-06-16 18:47:40 +08:00
Peng-YM
4b73a1494b Reworked QX producer 2022-06-16 18:35:24 +08:00
Peng-YM
1e22243808 Minor bug fix for chacha20-ietf-poly1305 2022-06-16 16:23:54 +08:00
Peng-YM
ea00b2458c Refactored proxy producers structure 2022-06-16 14:37:51 +08:00
Peng-YM
8fe2280232 Use babel relative import path 2022-06-16 14:24:32 +08:00
Peng-YM
6bfe2700cf Refactored proxy-utils structure 2022-06-16 12:58:24 +08:00
Peng-YM
f91f34d644 Reintroduce storage management API, closes #113 2022-06-16 11:28:15 +08:00
Peng-YM
56ada242d2 Minor refactor 2022-06-16 11:19:07 +08:00
Peng-YM
f76096f244 Removed test.js 2022-06-16 00:55:03 +08:00
Peng-YM
275097f58b Sub-Store 2.0 major release
- Used Peggy.js to replace the original parsers for Loon, QX and Surge.
- Added support for vmess + ws, vmess + http, snell, socks 5 parsing.
- Added various test cases for parsing.
2022-06-16 00:15:03 +08:00
Peng-YM
98bb91babd Hot fix for Surge HTTP 2.0 feature 2022-06-15 23:36:23 +08:00
Peng-YM
ec7c3d8c26 Updated revert.js 2022-06-15 16:45:17 +08:00
Peng-YM
051a01efb0 Hot fix for Surge HTTP 2.0 feature 2022-06-14 23:52:08 +08:00
Peng-YM
97de476ae3 Added global variables for Loon to ScriptOperator and ScriptFilter 2022-06-13 14:21:07 +08:00
NobyDa
9e05c8d7f0 Fix Surge TCP connection shortage. (#110) 2022-06-10 19:29:43 +08:00
Peng-YM
1c5903cda1 Fixed cloud artifact encode issue 2022-06-09 15:53:07 +08:00
Peng-YM
9e50f1b75a Fixed a bug when domain resolve failed, proxy server is missing 2022-06-07 16:56:52 +08:00
Peng-YM
c46c6332e0 Added sans-serif fonts 2022-06-07 16:45:23 +08:00
Peng-YM
7aa3518ce5 Fixed emoji handling in fancy-characters.js 2022-06-07 16:37:10 +08:00
Peng-YM
82ad8a5df8 Added ResolveDomainOperator 2022-06-07 15:55:34 +08:00
Peng-YM
71aaa824ec Update geo.js (#106) 2022-06-04 13:40:55 +08:00
Peng-YM
90e611ceef Refactored ProxyUtils and RuleUtils 2022-06-03 22:51:39 +08:00
Peng-YM
99cc8ce295 Added fancy-characters.js 2022-06-03 20:43:31 +08:00
Peng-YM
1678d2cb65 Replaced eval with Function for security 2022-06-03 20:36:06 +08:00
Peng-YM
cc628788fc Now the "Script Operator" and "Script Filter" support async functions 2022-06-02 23:58:52 +08:00
Peng-YM
072398938f Updated QX configuration 2022-06-02 13:01:58 +08:00
Peng-YM
e28e440dc5 Added support for non-ascii characters in subscriptions, collections and artifacts 2022-05-30 13:47:59 +08:00
Peng-YM
4dbafb77c5 Added deprecation notification for Loon resource parser 2022-05-26 13:49:30 +08:00
Peng-YM
8dbeb8eff3 Fixed Node.js cannot start issue 2022-05-26 11:17:36 +08:00
Peng-YM
a9afae92c5 Fixed Surge https proxy issue 2022-05-25 23:02:06 +08:00
Peng-YM
51db70a1c3 Fixed local subscription not working in collections 2022-05-25 22:33:54 +08:00
Peng-YM
1ac077101d Minor fixes 2022-05-25 18:34:02 +08:00
Peng-YM
e5c256803a Refactored Loon resource parser 2022-05-25 18:17:15 +08:00
Peng-YM
7ed08ef451 Added support for local subscription 2022-05-25 17:32:05 +08:00
Peng-YM
5eceb8d72b Fixed express port issue 2022-05-25 14:42:26 +08:00
Peng-YM
6169ff5255 Refine project structure 2022-05-25 14:33:46 +08:00
Peng-YM
bbe29a7fac Refactored OpenAPI 2022-05-25 11:27:53 +08:00
Peng-YM
0e46d8e14d Minor changes 2022-05-25 11:00:00 +08:00
Peng-YM
c389aa19a2 Updated scripts 2022-05-25 10:33:54 +08:00
Peng-YM
b56f17606e Fixed ESLint issues 2022-05-24 22:24:31 +08:00
Peng-YM
3b70cc0bd8 Added ESLint pipeline into Gulp 2022-05-24 22:19:03 +08:00
Peng-YM
6b22ee7c5d Add nodemon for hot-reloading 2022-05-24 21:35:23 +08:00
Peng-YM
e228416718 Bump to ES6 2022-05-24 21:20:26 +08:00
Peng-YM
46e37df110 Auto darkmode 2022-05-24 17:05:56 +08:00
Peng-YM
975b53db41 Add vmess ws obfs host script 2022-05-24 12:25:14 +08:00
Peng-YM
47451c2df7 Fixed collection ordering is not preserved 2022-05-24 11:31:54 +08:00
Peng-YM
bd58aaa2a4 Fixed UA not working 2022-05-24 10:24:54 +08:00
Peng-YM
52fe634b60 Update README.md 2022-05-23 18:47:34 +08:00
Peng-YM
9216f5c256 Modularized Sub-Store 2022-05-23 18:33:48 +08:00
Peng-YM
3caf743b09 Removed airports configs 2022-05-23 12:24:12 +08:00
qwerzl
7dd8c25663 把澳门加回来 (#96) 2022-05-20 15:30:10 +08:00
qwerzl
65bfcc8a69 国旗列表:添加了一些城市及其英文名 (#95) 2022-05-20 12:15:02 +08:00
Peng-YM
2f183b5644 Merge pull request #93 from qwerzl/master 2022-05-20 08:14:25 +08:00
qwerzl
62b12a0ff1 Added “AE”, ”CA” for Canada and UAE flags 2022-05-20 07:36:39 +08:00
qwerzl
44a4d6a415 Added “AE”, ”CA” for Canada and UAE flags 2022-05-19 23:38:44 +08:00
Peng-YM
8ab2dd17b0 Add logging for remote script 2022-05-18 19:20:13 +08:00
Peng-YM
6bb837f74f Added $argument for "ScriptFilter" and "ScriptOperator", closes #90
Example: https://raw.githubusercontent.com/Peng-YM/Sub-Store/master/scripts/tls-fingerprint.js#fingerprint=67:1B:C8:F2:D4:20:EE:A7:EE:60:DA:BB:A3:F9:A4:D7:C8:29:0F:3E:2F:75:B6:A9:46:88:48:7D:D3:97:7E:98
2022-05-18 13:41:12 +08:00
Peng-YM
48d533af83 Fixed cronSyncArtifact failed issue 2022-05-18 11:06:40 +08:00
Peng-YM
5954ff0a58 Reformat code 2022-05-17 10:24:05 +08:00
Peng-YM
261214aa61 Merge pull request #88 from Marsoit/patch-1 2022-05-16 16:27:13 +08:00
Jupiter
52d73eefc5 Update sub-store.js 2022-05-16 16:16:17 +08:00
Peng-YM
2385027624 Fixed cache bug 2022-05-14 14:37:50 +08:00
Peng-YM
9b1d3d63dd Fixed cronSyncArtifacts error 2022-05-09 21:20:23 +08:00
Peng-YM
93a95b8649 Merge pull request #85 from xaver985/master 2022-05-09 15:11:48 +08:00
Peng-YM
1e1ffd1fca Update Loon.plugin 2022-05-09 11:16:55 +08:00
Xaver Wang
7fee2d50c7 add flags 2022-05-09 02:47:23 +00:00
Xaver Wang
9b3e56079b Update sub-store.js 2022-05-09 10:22:27 +08:00
Peng-YM
6910c7e6e4 Update Loon.plugin 2022-05-05 10:57:56 +08:00
Peng-YM
ef5866d93d Merge pull request #83 from JOJOforshaun/patch-1 2022-05-05 08:54:06 +08:00
JOJOforshaun
76e3e77350 Update README.md
添加小火箭配置说明。
2022-05-05 08:34:20 +08:00
Peng-YM
5035712261 Added support for ShadowRocket, closes #82 2022-05-02 11:07:55 +08:00
Peng-YM
a242fc19df Use cache in cronSyncArtifact to avoid downloading subscription multiple times 2022-05-02 11:07:55 +08:00
Peng-YM
7b68f9fa85 Improve the performance of cronSyncArtifact 2022-04-30 11:29:13 +08:00
Peng-YM
4dc40e92ae Forward subscription-userinfo from the first subscription in a collection 2022-04-28 17:03:01 +08:00
Peng-YM
8b1928e2da Forward subscription-user-info header for Stash 2022-04-28 16:19:53 +08:00
Peng-YM
063cbee198 Fixed targetPlatform parameter not working on collections
Bug fixed
2022-04-18 16:13:37 +08:00
Peng-YM
3ce237d722 Updated tls-fingerprint.js using the new targetPlatform parameter 2022-04-17 23:34:26 +08:00
Peng-YM
f7547bf719 Added an additional parameter targetPlatform for Script Operator 2022-04-17 23:34:26 +08:00
Peng-YM
9f2131551f Update README.md 2022-04-01 20:04:33 +08:00
Peng-YM
892df888cf Depreciated: removed cron-sync-artifacts.js
Synchronizing artifacts through cron script  is not longer supported, please use ShortCut app instead, see #46.
2022-04-01 20:02:07 +08:00
Peng-YM
5a8fb4747d Merge pull request #77 from dompling/master 2022-04-01 19:58:11 +08:00
ShellManager
d65f418e5a 1.修复 mian.js App.vue 引入顺序,导致打包样式错乱问题
2.修复在本地运行或打包时出现 sass 警告
3. 注释了 app.scss 435 行的样式导致按钮背景色显示 #999
2022-03-31 16:14:20 +08:00
Peng-YM
2328b5ac31 Added an example of tls fingerprint configuration 2022-03-29 22:29:03 +08:00
Peng-YM
694a932c57 Fixes tfo issues 2022-03-29 15:30:18 +08:00
Peng-YM
f4ff4d5f97 Added UDP relay support for the Trojan protocol on Surge 2022-03-26 21:49:29 +08:00
Peng-YM
0a96cb9df1 Bug fixes
1. 当 VMess 的 alterId 为 0 时,AEAD 会自动开启。
2. 更新了 Clash 的 VMess Websocket 参数写法,旧版本的写法(如 ws-path, ws-headers 等)已不被支持。
2022-03-25 22:54:42 +08:00
Peng-YM
991bedd663 Add UA auto detection for Stash iOS 2022-03-23 17:36:57 +08:00
Peng-YM
638f4ae8d9 Update README.md 2022-03-22 16:00:07 +08:00
Peng-YM
b034508a86 更新配置文档 2022-03-22 15:58:51 +08:00
Peng-YM
094650dddd Merge pull request #76 from StashNetworks/master
add Stash for iOS
2022-03-22 15:57:57 +08:00
dev
9c60e73531 add Stash for iOS 2022-03-21 22:47:42 +08:00
Peng-YM
093102e791 Add support for Loon UDP relay (SS/SSR/Trojan) 2022-03-11 23:05:20 +08:00
Peng-YM
265a88fc5f Added support for Vmess AEAD (including Loon/QX/Surge), closes 70 2022-03-11 22:00:41 +08:00
Peng-YM
a981763982 Added duplicate alert for collection, closes #74 2022-03-11 21:08:43 +08:00
Peng-YM
2b419ee8e4 Update README.md 2022-01-12 10:20:39 +08:00
Peng-YM
f798bd3aa2 Minified 2021-12-22 18:28:54 +08:00
Peng-YM
090b1cd557 使用 js-yaml 解析 Clash 配置以提升兼容性 2021-12-22 18:23:31 +08:00
Peng-YM
4d1c9a49ac Merge pull request #61 from dompling/master
更新 sub-store.js 兼容 node 服务端
2021-10-24 14:26:38 +08:00
Peng-YM
53b8297e24 Merge branch 'master' into master 2021-10-24 14:26:29 +08:00
Peng-YM
697d9ded8e 新增国旗 (#58) 2021-10-24 14:22:13 +08:00
KotaHv
b24db4a907 修复Loon http https生成相反的问题 (#62) 2021-10-23 21:19:27 +08:00
dompling
6140134c03 nginx 2021-10-19 15:23:31 +08:00
dompling
52ae93dea9 sub-store 2021-10-18 14:40:40 +08:00
dompling
116bdb6354 nginx 服务器配置 2021-10-18 09:29:22 +08:00
dompling
dbe107681d 更新 sub-store.js 兼容 node 服务端 2021-10-18 09:17:48 +08:00
Xaver Wang
1942f6bad8 新增奇奇怪怪国家国旗 2021-10-11 21:47:41 +08:00
Xaver Wang
bfce88ea7a Merge ; commit '638b510c7a812c3d8a79d8295a14c706b7d0d3b2' 2021-10-11 21:36:51 +08:00
Xaver Wang
9ded46c655 Merge branch 'master' of disabled:git@github.com:Peng-YM/Sub-Store.git 2021-10-11 21:36:15 +08:00
Xaver Wang
638b510c7a 微调国旗 (#57) 2021-10-07 10:54:51 +08:00
Xaver Wang
4eadff9e14 update 2021-10-07 09:55:33 +08:00
Xaver Wang
fa30c487ab Merge ; commit '5b1e24a4afdc1ca8d06293c172f7130a1c91a1fc'
Conflicts:
	backend/sub-store.min.js
2021-10-07 09:52:22 +08:00
Peng-YM
5b1e24a4af Added Minified File 2021-09-15 22:37:38 +08:00
Skyxim
6cedde4c4e 订阅新增 User-Agent 选项,允许自定义 UA,默认使用 QuantumultX UA 以获取流量信息 2021-09-15 22:35:00 +08:00
Xaver Wang
bff36d6f68 添加几个国旗 (#54)
Many thanks for @xaver985
2021-09-14 16:58:44 +08:00
Xaver Wang
841ec8ae1b fix 2021-09-14 16:53:04 +08:00
Xaver Wang
ad98661de6 update 2021-09-14 00:53:48 +08:00
Xaver Wang
742ddaf0a1 update 2021-09-14 00:51:16 +08:00
Xaver Wang
f65d27fe44 update 2021-09-14 00:46:55 +08:00
Xaver Wang
8fed0d3b1e update 2021-09-14 00:44:58 +08:00
Xaver Wang
e189e796c9 修复Trojan一处解析错误 2021-09-14 00:42:29 +08:00
Xaver Wang
9129c4f267 Loon.plugin 2021-09-14 00:38:53 +08:00
Peng-YM
0fce1a76e5 Add minified file 2021-09-09 18:35:43 +08:00
Skyxim
a9d8572060 添加从Torjan Uri中获取sni值 (#52)
* 添加从Torjan Uri中获取sni值

感谢 Skyxim <skyxim@users.noreply.github.com>
2021-09-09 18:34:12 +08:00
Peng-YM
87deb369fb 添加 Surge Hybrid 参数支持,添加一键上传所有节点配置到 Gist 2021-09-03 18:05:22 +08:00
Matthew Wo
204e5b73a2 preserve ws-headers for vmess in Surge (#49) 2021-09-03 16:41:07 +08:00
Xaver Wang
47b7ac6267 新增部分国旗
感谢 @xaver985
2021-08-18 16:23:28 +08:00
Peng-YM
9e219029f9 新增节点去重操作,可以对重复节点进行删除或者自动重命名 2021-04-15 17:01:36 +08:00
Peng-YM
69e4ddca60 Reformat codes 2021-04-15 17:00:07 +08:00
Peng-YM
e764f33956 Fixed Typo 2021-03-26 20:06:25 +08:00
Peng-YM
c31034ff29 增加 Loon TCP Fast Open (TFO) 选项 (SS/SSR) 的支持 2021-03-26 19:59:55 +08:00
Peng-YM
51c2ea3dde 增加 Loon UDP relay (SS/SSR) 的支持 2021-03-26 19:21:19 +08:00
Peng-YM
c225751b6f 增加 Loon UDP relay 的支持 2021-03-26 19:17:01 +08:00
Peng-YM
e72745fbce 由于QX脚本不走Rewrite,使用Backend方式触发 2021-02-27 14:47:38 +08:00
Peng-YM
a0691bedaf 多项改进
1. 现在可以编辑远程配置了。
2. 远程配置增加自动同步的选项,配合Cron脚本可以定期同步并上传配置到gist。
2021-02-27 13:00:32 +08:00
Peng-YM
85ee743988 Minor tweaks 2021-01-25 14:23:16 +08:00
Peng-YM
20ea35c9fb Sub-Store现在会为单个订阅转发流量信息 2021-01-25 14:21:16 +08:00
Peng-YM
99b3d44c63 Update README.md 2021-01-21 10:53:48 +08:00
Peng-YM
6c552500c6 节点预览可以预览原始订阅的节点了 2021-01-04 00:03:43 +08:00
Peng-YM
b092d3fd6a 修复Trojan一处解析错误 2020-12-31 14:30:01 +08:00
Peng-YM
76cd097a23 修复端口非443的Troajn节点无法解析的问题 2020-12-25 14:46:48 +08:00
Peng-YM
1f66e110ab Update README.md 2020-12-17 14:52:41 +08:00
Peng-YM
7ebef72955 修复Base64预处理器未能正确处理某些订阅的问题 2020-12-16 17:21:57 +08:00
Peng-YM
ff9586f2bd Fixed a bug when script download failed 2020-12-15 16:26:11 +08:00
Peng-YM
a0d799c832 修复上传时间错误的bug 2020-12-12 17:04:36 +08:00
Peng-YM
433fe5446f 修复了Surge VMess解析WS header错误的问题,感谢@Paldies 2020-12-12 16:45:28 +08:00
Peng-YM
bf8be6e0cb Removed unused log 2020-12-12 16:11:28 +08:00
Peng-YM
944609ec26 Update README.md 2020-12-12 11:54:56 +08:00
Peng-YM
defa6c0e1f Update README.md 2020-12-12 11:53:13 +08:00
Peng-YM
0146990ea9 Update README.md 2020-12-12 11:52:36 +08:00
Peng-YM
cda2c48ea8 Merge remote-tracking branch 'origin/master' 2020-12-12 11:29:47 +08:00
Peng-YM
60647fd5ca 大量UI改进 2020-12-12 11:28:45 +08:00
fossabot
739f85250e Add license scan report and status (#26)
Signed off by: fossabot <badges@fossa.com>
2020-12-11 17:54:09 +08:00
Peng-YM
3f002e0c52 夜间模式 2020-12-11 11:59:02 +08:00
Peng-YM
1f998f70b5 修复正则排序不生效的bug 2020-12-11 10:26:57 +08:00
Peng-YM
fbfc1084fa 修复一处typo 2020-12-10 22:16:55 +08:00
Peng-YM
a6bf4e5c76 正则表达式相关的节点操作支持使用(?i)指定忽略大小写匹配 2020-12-10 21:59:16 +08:00
Peng-YM
7eed0192bc 修复QX无法上传下载gist的bug 2020-12-09 14:14:25 +08:00
Peng-YM
6758f5b6e0 修复QX请求头没有Stringify导致请求超时的问题 2020-12-09 13:12:55 +08:00
Peng-YM
3dddc53ed3 修复列表图标闪烁问题 2020-12-09 11:17:42 +08:00
Peng-YM
5f1b389548 UI改进 2020-12-09 10:04:48 +08:00
Peng-YM
64709b6610 修复UI不刷新的bug 2020-12-09 09:50:55 +08:00
Peng-YM
bb8bac760e Sub-Store 1.2 支持生成远程配置
现在允许用户生成配置并上传到Gist。
2020-12-08 20:19:46 +08:00
Peng-YM
29abac4619 引入Artifacts相关API 2020-12-07 22:01:27 +08:00
Peng-YM
8c22f1c16e 修复正则排序的bug 2020-12-05 15:46:44 +08:00
Peng-YM
9333d989bc Merge branch 'dev' 2020-12-05 13:53:08 +08:00
Peng-YM
2766e23aa0 Sub-Store 1.0版本
1. 移除了所有基于关键词的节点操作,统一使用基于正则表达式的节点操作。
2. UI的大量改进。
2020-12-05 13:39:11 +08:00
Peng-YM
4d1b80ff63 Improved notifications 2020-12-03 15:47:32 +08:00
Peng-YM
f540e49bca Improved log 2020-12-02 16:35:54 +08:00
Peng-YM
f54b87dff3 修正了几个订阅解析错误
- 修复了Quantmult格式VMess的obfs-path和obfs-header解析错误的问题。
- 修复了SSR URI格式protoparams和obfsparams解析错误的问题
2020-12-01 14:55:35 +08:00
Peng-YM
8195fb8235 修正规则解析错误,同时修复一处编码问题 2020-11-27 20:38:55 +08:00
Peng-YM
18164a0c7d 修复分流解析错误的问题 2020-11-27 16:26:41 +08:00
Peng-YM
1398782595 Loon Parser 2020-11-27 11:40:47 +08:00
Peng-YM
eef1559706 修复QX IP-CIDR分流no-resolve解析不正确的问题 2020-11-26 19:59:27 +08:00
Peng-YM
99514f521b 添加一些内置分流 2020-11-26 19:50:54 +08:00
Peng-YM
117a920faf 再次修复之前的bug 2020-11-26 15:24:30 +08:00
Peng-YM
fb7956b589 修复无法下载订阅的bug,我真是bug制造大师... 2020-11-26 15:16:26 +08:00
Peng-YM
2b3f2bbf28 修复一处错误的通知提示 2020-11-26 14:05:47 +08:00
Peng-YM
a6374ac9c3 添加Sub-Store分流支持 2020-11-26 13:43:54 +08:00
Peng-YM
e630caf386 修复备份错误的bug,请重新上传 2020-11-25 12:04:28 +08:00
Peng-YM
0fbdbe7b85 修复组合订阅节点处理错误的问题 2020-11-25 10:47:21 +08:00
Peng-YM
710d5b14e5 修复Loon和Surge上无法保存的bug 2020-11-24 22:59:04 +08:00
Peng-YM
f9dd77ed41 修复无法保存创建订阅的bug 2020-11-24 22:29:23 +08:00
Peng-YM
22c8483f17 紧急修复BUG 2020-11-24 22:11:05 +08:00
Peng-YM
ff4790f12e 组合订阅现在允许添加所有节点操作 2020-11-24 21:21:43 +08:00
Peng-YM
f886bc11e9 完全重构Sub-Store后端代码 2020-11-24 21:15:08 +08:00
Peng-YM
650810bcba 修复QX VMess解析的一处错误 2020-11-09 19:50:02 +08:00
Peng-YM
afa88a79a9 Removed redudant comma 2020-11-02 14:27:23 +08:00
Peng-YM
5be7f2e1ea Add timestamp for minified script 2020-10-27 20:26:21 +08:00
Peng-YM
1ae804ce6b Fixed Loon & Surge Bug 2020-10-27 20:09:48 +08:00
Peng-YM
da71611d70 Fixed Clash TLS host bug 2020-10-20 17:45:21 +08:00
Peng-YM
0d1e0588c5 Fixed some default parameter errors 2020-10-20 17:19:54 +08:00
Peng-YM
fe5dcd2a1b Fixed Clash plugin options parse error 2020-10-20 14:58:07 +08:00
omeks
f3b780370c Fixed QX Producer Bug (#13)
Special thanks to @omeks
2020-10-14 10:27:17 +08:00
Peng-YM
1fb453c106 组合订阅现在可以在链接后添加?target=Clash等指定输出的目标格式了 2020-10-10 16:42:33 +08:00
Peng-YM
4cb8ba1af9 Fixed Loon Bug 2020-10-06 11:30:39 +08:00
Peng-YM
966d1e6ab9 Try to fix loon bug 2020-10-06 10:54:02 +08:00
Peng-YM
22914f792c Add status codes for QX 2020-10-05 22:33:16 +08:00
Peng-YM
915c0d20ae Add status codes 2020-10-05 22:32:49 +08:00
Peng-YM
c619e4e6eb 添加跳转 2020-10-05 22:07:14 +08:00
Peng-YM
a9a68be9f6 Delete backend for QX 2020-10-05 12:12:32 +08:00
Peng-YM
9d97c23186 fixed revert 2020-10-04 20:24:30 +08:00
Peng-YM
ab9343b79a Add 2020-10-04 18:53:34 +08:00
Peng-YM
768b56d7fe 添加急救 2020-10-04 16:34:02 +08:00
Peng-YM
ea7f208882 适配QX TF 390+特性 2020-10-04 10:37:04 +08:00
Peng-YM
77ec9c6953 添加导入数据的接口 2020-10-03 21:32:23 +08:00
Peng-YM
fc27450759 add airport configs database 2020-10-03 21:21:38 +08:00
Peng-YM
4448fc74c3 添加导出所有数据的API接口 2020-10-03 21:06:03 +08:00
Peng-YM
317e3fc724 修复国旗优先级问题 2020-10-02 11:21:04 +08:00
Peng-YM
33ae67ab60 Add Clash and Subscription producer 2020-09-29 17:09:29 +08:00
Peng-YM
8b626ffad3 Add some logs 2020-09-24 15:47:00 +08:00
Peng-YM
4b25874dc6 Minor bug fixed 2020-09-24 15:12:45 +08:00
Peng-YM
3b57b895e2 支持配置Gist同步 2020-09-24 14:59:14 +08:00
Peng-YM
d30ece21ae Fixed single proxy display error 2020-09-23 18:00:04 +08:00
Peng-YM
3d208c9e9f Fixed whitespace issue for QX 2020-09-21 13:45:10 +08:00
Peng-YM
535a20bd90 Add script demo 2020-09-21 13:23:05 +08:00
Peng-YM
d8129de848 Fixed V2RayN SNI issue 2020-09-21 10:15:05 +08:00
Peng-YM
0d3e6bf548 Bug fixed 2020-09-20 10:05:30 +08:00
Peng-YM
ab9d7d6a80 Bug fixed 2020-09-20 10:00:22 +08:00
Peng-YM
fac377735d Added two examples for script operators 2020-09-20 09:56:40 +08:00
Peng-YM
32703deb2c Fixed scert for Surge 2020-09-19 16:59:22 +08:00
Peng-YM
05f746571a 添加导入导出配置功能 2020-09-18 12:56:37 +08:00
Peng-YM
af9f96d101 实现关键词排序UI 2020-09-18 11:07:23 +08:00
Peng-YM
910f2c1b67 提供更方便的脚本操作接口 2020-09-15 11:13:56 +08:00
Peng-YM
a0d8e79d3c Fixed Trojan issue 2020-09-14 10:12:53 +08:00
Peng-YM
8504738ee1 Fixed Trojan server name bug 2020-09-14 09:44:00 +08:00
Peng-YM
1cecbe541e Merge remote-tracking branch 'origin/master' 2020-09-12 22:29:46 +08:00
Peng-YM
893a659bb9 添加Loon新UA判断 2020-09-12 22:29:18 +08:00
Peng-YM
fea3dfb7b9 添加Loon新UA判断 2020-09-12 22:28:11 +08:00
Peng-YM
0842b3fcbc Delete sub.json 2020-09-12 11:17:35 +08:00
Peng-YM
dac2ec95ae Delete collection.json 2020-09-12 11:17:26 +08:00
Peng-YM
92562dff6c Minified backend 2020-09-09 20:30:25 +08:00
Peng-YM
34474c193b Fixed Clash config memory issue 2020-09-09 19:51:04 +08:00
Peng-YM
ad660da24b Update README.md 2020-09-08 12:35:00 +08:00
Peng-YM
786da08b1b Update README.md 2020-09-08 12:32:16 +08:00
Peng-YM
d5d77ea1e6 UPDATE README 2020-09-06 20:57:21 +08:00
Peng-YM
77ee48366e Allow share QR Code 2020-09-06 20:53:11 +08:00
Peng-YM
82fd8cd02c Update README.md 2020-09-06 11:54:27 +08:00
Peng-YM
93953b9c46 Merge pull request #2 from zZPiglet/master
尝试增加 SSD 支持。感谢Z神
2020-09-06 11:54:05 +08:00
Peng-YM
1f2757197a Fixed YAML parse 2020-09-06 11:53:07 +08:00
Peng-YM
e259ed2e6e Supported URI Producer 2020-09-06 11:39:48 +08:00
zZPiglet
4a57b30f71 修正 ssd plugin 错误。 2020-09-06 02:13:03 +08:00
zZPiglet
e25c83368e 修正 localhost。 2020-09-06 01:05:48 +08:00
zZPiglet
568b2a1460 尝试增加 SSD 支持。 2020-09-05 20:07:41 +08:00
Peng-YM
9fcea60555 Bug fixed for Loon 2020-09-05 09:48:39 +08:00
Peng-YM
6b97c4c2d7 Bug fixed 2020-09-04 21:15:26 +08:00
Peng-YM
ff89902733 Add IP_API 2020-09-04 20:53:52 +08:00
Peng-YM
0683230303 Add scripts 2020-09-04 18:30:38 +08:00
Peng-YM
3ed39271b1 Bug Fixed for reording multiple processors 2020-09-04 15:05:25 +08:00
Peng-YM
2e758ec7c8 Set UA to QX 2020-09-03 16:54:05 +08:00
Peng-YM
250afb10a2 Added script filter and script opeartor 2020-09-03 16:16:28 +08:00
Peng-YM
82a8c16e51 Bug fixed for keyword replace 2020-09-03 12:54:34 +08:00
Peng-YM
1ea5418871 Fixed Canada flag 2020-09-03 10:30:07 +08:00
Peng-YM
1c06bd8869 UI Improvements 2020-09-03 10:23:50 +08:00
Peng-YM
80294618fb Minor Bug fixed 2020-09-01 20:24:32 +08:00
Peng-YM
2d6aa1ef1a bug fixed 2020-09-01 17:56:24 +08:00
Peng-YM
8fc5e58276 修复缓存 2020-09-01 16:18:59 +08:00
Peng-YM
56b350a649 启用订阅缓存,大幅减少浏览器响应延迟 2020-09-01 12:08:14 +08:00
Peng-YM
b2f9eb9989 添加四个重命名 2020-09-01 10:11:02 +08:00
Peng-YM
4873c6bb3c 修复过滤器切换模式不生效的bug 2020-09-01 08:43:30 +08:00
Peng-YM
1fd3326c5c ... 2020-09-01 03:27:54 +08:00
Peng-YM
d4dcc5a906 Update RegionFilter.vue 2020-09-01 01:59:36 +08:00
Peng-YM
af0baba727 修复过滤无效节点的bug 2020-09-01 00:39:15 +08:00
Peng-YM
089b36c4fe 添加正则过滤器,关键词过滤器 2020-08-31 23:57:34 +08:00
Peng-YM
ea90f16e54 UI添加两个过滤器: 区域过滤器和类型过滤器 2020-08-31 21:10:36 +08:00
Peng-YM
9291c4f628 Update README.md 2020-08-31 19:19:59 +08:00
Peng-YM
78991ddca8 修复SS URI的一处解析错误 2020-08-31 19:10:29 +08:00
Peng-YM
8a85d6dd21 添加Quantumult格式的VMess订阅支持 2020-08-31 17:16:27 +08:00
Peng-YM
23b4532037 修改UA为Quantumult,以获取流量信息等 2020-08-31 15:50:54 +08:00
Peng-YM
d81fd8cb62 修改UA为Quantumult,以获取流量信息等 2020-08-31 15:50:34 +08:00
Peng-YM
00be2678f4 修复SS无混淆插件的情况 2020-08-31 15:09:53 +08:00
Peng-YM
c5b19f5286 Merge remote-tracking branch 'origin/master' 2020-08-31 14:53:34 +08:00
Peng-YM
7495ba6f78 修复obfs-local格式SS订阅 2020-08-31 14:53:13 +08:00
Peng-YM
85e3801a26 Update Surge.sgmodule 2020-08-31 14:05:53 +08:00
Peng-YM
2a04476bca 处理Option请求 2020-08-31 14:02:56 +08:00
Peng-YM
a4f096b471 Surge iOS已修复,感谢@pysta大佬协助 2020-08-31 13:44:00 +08:00
Peng-YM
49349365fa Adapt status code 2020-08-31 13:41:39 +08:00
Peng-YM
a9811c4896 Try to fix QX 2020-08-31 13:09:13 +08:00
Peng-YM
5a2a600c38 Merge remote-tracking branch 'origin/master' 2020-08-31 12:27:05 +08:00
Peng-YM
f007bc7c23 修复过滤器逻辑错误 2020-08-31 12:26:30 +08:00
Peng-YM
c4fd5d363b Update sub-store.js 2020-08-31 03:27:27 +08:00
Peng-YM
231577eebd Update Surge.sgmodule 2020-08-31 02:50:33 +08:00
Peng-YM
88634b146a Merge ; commit '47d06919aa1524905cb68fcab67f5b8968e5d0d1'
Conflicts:
	config/Surge.sgmodule
2020-08-31 02:44:46 +08:00
Peng-YM
fa8b5b50a2 Update Surge.sgmodule 2020-08-31 02:42:15 +08:00
Peng-YM
47d06919aa Update Surge.sgmodule 2020-08-31 02:19:04 +08:00
Peng-YM
bd6d0849e4 Merge remote-tracking branch 'origin/master' 2020-08-31 02:15:43 +08:00
Peng-YM
e36c719ef0 Change Domain 2020-08-31 02:14:45 +08:00
Peng-YM
1b4966620c Update Surge.sgmodule 2020-08-31 02:05:39 +08:00
Peng-YM
c75d318961 修改域名为sub.com 2020-08-31 01:08:49 +08:00
Peng-YM
ae7953a0eb 更换域名 2020-08-31 00:59:47 +08:00
Peng-YM
ad18b11d56 QX header修复 2020-08-31 00:57:06 +08:00
Peng-YM
1a3d1ac1c0 [Bug Fixed] 修复Loon VMess错误 2020-08-31 00:37:11 +08:00
Peng-YM
f9a1da4b27 Update README.md 2020-08-31 00:28:00 +08:00
Peng-YM
b7a140e8fd Update README.md 2020-08-31 00:27:48 +08:00
Peng-YM
bff31187d8 [Bug Fixed] 修复Loon VMess错误 2020-08-31 00:15:48 +08:00
Peng-YM
d14bd41b68 Add more timeout to axios 2020-08-30 21:58:31 +08:00
Peng-YM
3d2cd1569f Add config for Surge and Loon 2020-08-30 21:52:17 +08:00
Peng-YM
03bc695ae3 Bug fixed 2020-08-30 21:45:31 +08:00
Peng-YM
583f94e5b3 Alpha test 2020-08-30 21:25:46 +08:00
Peng-YM
a71914676e Working on sub-editor 2020-08-28 15:00:45 +08:00
Peng-YM
8b4c972f77 适配移动端web app
样式来自Chavyleung
2020-08-26 21:33:00 +08:00
Peng-YM
aee89acfe8 Merge remote-tracking branch 'origin/master' 2020-08-26 21:10:25 +08:00
Peng-YM
1fcc1f77d7 Add cache 2020-08-26 21:09:34 +08:00
Peng-YM
40cdd7be47 Update README.md 2020-08-25 15:15:01 +08:00
Peng-YM
ccafb9c75e Update README.md 2020-08-25 11:25:34 +08:00
Peng-YM
f279c13239 Update README.md 2020-08-25 11:21:52 +08:00
Peng-YM
1b0f8f124e 支持Clash YAML输入 2020-08-25 11:18:35 +08:00
Peng-YM
8cec472812 Add some components 2020-08-23 12:25:02 +08:00
Peng-YM
0a11261eee Added subscription page 2020-08-23 00:56:35 +08:00
Peng-YM
72bb2f4edb Update README.md 2020-08-21 18:12:29 +08:00
Peng-YM
343692db86 Support remote script 2020-08-21 18:06:27 +08:00
Peng-YM
a610346c5d Merge branch 'master' of https://github.com/Peng-YM/Sub-Store into master 2020-08-19 21:34:44 +08:00
Peng-YM
9aec501a48 Web 2020-08-19 21:34:35 +08:00
Peng-YM
83070fc708 Update README.md 2020-08-19 19:31:15 +08:00
Peng-YM
82690b1e5e Update README.md 2020-08-19 19:30:30 +08:00
Peng-YM
997ef25e2e Added vuetify 2020-08-19 16:36:01 +08:00
Peng-YM
64e11e02e7 Re-organized project structure 2020-08-19 16:18:48 +08:00
Peng-YM
7aa0fa6911 Create LICENSE 2020-08-19 16:16:07 +08:00
29 changed files with 119 additions and 104 deletions

1
.gitignore vendored
View File

@@ -1,7 +1,6 @@
.DS_Store
# json config
sub-store.json
sub-store_*.json
root.json
# Logs

View File

@@ -99,16 +99,22 @@ Go to `backend` directories, install node dependencies:
pnpm i
```
1. In `backend`, run the backend server on http://localhost:3000
babel(old school)
```
pnpm start
```
or
esbuild(experimental)
```
SUB_STORE_BACKEND_API_PORT=3000 pnpm run --parallel "/^dev:.*/"
```
### Build
```
pnpm bundle:esbuild
```
## LICENSE
This project is under the GPL V3 LICENSE.

View File

@@ -1,6 +1,6 @@
{
"name": "sub-store",
"version": "2.20.2",
"version": "2.19.89",
"description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and Shadowrocket.",
"main": "src/main.js",
"scripts": {

View File

@@ -13,7 +13,6 @@ import getQXParser from './peggy/qx';
import getTrojanURIParser from './peggy/trojan-uri';
import $ from '@/core/app';
import JSON5 from 'json5';
import YAML from '@/utils/yaml';
import { Base64 } from 'js-base64';
@@ -1131,21 +1130,15 @@ function URI_Trojan() {
function Clash_All() {
const name = 'Clash Parser';
const test = (line) => {
let proxy;
try {
proxy = JSON5.parse(line);
JSON5.parse(line);
} catch (e) {
proxy = YAML.parse(line);
return false;
}
return !!proxy?.type;
return true;
};
const parse = (line) => {
let proxy;
try {
proxy = JSON5.parse(line);
} catch (e) {
proxy = YAML.parse(line);
}
const proxy = JSON5.parse(line);
if (
![
'anytls',

View File

@@ -54,31 +54,31 @@ shadowsocks = tag equals "shadowsocks"i address method password (obfs_typev obfs
$set(proxy, "plugin-opts.path", obfs.path);
}
}
vmess = tag equals "vmess"i address method uuid (transport/transport_host/transport_path/over_tls/tls_name/sni/tls_verification/tls_cert_sha256/tls_pubkey_sha256/vmess_alterId/fast_open/udp_relay/ip_mode/public_key/short_id/block_quic/others)* {
vmess = tag equals "vmess"i address method uuid (transport/transport_host/transport_path/over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/vmess_alterId/fast_open/udp_relay/ip_mode/public_key/short_id/block_quic/others)* {
proxy.type = "vmess";
proxy.cipher = proxy.cipher || "none";
proxy.alterId = proxy.alterId || 0;
handleTransport();
}
vless = tag equals "vless"i address uuid (transport/transport_host/transport_path/over_tls/tls_name/sni/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/flow/public_key/short_id/block_quic/others)* {
vless = tag equals "vless"i address uuid (transport/transport_host/transport_path/over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/flow/public_key/short_id/block_quic/others)* {
proxy.type = "vless";
handleTransport();
}
trojan = tag equals "trojan"i address password (transport/transport_host/transport_path/over_tls/tls_name/sni/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/block_quic/others)* {
trojan = tag equals "trojan"i address password (transport/transport_host/transport_path/over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/block_quic/others)* {
proxy.type = "trojan";
handleTransport();
}
hysteria2 = tag equals "hysteria2"i address password (tls_name/sni/tls_verification/tls_cert_sha256/tls_pubkey_sha256/udp_relay/fast_open/download_bandwidth/salamander_password/ecn/ip_mode/block_quic/others)* {
hysteria2 = tag equals "hysteria2"i address password (tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/udp_relay/fast_open/download_bandwidth/salamander_password/ecn/ip_mode/block_quic/others)* {
proxy.type = "hysteria2";
}
https = tag equals "https"i address (username password)? (tls_name/sni/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/block_quic/others)* {
https = tag equals "https"i address (username password)? (tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/block_quic/others)* {
proxy.type = "http";
proxy.tls = true;
}
http = tag equals "http"i address (username password)? (fast_open/udp_relay/ip_mode/block_quic/others)* {
proxy.type = "http";
}
socks5 = tag equals "socks5"i address (username password)? (over_tls/tls_name/sni/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/block_quic/others)* {
socks5 = tag equals "socks5"i address (username password)? (over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/block_quic/others)* {
proxy.type = "socks5";
}
@@ -175,8 +175,7 @@ shadow_tls_sni = comma "shadow-tls-sni" equals match:[^,]+ { proxy["shadow-tls-s
shadow_tls_password = comma "shadow-tls-password" equals match:[^,]+ { proxy["shadow-tls-password"] = match.join(""); }
over_tls = comma "over-tls" equals flag:bool { proxy.tls = flag; }
tls_name = comma sni:("tls-name") equals host:domain { proxy.sni = host; }
sni = comma sni:("sni") equals host:domain { proxy.sni = host; }
tls_host = comma sni:("tls-name"/"sni") equals host:domain { proxy.sni = host; }
tls_verification = comma "skip-cert-verify" equals flag:bool { proxy["skip-cert-verify"] = flag; }
tls_cert_sha256 = comma "tls-cert-sha256" equals match:[^,]+ { proxy["tls-fingerprint"] = match.join("").replace(/^"(.*)"$/, '$1'); }
tls_pubkey_sha256 = comma "tls-pubkey-sha256" equals match:[^,]+ { proxy["tls-pubkey-sha256"] = match.join("").replace(/^"(.*)"$/, '$1'); }

View File

@@ -52,31 +52,31 @@ shadowsocks = tag equals "shadowsocks"i address method password (obfs_typev obfs
$set(proxy, "plugin-opts.path", obfs.path);
}
}
vmess = tag equals "vmess"i address method uuid (transport/transport_host/transport_path/over_tls/tls_name/sni/tls_verification/tls_cert_sha256/tls_pubkey_sha256/vmess_alterId/fast_open/udp_relay/ip_mode/public_key/short_id/block_quic/others)* {
vmess = tag equals "vmess"i address method uuid (transport/transport_host/transport_path/over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/vmess_alterId/fast_open/udp_relay/ip_mode/public_key/short_id/block_quic/others)* {
proxy.type = "vmess";
proxy.cipher = proxy.cipher || "none";
proxy.alterId = proxy.alterId || 0;
handleTransport();
}
vless = tag equals "vless"i address uuid (transport/transport_host/transport_path/over_tls/tls_name/sni/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/flow/public_key/short_id/block_quic/others)* {
vless = tag equals "vless"i address uuid (transport/transport_host/transport_path/over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/flow/public_key/short_id/block_quic/others)* {
proxy.type = "vless";
handleTransport();
}
trojan = tag equals "trojan"i address password (transport/transport_host/transport_path/over_tls/tls_name/sni/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/block_quic/others)* {
trojan = tag equals "trojan"i address password (transport/transport_host/transport_path/over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/block_quic/others)* {
proxy.type = "trojan";
handleTransport();
}
hysteria2 = tag equals "hysteria2"i address password (tls_name/sni/tls_verification/tls_cert_sha256/tls_pubkey_sha256/udp_relay/fast_open/download_bandwidth/salamander_password/ecn/ip_mode/block_quic/others)* {
hysteria2 = tag equals "hysteria2"i address password (tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/udp_relay/fast_open/download_bandwidth/salamander_password/ecn/ip_mode/block_quic/others)* {
proxy.type = "hysteria2";
}
https = tag equals "https"i address (username password)? (tls_name/sni/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/block_quic/others)* {
https = tag equals "https"i address (username password)? (tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/block_quic/others)* {
proxy.type = "http";
proxy.tls = true;
}
http = tag equals "http"i address (username password)? (fast_open/udp_relay/ip_mode/block_quic/others)* {
proxy.type = "http";
}
socks5 = tag equals "socks5"i address (username password)? (over_tls/tls_name/sni/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/block_quic/others)* {
socks5 = tag equals "socks5"i address (username password)? (over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/block_quic/others)* {
proxy.type = "socks5";
}
@@ -173,8 +173,7 @@ shadow_tls_sni = comma "shadow-tls-sni" equals match:[^,]+ { proxy["shadow-tls-s
shadow_tls_password = comma "shadow-tls-password" equals match:[^,]+ { proxy["shadow-tls-password"] = match.join(""); }
over_tls = comma "over-tls" equals flag:bool { proxy.tls = flag; }
tls_name = comma sni:("tls-name") equals host:domain { proxy.sni = host; }
sni = comma sni:("sni") equals host:domain { proxy.sni = host; }
tls_host = comma sni:("tls-name"/"sni") equals host:domain { proxy.sni = host; }
tls_verification = comma "skip-cert-verify" equals flag:bool { proxy["skip-cert-verify"] = flag; }
tls_cert_sha256 = comma "tls-cert-sha256" equals match:[^,]+ { proxy["tls-fingerprint"] = match.join("").replace(/^"(.*)"$/, '$1'); }
tls_pubkey_sha256 = comma "tls-pubkey-sha256" equals match:[^,]+ { proxy["tls-pubkey-sha256"] = match.join("").replace(/^"(.*)"$/, '$1'); }

View File

@@ -371,14 +371,6 @@ export default function Egern_Producer() {
};
}
}
if (
['ss'].includes(original.type) &&
proxy.shadow_tls &&
original['udp-port'] > 0 &&
original['udp-port'] <= 65535
) {
proxy['udp_port'] = original['udp-port'];
}
delete proxy.subName;
delete proxy.collectionName;

View File

@@ -181,7 +181,7 @@ const h1Parser = (proxy, parsedProxy) => {
host = `${host}`.split(',').map((i) => i.trim());
if (host.length > 0) transport.host = host;
}
// if (!transport.host) return;
if (!transport.host) return;
if (proxy['http-path'] && proxy['http-path'] !== '') {
const path = proxy['http-path'];
if (Array.isArray(path)) {
@@ -190,7 +190,7 @@ const h1Parser = (proxy, parsedProxy) => {
}
if (parsedProxy.tls.insecure)
parsedProxy.tls.server_name = transport.host[0];
if (transport.host?.length === 1) transport.host = transport.host[0];
if (transport.host.length === 1) transport.host = transport.host[0];
for (const key of Object.keys(transport.headers)) {
const value = transport.headers[key];
if (value.length === 1) transport.headers[key] = value[0];
@@ -569,8 +569,6 @@ const vlessParser = (proxy = {}) => {
// if (['xtls-rprx-vision', ''].includes(proxy.flow)) parsedProxy.flow = proxy.flow;
if (proxy.flow != null) parsedProxy.flow = proxy.flow;
if (proxy.network === 'ws') wsParser(proxy, parsedProxy);
if (proxy.network === 'h2') h2Parser(proxy, parsedProxy);
if (proxy.network === 'http') h1Parser(proxy, parsedProxy);
if (proxy.network === 'grpc') grpcParser(proxy, parsedProxy);
networkParser(proxy, parsedProxy);
tfoParser(proxy, parsedProxy);

View File

@@ -112,6 +112,7 @@ function replaceArtifact(req, res) {
async function getArtifact(req, res) {
let { name } = req.params;
name = decodeURIComponent(name);
const allArtifacts = $.read(ARTIFACTS_KEY);
const artifact = findByName(allArtifacts, name);
@@ -162,6 +163,7 @@ function createArtifact(req, res) {
function updateArtifact(req, res) {
const allArtifacts = $.read(ARTIFACTS_KEY);
let oldName = req.params.name;
oldName = decodeURIComponent(oldName);
const artifact = findByName(allArtifacts, oldName);
if (artifact) {
$.info(`正在更新远程配置:${artifact.name}`);
@@ -195,6 +197,7 @@ function updateArtifact(req, res) {
async function deleteArtifact(req, res) {
let { name } = req.params;
name = decodeURIComponent(name);
$.info(`正在删除远程配置:${name}`);
const allArtifacts = $.read(ARTIFACTS_KEY);
try {

View File

@@ -52,6 +52,7 @@ function createCollection(req, res) {
function getCollection(req, res) {
let { name } = req.params;
let { raw } = req.query;
name = decodeURIComponent(name);
const allCols = $.read(COLLECTIONS_KEY);
const collection = findByName(allCols, name);
if (collection) {
@@ -83,6 +84,7 @@ function getCollection(req, res) {
function updateCollection(req, res) {
let { name } = req.params;
name = decodeURIComponent(name);
let collection = req.body;
const allCols = $.read(COLLECTIONS_KEY);
const oldCol = findByName(allCols, name);
@@ -135,6 +137,7 @@ function updateCollection(req, res) {
function deleteCollection(req, res) {
let { name } = req.params;
name = decodeURIComponent(name);
$.info(`正在删除组合订阅:${name}`);
let allCols = $.read(COLLECTIONS_KEY);
deleteByName(allCols, name);

View File

@@ -88,6 +88,8 @@ export default function register($app) {
async function downloadSubscription(req, res) {
let { name, nezhaIndex } = req.params;
name = decodeURIComponent(name);
nezhaIndex = decodeURIComponent(nezhaIndex);
const useMihomoExternal = req.query.target === 'SurgeMac';
@@ -138,6 +140,7 @@ async function downloadSubscription(req, res) {
$.info(`传入 $options: ${JSON.stringify($options)}`);
}
if (url) {
url = decodeURIComponent(url);
$.info(`指定远程订阅 URL: ${url}`);
if (!/^https?:\/\//.test(url)) {
content = url;
@@ -145,25 +148,32 @@ async function downloadSubscription(req, res) {
}
}
if (content) {
content = decodeURIComponent(content);
$.info(`指定本地订阅: ${content}`);
}
if (proxy) {
proxy = decodeURIComponent(proxy);
$.info(`指定远程订阅使用代理/策略 proxy: ${proxy}`);
}
if (ua) {
ua = decodeURIComponent(ua);
$.info(`指定远程订阅 User-Agent: ${ua}`);
}
if (mergeSources) {
mergeSources = decodeURIComponent(mergeSources);
$.info(`指定合并来源: ${mergeSources}`);
}
if (ignoreFailedRemoteSub != null && ignoreFailedRemoteSub !== '') {
ignoreFailedRemoteSub = decodeURIComponent(ignoreFailedRemoteSub);
$.info(`指定忽略失败的远程订阅: ${ignoreFailedRemoteSub}`);
}
if (produceType) {
produceType = decodeURIComponent(produceType);
$.info(`指定生产类型: ${produceType}`);
}
if (includeUnsupportedProxy) {
includeUnsupportedProxy = decodeURIComponent(includeUnsupportedProxy);
$.info(
`包含官方/商店版/未续费订阅不支持的协议: ${includeUnsupportedProxy}`,
);
@@ -352,6 +362,8 @@ async function downloadSubscription(req, res) {
async function downloadCollection(req, res) {
let { name, nezhaIndex } = req.params;
name = decodeURIComponent(name);
nezhaIndex = decodeURIComponent(nezhaIndex);
const useMihomoExternal = req.query.target === 'SurgeMac';
@@ -404,17 +416,21 @@ async function downloadCollection(req, res) {
}
if (proxy) {
proxy = decodeURIComponent(proxy);
$.info(`指定远程订阅使用代理/策略 proxy: ${proxy}`);
}
if (ignoreFailedRemoteSub != null && ignoreFailedRemoteSub !== '') {
ignoreFailedRemoteSub = decodeURIComponent(ignoreFailedRemoteSub);
$.info(`指定忽略失败的远程订阅: ${ignoreFailedRemoteSub}`);
}
if (produceType) {
produceType = decodeURIComponent(produceType);
$.info(`指定生产类型: ${produceType}`);
}
if (includeUnsupportedProxy) {
includeUnsupportedProxy = decodeURIComponent(includeUnsupportedProxy);
$.info(
`包含官方/商店版/未续费订阅不支持的协议: ${includeUnsupportedProxy}`,
);

View File

@@ -51,6 +51,7 @@ function createFile(req, res) {
async function getFile(req, res) {
let { name } = req.params;
name = decodeURIComponent(name);
const reqUA = req.headers['user-agent'] || req.headers['User-Agent'];
$.info(`正在下载文件:${name}\n请求 User-Agent: ${reqUA}`);
let {
@@ -94,33 +95,42 @@ async function getFile(req, res) {
$.info(`传入 $options: ${JSON.stringify($options)}`);
}
if (url) {
url = decodeURIComponent(url);
$.info(`指定远程文件 URL: ${url}`);
}
if (proxy) {
proxy = decodeURIComponent(proxy);
$.info(`指定远程订阅使用代理/策略 proxy: ${proxy}`);
}
if (ua) {
ua = decodeURIComponent(ua);
$.info(`指定远程文件 User-Agent: ${ua}`);
}
if (subInfoUrl) {
subInfoUrl = decodeURIComponent(subInfoUrl);
$.info(`指定获取流量的 subInfoUrl: ${subInfoUrl}`);
}
if (subInfoUserAgent) {
subInfoUserAgent = decodeURIComponent(subInfoUserAgent);
$.info(`指定获取流量的 subInfoUserAgent: ${subInfoUserAgent}`);
}
if (content) {
content = decodeURIComponent(content);
$.info(`指定本地文件: ${content}`);
}
if (mergeSources) {
mergeSources = decodeURIComponent(mergeSources);
$.info(`指定合并来源: ${mergeSources}`);
}
if (ignoreFailedRemoteFile != null && ignoreFailedRemoteFile !== '') {
ignoreFailedRemoteFile = decodeURIComponent(ignoreFailedRemoteFile);
$.info(`指定忽略失败的远程文件: ${ignoreFailedRemoteFile}`);
}
if (noCache) {
$.info(`指定不使用缓存: ${noCache}`);
}
if (produceType) {
produceType = decodeURIComponent(produceType);
$.info(`指定生产类型: ${produceType}`);
}
@@ -215,6 +225,7 @@ async function getFile(req, res) {
function getWholeFile(req, res) {
let { name } = req.params;
let { raw } = req.query;
name = decodeURIComponent(name);
const allFiles = $.read(FILES_KEY);
const file = findByName(allFiles, name);
if (file) {
@@ -246,6 +257,7 @@ function getWholeFile(req, res) {
function updateFile(req, res) {
let { name } = req.params;
name = decodeURIComponent(name);
let file = req.body;
const allFiles = $.read(FILES_KEY);
const oldFile = findByName(allFiles, name);
@@ -287,6 +299,7 @@ function updateFile(req, res) {
function deleteFile(req, res) {
let { name } = req.params;
name = decodeURIComponent(name);
$.info(`正在删除文件:${name}`);
let allFiles = $.read(FILES_KEY);
deleteByName(allFiles, name);

View File

@@ -97,7 +97,7 @@ export default function serve() {
staticFileMiddleware(req, res, next);
return;
}
res.status(404).end();
res.status(403).end('Forbbiden');
return;
});
}

View File

@@ -43,6 +43,7 @@ function createModule(req, res) {
function getModule(req, res) {
let { name } = req.params;
name = decodeURIComponent(name);
const allModules = $.read(MODULES_KEY);
const module = findByName(allModules, name);
if (module) {
@@ -63,6 +64,7 @@ function getModule(req, res) {
function updateModule(req, res) {
let { name } = req.params;
name = decodeURIComponent(name);
let module = req.body;
const allModules = $.read(MODULES_KEY);
const oldModule = findByName(allModules, name);
@@ -90,6 +92,7 @@ function updateModule(req, res) {
function deleteModule(req, res) {
let { name } = req.params;
name = decodeURIComponent(name);
$.info(`正在删除模块:${name}`);
let allModules = $.read(MODULES_KEY);
deleteByName(allModules, name);

View File

@@ -12,9 +12,7 @@ export function failed(resp, error, statusCode) {
code: error.code,
type: error.type,
message: error.message,
details: resp.req?.route?.path?.startsWith('/share/')
? '详情请查看日志'
: error.details,
details: error.details,
},
});
}

View File

@@ -61,7 +61,7 @@ async function updateSettings(req, res) {
export async function updateAvatar() {
const settings = $.read(SETTINGS_KEY);
const { githubUser: username, syncPlatform, githubProxy } = settings;
const { githubUser: username, syncPlatform } = settings;
if (username) {
if (syncPlatform === 'gitlab') {
try {
@@ -92,9 +92,7 @@ export async function updateAvatar() {
try {
const data = await $.http
.get({
url: `${
githubProxy ? `${githubProxy}/` : ''
}https://api.github.com/users/${encodeURIComponent(
url: `https://api.github.com/users/${encodeURIComponent(
username,
)}`,
headers: {

View File

@@ -39,8 +39,10 @@ export default function register($app) {
// subscriptions API
async function getFlowInfo(req, res) {
let { name } = req.params;
name = decodeURIComponent(name);
let { url } = req.query;
if (url) {
url = decodeURIComponent(url);
$.info(`指定远程订阅 URL: ${url}`);
}
const allSubs = $.read(SUBS_KEY);
@@ -230,7 +232,6 @@ async function getFlowInfo(req, res) {
function createSubscription(req, res) {
const sub = req.body;
delete sub.subscriptions;
$.info(`正在创建订阅: ${sub.name}`);
if (/\//.test(sub.name)) {
failed(
@@ -261,9 +262,9 @@ function createSubscription(req, res) {
function getSubscription(req, res) {
let { name } = req.params;
let { raw } = req.query;
name = decodeURIComponent(name);
const allSubs = $.read(SUBS_KEY);
const sub = findByName(allSubs, name);
delete sub.subscriptions;
if (sub) {
if (raw) {
res.set('content-type', 'application/json')
@@ -293,8 +294,8 @@ function getSubscription(req, res) {
function updateSubscription(req, res) {
let { name } = req.params;
name = decodeURIComponent(name); // the original name
let sub = req.body;
delete sub.subscriptions;
const allSubs = $.read(SUBS_KEY);
const oldSub = findByName(allSubs, name);
if (oldSub) {
@@ -356,6 +357,7 @@ function updateSubscription(req, res) {
function deleteSubscription(req, res) {
let { name } = req.params;
name = decodeURIComponent(name);
$.info(`删除订阅:${name}...`);
// delete from subscriptions
let allSubs = $.read(SUBS_KEY);

View File

@@ -792,6 +792,7 @@ async function syncAllArtifacts(_, res) {
async function syncArtifact(req, res) {
let { name } = req.params;
name = decodeURIComponent(name);
$.info(`开始同步远程配置 ${name}...`);
const allArtifacts = $.read(ARTIFACTS_KEY);
const artifact = findByName(allArtifacts, name);

View File

@@ -17,6 +17,7 @@ export default function register($app) {
function deleteToken(req, res) {
let { token } = req.params;
token = decodeURIComponent(token);
$.info(`正在删除:${token}`);
let allTokens = $.read(TOKENS_KEY);
deleteByName(allTokens, token, 'token');

View File

@@ -260,27 +260,37 @@ export default async function download(
shouldCache = false;
}
}
if (preprocess) {
try {
const proxies = ProxyUtils.parse(body);
if (!Array.isArray(proxies) || proxies.length === 0) {
$.error(`URL ${url} 不包含有效节点, 不缓存`);
shouldCache = false;
}
} catch (e) {
$.error(
`URL ${url} 尝试解析节点失败 ${e.message ?? e}, 不缓存`,
);
shouldCache = false;
}
}
if (shouldCache) {
resourceCache.set(id, body);
if (customCacheKey) {
$.info(
`URL ${url}\n写入自定义缓存 ${$arguments?.cacheKey}`,
);
$.write(body, customCacheKey);
let shouldWriteCustomCacheKey = true;
if (preprocess) {
try {
const proxies = ProxyUtils.parse(body);
if (
!Array.isArray(proxies) ||
proxies.length === 0
) {
$.error(
`URL ${url} 不包含有效节点\n不写入自定义缓存 ${$arguments?.cacheKey}`,
);
shouldWriteCustomCacheKey = false;
}
} catch (e) {
$.error(
`URL ${url} 尝试解析节点失败 ${
e.message ?? e
}\n不写入自定义缓存 ${$arguments?.cacheKey}`,
);
shouldWriteCustomCacheKey = false;
}
}
if (shouldWriteCustomCacheKey) {
$.info(
`URL ${url}\n写入自定义缓存 ${$arguments?.cacheKey}`,
);
$.write(body, customCacheKey);
}
}
}

View File

@@ -230,7 +230,7 @@ export function flowTransfer(flow, unit = 'B') {
let unitIndex = unitList.indexOf(unit);
return flow < 1024 || unitIndex === unitList.length - 1
? { value: (Math.round(flow * 100) / 100).toString(), unit: unit }
? { value: flow.toFixed(1), unit: unit }
: flowTransfer(flow / 1024, unitList[++unitIndex]);
}
@@ -342,12 +342,6 @@ export function normalizeFlowHeader(flowHeaders) {
) {
try {
decodedValue = Number(decodedValue).toFixed(0);
if (
['expire'].includes(key) &&
decodedValue <= 0
) {
decodedValue = '';
}
} catch (e) {
$.error(
`Failed to convert value for key "${key}=${encodedValue}": ${

View File

@@ -46,7 +46,6 @@ const ISOFlags = {
'🇭🇰': ['HK', 'HKG', 'HKT', 'HKBN', 'HGC', 'WTT', 'CMI'],
'🇭🇷': ['HR', 'HRV'],
'🇭🇺': ['HU', 'HUN'],
'🇮🇶': ['IQ', 'IRQ'], // 伊拉克
'🇯🇴': ['JO', 'JOR'],
'🇯🇵': ['JP', 'JPN', 'TYO'],
'🇰🇪': ['KE', 'KEN'],
@@ -100,7 +99,6 @@ const ISOFlags = {
'🇸🇬': ['SG', 'SGP'],
'🇸🇮': ['SI', 'SVN'],
'🇸🇰': ['SK', 'SVK'],
'🇹🇬': ['TG', 'TGO'], // 多哥
'🇹🇭': ['TH', 'THA'],
'🇹🇳': ['TN', 'TUN'],
'🇹🇷': ['TR', 'TUR'],
@@ -222,7 +220,6 @@ export function getFlag(name) {
],
'🇭🇷': ['Croatia', '克罗地亚', '克羅地亞'],
'🇭🇺': ['Hungary', '匈牙利'],
'🇮🇶': ['Iraq', '伊拉克', '巴格达', 'Baghdad'], // 伊拉克
'🇯🇴': ['Jordan', '约旦'],
'🇯🇵': [
'Japan',
@@ -341,7 +338,6 @@ export function getFlag(name) {
],
'🇸🇮': ['Slovenia', '斯洛文尼亚'],
'🇸🇰': ['Slovakia', '斯洛伐克'],
'🇹🇬': ['Togo', '多哥', '洛美', 'Lomé', 'Lome'], // 多哥
'🇹🇭': ['Thailand', '泰国', '泰國', '曼谷'],
'🇹🇳': ['Tunisia', '突尼斯'],
'🇹🇷': ['Turkey', '土耳其', '伊斯坦布尔', 'Istanbul'],

View File

@@ -9,11 +9,7 @@ import { SETTINGS_KEY } from '@/constants';
export default class Gist {
constructor({ token, key, syncPlatform }) {
const { isStash, isLoon, isShadowRocket, isQX } = ENV();
const {
defaultProxy,
defaultTimeout: timeout,
githubProxy,
} = $.read(SETTINGS_KEY);
const { defaultProxy, defaultTimeout: timeout } = $.read(SETTINGS_KEY);
let proxy = defaultProxy;
if ($.env.isNode) {
proxy =
@@ -67,9 +63,7 @@ export default class Gist {
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.141 Safari/537.36',
};
this.http = HTTP({
baseURL: `${
githubProxy ? `${githubProxy}/` : ''
}https://api.github.com`,
baseURL: 'https://api.github.com',
headers: {
...this.headers,
...(isStash && proxy

View File

@@ -36,9 +36,6 @@ export default function express({ substore: $, port, host }) {
// adapter
app.start = () => {
app.get('*', function (req, res) {
res.status(404).end();
});
const listener = app.listen(port, host, () => {
const { address, port } = listener.address();
$.info(`[BACKEND] listening on ${address}:${port}`);
@@ -270,7 +267,7 @@ function extractURL(url) {
let hashes = url.slice(url.indexOf('?') + 1).split('&');
for (let i = 0; i < hashes.length; i++) {
const hash = hashes[i].split('=');
query[hash[0]] = decodeURIComponent(hash[1]);
query[hash[0]] = hash[1];
}
}
return {
@@ -294,7 +291,7 @@ function extractPathParams(pattern, path) {
while (path[j] !== '/' && j < path.length) {
val.push(path[j++]);
}
params[key.join('')] = decodeURIComponent(val.join(''));
params[key.join('')] = val.join('');
} else {
if (pattern[i] !== path[j]) {
return null;

View File

@@ -123,8 +123,6 @@ export class OpenAPI {
this.cache = JSON.parse(
this.node.fs.readFileSync(`${fpath}`, 'utf-8'),
);
if (!isPlainObject(this.cache))
throw new Error('Invalid Data');
} catch (e) {
try {
const str = Base64.decode(
@@ -134,8 +132,6 @@ export class OpenAPI {
this.node.fs.writeFileSync(fpath, str, {
flag: 'w',
});
if (!isPlainObject(this.cache))
throw new Error('Invalid Data');
} catch (e) {
this.node.fs.copyFileSync(fpath, backupPath);
this.error(

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long