Simple HTTP-style GET
GET / HTTP/1.1[crlf]
Host: [host][crlf]
User-Agent: [ua][crlf]
Connection: keep-alive[crlf]
[crlf]
Socket Custom is a transport branch created by the V2K team to handle injector-style HTTP RAW payload workflows inside the Xray-based app flow. It is designed for restrictive networks where a standard transport is not enough or where route behavior depends on the shape of the first HTTP-like bytes.
HTTP RAW payload workflows, ISP/carrier-specific behavior, restrictive gateways, and cases where a classic WS/gRPC/XHTTP route is not enough by itself.
It is not meant to replace every normal route. If a standard TLS/WS/XHTTP path already works, that is usually the cleaner and faster production option.
Socket Custom does not create an SSH tunnel. It keeps the flow inside the Xray runtime and shapes the first bytes and handshake behavior according to payload rules.
In the app, Socket Custom is visible in the Inject flow for fast payload work and in the Config tab for the full advanced block of payload, handshake, throughput, and chunk settings.
| Marker | Meaning | Typical use |
|---|---|---|
| [host] | Insert the selected server/route host alias. | Portable payloads that should survive export/import and server switching. |
| [path] | Insert the route path. | HTTP-style requests that need to follow the selected path preset. |
| [ua] | Insert a runtime User-Agent string. | HTTP-like requests that should not hardcode a single UA everywhere. |
| [crlf] | Carriage-return + line-feed. | Normal HTTP header line endings. |
| [lf] | Line-feed only. | Payloads that need simplified line endings. |
| [split] | Split payload into segments immediately. | Bypass patterns that react differently to segmented first writes. |
| [delay_split] | Split payload with delay between segments. | Carrier/firewall cases where timing between chunks matters. |
GET / HTTP/1.1[crlf]
Host: [host][crlf]
User-Agent: [ua][crlf]
Connection: keep-alive[crlf]
[crlf]
CONNECT [host]:443 HTTP/1.1[crlf]
Host: [host][crlf]
[split]
Connection: keep-alive[crlf]
[crlf]
| Field | What it controls | When to change it |
|---|---|---|
| Payload | The raw injector-style request template sent by the runtime. | Change it only when your carrier/gateway expects a specific request shape. |
| Mode | How the payload branch behaves: raw, HTTP-like, or ignore mode. | Use the route profile default unless you know the server-side expectation. |
| Strict Handshake | Tighter response validation for the initial handshake. | Enable when false positives are a problem; disable when intermediary responses vary too much. |
| Payload Delay / Split Delay | Timing between write segments and delayed splits. | Useful only when the network reacts differently to chunk timing. |
| Response Timeout | How long the client waits for a valid handshake response. | Raise it in slow, lossy, or high-latency paths. |
| Response Payload | Optional expected response signature/body for matching. | Use it when you need to distinguish the correct response from noisy intermediaries. |
| Early Response | Allows earlier response processing in compatible flows. | Only change it if a known route specifically benefits from earlier reads. |
| Throughput | Optional upstream/downstream shaping and burst budget. | Useful for experiments when a route fails only under aggressive send behavior. |
| Chunk Mode | Send outbound payload in fixed chunks. | Advanced troubleshooting only, usually on plain/security-none flows. |
When the route only works if the first request looks like a specific HTTP pattern.
When you want injector-like payload behavior but still inside the app’s Xray-based flow.
When you want to share payload presets through `.v2k` files or Store listings without rewriting them manually.
When a direct route exists but only a particular payload/handshake sequence survives the network.
Open the CDN guide to understand how host/fronting style presets are grouped, or open V2K if you are comparing payload workflows against a custom binary/session transport.