From 9737a9d785d8ea76a9200c78fff4e182cda94a7e Mon Sep 17 00:00:00 2001 From: cmliu Date: Sun, 24 Nov 2024 21:19:07 +0800 Subject: [PATCH] obf --- .github/workflows/obfuscator.yml | 72 ++++++++++++++++++++++++++++++++ _worker.src.js | 8 ++-- 2 files changed, 76 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/obfuscator.yml diff --git a/.github/workflows/obfuscator.yml b/.github/workflows/obfuscator.yml new file mode 100644 index 00000000..11e095d3 --- /dev/null +++ b/.github/workflows/obfuscator.yml @@ -0,0 +1,72 @@ +name: Obfuscate and Commit + +on: + push: + paths: + - '_worker.src.js' + workflow_dispatch: + +jobs: + obfuscate: + runs-on: ubuntu-latest + permissions: + contents: write + + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Use Node.js + uses: actions/setup-node@v3 + with: + node-version: "16" + + - name: Install dependencies + run: npm install -g javascript-obfuscator + + - name: Prepare files for obfuscation + run: | + if grep -q "Obfuscate-cmliu" _worker.src.js; then + echo "检测到 Obfuscate 准备分段处理" + line_number=$(awk '/Obfuscate-cmliu/ {print NR; exit}' _worker.src.js) + echo "Obfuscate 分段处理行号为: $line_number" + head -n $line_number _worker.src.js > src.js + tail -n +$((line_number + 1)) _worker.src.js > obf.js + else + echo "未检测到 Obfuscate 执行全文件混淆" + cp _worker.src.js obf.js + fi + + - name: Obfuscate code + run: | + javascript-obfuscator obf.js --output _worker.js \ + --compact true \ + --control-flow-flattening true \ + --control-flow-flattening-threshold 1 \ + --dead-code-injection true \ + --dead-code-injection-threshold 1 \ + --string-array true \ + --string-array-encoding 'rc4' \ + --string-array-threshold 1 \ + --transform-object-keys true \ + --unicode-escape-sequence true + + - name: Concatenate src.js if exists + run: | + if [ -f src.js ]; then + cat src.js _worker.js > temp && mv temp _worker.js + fi + + - name: Commit changes + run: | + git config --local user.email "github-actions[bot]@users.noreply.github.com" + git config --local user.name "github-actions[bot]" + git add _worker.js + git commit -m "Obfuscate _worker.js" || echo "No changes to commit" + + - name: Push changes + uses: ad-m/github-push-action@master + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + branch: ${{ github.ref }} \ No newline at end of file diff --git a/_worker.src.js b/_worker.src.js index a9caa90b..c04cfdb5 100644 --- a/_worker.src.js +++ b/_worker.src.js @@ -58,15 +58,15 @@ let sha224Password ; const expire = 4102329600;//2099-12-31 const regex = /^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|\[.*\]):?(\d+)?#?(.*)?$/; +let parsedSocks5Address = {}; +let enableSocks = false; +let httpsPorts = ["2053","2083","2087","2096","8443"]; +/*Obfuscate-cmliu*/ /* if (!isValidSHA224(sha224Password)) { throw new Error('sha224Password is not valid'); } */ - -let parsedSocks5Address = {}; -let enableSocks = false; -let httpsPorts = ["2053","2083","2087","2096","8443"]; export default { async fetch(request, env, ctx) { try {