From 313b51f96f2f94de9908c6900988a7d1b170f08f Mon Sep 17 00:00:00 2001 From: Denis Gorelov <86232599+RFOTQ@users.noreply.github.com> Date: Sat, 1 Nov 2025 15:07:05 +0300 Subject: feat: Add random Reality Target/SNI selection from 52 popular services (#3577) * feat: Add random Reality Target/SNI selection from 52 popular services - Created reality_targets.js with list of 52 popular services - Updated RealityStreamSettings to use random targets by default - Added UI randomize buttons with sync icon in Reality settings form - Implemented randomizeRealityTarget() method in inbound modal - Replaces hardcoded google.com with diverse global services * fix --------- Co-authored-by: mhsanaei --- web/assets/js/model/inbound.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'web/assets/js/model/inbound.js') diff --git a/web/assets/js/model/inbound.js b/web/assets/js/model/inbound.js index aecedf75..0718b20c 100644 --- a/web/assets/js/model/inbound.js +++ b/web/assets/js/model/inbound.js @@ -729,8 +729,8 @@ class RealityStreamSettings extends XrayCommonClass { constructor( show = false, xver = 0, - target = 'google.com:443', - serverNames = 'google.com,www.google.com', + target = '', + serverNames = '', privateKey = '', minClientVer = '', maxClientVer = '', @@ -740,6 +740,14 @@ class RealityStreamSettings extends XrayCommonClass { settings = new RealityStreamSettings.Settings() ) { super(); + // If target/serverNames are not provided, use random values + if (!target && !serverNames) { + const randomTarget = typeof getRandomRealityTarget !== 'undefined' + ? getRandomRealityTarget() + : { target: 'google.com:443', sni: 'google.com,www.google.com' }; + target = randomTarget.target; + serverNames = randomTarget.sni; + } this.show = show; this.xver = xver; this.target = target; -- cgit v1.2.3