内置插件(Addons)
浏览 Proxyman Scripting 内置的插件,包括 Base64、MD5/SHA 哈希、UUID、JWT 解码、GZip 等,并使用 require() 导入。
1. 这是什么?
Proxyman 内置了一些实用插件,用于完成常见任务,例如 MD5 和 SHA1 哈希、Base64 编码/解码,以及 XML 和 JSON 的美化。
提示
从 macOS 版 Proxyman 6.10.0 开始,你可以使用 `npm install` 安装第三方库。请参阅 use-npm-install.md。
2. 内置插件
所有插件的示例代码都可以在 插件代码片段 中找到。
| 名称 | 说明 |
|---|---|
| Base64.js | Base64 编码/解码,支持原生 atob/btoa 函数 |
| CamelCase.js | 将文本转换为驼峰命名(Camel Case) |
| CryptoJS.js | DES、AES、Rabbit 加密/解密算法,对 CryptoJS 的轻量封装 |
| DateToTimestamp.js | 将日期字符串转换为时间戳 |
| DateToUTC.js | 将日期字符串转换为 UTC 字符串 |
| DecodeURI.js | 解码 URL 百分号编码的字符串 |
| EncodeURI.js | 编码为 URL 百分号编码的字符串 |
| FormatCSS.js | 美化 CSS 字符串 |
| FormatJSON.js | 美化 JSON 字符串 |
| BeautifyJSON.js | 将 JSON 对象转换为格式化的 JSON 字符串 |
| UglifyJSON.js | 将 JSON 对象转换为紧凑的 JSON 字符串 |
| FormatXML.js | 美化 XML 字符串 |
| HelloWorld.js | Hello World 示例 |
| Hex2rgb.js | 将 #000000 格式的字符串转换为 RGB 字符串 |
| JsonToQuery.js | 将 JSON 对象转换为查询字符串 |
| JSONValidator.js | 校验 JSON 字符串 |
| JWTDecode.js | 解码 JWT Token |
| KebabCase.js | 转换为 Kebab Case(短横线命名) |
| MD5.js | 计算 MD5 哈希值 |
| MinifyCSS.js | 压缩 CSS 字符串 |
| MinifyJSON.js | 压缩 JSON 字符串 |
| MinifyXML.js | 压缩 XML 字符串 |
| QueryToJson.js | 将查询字符串转换为 JSON 对象 |
| Pako.js | Deflate/Inflate 及 GZip/UnGZip 压缩与解压 |
| SHA1.js | 计算 SHA1 哈希值 |
| SHA256.js | 计算 SHA256 哈希值 |
| SHA512.js | 计算 SHA512 哈希值 |
| SnakeCase.js | 转换为 Snake Case(下划线命名) |
| StartCase.js | 转换为 Start Case(首字母大写) |
| UUID.js | 生成唯一的 UUID-v4 字符串 |
3. 如何使用插件?
每个插件都会导出函数,你可以使用 require 函数导入这些函数。
例如,Base64.js 插件的代码如下:
// Base64.js
const Base64 = require('@libs/base64.js');
const { atob } = require("@libs/atob.js");
const { btoa } = require("@libs/btoa.js");
// atob / btoa
// They're equivalent with window.atob and window.btoa
exports.atob = atob;
exports.btoa = btoa;
// Basic Base64
exports.base64Decode = (input) => {
return Base64.decode(input)
};
exports.base64Encode = (input) => {
return Base64.encode(input);
};
然后,你就可以在脚本中使用它了:
const { atob, btoa } = require("@addons/Base64.js")
function onRequest(context, url, request) {
// Encode base64 by using the export function
var text = btoa("Hello World");
console.log(text)
// => SGVsbG8gV29ybGQ=
}
信息
你可以在 ~/Library/Application\ Support/com.proxyman.NSProxy/addons 找到所有插件的代码。
4. 注意事项
信息
require 函数并非 JavascriptCore 框架 的内置函数,而是 Proxyman 提供的自定义函数,方便你导入插件和库。
感谢 Ivan Mathy 开发了 Boop 应用,它为 Proxyman 的内置插件提供了便利。
信息
每次更新 Proxyman 都会覆盖 addons 文件夹,因此请不要直接修改其中的插件。如需修改某个插件,请先将其复制到 users 文件夹。请参阅 编写自定义插件。