Xray Configurator App
Web-based interface for converting VLESS and Shadowsocks proxy links into Xray configuration files.
About
Xray Configurator provides a clean web UI for generating properly formatted Xray configurations without needing command-line tools. Simply paste your proxy link and get a ready-to-use configuration.
Features
- 🌐 Web Interface: Clean, responsive web UI
- 🔗 Protocol Support: VLESS and Shadowsocks links
- 📋 Dual Output: JSON and Base64 formats
- 📱 Mobile Friendly: Responsive design
- 🔒 Local Processing: All conversion happens in browser
- ⚡ Real-time: Instant conversion as you type
- 🌍 DNS Configuration: Customizable DNS servers for Xray config
- 🔎 Hostname Resolution: Optionally resolve server hostnames to IP via DNS-over-HTTPS
- 🔑 SOCKS Authentication: Optional username/password auth with multiple users
Supported Protocols
VLESS
Full support including:
- TLS and REALITY security
- WebSocket, gRPC, HTTP/2 transports
- Flow control (xtls-rprx-vision)
- All standard parameters
Shadowsocks
All standard encryption methods:
- AES-128-GCM, AES-256-GCM
- ChaCha20-IETF-Poly1305
- And more…
Installation
- Add the J0rsa repository to your Home Assistant
- Search for “Xray Configurator” in the App Store (formerly Add-on Store)
- Click Install and wait for the download to complete
- Start the app
Usage
Accessing the Web Interface
After starting the app:
- Via Ingress: Click “Open Web UI” in the app panel
- Direct Access:
http://homeassistant.local:8099
Converting a Link
- Open the web interface
- Paste your VLESS or Shadowsocks URL (conversion happens automatically)
- Optionally adjust HTTP/SOCKS proxy ports and settings
- Optionally configure DNS servers or enable hostname resolution
- Copy the JSON or Base64 output
URL Format Examples
VLESS:
vless://uuid@server:port?encryption=none&security=tls&sni=example.com&type=tcp#ServerName
Shadowsocks:
ss://base64(method:password)@server:port#ServerName
Output Formats
JSON Configuration
Ready-to-use Xray configuration file:
{
"inbounds": [...],
"outbounds": [...],
"routing": {...}
}
Base64 Configuration
Encoded configuration string for use with the Xray app’s xray_config_base64 option.
Generated Configuration Includes
- HTTP Proxy: Configurable port (default: 8080), can be disabled
- SOCKS5 Proxy: Configurable port (default: 1080), optional authentication, can be disabled
- DNS Servers: Optional, customizable (defaults to 1.1.1.1 and 8.8.8.8)
- Direct Routing: Private IP ranges bypass proxy
- Blocked Traffic: Blackhole for unwanted connections
Supported VLESS Parameters
| Parameter | Description |
|---|---|
encryption |
none, auto |
security |
tls, reality, none |
type |
tcp, ws, grpc, h2 |
sni |
Server Name Indication |
alpn |
Application-Layer Protocol |
fp |
TLS fingerprint |
flow |
Flow control |
path |
WebSocket/gRPC path |
host |
HTTP host header |
pbk |
REALITY public key |
sid |
REALITY short ID |
Using with Xray App
- Generate configuration using this tool
- Copy the Base64 output
- Open Xray app configuration
- Paste into
xray_config_base64field - Start Xray app
Security
- Local Processing: All conversion happens in the browser
- No Storage: Configurations are not saved
- Ingress: Secure access through Home Assistant auth
- DNS Resolution: When “Resolve hostname to IP” is enabled, a DNS-over-HTTPS request is made to Cloudflare/Google to resolve the server address
Troubleshooting
Invalid URL Format
- Ensure your VLESS/SS URL is properly formatted
- Check for missing parameters
Copy Failed
- Use manual selection with Ctrl+C
- Check browser permissions
Web Interface Not Loading
- Check port 8099 availability
- Verify app is running
Support
| ← Back to Apps | View on GitHub |