mirror of
https://github.com/amnezia-vpn/amnezia-xray-core.git
synced 2026-10-13 21:33:49 +00:00
[PR #20] Add external VLESS user routing control #22
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
amnezia-vpn/amnezia-xray-core#22
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/amnezia-vpn/amnezia-xray-core/pull/20
Author: @FrogRocky
Created: 7/29/2026
Status: 🔄 Open
Base:
master← Head:frog/external-user-routing📝 Commits (1)
d9419b6Add external VLESS user routing control📊 Changes
25 files changed (+4536 additions, -326 deletions)
View changed files
📝
app/commander/commander.go(+23 -5)➕
app/commander/commander_test.go(+17 -0)📝
app/commander/config.pb.go(+24 -5)📝
app/commander/config.proto(+4 -0)📝
app/router/balancing.go(+18 -3)📝
app/router/balancing_override.go(+7 -1)📝
app/router/command/command.go(+88 -0)📝
app/router/command/command.pb.go(+313 -34)📝
app/router/command/command.proto(+27 -0)📝
app/router/command/command_grpc.pb.go(+76 -0)📝
app/router/command/command_test.go(+162 -0)📝
app/router/router.go(+524 -152)➕
app/router/ruleset_test.go(+613 -0)➕
examples/external-routing/README.md(+189 -0)➕
examples/external-routing/client.json(+44 -0)➕
examples/external-routing/server.json(+98 -0)📝
infra/conf/api.go(+13 -6)➕
infra/conf/api_test.go(+35 -0)📝
proxy/vless/inbound/inbound.go(+8 -120)➕
proxy/vless/inbound/notifications.go(+665 -0)...and 5 more files
📄 Description
What
This lets the backend add users and update routing without restarting Xray or exposing an intermediate rule order.
Scope
This PR does not include per-user
fwmark, strict socket binding, transport changes, or Docker rehearsal files. The LinuxVLESS -> Freedomfwmark support is split into a separate change.Tests
Unit and scenario tests cover unknown-user notifications, atomic rule replacement, API round trips, and authenticated VLESS user routing.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.