본문으로 건너뛰기

애드온

Base64, MD5/SHA 해싱, UUID, JWT 디코딩, GZip 등 Proxyman Scripting의 내장 애드온을 살펴보고, require()로 가져와 사용하는 방법을 알아보세요.

1. 기능 소개​

Proxyman은 MD5 및 SHA1 해싱, Base64 인코딩/디코딩, XML 및 JSON 포맷팅처럼 자주 쓰는 작업을 위한 편리한 내장 애드온을 제공합니다.

팁

Proxyman macOS 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퍼센트 인코딩된 문자열 디코딩
EncodeURI.js퍼센트 인코딩된 문자열로 인코딩
FormatCSS.jsCSS 문자열 포맷팅
FormatJSON.jsJSON 문자열 포맷팅
BeautifyJSON.jsJSON 객체를 보기 좋은 JSON 문자열로 변환
UglifyJSON.jsJSON 객체를 압축된 JSON 문자열로 변환
FormatXML.jsXML 문자열 포맷팅
HelloWorld.jsHello World
Hex2rgb.js#000000 형식의 문자열을 RGB 문자열로 변환
JsonToQuery.jsJSON 객체를 쿼리 문자열로 변환
JSONValidator.jsJSON 문자열 유효성 검사
JWTDecode.jsJWT 토큰 디코딩
KebabCase.jsKebab Case로 변환
MD5.jsMD5 해시 생성
MinifyCSS.jsCSS 문자열 압축
MinifyJSON.jsJSON 문자열 압축
MinifyXML.jsXML 문자열 압축
QueryToJson.js쿼리 문자열을 JSON 객체로 변환
Pako.jsDeflate/Inflate 및 GZip/UnGZip
SHA1.jsSHA1 해시 생성
SHA256.jsSHA256 해시 생성
SHA512.jsSHA512 해시 생성
SnakeCase.jsSnake Case로 변환
StartCase.jsStart 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이 제공하는 커스텀 함수입니다.

Proxyman의 내장 애드온을 가능하게 해 준 Boop 앱을 만든 Ivan Mathy 님께 감사드립니다.

정보

addons 폴더는 Proxyman 업데이트마다 덮어쓰이므로, 그 안의 애드온은 편집하지 마세요. 애드온을 변경하려면 먼저 users 폴더로 복사하세요. 나만의 애드온 작성하기를 참고하세요.