3x-ui/database
MHSanaei 4813a2fe00
fix(api-token): hash tokens at rest and show plaintext only once
Store API tokens as SHA-256 hashes instead of plaintext and return the token value only in the create response. List no longer exposes the token, and the UI drops the Show/Copy buttons in favor of a one-time reveal modal at creation.

Match hashes the presented bearer token before the constant-time compare, and a migration hashes any pre-existing plaintext rows in place so existing tokens keep authenticating. Docs and translations updated.
2026-06-03 22:57:50 +02:00
..
model fix(api-token): hash tokens at rest and show plaintext only once 2026-06-03 22:57:50 +02:00
db.go fix(api-token): hash tokens at rest and show plaintext only once 2026-06-03 22:57:50 +02:00
db_seed_test.go feat(inbounds): support Unix domain socket path in Listen field (#4429) 2026-06-02 00:37:20 +02:00
dialect.go fix(nodes): use GREATEST for last_online merge on PostgreSQL 2026-05-29 02:04:02 +02:00
migrate_data.go fix(migrate-db): preserve false-valued columns in SQLite to Postgres copy 2026-06-03 14:28:14 +02:00
migrate_data_test.go fix(migrate-db): preserve false-valued columns in SQLite to Postgres copy 2026-06-03 14:28:14 +02:00