Online config editor&validor with Monaco editor https://validator.remna.dev/
Find a file
2026-03-29 23:33:02 +03:00
.github/workflows feat: move GO-related files to separate folder 2024-12-05 04:20:19 +03:00
go chore(go): pdate xray version to v26.3.27 2026-03-28 18:42:44 +03:00
src 2026-01-13 18:01:52 +03:00
.eslintrc.cjs feat: add react 2024-12-05 03:52:54 +03:00
.gitignore fix(go): add xray.schema.cn.json generation to Makefile and update .gitignore 2025-08-14 17:48:17 +03:00
.npmrc feat: add react 2024-12-05 03:52:54 +03:00
.prettierrc feat: add react 2024-12-05 03:52:54 +03:00
CNAME Create CNAME 2025-10-12 20:25:33 +03:00
global.d.ts feat: color theme, color theme toggle 2024-12-05 05:07:42 +03:00
index.html feat: move GO-related files to separate folder 2024-12-05 04:16:35 +03:00
LICENSE init 2024-09-08 00:36:56 +02:00
package-lock.json feat: color theme, color theme toggle 2024-12-05 05:07:42 +03:00
package.json feat: color theme, color theme toggle 2024-12-05 05:07:42 +03:00
postcss.config.cjs feat: add react 2024-12-05 03:52:54 +03:00
README.md 2026-03-29 23:33:02 +03:00
tsconfig.json feat: add react 2024-12-05 03:52:54 +03:00
tsconfig.node.json feat: add react 2024-12-05 03:52:54 +03:00
vite.config.ts fix(vite): change base path in Vite configuration from '/xray-monaco-editor/' to '/' 2025-10-12 20:05:21 +03:00

Xray Config Validator (xray-online)

Parse and validate xray's JSON configuration in your browser.

The basic idea is: Many GUI clients do not provide good error messages if a JSON config fails to load. Users don't want to run the core directly to find the error message. Therefore, let's use a browser tool in the style of jsonlint.com.

Try it out here

Because some configuration validation happens after parsing, some mistakes are not caught, only most typing mistakes. If you find an obvious gap that bothers you, raise an issue.

Contributing

xray-online uses a patched version of xray-core compiled to WASM. The build process is entirely driven through the Makefile. A POSIX shell is recommended, WSL is probably mandatory on Windows.

  • make build to build the WASM module from scratch.
  • make dev-lite to download the WASM module from GitHub instead.
  • make serve to launch the development server.