3x-ui/web/service
pwnnex 6a483fa987
inbound: check transport in port conflict, allow tcp and udp on same port (#4169)
the panel rejected configurations like vless reality on tcp/443 and
hysteria2 on udp/443 even though those are independent sockets in
linux. the old checkPortExist looked only at port + listen.

inboundTransports now classifies each inbound by L4 transport:
hysteria/hysteria2/wireguard are udp; streamSettings.network=kcp is
udp; shadowsocks reads settings.network ("tcp"/"udp"/"tcp,udp");
mixed (socks/http) adds udp when settings.udp is true; everything
else is tcp. checkPortConflict pulls every row on the same port and
only flags a conflict when transport masks overlap. the listen-
overlap rule (specific addr vs any-addr on the same port) is kept.

inbounds.tag has a unique DB constraint and the controller derives
tags from port ("inbound-443"). without disambiguation a second
inbound on the same port would still hit a unique-constraint error.
generateInboundTag keeps the historical "inbound-<port>" shape when
the base tag is free, so existing routing rules survive the upgrade
unchanged, and appends "-tcp"/"-udp" only when the base is already
taken.

closes #4103.
2026-05-06 11:41:21 +02:00
..
config.json dokodemo-door, socks renamed to mixed, tunnel 2025-09-09 13:57:40 +02:00
custom_geo.go Add SSRF protection (#4044) 2026-04-20 00:18:20 +02:00
custom_geo_test.go Add SSRF protection (#4044) 2026-04-20 00:18:20 +02:00
inbound.go inbound: check transport in port conflict, allow tcp and udp on same port (#4169) 2026-05-06 11:41:21 +02:00
nord.go feat: Add NordVPN NordLynx (WireGuard) integration (#3827) 2026-04-20 00:41:50 +02:00
outbound.go fix security issue 2026-02-09 23:36:10 +01:00
panel.go feat: add panel update functionality via web GUI (#4117) 2026-04-28 18:46:55 +02:00
panel_other.go feat: add panel update functionality via web GUI (#4117) 2026-04-28 18:46:55 +02:00
panel_test.go feat: add panel update functionality via web GUI (#4117) 2026-04-28 18:46:55 +02:00
panel_unix.go feat: add panel update functionality via web GUI (#4117) 2026-04-28 18:46:55 +02:00
port_conflict.go inbound: check transport in port conflict, allow tcp and udp on same port (#4169) 2026-05-06 11:41:21 +02:00
port_conflict_test.go inbound: check transport in port conflict, allow tcp and udp on same port (#4169) 2026-05-06 11:41:21 +02:00
server.go Skip 26.5.3 and bump Xray version cutoff 2026-05-06 10:13:55 +02:00
setting.go feat: add configurable auto-restart on client auto-disable 2026-05-04 23:19:25 +02:00
tgbot.go Extract bot command setup into trySetBotCommands 2026-04-22 10:47:30 +02:00
user.go Add Go code analyzer workflow 2026-03-17 23:01:15 +01:00
warp.go docs: add comments for all functions 2025-09-20 09:35:50 +02:00
xray.go new: vless reverse 2026-05-05 21:00:03 +02:00
xray_setting.go xray-setting: pin api routing rule to index 0 on save (#4124) 2026-04-28 17:49:39 +02:00
xray_setting_test.go xray-setting: pin api routing rule to index 0 on save (#4124) 2026-04-28 17:49:39 +02:00