Chavy Scripts
10.4K subscribers
46 photos
14 videos
16 files
92 links
Download Telegram
预告个新功能

Surge TF 提供了 HTTP API
允许脚本调用脚本

意味着
1. 你可以直接在 BoxJs 中运行指定脚本
2. 甚至可以在 BoxJs 编写脚本并运行
3. 可以期待下这个场景: Thor 导出 Har, 导入到 BoxJs 生成脚本并运行 (不过目前没有提供保存脚本到本地的 API)
#EnvJs更新

> 本次更新主要面向开发者

【增加】
1. getScript(script_url)
2. runScript(script_txt)

【示例】
1. getScript('https://xxx.js').then(script_txt => {...})
2. runScript('console.log("test")').then(resp => {...})
3. await $.getScript(url)).then((script) => $.runScript(script))

#BoxJs更新

> 本次更新主要面向开发者

【增加】
1. script (远程脚本地址)

指定该属性后, 用户可在 BoxJs 直接运行脚本

【示例】
https://gist.githubusercontent.com/chavyleung/9d53fc4809eb41dca5f5923790ec5554/raw/8b7bb6436ca62a45afa816e2c19f71683ab4bf95/chavy.app.sub.simple.json
1. 在 Surge 配置文件中增加
http-api = [email protected]:6166

2. 在 BoxJs 里设置 http-api地址 (注意是 127.0.0.1)
[email protected]:6166

3. 更新订阅

另: 如果希望控制其他 Surge 设备, 可在 http-api 中填指定设备的 ip
咕咕咕项目:评论你的脑洞
BoxJS首页内容
我的想法:
每天学一点JS、每日音乐分享
仅作为参考 并不一定实现
#ToDo
消息来源: @Gideon_Senku
#EnvJs更新

> 本次更新主要面向开发者

【增加】
time()
【特性】
可自定义获取当前时间
【示例】
- $.time('yyyy-MM-dd qq HH:mm:ss.S')
- $.time('yyyyMMddHHmmssS')
- y:年 M:月 d:日 q:季 H:时 m:分 s:秒 S:毫秒
- 其中y可选0-4位占位符、S可选0-1位占位符,其余可选0-2位占位符

消息来源: @Gideon_Senku
#BoxJs更新

Surge、QuanX、Loon 都可以在 BoxJs 中手动运行脚本

【说明】
1. 手动运行脚本采用 eval() 方案
2. Surge 在配置了 http-api 参数下会使用 http-api 方案运行脚本
3. 因为手法有点特殊, 不保证所有脚本都能良好

【感谢】
感谢 #NobyDa 野比大佬提醒可以使用 eval() 方案
#BoxJs更新

> 本次更新主要面向开发者

【增加】
1. scripts (数组, 与 script 同级)
[{ name: '', script: '' }]

可指定多份可运行脚本

【示例】
https://gist.githubusercontent.com/chavyleung/9d53fc4809eb41dca5f5923790ec5554/raw/4d8b140ba149c33aa1fc622e93c4035ae74a73bb/chavy.app.sub.simple.json
1
Chavy Scripts
Video
#BoxJs更新

【新增】
内置应用 "偏好设置"
1. 可以设置多个 http-api 地址
2. 可以设置暗黑&明亮主题下的主色调
#BoxJs更新

【优化】
1. 双击底栏'应用'可以收缩面板并回到顶部
2. 双击底栏'订阅'可以刷新订阅并回到顶部
3. 双击'BoxJs'按钮可以刷新页面
4. 保存应用设置、清存会话数据能马上生效 (不用刷新页面)
5. 可以隐藏刷新按钮

【主题】
1. 页面更多元素会跟随主题色调

【重写】
1. BoxJs 的重写已经去除代码级依赖
2. 意味着仅通过修改正则和主机名即可替换 BoxJs 的访问地址
3. 同时征集一个比较理想的国内域名作为 BoxJs 的免翻墙访问地址
4. iOS14 Surge TF 下提示私密连接的问题, 可以找一个 http 的域名来试试
#BoxJs更新

> 增加 1.1.1.1 访问姿势

1. https://8.8.8.8/home
2. https://1.1.1.1/home

【注意】
1. 是 http 不是 https
2. 8.8.8.8 访问入口仍然保留
3. 1.1.1.1 可以直连 (免翻寺)
4. http 可解决提示私密链接问题
5. 更快, 更好记, 更好输

【注意】
> 更新重写订阅后
【重启代理】
【重启代理】
【重启代理】

【WebApp】
记得重新添加到桌面
#BoxJs更新

【优化】
开关控件可以显示详情

【入口】
增加 https://boxjs.com

【重写】
增加新的重写配置 Surge QuanX Loon

【注意】
新的重写配置只有 boxjs.com
旧的重写配置保留 8888、1111、boxjs.com
更新后可以直接访问根地址 https://boxjs.com (不用加 /home)

【WebApp】
注意重新添加到桌面
#BoxJs更新

> 本次更新主要面向开发者

【新增】
desc、descs、desc_html、descs_html 属性
用于显示应用详情

示例
QuanX TF 新模块 http_backend
能更快启动 BoxJs 强烈建议使用

[http_backend]
https://gitee.com/chavyleung/scripts/raw/master/chavy.box.js, tag=BoxJs, path=^/

【注意】
1. 配置后记得开启 http_backend 模块
2. 访问地址还是: https://127.0.0.1:9999
3. 原有的重写配置可以删掉
#脚本测试
【南方周末】
* hostname = api.infzm.com
*
* # Surge
* Rewrite: nfzm = type=http-request,pattern=^http:\/\/api\.infzm\.com\/mobile\/pumpkin_task\/complete?,script-path=https://raw.githubusercontent.com/chavyleung/scripts/master/nfzm/nfzm.cookie.js,debug=true
* Tasks: nfzm-签到 = type=cron,cronexp=10 0 * * *,script-path=https://raw.githubusercontent.com/chavyleung/scripts/master/nfzm/nfzm.js,wake-system=true
*
* # QuanX
* ^http:\/\/api\.infzm\.com\/mobile\/pumpkin_task\/complete? url script-request-header https://raw.githubusercontent.com/chavyleung/scripts/master/nfzm/nfzm.cookie.js
* 10 0 * * * https://raw.githubusercontent.com/chavyleung/scripts/master/nfzm/nfzm.js, tag=nfzm-签到
*
* # Loon
* http-response ^http:\/\/api\.infzm\.com\/mobile\/pumpkin_task\/complete? script-path=https://raw.githubusercontent.com/chavyleung/scripts/master/nfzm/nfzm.cookie.js
* cron "10 0 * * *" script-path=https://raw.githubusercontent.com/chavyleung/scripts/master/nfzm/nfzm.js
*
* # 获取方式:点击签到获取
#注意:虽然已经添加到Box订阅,但目前Orz大佬图标还没有上传,可能会出现一些bug,所以暂时不要更新Box订阅
2👍1