--- title: Xray Settings description: Xray configuration template, outbound management, Warp/Nord/PIA integration, and config testing. All endpoints under /panel/api/xray. full: true _openapi: preload: - ./public/openapi.json toc: - depth: 2 title: Return the Xray config template (JSON string), available inbound tags, client reverse tags, and the configured outbound test URL in one response. url: '#return-the-xray-config-template-json-string-available-inbound-tags-client-reverse-tags-and-the-configured-outbound-test-url-in-one-response' - depth: 2 title: Return the built-in default Xray config shipped with the panel (identical to /panel/api/setting/getDefaultJsonConfig). url: '#return-the-built-in-default-xray-config-shipped-with-the-panel-identical-to-panelapisettinggetdefaultjsonconfig' - depth: 2 title: Return traffic statistics for every outbound. Each outbound shows up/down/total counters. url: '#return-traffic-statistics-for-every-outbound-each-outbound-shows-updowntotal-counters' - depth: 2 title: Return the most recent Xray process stdout/stderr output. Useful to check for startup errors or runtime warnings. url: '#return-the-most-recent-xray-process-stdoutstderr-output-useful-to-check-for-startup-errors-or-runtime-warnings' - depth: 2 title: Save the Xray JSON config template and optionally the outbound test URL. Both are sent as form fields. url: '#save-the-xray-json-config-template-and-optionally-the-outbound-test-url-both-are-sent-as-form-fields' - depth: 2 title: Manage Cloudflare Warp integration. The action parameter selects the operation. url: '#manage-cloudflare-warp-integration-the-action-parameter-selects-the-operation' - depth: 2 title: Manage NordVPN integration. The action parameter selects the operation. url: '#manage-nordvpn-integration-the-action-parameter-selects-the-operation' - depth: 2 title: Manage PIA WireGuard integration. The action parameter selects the operation. url: '#manage-pia-wireguard-integration-the-action-parameter-selects-the-operation' - depth: 2 title: Reset traffic counters for a specific outbound by tag. url: '#reset-traffic-counters-for-a-specific-outbound-by-tag' - depth: 2 title: Test an outbound configuration. Sends the outbound JSON (required), optionally all outbounds (to resolve sockopt.dialerProxy dependencies), and a mode flag. url: '#test-an-outbound-configuration-sends-the-outbound-json-required-optionally-all-outbounds-to-resolve-sockoptdialerproxy-dependencies-and-a-mode-flag' - depth: 2 title: Test a batch of outbounds (max 50) through one shared temp xray instance. Returns an array of results in input order, each with the outbound tag, delay, HTTP status and a connect/TLS/TTFB timing breakdown. url: '#test-a-batch-of-outbounds-max-50-through-one-shared-temp-xray-instance-returns-an-array-of-results-in-input-order-each-with-the-outbound-tag-delay-http-status-and-a-connecttlsttfb-timing-breakdown' - depth: 2 title: 'Live state of routing balancers in the running core (RoutingService.GetBalancerInfo): current override and the targets the strategy prefers. Returns a map keyed by balancer tag.' url: '#live-state-of-routing-balancers-in-the-running-core-routingservicegetbalancerinfo-current-override-and-the-targets-the-strategy-prefers-returns-a-map-keyed-by-balancer-tag' - depth: 2 title: Force a balancer in the running core to always pick one outbound (RoutingService.OverrideBalancerTarget). Applied live without a restart; cleared automatically when Xray restarts. url: '#force-a-balancer-in-the-running-core-to-always-pick-one-outbound-routingserviceoverridebalancertarget-applied-live-without-a-restart-cleared-automatically-when-xray-restarts' - depth: 2 title: Ask the running core which outbound its router would pick for a synthetic connection (RoutingService.TestRoute). No traffic is sent. url: '#ask-the-running-core-which-outbound-its-router-would-pick-for-a-synthetic-connection-routingservicetestroute-no-traffic-is-sent' - depth: 2 title: List the geo databases (.dat files) in the Xray asset folder, with the layout detected from their contents, size, modification time and category count. A database that fails to parse is still listed, with the reason in "error". url: '#list-the-geo-databases-dat-files-in-the-xray-asset-folder-with-the-layout-detected-from-their-contents-size-modification-time-and-category-count-a-database-that-fails-to-parse-is-still-listed-with-the-reason-in-error' - depth: 2 title: One page of a database's categories, each with its entry count and the attributes its domains carry (e.g. "ads", "cn"). url: '#one-page-of-a-databases-categories-each-with-its-entry-count-and-the-attributes-its-domains-carry-eg-ads-cn' - depth: 2 title: One page of the rules inside a category — domain rules typed as domain/full/keyword/regexp for geosite databases, CIDRs for geoip ones. url: '#one-page-of-the-rules-inside-a-category--domain-rules-typed-as-domainfullkeywordregexp-for-geosite-databases-cidrs-for-geoip-ones' - depth: 2 title: 'Check routing tokens against the databases on disk and return only the ones that do not resolve. Plain domains and CIDRs are ignored. Each issue carries a reason: syntax, fileMissing or categoryMissing.' url: '#check-routing-tokens-against-the-databases-on-disk-and-return-only-the-ones-that-do-not-resolve-plain-domains-and-cidrs-are-ignored-each-issue-carries-a-reason-syntax-filemissing-or-categorymissing' - depth: 2 title: List all outbound subscriptions (remote URLs that supply additional outbounds), newest first. url: '#list-all-outbound-subscriptions-remote-urls-that-supply-additional-outbounds-newest-first' - depth: 2 title: Create an outbound subscription. The URL is fetched, parsed into outbounds with stable tags, and merged additively into the running Xray config. url: '#create-an-outbound-subscription-the-url-is-fetched-parsed-into-outbounds-with-stable-tags-and-merged-additively-into-the-running-xray-config' - depth: 2 title: Update an existing outbound subscription by id. Accepts the same form fields as create. url: '#update-an-existing-outbound-subscription-by-id-accepts-the-same-form-fields-as-create' - depth: 2 title: Delete an outbound subscription by id. url: '#delete-an-outbound-subscription-by-id' - depth: 2 title: Delete an outbound subscription by id (POST alias of DELETE for clients that cannot send DELETE). url: '#delete-an-outbound-subscription-by-id-post-alias-of-delete-for-clients-that-cannot-send-delete' - depth: 2 title: Force an immediate re-fetch of the subscription and return the parsed outbounds. Signals Xray to reload. url: '#force-an-immediate-re-fetch-of-the-subscription-and-return-the-parsed-outbounds-signals-xray-to-reload' - depth: 2 title: Reorder a subscription one step up or down in priority (controls its position in the merged outbounds). url: '#reorder-a-subscription-one-step-up-or-down-in-priority-controls-its-position-in-the-merged-outbounds' - depth: 2 title: 'Preview a subscription URL: fetch and parse it into outbounds without persisting anything.' url: '#preview-a-subscription-url-fetch-and-parse-it-into-outbounds-without-persisting-anything' structuredData: headings: - content: Return the Xray config template (JSON string), available inbound tags, client reverse tags, and the configured outbound test URL in one response. id: return-the-xray-config-template-json-string-available-inbound-tags-client-reverse-tags-and-the-configured-outbound-test-url-in-one-response - content: Return the built-in default Xray config shipped with the panel (identical to /panel/api/setting/getDefaultJsonConfig). id: return-the-built-in-default-xray-config-shipped-with-the-panel-identical-to-panelapisettinggetdefaultjsonconfig - content: Return traffic statistics for every outbound. Each outbound shows up/down/total counters. id: return-traffic-statistics-for-every-outbound-each-outbound-shows-updowntotal-counters - content: Return the most recent Xray process stdout/stderr output. Useful to check for startup errors or runtime warnings. id: return-the-most-recent-xray-process-stdoutstderr-output-useful-to-check-for-startup-errors-or-runtime-warnings - content: Save the Xray JSON config template and optionally the outbound test URL. Both are sent as form fields. id: save-the-xray-json-config-template-and-optionally-the-outbound-test-url-both-are-sent-as-form-fields - content: Manage Cloudflare Warp integration. The action parameter selects the operation. id: manage-cloudflare-warp-integration-the-action-parameter-selects-the-operation - content: Manage NordVPN integration. The action parameter selects the operation. id: manage-nordvpn-integration-the-action-parameter-selects-the-operation - content: Manage PIA WireGuard integration. The action parameter selects the operation. id: manage-pia-wireguard-integration-the-action-parameter-selects-the-operation - content: Reset traffic counters for a specific outbound by tag. id: reset-traffic-counters-for-a-specific-outbound-by-tag - content: Test an outbound configuration. Sends the outbound JSON (required), optionally all outbounds (to resolve sockopt.dialerProxy dependencies), and a mode flag. id: test-an-outbound-configuration-sends-the-outbound-json-required-optionally-all-outbounds-to-resolve-sockoptdialerproxy-dependencies-and-a-mode-flag - content: Test a batch of outbounds (max 50) through one shared temp xray instance. Returns an array of results in input order, each with the outbound tag, delay, HTTP status and a connect/TLS/TTFB timing breakdown. id: test-a-batch-of-outbounds-max-50-through-one-shared-temp-xray-instance-returns-an-array-of-results-in-input-order-each-with-the-outbound-tag-delay-http-status-and-a-connecttlsttfb-timing-breakdown - content: 'Live state of routing balancers in the running core (RoutingService.GetBalancerInfo): current override and the targets the strategy prefers. Returns a map keyed by balancer tag.' id: live-state-of-routing-balancers-in-the-running-core-routingservicegetbalancerinfo-current-override-and-the-targets-the-strategy-prefers-returns-a-map-keyed-by-balancer-tag - content: Force a balancer in the running core to always pick one outbound (RoutingService.OverrideBalancerTarget). Applied live without a restart; cleared automatically when Xray restarts. id: force-a-balancer-in-the-running-core-to-always-pick-one-outbound-routingserviceoverridebalancertarget-applied-live-without-a-restart-cleared-automatically-when-xray-restarts - content: Ask the running core which outbound its router would pick for a synthetic connection (RoutingService.TestRoute). No traffic is sent. id: ask-the-running-core-which-outbound-its-router-would-pick-for-a-synthetic-connection-routingservicetestroute-no-traffic-is-sent - content: List the geo databases (.dat files) in the Xray asset folder, with the layout detected from their contents, size, modification time and category count. A database that fails to parse is still listed, with the reason in "error". id: list-the-geo-databases-dat-files-in-the-xray-asset-folder-with-the-layout-detected-from-their-contents-size-modification-time-and-category-count-a-database-that-fails-to-parse-is-still-listed-with-the-reason-in-error - content: One page of a database's categories, each with its entry count and the attributes its domains carry (e.g. "ads", "cn"). id: one-page-of-a-databases-categories-each-with-its-entry-count-and-the-attributes-its-domains-carry-eg-ads-cn - content: One page of the rules inside a category — domain rules typed as domain/full/keyword/regexp for geosite databases, CIDRs for geoip ones. id: one-page-of-the-rules-inside-a-category--domain-rules-typed-as-domainfullkeywordregexp-for-geosite-databases-cidrs-for-geoip-ones - content: 'Check routing tokens against the databases on disk and return only the ones that do not resolve. Plain domains and CIDRs are ignored. Each issue carries a reason: syntax, fileMissing or categoryMissing.' id: check-routing-tokens-against-the-databases-on-disk-and-return-only-the-ones-that-do-not-resolve-plain-domains-and-cidrs-are-ignored-each-issue-carries-a-reason-syntax-filemissing-or-categorymissing - content: List all outbound subscriptions (remote URLs that supply additional outbounds), newest first. id: list-all-outbound-subscriptions-remote-urls-that-supply-additional-outbounds-newest-first - content: Create an outbound subscription. The URL is fetched, parsed into outbounds with stable tags, and merged additively into the running Xray config. id: create-an-outbound-subscription-the-url-is-fetched-parsed-into-outbounds-with-stable-tags-and-merged-additively-into-the-running-xray-config - content: Update an existing outbound subscription by id. Accepts the same form fields as create. id: update-an-existing-outbound-subscription-by-id-accepts-the-same-form-fields-as-create - content: Delete an outbound subscription by id. id: delete-an-outbound-subscription-by-id - content: Delete an outbound subscription by id (POST alias of DELETE for clients that cannot send DELETE). id: delete-an-outbound-subscription-by-id-post-alias-of-delete-for-clients-that-cannot-send-delete - content: Force an immediate re-fetch of the subscription and return the parsed outbounds. Signals Xray to reload. id: force-an-immediate-re-fetch-of-the-subscription-and-return-the-parsed-outbounds-signals-xray-to-reload - content: Reorder a subscription one step up or down in priority (controls its position in the merged outbounds). id: reorder-a-subscription-one-step-up-or-down-in-priority-controls-its-position-in-the-merged-outbounds - content: 'Preview a subscription URL: fetch and parse it into outbounds without persisting anything.' id: preview-a-subscription-url-fetch-and-parse-it-into-outbounds-without-persisting-anything contents: [] --- {/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */} export default function Layout(props) { const { APIPage, OpenAPIPage } = props.components ?? {}; // "APIPage" is the old name from v10, this allows both for backward compatibility const Comp = OpenAPIPage ?? APIPage; return ( <> {props.children} ); }