Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .github/actions/android-build/action.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: Android build
description: >-
Shared build steps of ci.yml, preview.yml and release.yml: JDK 17, ThroneCore AAR + sing-box schema, routeprofiles
snapshot, Gradle, then ./gradlew <tasks>. With sign=true, release builds are signed with the SIGNING_* secrets from
the job environment; the build fails without them.
snapshot, sing-box dashboard, Gradle, then ./gradlew <tasks>. With sign=true, release builds are signed with the
SIGNING_* secrets from the job environment; the build fails without them.
inputs:
tasks:
description: Gradle tasks to run
Expand Down Expand Up @@ -31,6 +31,8 @@ runs:
uses: ./.github/actions/throne-core
- name: Fetch routeprofiles snapshot
uses: ./.github/actions/routeprofiles
- name: Fetch sing-box dashboard
uses: ./.github/actions/sing-box-dashboard
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6
with:
Expand Down
27 changes: 27 additions & 0 deletions .github/actions/sing-box-dashboard/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Fetch sing-box dashboard
description: >-
Downloads the gh-pages build of SagerNet/sing-box-dashboard into app/src/main/assets/sb-dashboard/ (gitignored), the
dashboard the app unpacks for the core's api service (bg/SingBoxDashboard.kt) instead of the core downloading it.
runs:
using: composite
steps:
- name: Fetch sing-box dashboard
shell: bash
run: |
set -euo pipefail
DEST=app/src/main/assets/sb-dashboard
rm -rf "$DEST"
mkdir -p "$DEST"
curl -fsSL --retry 3 https://codeload.github.com/SagerNet/sing-box-dashboard/tar.gz/refs/heads/gh-pages \
| tar -xz --strip-components=1 -C "$DEST"
# aapt leaves out dot files and directories starting with "_" without failing the build.
find "$DEST" -type f -name '.*' -delete
if [ -n "$(find "$DEST" -type d -name '_*')" ]; then
echo "::error::the sing-box dashboard has directories starting with _, which the APK would lack"
exit 1
fi
if [ ! -s "$DEST/index.html" ]; then
echo "::error::the sing-box dashboard has no index.html"
exit 1
fi
du -sh "$DEST"
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,10 @@ local.properties
*.keystore
*.p12

# generated by CI (.github/actions/routeprofiles, .github/actions/throne-core)
# generated by CI (.github/actions/routeprofiles, .github/actions/throne-core, .github/actions/sing-box-dashboard)
/app/src/main/assets/routeprofiles/
/app/src/main/assets/schema/
/app/src/main/assets/sb-dashboard/

# python bytecode
__pycache__/
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ https://throneproj.github.io
* Cloudflare WARP: registration (WireGuard or MASQUE identity) and a built-in WARP mode for routing
* URL, IP / country and speed tests, with a bulk-test panel (live progress, latency histogram, fastest servers,
sort / remove unavailable / connect to fastest)
* The sing-box dashboard built in (live traffic, connections, logs), already connected to the running core
* Xray configs with geoip: / geosite: rules: the data files are downloaded when a config first needs them
* JSON editor with sing-box schema checking, completion and formatting
* In-app updater for GitHub builds (stable or pre-release channel, verified downloads)
* Home-screen widgets, and server switching from the notification
Expand Down
Loading
Loading