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
3 changes: 2 additions & 1 deletion CHECKPOINT.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@

Catatan terbaru: **[checkpoint.md](checkpoint.md)** — 29 Okt 2026 (WIB). **Rilis Cogan Smart ditahan owner** sampai diuji.

- v2.12.2 (versionCode 33): pindai aplikasi gagal di HP ("Failed transaction") karena output Binder ke file `/data/adb`; kini lewat pipa. Readback blokir jujur, tombol blokir nonaktif sampai status terbaca. Paket uji di `modules/cogan-smart/rilis/v2.12.2/`; belum diuji di HP.
- v2.12.3 (versionCode 34): Percaya/Lepas/blokir langsung, tanpa menunggu pindai (sebelumnya ±40 detik). Paket uji di `modules/cogan-smart/rilis/v2.12.3/`; belum diuji di HP.
- v2.12.2 (versionCode 33): pindai aplikasi gagal di HP ("Failed transaction") karena output Binder ke file `/data/adb`; kini lewat pipa. Readback blokir jujur, tombol blokir nonaktif sampai status terbaca. Paket uji di `modules/cogan-smart/rilis/v2.12.2/`. ✅ Pindai berjalan di HP owner 29 Okt 13.44 WIB.
- v2.12.1 (versionCode 32): perbaikan audit v2.12.0 (pengaman root manager gagal tertutup, readback blokir APK, satu pekerja blokir, anggaran waktu pindai). Temuan IFS jurnal tidak terbukti. Paket uji di `modules/cogan-smart/rilis/v2.12.1/`; belum diuji di HP.
- v2.12.0 (versionCode 31): tab 📱 Aplikasi (pantau, hapus sampai akar, blokir APK dari 33 aplikasi chat/sosmed/email/SMS) + perbaikan v2.11.2. Paket uji di `modules/cogan-smart/rilis/v2.12.0/`; belum diuji di HP.
- v2.11.2 (versionCode 30): pengendali/pencatat yang dimulai dari WebUI tidak lagi mati saat root manager ditutup (keluar dari cgroup aplikasi). Termux owner: keduanya `0::/`; uji tutup/buka root manager belum dikonfirmasi.
Expand Down
14 changes: 11 additions & 3 deletions checkpoint.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
# Checkpoint — 29 Okt 2026 (WIB)

Cogan Smart **v2.12.2** (versionCode 33: tab 📱 Aplikasi + perbaikan v2.11.2 + perbaikan audit + pindai lewat pipa) siap diuji. **Rilis ditahan owner** sampai diuji. Sesi berikutnya baca `CLAUDE.md`, file ini dan `CHECKPOINT.md`, lalu tunggu instruksi owner. Jangan otomatis menguji HP, menjalankan build atau menerbitkan rilis.
Cogan Smart **v2.12.3** (versionCode 34: Percaya/blokir langsung) di atas v2.12.2, yang pindainya sudah terbukti di HP. Siap diuji. **Rilis ditahan owner** sampai diuji. Sesi berikutnya baca `CLAUDE.md`, file ini dan `CHECKPOINT.md`, lalu tunggu instruksi owner. Jangan otomatis menguji HP, menjalankan build atau menerbitkan rilis.

## v2.12.3 — Percaya dan blokir langsung (owner 29 Okt ±13.45 WIB, rilis tetap DITAHAN)

