You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
[package]
|
|
|
|
|
name = "arz-core"
|
|
|
|
|
version = "0.1.0"
|
|
|
|
|
edition = "2024"
|
|
|
|
|
|
|
|
|
|
[lib]
|
|
|
|
|
crate-type = ["cdylib"]
|
|
|
|
|
|
|
|
|
|
[dependencies]
|
|
|
|
|
tokio = { version = "1", features = ["rt-multi-thread", "macros", "sync", "net"] }
|
|
|
|
|
axum = { version = "0.8", features = ["ws"] }
|
|
|
|
|
serde = { version = "1", features = ["derive"] }
|
|
|
|
|
serde_json = "1"
|
|
|
|
|
encoding_rs = "0.8"
|
|
|
|
|
tower-http = { version = "0.6", features = ["fs"] }
|
|
|
|
|
tokio-rusqlite = { version = "0.7", features = ["bundled"] }
|
|
|
|
|
chrono = { version = "0.4", default-features = false, features = ["clock"] }
|
Resolve all medium tasks: auth, tests, cjson, module loading
Auth system (new rust_core/src/auth.rs):
- Secret generated at startup, stored in /data/data/ or /sdcard/Android/data/
(not accessible to other apps). Never exposed via FFI.
- Credentials encrypted with secret, stored in separate `auth` DB table
(modules can't access through kv API)
- HTTP middleware checks Basic auth or Bearer token on /api/* and /ws
- Admin panel Auth tab for setting/clearing credentials
- FFI: rgl_auth_init, rgl_auth_set, rgl_auth_clear, rgl_auth_enabled
Integration tests (28 total, was 7):
- bridge.rs: request/response cycle, unique IDs, timeout, event broadcast
- events.rs: win1251 roundtrip, color parsing, HTML escaping
- auth.rs: XOR roundtrip, secret generation, Basic/Bearer auth
Other fixes:
- Make cjson a hard requirement (remove broken fallback JSON encoder)
- Replace io.popen('ls') with pcall-wrapped list_module_dirs() helper
- Fix console serialize: add local, move above M.init()
- Clear all medium tasks from TASKS.md
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 day ago
|
|
|
rand = "0.9"
|
|
|
|
|
base64 = "0.22"
|
|
|
|
|
|
|
|
|
|
[profile.release]
|
|
|
|
|
lto = true
|
|
|
|
|
strip = true
|
|
|
|
|
opt-level = "s"
|