forked from taamarin/box_for_magisk
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
shioeri
committed
Jun 25, 2023
1 parent
9fd28b2
commit 328c4fe
Showing
2 changed files
with
157 additions
and
101 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,141 +1,186 @@ | ||
## WARNING | ||
Proyek ini tidak bertanggung jawab atas: perangkat rusak, SDcard rusak, atau SoC terbakar. | ||
## PERINGATAN | ||
|
||
**Pastikan file konfigurasi Anda tidak menyebabkan traffic loopback, jika tidak maka dapat menyebabkan ponsel Anda restart tanpa batas.** | ||
Proyek ini tidak bertanggung jawab atas: perangkat yang rusak, kartu SD yang rusak, atau SoC yang terbakar. | ||
|
||
Jika Anda benar-benar tidak tahu cara mengonfigurasi modul ini, Anda mungkin memerlukan aplikasi seperti **ClashForAndroid, ClashMetaForAndroid, v2rayNG, Surfboard, SagerNet, AnXray, NekoBox** dll. | ||
**Harap pastikan file konfigurasi Anda tidak menyebabkan loop lalu lintas, jika tidak maka dapat menyebabkan ponsel Anda restart tanpa batas.** | ||
|
||
## install | ||
- Download paket zip modul dari [RELEASE](https://github.com/taamarin/Box4Magisk/releases), dan install melalui [MAGISK](https://github.com/topjohnwu/Magisk), reboot | ||
- pastikan terkoneksi internet, untuk download binery etc, executed: | ||
```shell | ||
su -c /data/adb/box/scripts/box.tool upyacd | ||
su -c /data/adb/box/scripts/box.tool subgeo | ||
su -c /data/adb/box/scripts/box.tool upcore | ||
``` | ||
Jika Anda benar-benar tidak tahu cara mengonfigurasi modul ini, Anda mungkin memerlukan aplikasi seperti **ClashForAndroid, ClashMetaForAndroid, v2rayNG, Surfboard, SagerNet, AnXray, NekoBox**, dll. | ||
|
||
- Mendukung pembaruan modul online berikutnya di Magisk Manager, memperbarui modul akan berlaku tanpa memulai ulang | ||
## Install | ||
|
||
### Notes | ||
modul ini include: | ||
- [clash](https://github.com/Dreamacro/clash)、 | ||
- [clash.meta](https://github.com/MetaCubeX/Clash.Meta)、 | ||
- [sing-box](https://github.com/SagerNet/sing-box)、 | ||
- [v2ray-core](https://github.com/v2fly/v2ray-core)、 | ||
- [Xray-core](https://github.com/XTLS/Xray-core). | ||
|
||
Setelah modul terinstall, unduh file inti dari arsitektur perangkat Anda yang sesuai dan letakkan di direktori `/data/adb/box/bin/`, atau executed | ||
- Unduh paket zip modul dari RELEASE dan instal melalui `Magisk` / `KernelSU`. Saat menginstal, Anda akan ditanya apakah akan mengunduh paket lengkap, Anda dapat memilih **unduhan lengkap** atau **unduhan terpisah** nanti, lalu mulai ulang perangkat. | ||
- Mod ini mendukung pembaruan mod langsung berikutnya di `Magisk Manager` (mod yang diperbarui akan berlaku tanpa me-reboot perangkat). | ||
|
||
```shell | ||
### pembaruan kernel | ||
|
||
Modul ini mencakup kernel berikut: | ||
|
||
- [clash](https://github.com/Dreamacro/clash) | ||
- [clash.meta](https://github.com/MetaCubeX/Clash.Meta) | ||
- [sing-box](https://github.com/SagerNet/sing-box) | ||
- [v2ray-core](https://github.com/v2fly/v2ray-core) | ||
- [Xray-core](https://github.com/XTLS/Xray-core) | ||
|
||
Konfigurasi yang sesuai dengan kernel adalah `${bin_name}`, yang dapat diatur ke ( `clash` | `xray` | `v2ray` | `sing-box`). | ||
|
||
Setiap core bekerja di direktori `/data/adb/box/bin/${bin_name}`, nama core ditentukan oleh `bin_name` di file `/data/adb/box/settings.ini`. | ||
|
||
Pastikan Anda terhubung ke internet dan jalankan perintah berikut untuk memperbarui file kernel: | ||
|
||
```sh | ||
# perbarui kernel yang dipilih, sesuai dengan `bin_name` | ||
su -c /data/adb/box/scripts/box.tool upcore | ||
``` | ||
|
||
## konfigurasi | ||
```yaml | ||
# list of available kernel binaries | ||
bin_list=("clash" "sing-box" "xray" "v2fly") | ||
# select the client to use : clash / sing-box / xray / v2fly | ||
bin_name="good day" | ||
Jika Anda menggunakan `clash/sing-box` sebagai kernel yang dipilih, Anda mungkin juga perlu menjalankan perintah berikut untuk membuka panel kontrol: | ||
|
||
```sh | ||
# Perbarui panel admin clash/sing-box | ||
su -c /data/adb/box/scripts/box.tool upyacd | ||
``` | ||
|
||
- Setiap inti bekerja di direktori `/data/adb/box/bin/${bin_name}`, nama inti ditentukan oleh `bin_name` di file `/data/adb/box/settings.ini`. | ||
- Setiap file konfigurasi inti perlu disesuaikan oleh pengguna, dan scripts akan memeriksa validitas konfigurasi, dan hasil pemeriksaan akan disimpan dalam file `/data/adb/box/run/runs.log` | ||
- Tip: `clash` dan `sing-box` hadir dengan konfigurasi default yang siap bekerja dengan skrip proxy transparan. Untuk konfigurasi lebih lanjut, lihat dokumentasi resmi terkait. Alamat: [dokumen clash](https://github.com/Dreamacro/clash/wiki/configuration), [dokumen sing-box](https://sing-box.sagernet.org/configuration/outbound/) | ||
|
||
## Instruksi | ||
### Metode konvensional (metode standar & yang disarankan) | ||
|
||
#### Memulai dan menghentikan layanan manajemen | ||
**Layanan inti berikut secara kolektif disebut sebagai `BFM`** | ||
- Layanan `BFM` akan berjalan secara otomatis setelah boot sistem secara default | ||
- Anda dapat mengaktifkan atau menonaktifkan modul melalui aplikasi Magisk Manager **secara real time** memulai atau menghentikan layanan `BFM`, **tidak perlu memulai ulang perangkat**. Memulai layanan mungkin memerlukan waktu beberapa detik, menghentikan layanan dapat langsung berlaku | ||
|
||
#### Pilih aplikasi (APP) yang membutuhkan proxy | ||
- `BFM` default untuk memproksi semua aplikasi (APP) untuk semua pengguna Android | ||
- Jika Anda ingin `BFM` mem-proxy semua aplikasi (APP), kecuali beberapa aplikasi tertentu, silakan buka file `/data/adb/box/settings.ini` dan ubah nilai `proxy_mode` menjadi `blacklist` (default), tambahkan package ke `packages_list`, contoh: `packages_list=("com.termux" "org.telegram.messenger")` | ||
- dan gunakan `whitelist` jika ingin beberapa aplikasi (APP) yang akan di proxy | ||
- **blacklist** / **whitelist** tidak berfungsi pada `Clash fake-ip` | ||
- Ketika nilai `proxy_mode` adalah `tun`, proxy transparan tidak akan berfungsi, hanya kernel yang sesuai(mendukung `auto-route`) yang akan dimulai, yang dapat digunakan untuk mendukung TUN, untuk saat ini hanya `clash` dan `sing-box` | ||
|
||
### penggunaan tingkat lanjut | ||
#### mengubah mode proxy | ||
- `BFM` menggunakan TPROXY untuk mem-proxy TCP + UDP secara transparan secara (default). Jika mendeteksi bahwa perangkat tidak mendukung TPROXY, buka `/data/adb/box/settings.ini` ubah `network_mode="redirect"` akan menggunakan `redirect` hanya untuk proxy TCP | ||
- Buka file `/data/adb/box/settings.ini`, ubah nilai `network_mode` menjadi `redirect` , `tproxy`, atau `mixed`, | ||
- redirect: `redirec TCP only.` | ||
- tproxy: `tproxy TCP + UDP.` | ||
- mixed: `redirec TCP + tun UDP.` | ||
|
||
#### Lewati proxy transparan saat menghubungkan ke Wi-Fi atau hotspot | ||
- `BFM` secara transparan memproksi `localhost` dan `hotspot` (termasuk tethering USB) secara default | ||
- Buka file `/data/adb/box/settings.ini`, ubah `ignore_out_list` dan tambahkan `wlan+`, kemudian proxy transparan mem-bypass `wlan`, dan hotspot tidak terhubung dengan proxy | ||
- Buka file `/data/adb/box/settings.ini`, ubah `ap_list` dan tambah `wlan+` `BFM` akan memproxy hotspot (model MediaTek mungkin `ap+` / `wlan+`) | ||
- nyalakan `hotspot` gunakan perintah `ifconfig/ipconfig` di terminal , untuk mengetahui nama `AP` | ||
|
||
```bash | ||
~ 06.12 PM ➤ #ifconfig | ||
wlan1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 | ||
inet 192.x.x.x netmask 255.255.255.0 broadcast 192.168.43.255 | ||
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 3000 (UNSPEC) | ||
Alternatifnya, Anda dapat melakukannya sekaligus (yang mungkin menghabiskan ruang penyimpanan secara tidak perlu): | ||
|
||
```sh | ||
# Perbarui semua file (termasuk berbagai jenis kernel) | ||
su -c /data/adb/box/scripts/box.tool all | ||
``` | ||
|
||
#### Geo dan Subscription | ||
```yaml | ||
# Set update interval using cron, for more information: https://crontab.guru/ | ||
crontab_sec='false' | ||
update_interval="0 12 */3 * *" # updates will run at 12 noon every three days. | ||
# Update sub&geo | ||
# execute manual, Type "su -c /data/adb/box/scripts/box.tool subgeo" to update | ||
auto_update_geox="false" | ||
# Only update clash subscription URL | ||
auto_update_subscription="false" | ||
subscription_url="" | ||
## Konfigurasi | ||
|
||
**Layanan inti berikut disebut sebagai BFM** | ||
|
||
- Layanan inti berikut secara kolektif disebut sebagai BFM | ||
- Anda dapat mengaktifkan atau menonaktifkan modul untuk memulai atau menghentikan layanan BFM secara real time melalui aplikasi Magisk Manager tanpa harus me-reboot perangkat. Memulai layanan mungkin memerlukan waktu beberapa detik, penghentian layanan akan segera berlaku. | ||
|
||
### konfigurasi inti | ||
|
||
- Untuk konfigurasi inti `bin_name`, silakan lihat bagian **Pembaruan Kernel** untuk konfigurasi | ||
- Setiap file konfigurasi inti perlu dikustomisasi oleh pengguna, dan skrip akan memeriksa validitas konfigurasi, dan hasil pemeriksaan akan disimpan di file `/data/adb/box/run/runs.log`. | ||
- Tip: Baik `clash` dan `sing-box` datang dengan pra-konfigurasi dengan skrip proxy transparan. Untuk konfigurasi lebih lanjut, silakan merujuk ke dokumentasi resmi. Alamat: [dokumen resmi Clash](https://github.com/Dreamacro/clash/wiki/configuration), [dokumen resmi sing-box](https://sing-box.sagernet.org/configuration/outbound/) | ||
|
||
### Menerapkan pemfilteran (blacklist/whitelist) | ||
|
||
- BFM menyediakan proxy untuk semua aplikasi (APP) dari semua pengguna Android secara default. | ||
- Jika Anda ingin BFM mem-proxy semua aplikasi (APP), kecuali beberapa aplikasi, silakan buka file /data/adb/box/settings.ini, ubah nilai proxy_mode menjadi blacklist (default), tambahkan aplikasi yang akan dikecualikan ke packages_list , misalnya: packages_list=("com.termux" "org.telegram.messenger") | ||
- Jika Anda hanya ingin mem-proxy aplikasi (APP) tertentu, gunakan whitelist. | ||
- Ketika nilai proxy_mode adalah TUN, proxy transparan tidak akan berfungsi, dan hanya kernel yang sesuai yang akan mulai mendukung TUN. Saat ini, hanya clash dan sing-box yang tersedia. | ||
- Jika Clash digunakan, blacklist dan whitelist tidak akan berlaku dalam mode fake-ip. | ||
|
||
### mengubah mode proxy | ||
|
||
- BFM menggunakan TPROXY untuk mem-proxy TCP+UDP secara transparan (default). Jika terdeteksi bahwa perangkat tidak mendukung TPROXY, buka /data/adb/box/settings.ini dan ubah network_mode="redirect" menjadi REDIRECT yang hanya menggunakan proxy TCP. | ||
- Buka file /data/adb/box/settings.ini dan ubah nilai network_mode menjadi redirect, tproxy atau mixed. | ||
- redirect:redirect(TCP). | ||
- tproxy:tproxy(TCP + UDP). | ||
- mixed:redirect(TCP) and tun(UDP). | ||
|
||
### Lewati proxy transparan saat menghubungkan ke Wi-Fi atau hotspot | ||
|
||
- BFM secara transparan memproksi localhost dan hotspot (termasuk tethering USB) secara default. | ||
- Buka file /data/adb/box/settings.ini, ubah ignore_out_list dan tambahkan wlan+, sehingga proxy transparan akan mem-bypass wlan dan hotspot tidak akan terhubung ke proxy. | ||
- Buka file /data/adb/box/settings.ini, ubah ap_list dan tambahkan wlan+. BFM akan mem-proxy hotspot (mungkin ap+ / wlan+ untuk perangkat Mediatek). | ||
- Gunakan perintah ifconfig di Terminal untuk mengetahui nama AP. | ||
|
||
### Aktifkan Cron Job untuk memperbarui Geo dan Subs sesuai jadwal secara otomatis | ||
|
||
- Buka file /data/adb/box/settings.ini, ubah nilai run_crontab=true, dan atur interva_update="@daily" (default), sesuaikan dengan yang anda inginkan. | ||
|
||
```shell | ||
# jalankan perintah | ||
su -c /data/adb/box/scripts/box.service cron | ||
``` | ||
|
||
- konfigurasi tersebut terletak pada `/data/adb/box/settings.ini` | ||
- jika di aktifkan, otomatis akan memperbarui geo sab subscription dalam 3 hari sekali, anda bisa merubah nilai variabel `subscription_url` dan `update_interval` sesuai kebutuhan. | ||
- gunakan perintah berikut untuk execute secara manual | ||
```su -c /data/adb/box/scripts/box.tool subgeo``` | ||
- Maka secara otomatis Geox dan Subs akan diperbarui sesuai jadwal interva_update. | ||
|
||
## Mulai dan Berhenti | ||
|
||
### Masuk ke mode manual | ||
|
||
- Jika Anda ingin memiliki kontrol penuh atas BFM dengan menjalankan perintah, buat saja file baru bernama /data/adb/box/manual. Dalam hal ini, layanan BFM tidak akan dimulai secara otomatis saat perangkat Anda dihidupkan, Anda juga tidak dapat mengatur mulai atau berhentinya layanan melalui aplikasi Magisk Manager. | ||
|
||
### Memulai dan menghentikan layanan manajemen | ||
|
||
- Skrip layanan BFM adalah /data/adb/box/scripts/box.service | ||
|
||
#### masuk ke mode manual | ||
Jika Anda ingin mengontrol `BFM` sepenuhnya dengan menjalankan perintah, buat saja file baru `/data/adb/box/manual`. Dalam hal ini, layanan `BFM` tidak akan **mulai otomatis** saat perangkat Anda dinyalakan, Anda juga tidak dapat mengatur mulai atau berhentinya layanan melalui aplikasi Magisk Manager. | ||
- Mulai BFM: | ||
|
||
#### Memulai dan menghentikan layanan `BFM` | ||
- Skrip layanan `BFM` adalah `/data/adb/box/scripts/box.service` | ||
- Mulai `BFM`: | ||
```shell | ||
su -c /data/adb/box/scripts/box.service start | ||
``` | ||
- Stop `BFM`: | ||
|
||
- Hentikan BFM: | ||
|
||
```shell | ||
su -c /data/adb/box/scripts/box.service stop | ||
``` | ||
|
||
- Terminal akan mencetak log dan mengeluarkannya ke file log secara bersamaan | ||
- Terminal akan mencetak log pada saat yang sama dan mengeluarkannya ke file log. | ||
|
||
#### Kelola apakah proxy transparan diaktifkan | ||
- Skrip proxy transparan adalah `/data/adb/box/scripts/box.iptables` | ||
|
||
- Skrip proxy transparan adalah /data/adb/box/scripts/box.iptables. | ||
|
||
- Aktifkan proxy transparan: | ||
|
||
```shell | ||
su -c /data/adb/box/scripts/box.iptables enable | ||
``` | ||
|
||
- Nonaktifkan proxy transparan: | ||
|
||
```shell | ||
su -c /data/adb/box/scripts/box.iptables disable | ||
``` | ||
|
||
## Langganan dan pembaruan basis data Geo | ||
|
||
Anda dapat memperbarui langganan dan basis data Geo secara bersamaan menggunakan perintah berikut: | ||
|
||
```shell | ||
su -c /data/adb/box/scripts/box.tool geosub | ||
``` | ||
|
||
Atau Anda dapat memperbaruinya satu per satu. | ||
|
||
### perbarui langganan | ||
|
||
```shell | ||
su -c /data/adb/box/scripts/box.tool subs | ||
``` | ||
|
||
### Perbarui basis data Geo | ||
|
||
```shell | ||
su -c /data/adb/box/scripts/box.tool geox | ||
``` | ||
|
||
## instruksi lainnya | ||
- Saat memodifikasi setiap file konfigurasi inti, harap pastikan bahwa konfigurasi yang terkait dengan `tprxoy` konsisten dengan definisi di file `/data/adb/box/settings.ini` | ||
- Jika mesin memiliki alamat **IP publik**, tambahkan IP ke `intranet` di file `/data/adb/box/settings.ini` untuk mencegah traffic loop | ||
- Log untuk layanan `BFM` ada di direktori `/data/adb/box/run` | ||
|
||
- Saat memodifikasi salah satu file konfigurasi inti, pastikan konfigurasi terkait tproxy cocok dengan definisi di file /data/adb/box/settings.ini. | ||
- Jika perangkat memiliki alamat IP publik, tambahkan IP tersebut ke jaringan internal di file /data/adb/box/scripts/box.iptables untuk mencegah pengulangan lalu lintas. | ||
- Log untuk layanan BFM dapat ditemukan di direktori /data/adb/box/run. | ||
|
||
Anda dapat menjalankan perintah berikut untuk mendapatkan instruksi operasi terkait lainnya: | ||
|
||
```shell | ||
su -c /data/adb/box/scripts/box.tool | ||
# usage: $0 {rconf|reload|upyacd|upcore|upyq|cgroup|port|geox|subs|geosub|all} | ||
su -c /data/adb/box/scripts/box.service | ||
# usage: $0 {start|stop|restart|usage|cron} | ||
su -c /data/adb/box/scripts/box.iptables | ||
# usage: $0 {enable|disable|renew} | ||
``` | ||
|
||
## uninstall | ||
- Menghapus installan modul ini dari aplikasi Magisk Manager akan menghapus `/data/adb/service.d/box_service.sh` dan menyimpan direktori data `BFM` `/data/adb/box` | ||
- Anda dapat menggunakan perintah untuk menghapus data `BFM`: | ||
|
||
- Instalasi yang menghapus modul ini dari Magisk Manager, akan menghapus file /data/adb/service.d/box_service.sh dan direktori data BFM di /data/adb/box. | ||
- Anda dapat menghapus data BFM dengan perintah berikut: | ||
|
||
```shell | ||
su -c rm -rf /data/adb/box | ||
su -c rm -rf /data/adb/service.d/box_service.sh | ||
``` | ||
|
||
## CHANGELOG | ||
[CHANGELOG](../CHANGELOG.md) | ||
```shell | ||
su -c rm -rf /data/adb/service.d/box_service.sh | ||
``` |