Sub-Store icon indicating copy to clipboard operation
Sub-Store copied to clipboard

增加脚本的统一引用、管理

Open fankuiz6 opened this issue 9 months ago • 8 comments

目前十几个订阅在使用同一个脚本,修改一个内容需要在十几个订阅中重复修改保存。建议新增脚本管理页面,订阅内引用脚本,只需要改一次脚本的内容,所有地方都生效。

fankuiz6 avatar Mar 16 '25 10:03 fankuiz6

现在就支持 可以留意下复制文件 url 时候的提示 和 脚本链接中的 placeholder 说明

Image Image

xream avatar Mar 16 '25 10:03 xream

@xream 刚才表达不清晰,并不是想说引用远程脚本,A B C D 订阅使用测活脚本 https://raw.githubusercontent.com/xream/scripts/main/surge/modules/sub-store-scripts/check/http_meta_availability.js#show_latency=true&keep_incompatible=true&status=204&url=http%3A%2F%2Fconnectivitycheck.platform.hicloud.com%2Fgenerate_204&timeout=1000&retries=1&retry_delay=1000&concurrency=10&http_meta_protocol=http&http_meta_host=127.0.0.1&http_meta_port=9876&http_meta_start_delay=3000&http_meta_proxy_timeout=10000 现在想删掉最后的 &http_meta_proxy_timeout=10000 我需要打开每个订阅都删除保存,如果有一个页面我可以创建一个 测活 的脚本操作,填入脚本内容后,我在A B C D 订阅只需要选择 测活,我需要改的时候去改 测活 就可以,和组合订阅引用单条订阅的逻辑一样

fankuiz6 avatar Mar 16 '25 10:03 fankuiz6

哦 懂了 短期内没这个规划. 其实你现在就能实现...你创建一个文件, 然后用 js 来设置这些参数...

xream avatar Mar 16 '25 10:03 xream

可以用API呀,我就用python批量增删订阅

duchenpaul avatar Apr 27 '25 15:04 duchenpaul

现在脚本能通过绝对路径引用本地文件了

asher534 avatar Jun 01 '25 17:06 asher534

脚本有个缓存功能,这个具体缓存机制是什么

itbencn avatar Jun 10 '25 08:06 itbencn

@itbencn 关于缓存时长

拉取 Sub-Store 订阅时, 会自动拉取远程订阅

远程订阅缓存是 1 小时, 缓存的唯一 key 为 url+ user agent. 可通过前端的刷新按钮刷新缓存. 或使用参数 noCache 来禁用缓存. 例: 内部配置订阅链接时使用 http://a.com#noCache, 外部使用 sub-store 链接时使用 https://sub.store/download/1?noCache=true

当使用相关脚本时, 若在对应的脚本中使用参数开启缓存, 可设置持久化缓存 sub-store-csr-expiration-time 的值来自定义默认缓存时长, 默认为 172800000 (48 * 3600 * 1000, 即 48 小时)

Loon 可在插件中设置

其他平台同理, 持久化缓存数据在 JSON 里

当配合脚本使用时, 可以在脚本的前面添加一个脚本操作, 实现保留 1 小时的缓存

async function operator() { scriptResourceCache._cleanup(undefined, 1 * 3600 * 1000); }

xream avatar Jun 10 '25 08:06 xream

@itbencn 刚没注意看...我猜你问的是前端那个缓存开关 那个是远程脚本资源的缓存 默认是会缓存的 一般是本地调试时(比如使用局域网脚本)关闭缓存 这样编辑器一边改 一边可以测 平时也不用管 一般会建议用户想清这个缓存的时候 直接点前端左上角清空所有缓存

xream avatar Jun 10 '25 08:06 xream