跳到主要内容

内置插件(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.jsBase64 编码/解码,支持原生 atob/btoa 函数
CamelCase.js将文本转换为驼峰命名(Camel Case)
CryptoJS.jsDES、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.jsHello 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.jsDeflate/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 文件夹。请参阅 编写自定义插件。