-
Notifications
You must be signed in to change notification settings - Fork 0
feat: MasterDnsVPN sidecar (DNS-tunnel client, VPN-mode capable) #18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
6d80a28
e40b538
33523bd
22b10d5
fbf4a88
ed5e20b
9c0ba5b
e495487
0cbd838
467d298
31f3a0c
c1950ec
32d0266
e40bd18
f4a1835
06d00f8
f702e80
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -9,6 +9,8 @@ on: | |
| env: | ||
| MIERU_VERSION: v3.34.0 | ||
| HYSTERIA_VERSION: v2.9.2 | ||
| MDVPN_REF: android-vpnservice-protect-hook | ||
| MDVPN_COMMIT: d481d72d4b86783a87d536c214d2c68cc4e9320e | ||
| NAIVE_VERSION: v149.0.7827.114-1 | ||
| permissions: | ||
| contents: read | ||
|
|
@@ -30,7 +32,7 @@ jobs: | |
| run: git ls-files libcore | xargs cat | sha1sum > libcore_status | ||
| - name: LibCore Cache | ||
| id: cache | ||
| uses: actions/cache@v5 | ||
| uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Harden cache steps against PR-based cache poisoning. These Suggested pattern (apply to each cache target)- - name: Sidecars Cache
- id: cache
- uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
+ - name: Sidecars Cache (restore)
+ id: cache
+ uses: actions/cache/restore@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
with:
path: |
app/executableSo
key: ${{ hashFiles('.github/workflows/*', 'sidecars_status') }}-${{ env.MIERU_VERSION }}-${{ env.HYSTERIA_VERSION }}-${{ env.MDVPN_COMMIT }}-sidecars-ci
+
+ - name: Sidecars Cache (save)
+ if: github.event_name != 'pull_request' && steps.cache.outputs.cache-hit != 'true'
+ uses: actions/cache/save@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
+ with:
+ path: |
+ app/executableSo
+ key: ${{ steps.cache.outputs.cache-primary-key }}Also applies to: 57-57, 95-95, 104-104, 120-120 🧰 Tools🪛 zizmor (1.25.2)[error] 34-34: runtime artifacts potentially vulnerable to a cache poisoning attack (cache-poisoning): enables caching by default (cache-poisoning) 🤖 Prompt for AI AgentsSource: Linters/SAST tools |
||
| with: | ||
| path: | | ||
| app/libs/libcore.aar | ||
|
|
@@ -50,14 +52,14 @@ jobs: | |
| - name: Checkout | ||
| uses: actions/checkout@v5 | ||
| - name: Sidecars Status | ||
| run: cat buildScript/lib/mieru.sh buildScript/lib/hysteria2.sh buildScript/lib/naive.sh buildScript/init/env.sh buildScript/init/env_ndk.sh | sha1sum > sidecars_status | ||
| run: cat buildScript/lib/mieru.sh buildScript/lib/hysteria2.sh buildScript/lib/masterdnsvpn.sh buildScript/lib/naive.sh buildScript/init/env.sh buildScript/init/env_ndk.sh | sha1sum > sidecars_status | ||
| - name: Sidecars Cache | ||
| id: cache | ||
| uses: actions/cache@v5 | ||
| uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 | ||
| with: | ||
| path: | | ||
| app/executableSo | ||
| key: ${{ hashFiles('.github/workflows/*', 'sidecars_status') }}-${{ env.MIERU_VERSION }}-${{ env.HYSTERIA_VERSION }}-${{ env.NAIVE_VERSION }}-sidecars-ci | ||
| key: ${{ hashFiles('.github/workflows/*', 'sidecars_status') }}-${{ env.MIERU_VERSION }}-${{ env.HYSTERIA_VERSION }}-${{ env.MDVPN_COMMIT }}-${{ env.NAIVE_VERSION }}-sidecars-ci | ||
| - name: Install Golang | ||
| if: steps.cache.outputs.cache-hit != 'true' | ||
| uses: actions/setup-go@v6 | ||
|
|
@@ -69,6 +71,9 @@ jobs: | |
| - name: Hysteria2 Download | ||
| if: steps.cache.outputs.cache-hit != 'true' | ||
| run: ./run lib hysteria2 | ||
| - name: MasterDnsVPN Build | ||
| if: steps.cache.outputs.cache-hit != 'true' | ||
| run: ./run lib masterdnsvpn | ||
| - name: Naive Download | ||
| if: steps.cache.outputs.cache-hit != 'true' | ||
| run: ./run lib naive | ||
|
|
@@ -91,32 +96,32 @@ jobs: | |
| - name: Libcore Status | ||
| run: git ls-files libcore | xargs cat | sha1sum > libcore_status | ||
| - name: LibCore Cache | ||
| uses: actions/cache@v5 | ||
| uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 | ||
| with: | ||
| path: | | ||
| app/libs/libcore.aar | ||
| key: ${{ hashFiles('.github/workflows/*', 'golang_status', 'libcore_status') }}-ci | ||
| - name: Sidecars Status | ||
| run: cat buildScript/lib/mieru.sh buildScript/lib/hysteria2.sh buildScript/lib/naive.sh buildScript/init/env.sh buildScript/init/env_ndk.sh | sha1sum > sidecars_status | ||
| run: cat buildScript/lib/mieru.sh buildScript/lib/hysteria2.sh buildScript/lib/masterdnsvpn.sh buildScript/lib/naive.sh buildScript/init/env.sh buildScript/init/env_ndk.sh | sha1sum > sidecars_status | ||
| - name: Sidecars Cache | ||
| id: sidecars-cache | ||
| uses: actions/cache@v5 | ||
| uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 | ||
| with: | ||
| path: | | ||
| app/executableSo | ||
| key: ${{ hashFiles('.github/workflows/*', 'sidecars_status') }}-${{ env.MIERU_VERSION }}-${{ env.HYSTERIA_VERSION }}-${{ env.NAIVE_VERSION }}-sidecars-ci | ||
| key: ${{ hashFiles('.github/workflows/*', 'sidecars_status') }}-${{ env.MIERU_VERSION }}-${{ env.HYSTERIA_VERSION }}-${{ env.MDVPN_COMMIT }}-${{ env.NAIVE_VERSION }}-sidecars-ci | ||
| - name: Verify Sidecar Artifacts | ||
| run: | | ||
| for abi in arm64-v8a armeabi-v7a x86 x86_64; do | ||
| for so in libmieru.so libhysteria2.so libnaive.so; do | ||
| for so in libmieru.so libhysteria2.so libmasterdnsvpn.so libnaive.so; do | ||
| if [ ! -f "app/executableSo/$abi/$so" ]; then | ||
| echo "Error: missing app/executableSo/$abi/$so (sidecar cache miss)" >&2 | ||
| exit 1 | ||
| fi | ||
| done | ||
| done | ||
| - name: Gradle cache | ||
| uses: actions/cache@v5 | ||
| uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 | ||
| with: | ||
| path: ~/.gradle | ||
| key: gradle-oss-${{ hashFiles('**/*.gradle.kts') }}-ci | ||
|
|
@@ -132,8 +137,8 @@ jobs: | |
| APK=$(find app/build/outputs/apk -name '*arm64-v8a*.apk') | ||
| APK=$(dirname $APK) | ||
| echo "APK=$APK" >> $GITHUB_ENV | ||
| # - name: Upload Artifacts | ||
| # uses: actions/upload-artifact@v5 | ||
| # with: | ||
| # name: APKs | ||
| # path: ${{ env.APK }} | ||
| - name: Upload Artifacts | ||
| uses: actions/upload-artifact@v5 | ||
| with: | ||
| name: NekoBox-debug-apks | ||
| path: ${{ env.APK }} | ||
Uh oh!
There was an error while loading. Please reload this page.