Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
106 changes: 102 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,113 @@
# Chavy Scripts

![](https://img.shields.io/badge/license-GPL-blueviolet.svg)
![GitHub release (latest by date)](https://img.shields.io/github/v/release/chavyleung/scripts?color=%23c694ff)
![](https://badgen.net/github/stars/chavyleung/scripts)
![](https://tokei.rs/b1/github/chavyleung/scripts?category=code)
![GitHub contributors](https://img.shields.io/github/contributors/chavyleung/scripts)
# BoxJs
A SPA Appliction be used for scripts utils

Telegram讨论组:[Chavy Scripts Group](https://t.me/chavyscripts)

---

- [Chavy Scripts](#chavy-scripts)
- [🧰BoxJs](#boxjs)
- [简介](#简介)
- [使用方式](#使用方式)
- [安装链接](#安装链接)
- [正式版](#正式版)
- [🧪测试版](#测试版)
- [🛠️Env.js](#️envjs)
- [调用方式](#调用方式)
- [功能列表](#功能列表)
- [HttpClient](#httpclient)
- [持久化数据](#持久化数据)
- [安装链接](#安装链接-1)
- [正式版](#正式版-1)
- [📃LICENSE](#license)

---

# 🧰BoxJs
<image src="https://github.com/chavyleung/scripts/blob/master/BoxJS.gif" width="30%" height="55%">

[Scripts Vote](https://t.me/chavyscripts)
## 简介
A SPA Appliction be used for scripts utils

## 使用方式
* 安装对应模块/插件后,浏览器访问
* 正式版:[boxjs.com](http://boxjs.com "BoxJs")
* 测试版:[boxjs.net](http://boxjs.net "BoxJs")

## 安装链接
### 正式版
* Shadowrocket: [boxjs.rewrite.surge.sgmodule](https://github.com/chavyleung/scripts/raw/master/box/rewrite/boxjs.rewrite.surge.sgmodule "BoxJs")
* Loon: [boxjs.rewrite.loon.plugin](https://github.com/chavyleung/scripts/raw/master/box/rewrite/boxjs.rewrite.loon.plugin "BoxJs")
* Quantumult X: [boxjs.rewrite.quanx.conf](https://github.com/chavyleung/scripts/raw/master/box/rewrite/boxjs.rewrite.quanx.conf "BoxJs")
* Surge: [boxjs.rewrite.surge.sgmodule](https://github.com/chavyleung/scripts/raw/master/box/rewrite/boxjs.rewrite.surge.sgmodule "BoxJs")
* Stash: [boxjs.rewrite.stash.stoverride](https://github.com/chavyleung/scripts/raw/master/box/rewrite/boxjs.rewrite.stash.stoverride "BoxJs")

### 🧪测试版
* Shadowrocket: [boxjs.rewrite.surge.tf.sgmodule](https://github.com/chavyleung/scripts/raw/master/box/rewrite/boxjs.rewrite.surge.tf.sgmodule "BoxJs.net")
* Loon: [boxjs.rewrite.loon.tf.plugin](https://github.com/chavyleung/scripts/raw/master/box/rewrite/boxjs.rewrite.loon.tf.plugin "BoxJs.net")
* Quantumult X: [boxjs.rewrite.quanx.tf.conf](https://github.com/chavyleung/scripts/raw/master/box/rewrite/boxjs.rewrite.quanx.tf.conf "BoxJs.net")
* Surge: [boxjs.rewrite.surge.tf.sgmodule](https://github.com/chavyleung/scripts/raw/master/box/rewrite/boxjs.rewrite.surge.tf.sgmodule "BoxJs.net")
* Stash: [boxjs.rewrite.stash.tf.stoverride](https://github.com/chavyleung/scripts/raw/master/box/rewrite/boxjs.rewrite.stash.tf.stoverride "BoxJs.net")

---

# 🛠️Env.js

## 调用方式
* Env.min.js放置于嵌入式脚本底端,然后头部调用功能
```
const $ = new Env("你的脚本名称");
```

## 功能列表
### HttpClient

* 支持方法: get, post, put, delete, head, options, patch
```javascript
let option = {
url: "http://www.example.com/", // URL,必须
headers: { // 请求头,可选
"Accept": "*/*",
"User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 15_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.1 Mobile/15E148 Safari/605.1.15",
"Content-Type": "application/json; charset=utf-8"
""
},
body: `auth_key=1234567&source_lang=EN&target_lang=ZH` // 请求体,POST等方法必须,字符串或对象
}
let result = $.get(URL<String> or options<Object>, callback(error, response, data)) // 不支持异步
let result = $.post(URL<String> or options<Object>, callback(error, response, data)) // 不支持异步
……

let result = await $.http.get(URL<String> or options<Object>).then(callback(response))
let result = await $.http.post(URL<String> or options<Object>).then(response => response.body)
let result = await $.http.put(URL<String> or options<Object>).then(response => {
$.log(JSON.stringify(response.headers));
return response.body
})
……
```

### 持久化数据
```javascript

$.getdata(‘chavy’) // 读取持久化数据 (string格式)
$.setdata(string, ‘chavy’) // 写入持久化数据 (string格式)
$.getjson(‘chavy’, default_value<String, Object>) // 读取持久化数据 (object格式),当读取失败后返回默认值
$.setjson(object, ‘chavy’) // 写入持久化数据 (object格式)

```

## 安装链接
### 正式版
* 用于集成:[Env.min.js](./Env.min.js?raw=true "Env.min.js")
* 便于阅读:[Env.js](./Env.js?raw=true "Env.js")

---

# LICENSE
# 📃LICENSE
Copyright © 2019-present chavyleung. This project is [GPL](https://github.com/chavyleung/scripts/blob/master/LICENSE) licensed.
2 changes: 1 addition & 1 deletion box/rewrite/boxjs.rewrite.loon.plugin
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
[Script]
http-request ^https?://boxjs.com script-path=https://raw.githubusercontent.com/chavyleung/scripts/master/chavy.box.js, requires-body=true, timeout=120, tag=BoxJs
http-request ^https?:\/\/boxjs\.com script-path=https://raw.githubusercontent.com/chavyleung/scripts/master/chavy.box.js, requires-body=true, timeout=120, tag=BoxJs
2 changes: 1 addition & 1 deletion box/rewrite/boxjs.rewrite.loon.tf.plugin
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
[Script]
http-request ^https?://boxjs.net script-path=https://raw.githubusercontent.com/chavyleung/scripts/master/box/chavy.boxjs.js, requires-body=true, timeout=120, tag=BoxJs.net
http-request ^https?:\/\/boxjs\.net script-path=https://raw.githubusercontent.com/chavyleung/scripts/master/box/chavy.boxjs.js, requires-body=true, timeout=120, tag=BoxJs.net
2 changes: 1 addition & 1 deletion box/rewrite/boxjs.rewrite.quanx.conf
Original file line number Diff line number Diff line change
@@ -1 +1 @@
^https?://boxjs.com url script-analyze-echo-response https://raw.githubusercontent.com/chavyleung/scripts/master/chavy.box.js
^https?:\/\/boxjs\.com url script-analyze-echo-response https://raw.githubusercontent.com/chavyleung/scripts/master/chavy.box.js
2 changes: 1 addition & 1 deletion box/rewrite/boxjs.rewrite.quanx.tf.conf
Original file line number Diff line number Diff line change
@@ -1 +1 @@
^https?://boxjs.net url script-analyze-echo-response https://raw.githubusercontent.com/chavyleung/scripts/master/box/chavy.boxjs.js
^https?:\/\/boxjs\.net url script-analyze-echo-response https://raw.githubusercontent.com/chavyleung/scripts/master/box/chavy.boxjs.js
17 changes: 17 additions & 0 deletions box/rewrite/boxjs.rewrite.stash.stoverride
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: BoxJs
desc: http://boxjs.com

http:
mitm:
- "boxjs.com"
script:
- match: ^https?:\/\/boxjs\.com
name: BoxJs
type: request
require-body: true
timeout: 120

script-providers:
BoxJs:
url: https://raw.githubusercontent.com/chavyleung/scripts/master/chavy.box.js
interval: 86400
17 changes: 17 additions & 0 deletions box/rewrite/boxjs.rewrite.stash.tf.stoverride
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#!name=BoxJs.net
#!desc=http://boxjs.net

http:
mitm:
- "boxjs.com"
script:
- match: ^https?:\/\/boxjs\.net
name: BoxJs
type: request
require-body: true
timeout: 120

script-providers:
BoxJs:
url: https://raw.githubusercontent.com/chavyleung/scripts/master/chavy.box.js
interval: 86400
2 changes: 1 addition & 1 deletion box/rewrite/boxjs.rewrite.surge.sgmodule
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
#!desc=http://boxjs.com

[Script]
Rewrite: BoxJs = type=http-request,pattern=^https?://boxjs.com,script-path=https://raw.githubusercontent.com/chavyleung/scripts/master/chavy.box.js, requires-body=true, timeout=120
Rewrite: BoxJs = type=http-request,pattern=^https?:\/\/boxjs\.com,script-path=https://raw.githubusercontent.com/chavyleung/scripts/master/chavy.box.js, requires-body=true, timeout=120
2 changes: 1 addition & 1 deletion box/rewrite/boxjs.rewrite.surge.tf.sgmodule
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
#!desc=http://boxjs.net

[Script]
Rewrite: BoxJs = type=http-request,pattern=^https?://boxjs.net,script-path=https://raw.githubusercontent.com/chavyleung/scripts/master/box/chavy.boxjs.js, requires-body=true, timeout=120
Rewrite: BoxJs = type=http-request,pattern=^https?:\/\/boxjs\.net,script-path=https://raw.githubusercontent.com/chavyleung/scripts/master/box/chavy.boxjs.js, requires-body=true, timeout=120