# Fragment routing

Source: https://onexray.com/docs/configuration/fragment/
Description: Enable optional TLS ClientHello fragmentation in Smart and Custom Routing, and understand the template and Raw JSON boundaries.
Language: en-US
Last updated: 2026-10-09


## Enable Fragment

Open **Connect → traffic method → Smart Routing → Edit**, or edit an ordinary Custom Routing profile, and enable **Fragment**. Each route stores its own switch; it is off by default. All via VPN does not use this switch.

OneXray adds a `freedom` auxiliary outbound tagged `fragment`. Its default `settings.fragment` values are `packets: tlshello`, `length: 100-200` and `interval: 10-20`. The selected entry nodes use that outbound for their underlying connection. Fragment is optional; it does not guarantee server reachability or improve every transport.

Smart Routing keeps the optional final-exit chain: the final exit uses an entry node, and that entry uses Fragment. The balancer still selects complete chains. Windows and Linux bind the Fragment socket to the selected outbound interface.

## Ordinary and advanced Custom Routing

An ordinary Custom document starts with 1–3 empty entry slots and may append one `protocol: freedom`, `tag: fragment` outbound. No other real node or auxiliary outbound is accepted there. Imported Fragment parameters are retained when other form fields are edited; do not export generated entry nodes or direct/block outbounds.

An Advanced Custom template can define this same `freedom` outbound after the slots. Its presence enables Fragment and the compiler connects the selected nodes to it. The template owns its Fragment parameters; the App does not add a final-exit setting.

Complete Raw JSON owns its own chains. An outbound named `fragment` does not cause automatic wiring in Raw; write the necessary chain yourself.

[Ordinary Custom Routing](https://onexray.com/docs/configuration/custom-routing/) · [Advanced templates](https://onexray.com/docs/configuration/advanced-routing/) · [Raw JSON](https://onexray.com/docs/configuration/raw-json/)