- ✅ **v2.12.2 diuji di HP:** owner 29 Okt 13.44–13.45 WIB, screenshot tab Aplikasi terisi (Swift Backup, WhatsApp, Hunter, SpotiFLAC, dll.): "Berjalan dengan baik." Pindai lewat pipa terbukti. Gerak-gerik, internet dan baterai terbaca.
- **Laporan owner:** Menambah ke whitelist sekitar 40 detik ("bisa salah bisa benar"). Penyebab (kode v2.12.2): handler `trust`/`untrust`/`remove` di `apps.html` menjalankan `await scan()` sesudah aksi, dan klien `api` mengantrekan perintah di belakang pindai yang sedang berjalan. Backend `trust` hanya mengedit file whitelist, tetapi menunggu `api.lock`.
- **Perbaikan v2.12.3 (versionCode 34):** `status`, `trust`, `untrust` dan `block` dijalankan sebelum `api.lock` (kunci hanya untuk `scan` dan `remove`). WebUI memakai klien `quick` terpisah. Percaya/Lepas mengubah kartu lokal tanpa pindai. Hapus diikuti pindai di latar belakang. `apps.awk` tidak lagi menolkan risiko aplikasi yang dipercaya (UI menghitung dipercaya terpisah). `status` membawa `trusted` untuk memperbarui daftar dari cache. Tes baru: Percaya dan blokir selesai < 2,5 detik saat pindai lambat memegang kunci.
- **Cek acak owner 13.49 WIB:** Netflix "Dipasang: 1999-12-31" (sumber toko aplikasi, 37 hari tidak dipakai). Tanggal itu `firstInstallTime` dari Android, bukan hitungan modul; dugaan: aplikasi bawaan Xiaomi dengan tanggal tetap dari image sistem (belum dibuktikan di HP). WebUI kini memberi keterangan untuk tanggal sebelum 2008-09-23.
- [Paket uji](modules/cogan-smart/rilis/v2.12.3/Cogan-Smart-Kernel-v2.12.3.zip) 189659 byte, SHA256 `3079c3577a8bb2a9a042f9c5f0f3b3d726f8ebbe67650bddbabee6c78adc3d60` (dua kali dikemas, sama). Terukur lokal: semua tes lolos (mksh, dash, BusyBox ash). Belum diuji di HP.

## Bug pindai di HP + audit v2.12.1 → v2.12.2 (owner 29 Okt ±12.57 WIB, rilis tetap DITAHAN)

