Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
319 commits
Select commit Hold shift + click to select a range
e2ce135
fix bugs
arm64v8a Jul 8, 2023
9d56535
update box
arm64v8a Jul 8, 2023
911a26e
update
arm64v8a Jul 9, 2023
7a94630
refactor DNS settings
arm64v8a Jul 10, 2023
fcfb657
1.1.6
arm64v8a Jul 10, 2023
a30c78c
fix
arm64v8a Jul 10, 2023
1937a1f
feat: Back key changed to go back to the configuration page instead o…
arm64v8a Jul 16, 2023
a1ae327
feat: Input box for subscription link supports multi-line display
arm64v8a Jul 16, 2023
b525b3a
chore: Waiting for the plugin when url test
arm64v8a Jul 17, 2023
c4932a3
update box
arm64v8a Jul 17, 2023
e376369
chore: imporve parsing
arm64v8a Jul 19, 2023
0ac26db
chore: listByLineOrComma
arm64v8a Jul 19, 2023
e472695
wireguard: reserved int list
arm64v8a Jul 19, 2023
767a10a
1.1.7
arm64v8a Jul 19, 2023
686a143
fix
arm64v8a Jul 24, 2023
a58cf2e
fix
arm64v8a Jul 26, 2023
fd9bd09
update box
arm64v8a Jul 26, 2023
1a7d078
1.1.8
arm64v8a Jul 26, 2023
9fed852
feat(sub): get the package_encoding from sub
Aug 7, 2023
814025e
update box
arm64v8a Aug 8, 2023
d1da522
use internal hysteria & tuic
arm64v8a Aug 8, 2023
2c8264d
Pause recurring tasks on device idle
arm64v8a Aug 8, 2023
a158ab1
update box
arm64v8a Aug 9, 2023
cb5221e
1.2.0
arm64v8a Aug 9, 2023
3f4aac0
update
arm64v8a Aug 10, 2023
e300558
update go
arm64v8a Aug 10, 2023
9b49ffd
feat: add sharelink for TUIC
Aug 13, 2023
9cc9b16
1.2.1
arm64v8a Aug 16, 2023
75686ab
1.2.2
arm64v8a Aug 17, 2023
ec81057
Update readme
arm64v8a Aug 19, 2023
fc83188
update box
arm64v8a Aug 23, 2023
06aa1b1
update box
arm64v8a Aug 24, 2023
c9ef22f
fix: vless without TLS link
arm64v8a Aug 24, 2023
d367402
Update preset
arm64v8a Aug 28, 2023
556cf11
update box
arm64v8a Aug 28, 2023
fe8248b
chore: TUIC udp_relay_mode
arm64v8a Aug 28, 2023
ff52efa
Remove unused
arm64v8a Aug 28, 2023
334cdb0
1.2.3
arm64v8a Aug 28, 2023
eab03de
Improve issue temple. (#311)
ddzzkunye Sep 3, 2023
3f7d39a
support hysteria2
arm64v8a Sep 4, 2023
fea5437
support hysteria2
arm64v8a Sep 6, 2023
02da17b
Fix hysteria subscription
arm64v8a Sep 9, 2023
1c79440
update box
arm64v8a Sep 10, 2023
a6062d0
Remove unused
arm64v8a Sep 10, 2023
95d3a31
Update README.md
arm64v8a Sep 10, 2023
1d245ab
Add geo assets provider for Iran
Chocolate4U Sep 12, 2023
5b2ec30
1.2.4
arm64v8a Sep 13, 2023
a640896
clash meta hysteria2 yml
arm64v8a Sep 24, 2023
12cbb83
update box
arm64v8a Sep 24, 2023
9d435b5
update box
arm64v8a Sep 26, 2023
fa57469
1.2.5
arm64v8a Sep 26, 2023
606eca0
fix: remove extra option text
xchacha20-poly1305 Sep 17, 2023
7b9bd8d
chore: remove transproxy
arm64v8a Sep 29, 2023
0f5417f
update box
arm64v8a Oct 1, 2023
78fec3e
update
arm64v8a Oct 5, 2023
e8df393
1.2.6
arm64v8a Oct 5, 2023
7b16d9e
update box
arm64v8a Oct 11, 2023
f5e7dd5
update
arm64v8a Oct 15, 2023
a65389e
1.2.7
arm64v8a Oct 15, 2023
80b842a
hysteria2: add hop port for client
Misaka-blog Oct 22, 2023
a0dd4ea
fix: hysteria port hopping bug
Misaka-blog Oct 24, 2023
8d7b054
chore: add link for naive
xchacha20-poly1305 Oct 15, 2023
4c4a3b8
chore: change some default value
xchacha20-poly1305 Oct 20, 2023
9fcb430
feat: port hopping delivery
arm64v8a Oct 25, 2023
14ca8ff
Improve issue template
Misaka-blog Oct 25, 2023
693a85b
update box
Misaka-blog Oct 26, 2023
c2746db
update box
Misaka-blog Oct 26, 2023
e972db3
Update analysis.txt (#385)
cancanneednews Oct 27, 2023
2fe8290
1.2.8
Misaka-blog Oct 28, 2023
d1d1265
update box
Misaka-blog Oct 28, 2023
990df9f
update box
Misaka-blog Oct 28, 2023
24072a2
build: replace Deprecated Gradle API
purofle Oct 29, 2023
afbab65
Merge pull request #387 from MatsuriDayo/dev
purofle Oct 29, 2023
6230dcf
Improved CN translation
Misaka-blog Oct 30, 2023
7c4a965
feat: set protocolVersion default value
purofle Oct 29, 2023
da751d0
chores: slightly improvement in util package
NanamiNakano Oct 29, 2023
51889ed
feat: Add supports for ECH
purofle Oct 30, 2023
5dc09ca
Remove unused
arm64v8a Oct 30, 2023
b77d1fc
VpnService policy
arm64v8a Oct 30, 2023
8f4a02a
1.2.9
Misaka-blog Oct 31, 2023
a82e5b4
refactor: Improve Code Conformance
purofle Oct 31, 2023
e805fe7
feat: Add supports for HTTPUpgrade
Misaka-blog Nov 1, 2023
06a20d0
update box
Misaka-blog Nov 1, 2023
f839b26
fix: fix bug for generate httpupgrade in v2raytransport
Misaka-blog Nov 1, 2023
5370f81
style: Make the code more beautiful
purofle Nov 1, 2023
612d164
style: Reformat code
purofle Nov 1, 2023
3eb688d
refactor: Singbox's type name
purofle Nov 1, 2023
cd244e0
style: Unified README format (#402)
KiteAB Nov 1, 2023
f737d8a
feat: update box
Misaka-blog Nov 2, 2023
f1a398b
fix: httpUpgrade doesn't httpupgrade
purofle Nov 2, 2023
9bdb654
Merge remote-tracking branch 'origin/main'
purofle Nov 2, 2023
a921b72
feat: improve httpupgrade path translation for zh-rCN
Misaka-blog Nov 3, 2023
451cdab
feat: Update subscription on menu
purofle Nov 4, 2023
f778b06
build(libcore): gomobile no longer supports the 'cache' parameter
purofle Nov 4, 2023
4ee3cce
Add CI Support & Unified README Format (#407)
KimmyXYC Nov 5, 2023
0634ba2
refactor: update box
purofle Nov 9, 2023
970b284
fix: customized multiplex JSON cannot be merged to the outbound settings
maskedeken Nov 10, 2023
de1c0d7
Merge pull request #420 from maskedeken/fix
purofle Nov 10, 2023
3c91bfd
feat: allow disable certificate checking when updating subscriptions
purofle Nov 11, 2023
26691e5
feat: allow enable "allow insecure" all time
xchacha20-poly1305 Nov 12, 2023
ad8fa1d
Merge pull request #425 from xchacha20-poly1305/main
purofle Nov 12, 2023
eda33c8
refactor: Remove VpnService policy dialog
purofle Nov 14, 2023
c584a13
refactor: update box
purofle Nov 14, 2023
942a735
refactor: disable httpupgrade
purofle Nov 14, 2023
f35c2d9
fix: go mod tidy
purofle Nov 14, 2023
4a255bf
Revert "build(libcore): gomobile no longer supports the 'cache' param…
arm64v8a Nov 18, 2023
1fff11e
update core
arm64v8a Nov 18, 2023
2e095af
update core
arm64v8a Nov 18, 2023
7b8b838
ci: remove broken ci
purofle Nov 18, 2023
8229f39
refactor: bump version
purofle Nov 20, 2023
c581dd2
fix(shadowsocks): allow set plugin without plugin-opts
xchacha20-poly1305 Nov 25, 2023
857dcaf
fix(VLESS): save flow without `-udp443` (#453)
xchacha20-poly1305 Nov 25, 2023
bca302d
chore: cancel search when return (#465)
xchacha20-poly1305 Dec 3, 2023
629f99e
refactor(libcore): remove old APIs (#490)
xchacha20-poly1305 Dec 17, 2023
fd1540a
add auto proxy app (#472)
NeroBlackstone Dec 25, 2023
0be4152
Add auto proxy package names (#502)
NeroBlackstone Dec 26, 2023
c286ec3
add copilot (#503)
NeroBlackstone Jan 3, 2024
a5cf5b8
Add mieru plugin (#482)
enfein Jan 10, 2024
f035709
Update README.md
purofle Jan 10, 2024
7dee5b5
refactor: singbox 1.8.0
purofle Jan 14, 2024
d2a5f00
deps: update circl to 1.3.7
purofle Jan 14, 2024
0edc97a
deps: update sing-quic
purofle Jan 14, 2024
f66437c
Fix MTU conflict with mieru plugin (#529)
enfein Jan 28, 2024
6893192
fix: not just show black theme for debug mode (#532)
xchacha20-poly1305 Jan 28, 2024
8e97667
refactor: improve Chinese translation
purofle Feb 4, 2024
fb55430
fix(ECH parameter can not be set):
purofle Feb 4, 2024
89ef91c
Refactor rule provider selection (#547)
turikhay Feb 8, 2024
04f8dd4
Antizapret (#548)
turikhay Feb 8, 2024
8605008
Add Russia to the special treat list (#545)
turikhay Feb 8, 2024
0c3c42a
feat: Cache file
purofle Feb 4, 2024
be1edbd
feat: generate ruleset
purofle Feb 17, 2024
9d2cdab
feat: Use ruleSet instead of geoip and geosite
purofle Feb 17, 2024
2f358dd
fix: rule_set must be not null
purofle Feb 17, 2024
680b362
1.3.1
purofle Feb 18, 2024
b34c012
fix: crash on 1.3.0
purofle Feb 18, 2024
85acbf8
chore: add android ci (#561)
Feb 18, 2024
ed5b75e
fix: NPE on generateRuleSet
purofle Feb 18, 2024
ff4b167
Merge remote-tracking branch 'origin/main'
purofle Feb 18, 2024
70ed0f8
Update release.yml
purofle Feb 24, 2024
9b0262f
Update README.md
purofle Feb 24, 2024
4c8d098
style: remove unused code
purofle Mar 3, 2024
b46dbc8
style: rule_set for dns
purofle Mar 3, 2024
9858ce4
fix: geoip may not works
purofle Mar 6, 2024
ee7f38b
Merge remote-tracking branch 'origin/main'
purofle Mar 6, 2024
595ed09
Improved TW translation (#612)
Mar 22, 2024
1b022eb
about google play
arm64v8a May 6, 2024
4fd1147
prepare sing-box 1.9.3
arm64v8a Jul 2, 2024
2743fcb
fix: Box cannot be reopened after being closed (#730)
dou23 Aug 5, 2024
6be1fd0
update settings
arm64v8a Oct 9, 2024
506a1c5
update core
arm64v8a Oct 9, 2024
15055d9
1.3.2
arm64v8a Oct 9, 2024
08505a7
fix: ech
arm64v8a Dec 11, 2024
e8beeec
fix: build
arm64v8a Dec 11, 2024
62444de
change: domain rule use domain_suffix
arm64v8a Dec 11, 2024
c89637a
change: outbound "any"
arm64v8a Dec 11, 2024
a65f56f
feat: prepend & append
arm64v8a Dec 11, 2024
ad61b2e
fix: mergeJSON
arm64v8a Dec 11, 2024
fd825c5
Add workaround for `bulkBarrierPreWrite: unaligned arguments` panic
arm64v8a Dec 12, 2024
d69f607
1.3.3
arm64v8a Dec 12, 2024
71a3cdd
fix: Re-add the server domain for bypass
arm64v8a Dec 14, 2024
5a191fd
1.3.4
arm64v8a Dec 15, 2024
8590d92
修复“域名规则默认使用 domain_suffix” (#848)
zizzdog Jan 18, 2025
3ee2167
refactor: set the default multiplex protocol to smux
purofle Jan 19, 2025
e3fe755
fix: set default dns to 233.5.5.5
purofle Jan 19, 2025
e241977
Revert "refactor: set the default multiplex protocol to smux"
purofle Jan 27, 2025
febb1e2
fix: donate info (#873)
SodaWithoutSparkles Feb 9, 2025
cc9ea9a
Remove redundant ECH options
arm64v8a Feb 23, 2025
ea8e4ae
Upgrade AGP 8.8.1
arm64v8a Feb 23, 2025
607afa8
Upgrade SDK 35
arm64v8a Feb 23, 2025
c7ef42d
Refactoring mux settings
arm64v8a Feb 23, 2025
6f7b4a1
fix: fix reciver in SDK 34
xchacha20-poly1305 Jan 31, 2024
89c1dab
Fix native bugs
arm64v8a Feb 23, 2025
4483a85
Subscription: parse sing-box outbound
arm64v8a Feb 23, 2025
6a0d998
AnyTLS GUI
arm64v8a Feb 23, 2025
e1b8488
go 1.23 + sing-box 1.11.3 + anytls
arm64v8a Feb 23, 2025
3b3c675
Fix bugs
arm64v8a Feb 23, 2025
d44438d
1.3.5
arm64v8a Feb 23, 2025
8a6cc26
Fix
arm64v8a Feb 24, 2025
0cf1c81
Fix server_ports
arm64v8a Feb 24, 2025
b4f7613
Update strings.xml
mehrazino Feb 24, 2025
bb53000
Fix geoip geosite & Migrate from block to reject
arm64v8a Feb 26, 2025
573ad36
Migrate from dns-out to hijack-dns
arm64v8a Feb 26, 2025
4752f8e
No need to disconnect VPN when running URLTest
arm64v8a Feb 26, 2025
89149b9
Merge remote-tracking branch 'mehrazino:patch-1'
arm64v8a Feb 26, 2025
1d5c8e8
1.3.6
arm64v8a Feb 26, 2025
5ff4eb0
go 1.24 & fix
arm64v8a Feb 26, 2025
5276a46
Fix Android 15 toolbar
arm64v8a Feb 26, 2025
e94c585
fix: AnyTLS profile name not displaying and saving
Restia-Ashbell Feb 27, 2025
ec16733
Fix #896
arm64v8a Feb 28, 2025
29ed4a7
Merge remote-tracking branch 'Restia-Ashbell/pr'
arm64v8a Feb 28, 2025
56f90f2
Add back port hopping to hysteria 1
arm64v8a Mar 1, 2025
a1b5813
anytls share link
arm64v8a Mar 1, 2025
da53937
network reset settings
arm64v8a Mar 1, 2025
f274b13
1.3.7
arm64v8a Mar 1, 2025
151c110
fix geoip:private
arm64v8a Mar 3, 2025
914700d
Fix Android 15 insets
arm64v8a Mar 3, 2025
049af10
Update menu
arm64v8a Mar 3, 2025
32fff21
Update core
arm64v8a Mar 3, 2025
321d561
1.3.8
arm64v8a Mar 3, 2025
3bfacfe
Update strings.xml (#903)
mak7im01 Apr 5, 2025
9c7e0ff
Update strings.xml (#926)
mehrazino Apr 5, 2025
e829012
Use systemExempt foreground service type for VPNService
arm64v8a Apr 8, 2025
2c3a616
Update subscription
arm64v8a Apr 9, 2025
912a066
Remove advanced plugin
arm64v8a Apr 9, 2025
98c3534
Update core
arm64v8a Apr 10, 2025
0ffa4d0
fix: resolve some configuration parsing issues
Restia-Ashbell Apr 13, 2025
096ed13
1.3.9
arm64v8a Apr 16, 2025
50ca712
fix: Configuration editor keyboard does not display when IME is visible
purofle Jun 30, 2025
1426566
Merge pull request #1002 from NeroBlackstone/add-auto-proxy-app
NeroBlackstone Sep 2, 2025
32505b9
Update Ukrainian translation (#993)
Kittyskj Sep 2, 2025
77c3f31
Update strings.xml (#943)
mak7im01 Sep 2, 2025
a04f535
dev 1.12 core
arm64v8a Sep 2, 2025
7736548
dev preview build
arm64v8a Sep 2, 2025
56fd9df
dev check update
arm64v8a Sep 2, 2025
7da3bdd
import subscription url
arm64v8a Sep 2, 2025
e4d38ba
some change
arm64v8a Sep 2, 2025
893ba09
fix 1.12 dns
arm64v8a Sep 2, 2025
0127c60
optimize subscription import
arm64v8a Sep 3, 2025
7c46729
dev custom rule config
arm64v8a Sep 3, 2025
835fcca
dev global custom config
arm64v8a Sep 3, 2025
912de10
fix
arm64v8a Sep 3, 2025
cddcd84
optimize
arm64v8a Sep 4, 2025
a3e529c
optimize process start
arm64v8a Sep 4, 2025
d2afb9d
minimize connection test
arm64v8a Sep 4, 2025
353c54e
remove route block analysis & fix custom rule
arm64v8a Sep 5, 2025
2259fd3
optimize tcping
arm64v8a Sep 5, 2025
6c3eea7
optimize restart
arm64v8a Sep 5, 2025
a75a151
fix test cancel
arm64v8a Sep 6, 2025
bbf59e3
update and fix local dns
arm64v8a Sep 6, 2025
5b74ded
fix
arm64v8a Sep 6, 2025
46771b0
remove warp generator
arm64v8a Sep 7, 2025
52a5825
update go 1.25 & fix
arm64v8a Sep 7, 2025
c8af494
don't merge global custom config in test
arm64v8a Sep 10, 2025
d427549
1.12.5-neko-1
arm64v8a Sep 12, 2025
70d8407
1.12.8-neko-1
arm64v8a Sep 14, 2025
9d3dbf4
fix
arm64v8a Sep 14, 2025
55d475e
1.4.0
arm64v8a Sep 20, 2025
b5af59a
update core
arm64v8a Oct 7, 2025
2d32653
update core
arm64v8a Oct 15, 2025
596b9eb
fix: Certain single-label domain names can only be resolved by `InetA…
xymopen Oct 21, 2025
110f3b2
Update Russian translation (#1052)
mak7im01 Oct 21, 2025
4326aab
fix: 修复 grpc case 缺少 break 导致序列化数据错乱
starifly Oct 20, 2025
aa275d5
update preview version
arm64v8a Oct 21, 2025
b39ac9a
fix: 修复老版本 grpc 数据读取
arm64v8a Oct 21, 2025
e6071e3
update core
arm64v8a Oct 23, 2025
963418f
Add permission for some CN ROMs
arm64v8a Oct 26, 2025
ec76238
Add a hint for an empty app list
arm64v8a Oct 26, 2025
731064c
Reload package cache when entering the app list
arm64v8a Oct 26, 2025
6c0b8dd
update preview version
arm64v8a Oct 26, 2025
2c2b6dc
1.4.1
arm64v8a Oct 30, 2025
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
22 changes: 22 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report-en.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
name: 'Bug Report'
about: 'Please troubleshoot server-side issues and upgrade to the latest client before raising a question.'
title: 'BUG: '
labels: ''
assignees: ''

---

## Describe the problem

Expected behavior:

Actual behavior:

## How to reproduce

Provide helpful screenshots, videos, text descriptions, subscription links, etc.

## log

If you have logs, please upload them. Please see the detailed steps for exporting logs in the documentation.
12 changes: 6 additions & 6 deletions .github/ISSUE_TEMPLATE/bug-report-zh_cn.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
---
name: Bug Report zh_CN
about: 问题反馈,在提出问题前请先自行排除服务器端问题和升级到最新客户端。
title: ''
name: '问题反馈'
about: '在提出问题前请先自行排除服务器端问题和升级到最新客户端。'
title: 'BUG: '
labels: ''
assignees: ''

---

**描述问题**
## 描述问题

预期行为:

实际行为:

**如何复现**
## 如何复现

提供有帮助的截图,录像,文字说明,订阅链接等。

**日志**
## 日志

如果有日志,请上传。请在文档内查看导出日志的详细步骤。
12 changes: 12 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request-en.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
name: 'Feature Request'
about: 'Make suggestions for new features of the software'
title: ''
labels: ''
assignees: ''

---

## Description suggestions

## Necessity of recommendations
8 changes: 4 additions & 4 deletions .github/ISSUE_TEMPLATE/feature_request-zh_cn.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
---
name: Feature Request zh_CN
about: 功能请求,提出建议。
name: '功能请求'
about: '对软件的新功能提出建议。'
title: ''
labels: ''
assignees: ''

---

**描述建议**
## 描述建议

**建议的必要性**
## 建议的必要性
69 changes: 69 additions & 0 deletions .github/workflows/preview.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: Preview Build
on:
workflow_dispatch:
inputs:
jobs:
libcore:
name: Native Build (LibCore)
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Golang Status
run: find buildScript libcore/*.sh | xargs cat | sha1sum > golang_status
- name: Libcore Status
run: git ls-files libcore | xargs cat | sha1sum > libcore_status
- name: LibCore Cache
id: cache
uses: actions/cache@v4
with:
path: |
app/libs/libcore.aar
key: ${{ hashFiles('.github/workflows/*', 'golang_status', 'libcore_status') }}
- name: Install Golang
if: steps.cache.outputs.cache-hit != 'true'
uses: actions/setup-go@v5
with:
go-version: ^1.25
- name: Native Build
if: steps.cache.outputs.cache-hit != 'true'
run: ./run lib core
build:
name: Build OSS APK
runs-on: ubuntu-latest
needs:
- libcore
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Golang Status
run: find buildScript libcore/*.sh | xargs cat | sha1sum > golang_status
- name: Libcore Status
run: git ls-files libcore | xargs cat | sha1sum > libcore_status
- name: LibCore Cache
uses: actions/cache@v4
with:
path: |
app/libs/libcore.aar
key: ${{ hashFiles('.github/workflows/*', 'golang_status', 'libcore_status') }}
- name: Gradle cache
uses: actions/cache@v4
with:
path: ~/.gradle
key: gradle-oss-${{ hashFiles('**/*.gradle.kts') }}
- name: Gradle Build
env:
BUILD_PLUGIN: none
run: |
echo "sdk.dir=${ANDROID_HOME}" > local.properties
echo "ndk.dir=${ANDROID_HOME}/ndk/25.0.8775105" >> local.properties
export LOCAL_PROPERTIES="${{ secrets.LOCAL_PROPERTIES }}"
./run init action gradle
./gradlew app:assemblePreviewRelease
APK=$(find app/build/outputs/apk -name '*arm64-v8a*.apk')
APK=$(dirname $APK)
echo "APK=$APK" >> $GITHUB_ENV
- uses: actions/upload-artifact@v4
with:
name: APKs
path: ${{ env.APK }}
70 changes: 18 additions & 52 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,64 +3,60 @@ on:
workflow_dispatch:
inputs:
tag:
description: 'Release Tag'
description: "Release Tag"
required: true
upload:
description: 'Upload: If want ignore'
required: false
publish:
description: 'Publish: If want ignore'
description: "Publish: If want ignore"
required: false
play:
description: 'Play: If want ignore'
description: "Play: If want ignore"
required: false
jobs:
libcore:
name: Native Build (LibCore)
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Golang Status
run: find buildScript libcore/*.sh | xargs cat | sha1sum > golang_status
- name: Libcore Status
run: git ls-files libcore | xargs cat | sha1sum > libcore_status
- name: LibCore Cache
id: cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
app/libs/libcore.aar
key: ${{ hashFiles('.github/workflows/*', 'golang_status', 'libcore_status') }}
- name: Golang Cache
- name: Install Golang
if: steps.cache.outputs.cache-hit != 'true'
uses: actions/cache@v3
uses: actions/setup-go@v5
with:
path: build/golang
key: go-${{ hashFiles('.github/workflows/*', 'golang_status') }}
go-version: ^1.25
- name: Native Build
if: steps.cache.outputs.cache-hit != 'true'
run: ./run init action go && ./run lib core
run: ./run lib core
build:
name: Build OSS APK
runs-on: ubuntu-latest
needs:
- libcore
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Golang Status
run: find buildScript libcore/*.sh | xargs cat | sha1sum > golang_status
- name: Libcore Status
run: git ls-files libcore | xargs cat | sha1sum > libcore_status
- name: LibCore Cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
app/libs/libcore.aar
key: ${{ hashFiles('.github/workflows/*', 'golang_status', 'libcore_status') }}
- name: Gradle cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.gradle
key: gradle-oss-${{ hashFiles('**/*.gradle.kts') }}
Expand All @@ -76,7 +72,7 @@ jobs:
APK=$(find app/build/outputs/apk -name '*arm64-v8a*.apk')
APK=$(dirname $APK)
echo "APK=$APK" >> $GITHUB_ENV
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: APKs
path: ${{ env.APK }}
Expand All @@ -87,9 +83,9 @@ jobs:
needs: build
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Donwload Artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: APKs
path: artifacts
Expand All @@ -101,36 +97,6 @@ jobs:
mkdir apks
find artifacts -name "*.apk" -exec cp {} apks \;
./ghr -delete -t "${{ github.token }}" -n "${{ github.event.inputs.tag }}" "${{ github.event.inputs.tag }}" apks
upload:
name: Upload Release
if: github.event.inputs.upload != 'y'
runs-on: ubuntu-latest
needs: build
steps:
- name: Donwload Artifacts
uses: actions/download-artifact@v3
with:
name: APKs
path: artifacts
- name: Release
run: |
mkdir apks
find artifacts -name "*.apk" -exec cp {} apks \;

function upload() {
for apk in $@; do
echo ">> Uploading $apk"
curl https://api.telegram.org/bot${{ secrets.TELEGRAM_TOKEN }}/sendDocument \
-X POST \
-F chat_id="${{ secrets.TELEGRAM_CHANNEL }}" \
-F document="@$apk" \
--silent --show-error --fail >/dev/null &
done
for job in $(jobs -p); do
wait $job || exit 1
done
}
upload apks/*
play:
name: Build Play Bundle
if: github.event.inputs.play != 'y'
Expand All @@ -139,19 +105,19 @@ jobs:
- libcore
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Golang Status
run: find buildScript libcore/*.sh | xargs cat | sha1sum > golang_status
- name: Libcore Status
run: git ls-files libcore | xargs cat | sha1sum > libcore_status
- name: LibCore Cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
app/libs/libcore.aar
key: ${{ hashFiles('.github/workflows/*', 'golang_status', 'libcore_status') }}
- name: Gradle cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.gradle
key: gradle-play-${{ hashFiles('**/*.gradle.kts') }}
Expand Down
Loading