fix(outbound): preserve custom headers for HTTP outbounds (#5519)

The Outbounds form routed HTTP through the SOCKS-shared simpleAuth adapter, which only knew address/port/user/pass, so xray's top-level settings.headers was dropped on both load and save. Opening and re-saving an HTTP outbound destroyed its headers.

Add headers to the HTTP wire/form schemas, round-trip it via dedicated httpFromWire/httpToWire helpers, and expose a HeaderMapEditor in the form. Only settings-level headers round-trip; xray-core ignores per-server headers.
This commit is contained in:
MHSanaei
2026-06-24 14:22:25 +02:00
parent a5e865c109
commit bd60e770f4
5 changed files with 61 additions and 2 deletions
@@ -1,6 +1,8 @@
import { useTranslation } from 'react-i18next';
import { Form, Input } from 'antd';
import { HeaderMapEditor } from '@/components/form';
export default function HttpFields() {
const { t } = useTranslation();
return (
@@ -11,6 +13,9 @@ export default function HttpFields() {
<Form.Item label={t('password')} name={['settings', 'pass']}>
<Input />
</Form.Item>
<Form.Item label={t('pages.inbounds.form.headers')} name={['settings', 'headers']}>
<HeaderMapEditor mode="v1" />
</Form.Item>
</>
);
}