diff --git a/.github/workflows/obfuscator.yml b/.github/workflows/obfuscator.yml new file mode 100644 index 000000000..35bb3f885 --- /dev/null +++ b/.github/workflows/obfuscator.yml @@ -0,0 +1,52 @@ +name: Obfuscate and Commit + +on: + push: + branches: [beta] + 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: Obfuscate code + run: | + javascript-obfuscator _worker.src.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: 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 c31fa516b..c1e00e5b7 100644 --- a/_worker.src.js +++ b/_worker.src.js @@ -1298,7 +1298,7 @@ function checkSUB(host) { } } -const 啥啥啥_写的这是啥啊 = 'dmxlc3M='; +const 啥啥啥_写的这是啥啊 = `\u0064\u006d\u0078\u006c\u0063\u0033\u004d\u003d`; function 配置信息(UUID, 域名地址) { const 协议类型 = atob(啥啥啥_写的这是啥啊); @@ -1323,7 +1323,7 @@ function 配置信息(UUID, 域名地址) { 传输层安全 = ['',false]; } - const v2ray = `${协议类型}://${用户ID}@${地址}:${端口}?encryption=${加密方式}&security=${传输层安全[0]}&sni=${SNI}&fp=${指纹}&type=${传输层协议}&host=${伪装域名}&path=${encodeURIComponent(路径)}#${encodeURIComponent(别名)}`; + const v2ray = `${协议类型}://${用户ID}@${地址}:${端口}\u003f\u0065\u006e\u0063\u0072\u0079\u0070\u0074\u0069\u006f\u006e\u003d${加密方式}&security=${传输层安全[0]}&sni=${SNI}&fp=${指纹}&type=${传输层协议}&host=${伪装域名}&path=${encodeURIComponent(路径)}#${encodeURIComponent(别名)}`; const clash = `- type: ${协议类型} name: ${FileName} server: ${地址} @@ -1824,7 +1824,7 @@ function subAddresses(host,UUID,noTLS,newAddressesapi,newAddressescsv,newAddress let 节点备注 = ''; const 协议类型 = atob(啥啥啥_写的这是啥啊); - const vlessLink = `${协议类型}://${UUID}@${address}:${port}?encryption=none&security=&type=ws&host=${伪装域名}&path=${encodeURIComponent(最终路径)}#${encodeURIComponent(addressid + 节点备注)}`; + const vlessLink = `${协议类型}://${UUID}@${address}:${port}\u003f\u0065\u006e\u0063\u0072\u0079\u0070\u0074\u0069\u006f\u006e\u003dnone&security=&type=ws&host=${伪装域名}&path=${encodeURIComponent(最终路径)}#${encodeURIComponent(addressid + 节点备注)}`; return vlessLink; @@ -1889,7 +1889,7 @@ function subAddresses(host,UUID,noTLS,newAddressesapi,newAddressescsv,newAddress } const 协议类型 = atob(啥啥啥_写的这是啥啊); - const vlessLink = `${协议类型}://${UUID}@${address}:${port}?encryption=none&security=tls&sni=${伪装域名}&fp=random&type=ws&host=${伪装域名}&path=${encodeURIComponent(最终路径)}#${encodeURIComponent(addressid + 节点备注)}`; + const vlessLink = `${协议类型}://${UUID}@${address}:${port}\u003f\u0065\u006e\u0063\u0072\u0079\u0070\u0074\u0069\u006f\u006e\u003dnone&security=tls&sni=${伪装域名}&fp=random&type=ws&host=${伪装域名}&path=${encodeURIComponent(最终路径)}#${encodeURIComponent(addressid + 节点备注)}`; return vlessLink; }).join('\n');