Expand All @@ -26,7 +34,7 @@ Cogan Smart **v2.12.2** (versionCode 33: tab 📱 Aplikasi + perbaikan v2.11.2 +

## Sedang berjalan

- PR v2.12.2 (lihat bagian Bug pindai). v2.12.1 sudah di-merge (#83), v2.12.0 juga (#80).
- PR v2.12.3 (lihat bagian v2.12.3). v2.12.2 sudah di-merge (#84).

## Sudah selesai (sesi 28–29 Okt)

Expand All @@ -41,7 +49,7 @@ Cogan Smart **v2.12.2** (versionCode 33: tab 📱 Aplikasi + perbaikan v2.11.2 +

## Tertunda (keputusan owner)

- Uji v2.12.2 di HP: tekan Mulai di Kontrol Daya/Suhu, tutup root manager, buka lagi → tetap aktif; tab 📱 Aplikasi terisi; APK kiriman WhatsApp/sosmed/email/SMS ditolak dan izin yang dinyalakan lagi dicabut dengan notifikasi.
- Uji v2.12.3 di HP: Percaya/Lepas langsung selesai; sisanya: tekan Mulai di Kontrol Daya/Suhu, tutup root manager, buka lagi → tetap aktif; tab 📱 Aplikasi terisi; APK kiriman WhatsApp/sosmed/email/SMS ditolak dan izin yang dinyalakan lagi dicabut dengan notifikasi.
- Rilis Cogan Smart: **ditahan owner** ("Untuk rilis tahan dulu!", 29 Okt 11.26 WIB).

## Langkah pertama berikutnya
Expand Down
18 changes: 18 additions & 0 deletions modules/cogan-smart/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,23 @@
# Cogan Smart Kernel

## Percaya dan blokir langsung / Trust and block at once — v2.12.3 (paket uji / test build)

Indonesia:

- v2.12.2 diuji owner di HP 29 Okt: pindai tab Aplikasi berjalan baik.
- Laporan owner: Menambah ke whitelist makan sekitar 40 detik. Penyebab: Percaya, Lepas dan Hapus menunggu pindai penuh ulang, dan perintahnya antre di belakang pindai yang sedang berjalan. Kini Percaya, Lepas, blokir dan status memakai antrean sendiri dan tidak memakai kunci pindai. Kartu langsung berubah tanpa pindai ulang. Setelah Hapus, pindai berjalan di latar belakang.
- Aplikasi yang dipercaya menyimpan tanda risikonya. Ia ditampilkan dan dihitung sebagai dipercaya, dan tandanya kembali setelah dilepas tanpa perlu pindai. Status ringan juga membawa daftar whitelist, jadi hasil pindai lama di layar ikut benar.
- Cek acak owner: Netflix "Dipasang: 1999-12-31". Tanggal itu dari Android (`firstInstallTime`), bukan hitungan modul. Tanggal sebelum Android ada (2008) kini diberi keterangan "tanggal tidak wajar dari Android; biasanya aplikasi bawaan HP".
- Terukur lokal: tes lolos (mksh, dash, BusyBox ash). Belum diuji di HP.

English:

- v2.12.2 tested by the owner on the phone (29 Oct): the Apps tab scan works.
- Owner report: adding to the whitelist took about 40 s. Cause: Trust, Untrust and Remove waited for a full rescan, queued behind a scan already running. Trust, Untrust, the block and status now use their own queue and skip the scan lock; the card changes at once without a rescan. After Remove the scan runs in the background.
- A trusted app keeps its risk mark: it is shown and counted as trusted, and the mark returns after untrusting without a scan. The light status also carries the whitelist, so a cached list on screen is right too.
- Owner's spot check: Netflix "Installed: 1999-12-31". That date comes from Android (`firstInstallTime`), not from the module. A date before Android existed (2008) is now labelled "an odd date from Android; usually a preinstalled app".
- Measured locally: tests pass (mksh, dash, BusyBox ash). Not phone-tested yet.

## Pindai aplikasi bekerja di HP / App scan works on the phone — v2.12.2 (paket uji / test build)

Indonesia:
Expand Down
3 changes: 2 additions & 1 deletion modules/cogan-smart/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,15 @@

**Versi paket terbaru: v2.9.1** (`versionCode` 18): modul lebih hemat CPU, satu angka Badan HP dari HyperOS, lonjakan suhu, nama aplikasi asli, batas CPU di log, dan penyaringan sensor macet. Dampak optimisasi terakhir pada HP belum diukur. Catatan perubahan lengkap ada di [`CHANGELOG.md`](CHANGELOG.md); status publikasi ada di [Releases](https://github.com/cogan17/Cogan-Kernel/releases).

**Versi pengembangan: v2.12.2** (versionCode 33, pindai aplikasi bekerja di HP: output Binder lewat pipa; perbaikan audit v2.12.0 dan v2.12.1): tab baru 📱 Aplikasi untuk memantau gerak-gerik aplikasi user, hapus sampai akar (admin perangkat dilepas, semua pengguna, sisa data, salinan APK) dan blokir APK dari chat & sosmed (bawaan aktif). Termasuk perbaikan v2.11.2 (pekerja tetap hidup setelah root manager ditutup). Belum diuji pada HP. v2.11.1 (Manager memantau, keluar sekali usap) dan hook ZRAM v2.10.8 sudah terbukti di HP. Rilis v2.9.1 tetap tersedia.
**Versi pengembangan: v2.12.3** (versionCode 34, Percaya/Lepas/blokir langsung tanpa pindai ulang; v2.12.2 pindai berjalan di HP: pindai aplikasi bekerja di HP: output Binder lewat pipa; perbaikan audit v2.12.0 dan v2.12.1): tab baru 📱 Aplikasi untuk memantau gerak-gerik aplikasi user, hapus sampai akar (admin perangkat dilepas, semua pengguna, sisa data, salinan APK) dan blokir APK dari chat & sosmed (bawaan aktif). Termasuk perbaikan v2.11.2 (pekerja tetap hidup setelah root manager ditutup). Belum diuji pada HP. v2.11.1 (Manager memantau, keluar sekali usap) dan hook ZRAM v2.10.8 sudah terbukti di HP. Rilis v2.9.1 tetap tersedia.

📖 **Panduan pemakaian:** [PANDUAN.md](PANDUAN.md) · [English](PANDUAN.en.md)

## ⬇️ Unduh

| Versi | versionCode | ZIP siap pasang | Catatan | Salinan di repo | SHA256 ZIP |
|---|---|---|---|---|---|
| **v2.12.3** (paket uji Percaya dan blokir langsung) | 34 | [Paket pembaruan](rilis/v2.12.3/Cogan-Smart-Kernel-v2.12.3.zip) | [What's New](rilis/v2.12.3/Cogan-Smart-v2.12.3-Whats-New-and-Fixes.txt) | [rilis/v2.12.3](rilis/v2.12.3) | `3079c3577a8bb2a9a042f9c5f0f3b3d726f8ebbe67650bddbabee6c78adc3d60` |
| **v2.12.2** (paket uji pindai aplikasi lewat pipa) | 33 | [Paket pembaruan](rilis/v2.12.2/Cogan-Smart-Kernel-v2.12.2.zip) | [What's New](rilis/v2.12.2/Cogan-Smart-v2.12.2-Whats-New-and-Fixes.txt) | [rilis/v2.12.2](rilis/v2.12.2) | `f3c5ccf16f6bfa5f6ef696dac73a3a98b7591dfd7c6c42c3c6b6816496f3a700` |
| **v2.12.1** (paket uji perbaikan audit) | 32 | [Paket pembaruan](rilis/v2.12.1/Cogan-Smart-Kernel-v2.12.1.zip) | [What's New](rilis/v2.12.1/Cogan-Smart-v2.12.1-Whats-New-and-Fixes.txt) | [rilis/v2.12.1](rilis/v2.12.1) | `4568aeb4b1fe0e8c85f33b9cb13d47d7572898799e9226e4653d0dc42669a8e8` |
| **v2.12.0** (paket uji tab Aplikasi) | 31 | [Paket pembaruan](rilis/v2.12.0/Cogan-Smart-Kernel-v2.12.0.zip) | [What's New](rilis/v2.12.0/Cogan-Smart-v2.12.0-Whats-New-and-Fixes.txt) | [rilis/v2.12.0](rilis/v2.12.0) | `7acc20223baabc925345f7d3e6c328bb8bf94a97460c92f9b65e15f27b566d47` |
Expand Down
2 changes: 1 addition & 1 deletion modules/cogan-smart/apps/apps.awk
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ END {
side = src == "chat" || src == "file"
strong = (p in sms) || (p in a11y) || (p in admin)
core = (p in manager) || (host > 0 && aid > 0 && aid == host % 100000)
if (core || (p in trusted)) risk = 0
if (core) risk = 0 # a trusted app keeps its mark; the WebUI shows it as trusted and counts it apart
else if (side && (strong || ((p in notif) && (p in overlay)) || (hidden && ((p in notif) || (p in overlay) || (p in install))))) risk = 2
else if (src == "chat" || strong || (side && (hidden || (p in notif) || (p in overlay) || (p in install)))) risk = 1
else risk = 0
Expand Down
23 changes: 15 additions & 8 deletions modules/cogan-smart/apps/report.sh
Original file line number Diff line number Diff line change
Expand Up @@ -201,26 +201,33 @@ case $1 in
if [ "$BLOCK" = 1 ]; then block_pass; start_block; fi
exit 0 ;;
stop) stop_block; exit 0 ;;
status) printf '{"ok":1,"block":'; block_json; printf '}\n'; exit 0 ;; # light: the block card without a full scan
esac
umask 077
mkdir -p "$CA_RUN" || fail 'Gagal menyiapkan tab Aplikasi.'
lock_take "$CA_DATA/api.lock" || fail 'Perintah lain sedang berjalan'
trap 'lock_drop "$CA_DATA/api.lock"' EXIT
# Light commands touch only the whitelist or the block switch, so they never wait for a running scan (owner 29 Oct:
# Percaya took about 40 s). The lock below serialises the scan and removals.
case $1 in
scan) scan ;;
status) # the block card and the whitelist, without a full scan
printf '{"ok":1,"block":'; block_json; printf ',"trusted":'
cat "$CA_DATA/trusted" 2> /dev/null | awk 'BEGIN { printf "[" } /^[A-Za-z][A-Za-z0-9_.]*$/ { printf "%s\"%s\"", (n++ ? "," : ""), $0 } END { printf "]" }'
printf '}\n'; exit 0 ;;
trust)
valid_pkg "$2" || fail 'Nama aplikasi tidak valid.'
is_trusted "$2" || echo "$2" >> "$CA_DATA/trusted" || fail 'Gagal menyimpan whitelist.'
printf '{"ok":1}\n' ;;
printf '{"ok":1}\n'; exit 0 ;;
untrust)
valid_pkg "$2" || fail 'Nama aplikasi tidak valid.'
drop_line "$CA_DATA/trusted" "$2"; printf '{"ok":1}\n' ;;
remove) remove_app "$2" ;;
drop_line "$CA_DATA/trusted" "$2"; printf '{"ok":1}\n'; exit 0 ;;
block)
case $2 in on) ca_b=1 ;; off) ca_b=0 ;; *) fail 'Pilihan tidak valid.' ;; esac
printf 'BLOCK=%s\n' "$ca_b" > "$CA_DATA/config.tmp" && mv -f "$CA_DATA/config.tmp" "$CA_DATA/config" || fail 'Gagal menyimpan setelan.'
if [ "$ca_b" = 1 ]; then block_pass; start_block; else stop_block; fi
printf '{"ok":1,"block":%s}\n' "$ca_b" ;;
printf '{"ok":1,"block":%s}\n' "$ca_b"; exit 0 ;;
esac
lock_take "$CA_DATA/api.lock" || fail 'Perintah lain sedang berjalan'
trap 'lock_drop "$CA_DATA/api.lock"' EXIT
case $1 in
scan) scan ;;
remove) remove_app "$2" ;;
*) fail 'Perintah tidak dikenal' ;;
esac
4 changes: 2 additions & 2 deletions modules/cogan-smart/module.prop
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
id=cogan_smart
name=Cogan Smart Kernel
version=v2.12.2
versionCode=33
version=v2.12.3
versionCode=34
author=cogan17
description=Satu modul: mode Hemat · Kernel Default · Performa, kontrol CPU/cas dengan readback, monitor suhu, log dan penyebab panas, Manager sebagai pusat kendali (ringkasan semua tab, CPU/RAM), tab Aplikasi (pantau, hapus sampai akar, blokir APK dari chat/sosmed), Mode Dev, panduan, penjaga modul (whitelist, hapus sampai akar). Mengenali perangkat dan kernel Cogan (Cogan Bridge bila tersedia).
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
Cogan Smart Kernel v2.12.3 / versionCode 34 — paket uji / test build

