sub-store-org / Sub-Store

Advanced Subscription Manager for QX, Loon, Surge, Stash and Shadowrocket!
https://www.notion.so/Sub-Store-6259586994d34c11a4ced5c406264b46
GNU Affero General Public License v3.0
5.4k stars 592 forks source link

[Bug] 在特定情景下,无法在订阅的「脚本操作」中执行存储在「文件管理」中的脚本 #281

Closed jimlee2048 closed 9 months ago

jimlee2048 commented 9 months ago

环境

使用Docker部署的服务器版sub-store,https://hub.docker.com/r/xream/sub-store

问题描述

如果满足以下条件,那么无法在订阅的「脚本操作」中执行存储在「文件管理」中的脚本:

错误日志

[sub-store] INFO: Applying "Script Operator" with arguments:
 >>> {
  "content": "/api/file/sub-info-node.js",
  "mode": "link"
}
[sub-store] ERROR: Cannot apply operator Script Operator(function operator)! Reason: ReferenceError: operator is not defined

复现情景

  1. 在文件管理中,仅添加远程脚本链接 SCR-20240213-tlvh

    https://cdn.jsdelivr.net/gh/xream/scripts@main/surge/modules/sub-store-scripts/sub-info/node.js

    保存后复制链接,在提示中得到文件管理中的内部短链接

    /api/file/sub-info-node.js
  2. 编辑任一订阅,添加脚本操作,填写刚才所得短链接。此时点击预览,脚本不工作(没有出现流量信息节点),后端出现上文错误日志。 SCR-20240213-tnii

  3. 填写文件管理中复制所得的完整链接(带域名)或直接填写脚本源链接,脚本均能正常工作(能正常出现流量信息节点)

xream commented 9 months ago

没注意到这里...目前仅支持本地文件内容的复用. 服务器版要复用的话, 直接在脚本操作里填文件的完整链接吧

xream commented 9 months ago

@jimlee2048 2.14.219 已支持