mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-06-28 04:00:57 +00:00
|
Some checks are pending
CI / go-test (push) Waiting to run
CI / codegen (push) Waiting to run
CI / govulncheck (push) Waiting to run
CI / race (push) Waiting to run
CI / fuzz-smoke (push) Waiting to run
CI / golangci (push) Waiting to run
CI / frontend (push) Waiting to run
CodeQL Advanced / Analyze (go) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Release 3X-UI / build (386) (push) Waiting to run
Release 3X-UI / build (amd64) (push) Waiting to run
Release 3X-UI / build (arm64) (push) Waiting to run
Release 3X-UI / build (armv5) (push) Waiting to run
Release 3X-UI / build (armv6) (push) Waiting to run
Release 3X-UI / build (armv7) (push) Waiting to run
Release 3X-UI / build (s390x) (push) Waiting to run
Release 3X-UI / Build for Windows (push) Waiting to run
Release 3X-UI / Publish rolling dev release (push) Blocked by required conditions
WireGuard inbounds now manage per-client peers using xray-core's native WireGuard users (AddUser/RemoveUser). Each client lives in settings.clients (canonical, like every other protocol) and is projected to peers[] only when emitting the xray config, at level 0 so the dispatcher's per-user traffic/online counters work with no extra plumbing. Backend: internal/util/wireguard gains KeyToHex (base64 to hex for the gRPC path), PublicKeyFromPrivate and GenerateWireguardPSK; xray/api.go builds a wireguard account in AddUser with hex keys (RemoveUser already worked); client CRUD generates a keypair and allocates a unique tunnel address per client and never rotates keys on edit; an idempotent migration converts legacy settings.peers into managed clients; WireGuard is included in the raw subscription. Frontend: WireGuard in the add-client modal with keys on the credential tab, client schema, per-client QR/link/.conf, inbound form reduced to server settings; i18n added across 13 locales. Fix: guard the settings[clients] assertion in add/update so a legacy WireGuard inbound stored without a clients key no longer panics. |
||
|---|---|---|
| .. | ||
| build_urls_test.go | ||
| characterization_test.go | ||
| clash_external.go | ||
| clash_service.go | ||
| clash_service_test.go | ||
| controller.go | ||
| controller_test.go | ||
| default.json | ||
| dist.go | ||
| endpoint.go | ||
| endpoint_test.go | ||
| export_all_links_test.go | ||
| external_config.go | ||
| external_config_test.go | ||
| external_only_sub_test.go | ||
| external_subscription.go | ||
| external_subscription_test.go | ||
| host_sub.go | ||
| host_sub_test.go | ||
| json_service.go | ||
| json_service_test.go | ||
| links.go | ||
| links_test.go | ||
| mutation_audit_test.go | ||
| page_data_test.go | ||
| remark_vars.go | ||
| remark_vars_test.go | ||
| service.go | ||
| service_dedup_test.go | ||
| service_flow_test.go | ||
| service_orphaned_stats_test.go | ||
| service_property_test.go | ||
| service_sharelink_test.go | ||
| service_sort_test.go | ||
| service_test.go | ||
| service_userinfo_test.go | ||
| service_wireguard_test.go | ||
| sub.go | ||