-
Notifications
You must be signed in to change notification settings - Fork 57
相关生态: Surge 模块工具
Script Hub 已支持此工具 现可一键导入 Surge(其实是自动下载为可用本工具更新的本地模块)
🆕 macOS 上可使用 Node.js 版的 https://raw.githubusercontent.com/Script-Hub-Org/Script-Hub/main/SurgeModuleTool_macOS.js 批量更新(暂未实现新建)
预览
![image](https://private-user-images.githubusercontent.com/1210282/252563730-5028eab2-1d03-4399-931c-cdb9017d334a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk2MzA3MjcsIm5iZiI6MTcxOTYzMDQyNywicGF0aCI6Ii8xMjEwMjgyLzI1MjU2MzczMC01MDI4ZWFiMi0xZDAzLTQzOTktOTMxYy1jZGI5MDE3ZDMzNGEucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDYyOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA2MjlUMDMwNzA3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9N2MxZTgyMDYyYTUxM2NhYjg3OTQ3NGIxN2MyNWI4ZjBiMjQ3Y2U2ZWRhMGQ0YTE4YTUyZDFhZDQwOGM2OGJhNyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.A6gXoeP9MsRKiKWTe_zfSaPNpSEjwoJuovba-OXDKmo)
视频演示
7.11.1.mp4
自行安装 Scriptable
并导入 https://raw.githubusercontent.com/Script-Hub-Org/Script-Hub/main/SurgeModuleTool.js
如何导入请自行搜索(复制粘贴也好, 把文件存到 iCloud 也好...请勿疯狂提问)
名称必须为 SurgeModuleTool
![image](https://private-user-images.githubusercontent.com/1210282/252563017-77ffaf81-c308-4b01-92b6-1f50a23d9363.jpeg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk2MzA3MjcsIm5iZiI6MTcxOTYzMDQyNywicGF0aCI6Ii8xMjEwMjgyLzI1MjU2MzAxNy03N2ZmYWY4MS1jMzA4LTRiMDEtOTJiNi0xZjUwYTIzZDkzNjMuanBlZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjI5VDAzMDcwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWRjZGY4NDI2MTk0NTRjMmI4MGZkODQ2ZTY5NzY2YTQ0OThhYzNkNTE2NjUxMWRlYmU2OWFkZTE1ZDA1NWFkOTcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.AoOFvhivMH9UpFjMCNDITtuibeiqjaHmLfm61QHa3aU)
模块文件中必须存在 #SUBSCRIBED https://foo.com/bar.sgmodule
▎如何把模块接入自动更新:
新建本地模块或在已有本地模块中加入类似这样结构的部分:
#SUBSCRIBED https://raw.githubusercontent.com/chavyleung/scripts/master/box/rewrite/boxjs.rewrite.surge.sgmodule
例如: 你之前安装了一个 BoxJs 的本地模块
你想接入本工具 那就打开它 加入一行 #SUBSCRIBED https://raw.githubusercontent.com/chavyleung/scripts/master/box/rewrite/boxjs.rewrite.surge.sgmodule
或者使用本工具的 从链接下载
功能, 输入链接, 本工具将自动创建本地模块.
▎如何使用:
Scriptable 内使用界面预览
![image](https://private-user-images.githubusercontent.com/1210282/253143314-3a0fa35c-c286-48fa-9aae-4f3e998d950e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk2MzA3MjcsIm5iZiI6MTcxOTYzMDQyNywicGF0aCI6Ii8xMjEwMjgyLzI1MzE0MzMxNC0zYTBmYTM1Yy1jMjg2LTQ4ZmEtOWFhZS00ZjNlOTk4ZDk1MGUucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDYyOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA2MjlUMDMwNzA3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MDZhNDhlYjM5MTc4MWU4NDIyZDVjNjViNDI4MTJiZWMwM2QxZWRkMmNmMWIxZTJmM2Y0ZTAwMGJiMDE5ZGY2YiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.CarJa9J8gXxCEi-XgW3rBEqmVSFULWNYlM-oxxt9oPs)
![image](https://private-user-images.githubusercontent.com/1210282/253143339-2e804836-2985-48de-9e14-212612837ed6.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk2MzA3MjcsIm5iZiI6MTcxOTYzMDQyNywicGF0aCI6Ii8xMjEwMjgyLzI1MzE0MzMzOS0yZTgwNDgzNi0yOTg1LTQ4ZGUtOWUxNC0yMTI2MTI4MzdlZDYucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDYyOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA2MjlUMDMwNzA3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9Y2NkYmM3YmFmOTg1Njk5NjA3NmFkNTU0NmQ3OTc3M2QyYjEyMjkyODZjZjI2YTM4NTJlN2E0MjhiZTdkNGExYyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.GGNSDXhp9PnOGvjlUXM7ypC3y0lu3evXwGYGacMnAwg)
① 点击三个点进去编辑模式
② 点击右下角的执行
③ 四种方式:
• 更新全部: 选择 iCloud/Surge 里你放模块的文件夹
• 更新单个文件: 选择某个模块文件进行更新
• 从链接下载: 输入名字和链接下载模块到指定目录
• URL Scheme 调用: scriptable:///run/SurgeModuleTool?url=&name=
④ 若发现 Surge 里还是旧的模块内容, 关闭代理, 杀掉 Surge 后台, 重新打开.
看控制台日志
原理
读取文件里的链接
获取链接内容 把链接和一些更新信息再写入文件