xray-configurator
Static server-side JSON configurator for Xray-core. The app is designed to run on GitHub Pages and keeps all work in the browser: no backend, no telemetry, no remote validation.
Features
Заголовок раздела «Features»- Protocol-aware server config builder for inbounds, outbounds, stream settings, TLS, REALITY and socket options.
- Global sections for
log,dns,routing,policy,api,metrics,fakeDns,observatory,burstObservatory,geodataandversion. - Nested editors for common high-friction structures: inbound clients, DNS servers and routing rules.
- Import existing JSON, edit it visually or as raw JSON, then export a clean config.
- Built-in presets for common server deployments.
- EN/RU UI switch.
- GitHub Pages-ready Vite build with relative asset paths.
Development
Заголовок раздела «Development»git submodule update --init --recursivenpm cinpm run devnpm testnpm run buildnpm audit --omit=devIf Xray is installed locally, validate example configs with the real core parser:
npm run validate:xrayUse XRAY_BIN when the binary is not on PATH:
XRAY_BIN=/usr/local/bin/xray npm run validate:xrayDeployment
Заголовок раздела «Deployment»The repository includes .github/workflows/deploy.yml. Enable GitHub Pages in repository settings and select GitHub
Actions as the source. Every push to main builds and publishes dist.
Examples
Заголовок раздела «Examples»The examples directory is a Git submodule pointing to the official XTLS/Xray-examples repository.
When cloning manually, use:
git clone --recurse-submodules <repo-url>For an existing checkout:
git submodule update --init --recursiveCoverage Notes
Заголовок раздела «Coverage Notes»Xray-core evolves quickly and some fields are only discoverable from infra/conf source structs. The visual UI covers
the most common server-side and advanced fields, while raw JSON inputs remain available for experimental, newly added or
rarely used options. For strict runtime validation, export the JSON and run:
xray run -test -config xray-server-config.json