折腾啥

  1. Sub-Store 前端 2.14.57, 后端 2.14.169 修复 sing-box wireguard 输出 订阅链接 增加参数 #noFlow 不查询订阅流量信息用例: 可使用标准参数格式 #noCache&noFlow 取消 GitHub 用户名绑定关系现在用户名错误只影响头像Gist 同步只跟 token 有关 增加 gist 链接和最近一次检查状态的说明如截图所示 方便排查问题 Sub-Store 代理 App 版安装下载 Sub-Store 服务器/云平台/Docker/Android 版的相关教程

    Sub-Store

    前端 2.14.57, 后端 2.14.169

    修复 sing-box wireguard 输出

    订阅链接 增加参数 #noFlow 不查询订阅流量信息

    用例: 可使用标准参数格式 #noCache&noFlow

    取消 GitHub 用户名绑定关系

    现在用户名错误只影响头像

    Gist 同步只跟 token 有关

    增加 gist 链接和最近一次检查状态的说明

    如截图所示 方便排查问题

    Sub-Store 代理 App 版安装下载

    Sub-Store 服务器/云平台/Docker/Android 版的相关教程

    • ❤️2
  2. Sub-Store 后端 2.14.163Node.js 版本体支持定时任务, 环境变量 SUB_STORE_BACKEND_CRON优化订阅流量获取, 启用共享缓存(默认一分钟) 并优先尝试 HEAD 方法感谢 野比佬 @nubida 的建议 Loon 插件支持修改响应头缓存有效期VLESS URI 输入兼容 Shadowrocket 导出格式感谢群友 @zdz0510 的反馈

    Sub-Store

    后端 2.14.163

    Node.js 版本体支持定时任务, 环境变量 SUB_STORE_BACKEND_CRON

    优化订阅流量获取, 启用共享缓存(默认一分钟) 并优先尝试 HEAD 方法

    感谢 野比佬 @nubida 的建议

    Loon 插件支持修改响应头缓存有效期

    VLESS URI 输入兼容 Shadowrocket 导出格式

    感谢群友 @zdz0510 的反馈

    • ❤️3
    • 👍1
  3. Sub-Store 文件动态生成 sing-box 配置示例亚托莉佬不维护了 请自行寻找或创建模板 然后配置脚本使用可参考

    Sub-Store 文件动态生成 sing-box 配置示例

    亚托莉佬不维护了 请自行寻找或创建模板 然后配置脚本使用

    可参考
    https://github.com/huixiao666/pk-box
    https://github.com/Sheldontao/Scripts/tree/main/sub-store-template/1.12or13

    远程文件填
    链接 或查看 亚托莉佬的模板 选择对应的版本
    脚本操作填链接
    https://raw.githubusercontent.com/xishang0128/sub-store-template/main/sing-box.js#type=1&name=name // "1" 表示组合订阅, name 为订阅的 "名称", 具体看文件中的说明
    如果出现死活无法拉取外部资源的情况 可参考
    修改亚托莉佬示例配置中的外部资源逻辑为 使用 GitHub 加速服务 并 直连

    ⚠️ 此脚本与此模板配套 如果要用自定义模板/有自定义脚本的需求 可使用👇🏻的方案

    1.1 使用远程模板

    远程链接 中 第一行为 sing-box 模板文件链接
    例: https://a.com/sing-box.tpl.json

    1.2 或者使用本地模板
    本地文本 中为 sing-box 模板文件的内容

    使用脚本操作 填入链接:

    https://raw.githubusercontent.com/xream/scripts/main/surge/modules/sub-store-scripts/sing-box/template.js#type=组合订阅&name=机场&outbound=🕳ℹ️all|all-auto🕳ℹ️hk|hk-auto🏷ℹ️港|hk|hongkong|kong kong|🇭🇰🕳ℹ️tw|tw-auto🏷ℹ️台|tw|taiwan|🇹🇼🕳ℹ️jp|jp-auto🏷ℹ️日本|jp|japan|🇯🇵🕳ℹ️sg|sg-auto🏷ℹ️^(?!.*(?:us)).*(新|sg|singapore|🇸🇬)🕳ℹ️us|us-auto🏷ℹ️美|us|unitedstates|united states|🇺🇸


    示例表示:

    读取 名称为 "机场" 的 组合订阅 中的节点(单订阅不需要设置 type 参数)
    把 所有节点插入匹配 /all|all-auto/i 的 outbound 中(跟在 🕳 后面, ℹ️ 表示忽略大小写, 不筛选节点不需要给 🏷 )
    把匹配 /港|hk|hongkong|kong kong|🇭🇰/i (跟在 🏷 后面, ℹ️ 表示忽略大小写) 的节点插入匹配 /hk|hk-auto/i 的 outbound 中
    ...
    支持换行填写(如图 2)

    也支持传入订阅 URL. 参数为 url. 记得 url 需要 encodeURIComponent. 例如: http://a.com?token=123 应使用 url=http%3A%2F%2Fa.com%3Ftoken%3D123

    ⚠️ 如果 outbounds 为空, 自动创建 COMPATIBLE(direct) 并插入 防止报错

    可选参数: includeUnsupportedProxy 含不支持的协议 SSR 和 Snell. 用法: &includeUnsupportedProxy=true

    如果想完全手写 可参考 https://t.me/zhetengsha/1066

    Sub-Store 合集 频道资源合集 恰饭推荐 群组

    #Sub-Store #SubStore #sing-box #singbox #配置 #示例 #脚本

    • ❤️28
    • 👍14
  4. #Sub-Store #教程 #自建 #免费 #平台 #Docker #Node.js #Android Sub-Store 相关教程整合更新Docker 版 和 Hugging Face 的目前为最新版其他 Docker 云平台可以参考它的群内回复 Sub-Store 相关教程 有真相 Sub-Store 代理 App 版安装下载 Sub-Store 服务器/云平台/Docker/Android 版的相关教程

    折腾啥
    #Sub-Store #教程 #自建 #免费 #平台 #Docker #Node.js #Android 🔗 Sub-Store 相关教程整合更新 群内回复 Sub-Store 相关教程 有真相
    #Sub-Store #教程 #自建 #免费 #平台 #Docker #Node.js #Android

    Sub-Store 相关教程整合更新

    Docker 版 和 Hugging Face 的目前为最新版

    其他 Docker 云平台可以参考它的

    群内回复 Sub-Store 相关教程 有真相

    Sub-Store 代理 App 版安装下载

    Sub-Store 服务器/云平台/Docker/Android 版的相关教程

    • ❤️5
    • 👍2
  5. 代理 App 版如何排查 Sub-Store 服务器/云平台/Docker/Android 版如何排查盗版不要提问 不解答 功能用不了是正常的 不是脚本的问题⚠️ 需要打开 App 开关, 重写, 脚本, MitM(并信任证书). 你不打开你玩啥呢(真的有人不开)※ 以 BoxJs 为例进行排查:0. 初始使用时, 可能会从 cdn.jsdelivr.net 和 raw.githubusercontent.com 下载内容, 请自己保证能正常访问(分流和节点自己处理)1. 确保模块和脚本都下载成功2. 浏览器中访问

    代理 App 版如何排查

    Sub-Store 服务器/云平台/Docker/Android 版如何排查

    盗版不要提问 不解答 功能用不了是正常的 不是脚本的问题


    ⚠️ 需要打开 App 开关, 重写, 脚本, MitM(并信任证书). 你不打开你玩啥呢(真的有人不开)

    ※ 以 BoxJs 为例进行排查:

    0. 初始使用时, 可能会从 cdn.jsdelivr.netraw.githubusercontent.com 下载内容, 请自己保证能正常访问(分流和节点自己处理)
    1. 确保模块和脚本都下载成功
    2. 浏览器中访问 https://boxjs.com/query/data/boxjs_host (注意 这是 https) 应该可以看到 key 和 val
    3. 如果报错, 尝试访问 http://boxjs.com/query/data/boxjs_host (注意 这是 http) 如果成功 那就是 MitM/证书信任的问题
    4. 如果还是不行 一般是因为请求没有进重写, 请检查是否开启了重写和脚本功能(不同的 app 可能会有差异, 总之得开启功能)

    ※ 以 Script Hub 为例进行排查:

    1. 确保模块和脚本都下载成功
    2. 浏览器中访问 https://script.hub (注意 这是 https) 应该可以看到本地网页版
    3. 如果报错, 尝试访问 http://script.hub (注意 这是 http) 如果成功 那就是 MitM/证书信任的问题
    4. 如果还是不行 一般是因为请求没有进重写, 请检查是否开启了重写和脚本功能(不同的 app 可能会有差异, 总之得开启功能)

    ※ 以 Sub-Store 为例进行排查

    如果是 Shadowrocket/Surge 上刷新就寄 看这个 https://t.me/zhetengsha/5844 改小并发数
    如果是 QX mac 上请求超时 看这个 https://t.me/zhetengsha/4505
    如果是 Stash 可能需要看下这个 https://t.me/StashFans/802076

    1. https://sub-store.vercel.app 是搭建在 vercel 上的, 请自己保证能正常访问(分流和节点自己处理)
    2. 如果前端不是使用的 https://sub-store.vercel.app, 需要修改模块参数 cors 配置 CORS allowlist
    3. 确保模块和脚本都下载成功
    4. 浏览器中访问 https://sub.store/api/utils/env (注意 这是 https) 应该可以看到版本号
    5. 如果报错, 尝试访问 http://sub.store/api/utils/env (注意 这是 http) 如果成功 那就是 MitM/证书信任的问题
    6. 如果还是不行 一般是因为请求没有进重写, 请检查是否开启了重写和脚本功能(不同的 app 可能会有差异, 总之得开启功能)

    mac 上可以用 /Applications/Surge.app/Contents/Applications/surge-cli dump profile effective|grep sub.store 检查当前配置中 Sub-Store 相关的配置

    删除模块 重新安装模块
    或把模块优先级调到最高
    如果此时可以使用 说明可能有其他模块覆盖了hostname 如下操作检查模块内容

    如果还是不行
    依次尝试:
    一个个地检查模块内容

    若在 Surge/Shadowrokect 中误用 Loon 插件 或安装了不规范的模块 MitM hostname 可能会被覆盖
    规范的模块应有 hostname = %APPEND%hostname = %INSERT%

    常见错误: https://github.com/Semporia/TikTok-Unlock 中的模块就有误 请注意

    部分模块 会在 MitM 中 配置 hostname *.*.*.* 导致一系列问题 建议远离(

    删除再安装模块
    更新外部资源 确保下载好了
    关闭再开启脚本
    关闭再开启重写
    关闭再开启 MitM
    信任证书
    禁用再启用模块
    关开代理
    关代理, 杀 app 后台, 再打开
    重启设备
    有群友反馈: 所有模块重新卸载安装一次好了
    有群友反馈: 删了代理 app 重新安装 重来一遍能解决奇葩故障
    部分严重情况需要重置网络乃至重置手机

    耐心把每一步都试一遍


    如果还是不行且你觉得操作肯定没问题
    带日志找 app 开发者反馈问题
    不是脚本的问题 不要在群里反复提问

    BoxJs-Script-Hub-Sub-Store-等模块通用的前置教程

    各大代理 app 懒人配置和使用图文教程

    Sub-Store 服务器/云平台/Docker/Android 版如何排查

    无法刷新出新版前端 清除前端 PWA 缓存

    Sub-Store 合集 频道资源合集 恰饭推荐 群组

    #排查 #排错 #检查 #打不开 #用不了

    • ❤️17
    • 👍3
    • 😁1
    • 🥱1
  6. Sub-Store 文件动态生成 sing-box 配置示例 查看最新版带参数规则的脚本——— 亚托莉佬的模板和远程脚本远程文件填 链接1 或 链接2脚本操作填链接

    Sub-Store 文件动态生成 sing-box 配置示例

    查看最新版带参数规则的脚本

    ———

    亚托莉佬的模板和远程脚本

    远程文件填 链接1 或 链接2
    脚本操作填链接 https://raw.githubusercontent.com/xishang0128/sub-store-template/main/sing-box.js#type=1&name=name // "1" 表示组合订阅, name 为订阅的 "名称", 具体看文件中的说明

    ⚠️ 此脚本与此模板配套 如果要用自定义模板/有自定义脚本的需求 可使用👇🏻的方案自己动手 或者 查看最新版带参数规则的脚本

    1.1 使用远程模板

    远程链接 中 第一行为 sing-box 模板文件链接
    例: https://a.com/sing-box.tpl.json

    1.2 或者使用本地模板
    本地文本 中为 sing-box 模板文件的内容

    假设 你的 sing-box 模板文件中的 outbounds 是这样的: { "outbounds": [ { "tag": "全部节点", "type": "selector", "default": "urltest", "outbounds": [ "美国节点" ] }, { "tag": "美国节点", "type": "urltest", "outbounds": [] } ] }

    脚本操作:
    let config = (ProxyUtils.JSON5 || JSON).parse($content ?? $files[0]) // 文件中的第一个
    let proxies = await produceArtifact({
        type: 'subscription', // 如果是组合订阅 就是 'collection'
        name: '订阅的name', // 订阅的"名称", 不是"显示名称"
        platform: 'sing-box',
        produceType: 'internal'
    })
    
    // 先将全部节点结构插到 outbounds
    config.outbounds.push(...proxies)
    
    config.outbounds.map(i => {
      // 在 全部节点 中插入全部节点名
      if (['全部节点'].includes(i.tag)) {
        i.outbounds.push(...proxies.map(p => p.tag))
      }
      // 在 美国节点 中插入全部美国节点名
      if (['美国节点'].includes(i.tag)) {
        i.outbounds.push(...proxies.filter(p => /美国|🇺🇸|us|united states/i.test(p.tag)).map(p => p.tag))
      }
    })
    
    $content = JSON.stringify(config, null, 2)


    ▎其他示例(YAML, JSON):

    let singboxProxies = await produceArtifact({
        type: 'subscription', // type: 'subscription' 或 'collection'
        name: 'sub', // subscription name
        platform: 'sing-box', // target platform
        produceType: 'internal' // 'internal' produces an Array, otherwise produces a String( JSON.parse('JSON String') )
    })
    
    let clashMetaProxies = await produceArtifact({
        type: 'subscription',
        name: 'sub',
        platform: 'ClashMeta',
        produceType: 'internal' // 'internal' produces an Array, otherwise produces a String( ProxyUtils.yaml.safeLoad('YAML String').proxies )
    }))
    
    // YAML
    $content = ProxyUtils.yaml.safeDump({})
    
    // JSON
    $content = JSON.stringify({}, null, 2)


    Sub-Store 代理 App 版安装下载

    Sub-Store 服务器/云平台/Docker/Android 版的相关教程

    • ❤️5
    • 👍2
    • 👎1
  7. Sub-Store 前端 2.14.38 后端 2.14.146 新增文件功能文件支持本地/远程, 按顺序合并, 忽略失败的远程文件文件支持脚本操作和预览可使用链接访问文件内容可将文件内容同步到 Gist可在脚本操作中使用 /api/file/name 访问内部文件接口 /api/file/name 支持参数覆盖 使用场景在脚本操作复用内部文件在 Sub-Store 统一管理配置文件/规则集/脚本/模块对本地/远程的文本内容进行合并, 脚本操作利用参数覆盖功能 复用工作流模板 /api/file/name?url=&content=&ua=&mergeSources&ignoreFailedRemoteFile服务器版直接使用链接非服务器版 本设备使用 或 同步到 Gist 供其他设备使用 Sub-Store 服务器/云平台/Docker/Android 版的相关教程改动较大 有问题大家及时反馈(

    Sub-Store

    前端 2.14.38 后端 2.14.146

    新增文件功能

    文件支持本地/远程, 按顺序合并, 忽略失败的远程文件

    文件支持脚本操作和预览

    可使用链接访问文件内容

    可将文件内容同步到 Gist

    可在脚本操作中使用 /api/file/name 访问内部文件

    接口 /api/file/name 支持参数覆盖

    使用场景

    在脚本操作复用内部文件

    Sub-Store 统一管理配置文件/规则集/脚本/模块

    对本地/远程的文本内容进行合并, 脚本操作

    利用参数覆盖功能 复用工作流模板 /api/file/name?url=&content=&ua=&mergeSources&ignoreFailedRemoteFile

    服务器版直接使用链接

    非服务器版 本设备使用 或 同步到 Gist 供其他设备使用

    Sub-Store 服务器/云平台/Docker/Android 版的相关教程

    改动较大 有问题大家及时反馈(

    • ❤️6
    • 🥴1
  8. #Surge #模块 #脚本 #故障排除 #排查 #troubleshoot 随便写的 可以看功能开了没 & 启用了哪些 Hostname Key 佬新版安装

    #Surge #模块 #脚本 #故障排除 #排查 #troubleshoot

    随便写的 可以看功能开了没 & 启用了哪些 Hostname

    Key 佬新版

    安装 https://raw.githubusercontent.com/xream/scripts/main/surge/modules/troubleshoot/troubleshoot.sgmodule

    访问 http://trouble.shoot

    点此一键转发

    • 👍2
  9. Sub-Store 后端 2.14.141 前端 2.14.30兼容部分不带参数/不带节点名的 URI 输入支持设置全局请求超时暂时只支持全局修改 再观察一下一般代理 app 加载外部资源有自己的超时有时候某些远程订阅超时, 可能会导致组合订阅整体拉取的时长超过此时长. 可设置此参数, 保证组合订阅能在代理 app 内拉取成功 Sub-Store 服务器/云平台/Docker/Android 版的相关教程

    Sub-Store

    后端 2.14.141 前端 2.14.30

    兼容部分不带参数/不带节点名的 URI 输入

    支持设置全局请求超时

    暂时只支持全局修改 再观察一下

    一般代理 app 加载外部资源有自己的超时

    有时候某些远程订阅超时, 可能会导致组合订阅整体拉取的时长超过此时长. 可设置此参数, 保证组合订阅能在代理 app 内拉取成功

    Sub-Store 服务器/云平台/Docker/Android 版的相关教程

    • ❤️4
    • 👍1
  10. DualSubs: Spotify 已更新🍟 整点薯条:频道 两周年献礼Powered by Chavy‘s BoxJs and Env.jsAvailable in Surge, Stash, Loon, Shadowrocket, Quantumult XCreated by @V_Clyne功能更新DualSubs现在开始支持 Spotify 外部歌词检索与填充 1. 全新的外部源组件,从第三方源检索歌词或字幕 2. BoxJs 新增 Spotify 面板 与 外部源 面板 * 支持配置歌词模式 * 支持配置歌词检索接口 3. 歌词模式三种可选 * 默认有歌词:翻译,无歌词:外部检索填充 * 也可仅翻译歌词/仅外部检索填充 4. 歌曲信息检索为 Spotify 官方接口,无需注册开发者平台 5. 歌词检索默认为 网易云音乐 Node.js API 公共接口,不需要填写任何个人信息 6. 歌词的翻译器支持自动识别语言,不受日区未标记歌词语言代码影响待完成功能 1. YouTube Music 的外部源支持 2. ✅外部源 歌词检索的 QQ Music 接口 (已完成) 3. 逐字歌词功能兼容性 1. Surge 已修复 需要 iOS 5.21.0 (3021) 或 macOS 5.4.4 (2551) 2. Loon 完全支持 3. Stash 完全支持 4. Shadowrocket 完全支持 5. Quantumult X 受代理工具自身限制,仅支持翻译歌词,不支持 外部源 歌词检索 功能注: 1. 薯条所有作品都是安装即用,BoxJs面板仅为提供自定义高级设置,小白慎用 2. 由于新增外部源组件,BoxJs存储空间有较大修改,虽然向下兼容,但仍建议清空一次DualSubs的BoxJs缓存空间,详见 在BoxJs中清除DualSubs的设置或缓存广而告之• 如果您觉得本项目便捷好用• 欢迎关注支持我的B站直播间• 工作日晚19:00(UTC+8)开播(大概• 【薯条_Official的直播间-哔哩哔哩直播】• 【薯条_Official的个人空间-哔哩哔哩】

    Forwarded from 🍟 整点薯条: 频道 (Λ ǝuʎlƆ)
    DualSubs: Spotify 已更新
    🍟 整点薯条:频道 两周年献礼

    Powered by Chavy‘s BoxJs and Env.js
    Available in
    Surge, Stash, Loon, Shadowrocket, Quantumult X
    Created by @V_Clyne

    功能更新
    DualSubs现在开始支持 Spotify 外部歌词检索与填充
    1. 全新的外部源组件,从第三方源检索歌词
    2. BoxJs 新增 Spotify 面板 与 外部源 面板
    * 支持配置歌词模式
    * 支持配置歌词检索接口
    3. 歌词模式三种可选
    * 默认有歌词:翻译,无歌词:外部检索填充
    * 也可仅翻译歌词/仅外部检索填充
    4. 歌曲信息检索为 Spotify 官方接口,无需注册开发者平台
    5. 歌词检索默认为 网易云音乐 Node.js API 公共接口,不需要填写任何个人信息
    6. 歌词的翻译器支持自动识别语言,不受日区未标记歌词语言代码影响

    待完成功能
    1. YouTube Music 的外部源支持
    2. 外部源 歌词检索的 QQ Music 接口 (已完成)
    3. 逐字歌词功能

    兼容性
    1. Surge 已修复 需要 iOS 5.21.0 (3021) 或 macOS 5.4.4 (2551)
    2. Loon 完全支持
    3. Stash 完全支持
    4. Shadowrocket 完全支持
    5. Quantumult X 受代理工具自身限制,仅支持翻译歌词不支持 外部源 歌词检索 功能

    注:
    1. 薯条所有作品都是安装即用,BoxJs面板仅为提供自定义高级设置,小白慎用
    2. 由于新增外部源组件,BoxJs存储空间有较大修改,虽然向下兼容,但仍建议清空一次DualSubs的BoxJs缓存空间,详见 BoxJs中清除DualSubs的设置或缓存

    广而告之
    • 如果您觉得本项目便捷好用
    • 欢迎关注支持我的B站直播间
    • 工作日晚19:00(UTC+8)开播(大概
    【薯条_Official的直播间-哔哩哔哩直播】
    【薯条_Official的个人空间-哔哩哔哩】 🍿 DualSubs: 🎵 Spotify

    • ❤️6
    • 👍1