Indonesia

Perbaikan:
- Percaya dan Lepas dari whitelist langsung selesai, tanpa menunggu pindai ulang (sebelumnya sekitar 40 detik).
- Aktifkan dan Matikan blokir juga tidak menunggu pindai yang sedang berjalan.
- Setelah Hapus sampai akar, daftar diperbarui di latar belakang.

Batas:
- Belum diuji di HP.

Cara uji:
1. Pasang sebagai pembaruan modul melalui root manager, lalu reboot.
2. Buka tab 📱 Aplikasi, tekan Pindai ulang, lalu langsung tekan 🛡️ Percaya pada satu aplikasi: harus selesai dalam beberapa detik.

English

Fixes:
- Trust and Untrust finish at once, without waiting for a rescan (it took about 40 seconds before).
- Turning the block on or off no longer waits for a scan that is running.
- After Remove completely, the list refreshes in the background.

Limits:
- Not phone-tested yet.

How to test:
1. Install as a module update through the root manager, then reboot.
2. Open the 📱 Apps tab, press Rescan, then right away press 🛡️ Trust on an app: it must finish within a few seconds.
6 changes: 3 additions & 3 deletions modules/cogan-smart/webroot/about.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
<title>Cogan Smart · Tentang</title>
<link rel="stylesheet" href="theme.css?v=2.12.2">
<script src="i18n.js?v=2.12.2"></script>
<link rel="stylesheet" href="theme.css?v=2.12.3">
<script src="i18n.js?v=2.12.3"></script>
<script>try { document.documentElement.dataset.theme = localStorage.getItem('cogan.theme') || ''; document.documentElement.dataset.dev = localStorage.getItem('cogan.dev') || ''; document.documentElement.lang = localStorage.getItem('cogan.lang') || 'id'; } catch (_) { /* storage off: defaults */ }</script>
<style>
* { box-sizing: border-box; }
Expand Down Expand Up @@ -133,7 +133,7 @@ <h2 lang="en">🔏 Authenticity</h2>
<p class="credit">Maintainer <b>Cogan17</b> &nbsp;·&nbsp; kernel <b>Cogan Rothko</b> &nbsp;·&nbsp; <b>KernelSU Next</b></p>
</main>

<script src="client.js?v=2.12.2"></script>
<script src="client.js?v=2.12.3"></script>
<script>
const POWER = '/data/adb/modules/cogan_smart/power/report.sh';
const UI = CoganUI, power = UI.create(POWER), root = document.documentElement;
Expand Down
Loading
Loading