Files
2026-07-25 14:00:38 +08:00

8505 lines
185 KiB
HTML

<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="The universal proxy platform.">
<meta name="author" content="nekohasekai">
<link rel="canonical" href="https://sing-box.sagernet.org/configuration/endpoint/openvpn-server/">
<link rel="prev" href="../openvpn-client/">
<link rel="next" href="../../inbound/">
<link rel="alternate" href="./" hreflang="en">
<link rel="alternate" href="../../../zh/configuration/endpoint/openvpn-server/" hreflang="zh">
<link rel="icon" href="../../../assets/icon.svg">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.2">
<title>OpenVPN Server - sing-box</title>
<link rel="stylesheet" href="../../../assets/stylesheets/main.484c7ddc.min.css">
<link rel="stylesheet" href="../../../assets/stylesheets/palette.ab4e12ef.min.css">
<style>:root{--md-admonition-icon--question:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M20%204c1.11%200%202%20.89%202%202v12c0%201.11-.89%202-2%202H4c-1.11%200-2-.89-2-2V6c0-1.11.89-2%202-2zM8.5%2015V9H7.25v3.5L4.75%209H3.5v6h1.25v-3.5L7.3%2015zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7%203.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1%201%200%200%200%201%201h4a1%201%200%200%200%201-1%22/%3E%3C/svg%3E');}</style>
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo">
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#openvpn-server" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
</div>
<header class="md-header" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="../../.." title="sing-box" class="md-header__button md-logo" aria-label="sing-box" data-md-component="logo">
<img src="../../../assets/icon.svg" alt="logo">
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
sing-box
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
OpenVPN Server
</span>
</div>
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input class="md-option" data-md-color-media="(prefers-color-scheme)" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_0">
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7a5 5 0 0 0-5 5 5 5 0 0 0 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1M8 13h8v-2H8zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4a5 5 0 0 0 5-5 5 5 0 0 0-5-5"/></svg>
</label>
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="white" data-md-color-accent="indigo" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_2" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 7H7a5 5 0 0 0-5 5 5 5 0 0 0 5 5h10a5 5 0 0 0 5-5 5 5 0 0 0-5-5m0 8a3 3 0 0 1-3-3 3 3 0 0 1 3-3 3 3 0 0 1 3 3 3 3 0 0 1-3 3"/></svg>
</label>
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="black" data-md-color-accent="indigo" aria-label="Switch to system preference" type="radio" name="__palette" id="__palette_2">
<label class="md-header__button md-icon" title="Switch to system preference" for="__palette_0" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 7H7a5 5 0 0 0-5 5 5 5 0 0 0 5 5h10a5 5 0 0 0 5-5 5 5 0 0 0-5-5M7 15a3 3 0 0 1-3-3 3 3 0 0 1 3-3 3 3 0 0 1 3 3 3 3 0 0 1-3 3"/></svg>
</label>
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<div class="md-header__option">
<div class="md-select">
<button class="md-header__button md-icon" aria-label="Select language">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z"/></svg>
</button>
<div class="md-select__inner">
<ul class="md-select__list">
<li class="md-select__item">
<a href="./" hreflang="en" class="md-select__link">
English
</a>
</li>
<li class="md-select__item">
<a href="../../../zh/configuration/endpoint/openvpn-server/" hreflang="zh" class="md-select__link">
简体中文
</a>
</li>
</ul>
</div>
</div>
</div>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
</label>
<nav class="md-search__options" aria-label="Search">
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Initializing search
</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
</div>
<div class="md-header__source">
<a href="https://github.com/SagerNet/sing-box" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M439.6 236.1 244 40.5c-5.4-5.5-12.8-8.5-20.4-8.5s-15 3-20.4 8.4L162.5 81l51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.3 199v121.9c25.3 12.5 22.3 41.8 9.1 55-6.4 6.4-15.2 10.1-24.3 10.1s-17.8-3.6-24.3-10.1c-17.6-17.6-11.1-46.9 11.2-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1C3 240.6 0 247.9 0 255.5s3 15 8.5 20.4l195.6 195.7c5.4 5.4 12.7 8.4 20.4 8.4s15-3 20.4-8.4l194.7-194.7c5.4-5.4 8.4-12.8 8.4-20.4s-3-15-8.4-20.4"/></svg>
</div>
<div class="md-source__repository">
SagerNet/sing-box
</div>
</a>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
<div class="md-grid">
<ul class="md-tabs__list">
<li class="md-tabs__item">
<a href="../../.." class="md-tabs__link">
Home
</a>
</li>
<li class="md-tabs__item">
<a href="../../../installation/package-manager/" class="md-tabs__link">
Installation
</a>
</li>
<li class="md-tabs__item">
<a href="../../../clients/" class="md-tabs__link">
Graphical Clients
</a>
</li>
<li class="md-tabs__item">
<a href="../../../manual/proxy/server/" class="md-tabs__link">
Manual
</a>
</li>
<li class="md-tabs__item md-tabs__item--active">
<a href="../../" class="md-tabs__link">
Configuration
</a>
</li>
</ul>
</div>
</nav>
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="../../.." title="sing-box" class="md-nav__button md-logo" aria-label="sing-box" data-md-component="logo">
<img src="../../../assets/icon.svg" alt="logo">
</a>
sing-box
</label>
<div class="md-nav__source">
<a href="https://github.com/SagerNet/sing-box" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M439.6 236.1 244 40.5c-5.4-5.5-12.8-8.5-20.4-8.5s-15 3-20.4 8.4L162.5 81l51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.3 199v121.9c25.3 12.5 22.3 41.8 9.1 55-6.4 6.4-15.2 10.1-24.3 10.1s-17.8-3.6-24.3-10.1c-17.6-17.6-11.1-46.9 11.2-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1C3 240.6 0 247.9 0 255.5s3 15 8.5 20.4l195.6 195.7c5.4 5.4 12.7 8.4 20.4 8.4s15-3 20.4-8.4l194.7-194.7c5.4-5.4 8.4-12.8 8.4-20.4s-3-15-8.4-20.4"/></svg>
</div>
<div class="md-source__repository">
SagerNet/sing-box
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_1" >
<div class="md-nav__link md-nav__container">
<a href="../../.." class="md-nav__link ">
<span class="md-ellipsis">
Home
</span>
</a>
<label class="md-nav__link " for="__nav_1" id="__nav_1_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_1">
<span class="md-nav__icon md-icon"></span>
Home
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../changelog/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m23 12-2.44-2.78.34-3.68-3.61-.82-1.89-3.18L12 3 8.6 1.54 6.71 4.72l-3.61.81.34 3.68L1 12l2.44 2.78-.34 3.69 3.61.82 1.89 3.18L12 21l3.4 1.46 1.89-3.18 3.61-.82-.34-3.68zm-10 5h-2v-2h2zm0-4h-2V7h2z"/></svg>
<span class="md-ellipsis">
Change Log
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../migration/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2 2h14v14H2zm20 6v14H8v-4h2v2h10V10h-2V8z"/></svg>
<span class="md-ellipsis">
Migration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../deprecated/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 4v2H3V4h3.5l1-1h5l1 1zM4 19V7h12v12c0 1.1-.9 2-2 2H6c-1.1 0-2-.9-2-2m15-4h2v2h-2zm0-8h2v6h-2z"/></svg>
<span class="md-ellipsis">
Deprecated
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../support/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 12V3a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v14l4-4h10a1 1 0 0 0 1-1m4-6h-2v9H6v2a1 1 0 0 0 1 1h11l4 4V7a1 1 0 0 0-1-1"/></svg>
<span class="md-ellipsis">
Support
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../sponsors/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16 12c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5m5.45 5.6c-.39-.4-.88-.6-1.45-.6h-7l-2.08-.73.33-.94L13 16h2.8c.35 0 .63-.14.86-.37s.34-.51.34-.82c0-.54-.26-.91-.78-1.12L8.95 11H7v9l7 2 8.03-3c.01-.53-.19-1-.58-1.4M5 11H.984v11H5z"/></svg>
<span class="md-ellipsis">
Sponsors
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_2" >
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
<span class="md-ellipsis">
Installation
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2">
<span class="md-nav__icon md-icon"></span>
Installation
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../installation/package-manager/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5.12 5h13.75l-.94-1h-12zm15.42.23c.29.34.46.77.46 1.27V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6.5c0-.5.17-.93.46-1.27l1.38-1.68C5.12 3.21 5.53 3 6 3h12c.47 0 .88.21 1.15.55zM6 18h6v-3H6z"/></svg>
<span class="md-ellipsis">
Package Manager
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../installation/docker/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21.81 10.25c-.06-.04-.56-.43-1.64-.43-.28 0-.56.03-.84.08-.21-1.4-1.38-2.11-1.43-2.14l-.29-.17-.18.27c-.24.36-.43.77-.51 1.19-.2.8-.08 1.56.33 2.21-.49.28-1.29.35-1.46.35H2.62c-.34 0-.62.28-.62.63 0 1.15.18 2.3.58 3.38.45 1.19 1.13 2.07 2 2.61.98.6 2.59.94 4.42.94.79 0 1.61-.07 2.42-.22 1.12-.2 2.2-.59 3.19-1.16A8.3 8.3 0 0 0 16.78 16c1.05-1.17 1.67-2.5 2.12-3.65h.19c1.14 0 1.85-.46 2.24-.85.26-.24.45-.53.59-.87l.08-.24zm-17.96.99h1.76c.08 0 .16-.07.16-.16V9.5c0-.08-.07-.16-.16-.16H3.85c-.09 0-.16.07-.16.16v1.58c.01.09.07.16.16.16m2.43 0h1.76c.08 0 .16-.07.16-.16V9.5c0-.08-.07-.16-.16-.16H6.28c-.09 0-.16.07-.16.16v1.58c.01.09.07.16.16.16m2.47 0h1.75c.1 0 .17-.07.17-.16V9.5c0-.08-.06-.16-.17-.16H8.75c-.08 0-.15.07-.15.16v1.58c0 .09.06.16.15.16m2.44 0h1.77c.08 0 .15-.07.15-.16V9.5c0-.08-.06-.16-.15-.16h-1.77c-.08 0-.15.07-.15.16v1.58c0 .09.07.16.15.16M6.28 9h1.76c.08 0 .16-.09.16-.18V7.25c0-.09-.07-.16-.16-.16H6.28c-.09 0-.16.06-.16.16v1.57c.01.09.07.18.16.18m2.47 0h1.75c.1 0 .17-.09.17-.18V7.25c0-.09-.06-.16-.17-.16H8.75c-.08 0-.15.06-.15.16v1.57c0 .09.06.18.15.18m2.44 0h1.77c.08 0 .15-.09.15-.18V7.25c0-.09-.07-.16-.15-.16h-1.77c-.08 0-.15.06-.15.16v1.57c0 .09.07.18.15.18m0-2.28h1.77c.08 0 .15-.07.15-.16V5c0-.1-.07-.17-.15-.17h-1.77c-.08 0-.15.06-.15.17v1.56c0 .08.07.16.15.16m2.46 4.52h1.76c.09 0 .16-.07.16-.16V9.5c0-.08-.07-.16-.16-.16h-1.76c-.08 0-.15.07-.15.16v1.58c0 .09.07.16.15.16"/></svg>
<span class="md-ellipsis">
Docker
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../installation/build-from-source/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 9h5.5L13 3.5zM6 2h8l6 6v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4c0-1.11.89-2 2-2m.12 13.5 3.74 3.74 1.42-1.41-2.33-2.33 2.33-2.33-1.42-1.41zm11.16 0-3.74-3.74-1.42 1.41 2.33 2.33-2.33 2.33 1.42 1.41z"/></svg>
<span class="md-ellipsis">
Build from source
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3" >
<div class="md-nav__link md-nav__container">
<a href="../../../clients/" class="md-nav__link ">
<span class="md-ellipsis">
Graphical Clients
</span>
</a>
<label class="md-nav__link " for="__nav_3" id="__nav_3_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
Graphical Clients
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_2" >
<div class="md-nav__link md-nav__container">
<a href="../../../clients/android/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16.61 15.15c-.46 0-.84-.37-.84-.83s.38-.82.84-.82.84.36.84.82-.38.83-.84.83m-9.2 0c-.46 0-.84-.37-.84-.83s.38-.82.84-.82.83.36.83.82-.37.83-.83.83m9.5-5.01 1.67-2.88c.09-.17.03-.38-.13-.47-.17-.1-.38-.04-.45.13l-1.71 2.91A10.15 10.15 0 0 0 12 8.91c-1.53 0-3 .33-4.27.91L6.04 6.91a.334.334 0 0 0-.47-.13c-.17.09-.22.3-.13.47l1.66 2.88C4.25 11.69 2.29 14.58 2 18h20c-.28-3.41-2.23-6.3-5.09-7.86"/></svg>
<span class="md-ellipsis">
Android
</span>
</a>
<label class="md-nav__link " for="__nav_3_2" id="__nav_3_2_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_2">
<span class="md-nav__icon md-icon"></span>
Android
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../clients/android/features/" class="md-nav__link">
<span class="md-ellipsis">
Features
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_3" >
<div class="md-nav__link md-nav__container">
<a href="../../../clients/apple/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.39c.87-1.52 2.43-2.48 4.12-2.51 1.28-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.81-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11"/></svg>
<span class="md-ellipsis">
Apple platforms
</span>
</a>
<label class="md-nav__link " for="__nav_3_3" id="__nav_3_3_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3">
<span class="md-nav__icon md-icon"></span>
Apple platforms
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../clients/apple/features/" class="md-nav__link">
<span class="md-ellipsis">
Features
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_4" >
<div class="md-nav__link md-nav__container">
<a href="../../../clients/desktop/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 6h16v10H4m16 2a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H4c-1.11 0-2 .89-2 2v10a2 2 0 0 0 2 2H0v2h24v-2z"/></svg>
<span class="md-ellipsis">
Desktop
</span>
</a>
<label class="md-nav__link " for="__nav_3_4" id="__nav_3_4_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_4">
<span class="md-nav__icon md-icon"></span>
Desktop
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../clients/desktop/features/" class="md-nav__link">
<span class="md-ellipsis">
Features
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../../clients/general/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 17.25V21h3.75L17.81 9.93l-3.75-3.75zm19.61 1.11-4.25 4.25-5.2-5.2 1.77-1.77 1 1 2.47-2.48 1.42 1.42L18.36 17l1.06 1 1.42-1.4zm-16-7.53L1.39 5.64l4.25-4.25L7.4 3.16 4.93 5.64 6 6.7l2.46-2.48 1.42 1.42-1.42 1.41 1 1zM20.71 7c.39-.39.39-1 0-1.41l-2.34-2.3c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75z"/></svg>
<span class="md-ellipsis">
General
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../clients/privacy/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 12h7c-.53 4.11-3.28 7.78-7 8.92zH5V6.3l7-3.11M12 1 3 5v6c0 5.55 3.84 10.73 9 12 5.16-1.27 9-6.45 9-12V5z"/></svg>
<span class="md-ellipsis">
Privacy policy
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
<span class="md-ellipsis">
Manual
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Manual
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_1" >
<label class="md-nav__link" for="__nav_4_1" id="__nav_4_1_label" tabindex="0">
<span class="md-ellipsis">
Proxy
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_1">
<span class="md-nav__icon md-icon"></span>
Proxy
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../manual/proxy/server/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 1h16a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1m0 8h16a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1m0 8h16a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1M9 5h1V3H9zm0 8h1v-2H9zm0 8h1v-2H9zM5 3v2h2V3zm0 8v2h2v-2zm0 8v2h2v-2z"/></svg>
<span class="md-ellipsis">
Server
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../manual/proxy/client/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M22 17h-4v-7h4m1-2h-6a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1M4 6h18V4H4a2 2 0 0 0-2 2v11H0v3h14v-3H4z"/></svg>
<span class="md-ellipsis">
Client
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_2" >
<label class="md-nav__link" for="__nav_4_2" id="__nav_4_2_label" tabindex="0">
<span class="md-ellipsis">
Proxy Protocol
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_2">
<span class="md-nav__icon md-icon"></span>
Proxy Protocol
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../manual/proxy-protocol/shadowsocks/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m2 21 21-9L2 3v7l15 2-15 2z"/></svg>
<span class="md-ellipsis">
Shadowsocks
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../manual/proxy-protocol/trojan/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M22 6v3.5l-1.5.5-1.54-2.46c-.13-.21-.46-.12-.46.13v3.58c0 .98-.39 1.86-1 2.53V21H15v-6h-.25c-.21 0-.42-.03-.62-.06l-4.44-.74-1.12 2.01.96 4.79H7l-1-4.75c-.03-.3 0-.6.16-.86l1.02-1.81a3.27 3.27 0 0 1-1.68-2.77c-.04.15-.06.37-.03.69.03.44.14 1.09.07 1.81-.04.72-.37 1.46-.79 1.95-.43.49-.9.83-1.4 1.09l-.7-.7c.19-.47.38-.89.42-1.28.06-.37-.01-.67-.12-.94l-.53-1.13c-.21-.51-.47-1.25-.42-2.12.03-.85.5-1.96 1.39-2.57.9-.61 1.87-.69 2.66-.53.5.1 1.01.34 1.45.68.37-.17.8-.26 1.25-.26h5.75V7c0-2.21 1.79-4 4-4H22l-.89 1.34c.54.36.89.97.89 1.66"/></svg>
<span class="md-ellipsis">
Trojan
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../manual/proxy-protocol/hysteria2/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11 15H6l7-14v8h5l-7 14z"/></svg>
<span class="md-ellipsis">
Hysteria 2
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_3" >
<label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0">
<span class="md-ellipsis">
Misc
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3">
<span class="md-nav__icon md-icon"></span>
Misc
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../manual/misc/tunnelvision/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14.2 13.5v1.24c-.7.6-1.2 1.5-1.2 2.46v3.5c0 .46.1.9.27 1.3H6c-1.11 0-2-.89-2-2V4a2 2 0 0 1 2-2h1v7l2.5-1.5L12 9V2h6a2 2 0 0 1 2 2v5.11c-.32-.07-.66-.11-1-.11-2.6 0-4.8 2.06-4.8 4.5m7.6 2.5h-4.3v-2.5c0-.8.7-1.3 1.5-1.3s1.5.5 1.5 1.3v.5h1.3v-.5c0-1.4-1.4-2.5-2.8-2.5s-2.8 1.1-2.8 2.5V16c-.6 0-1.2.6-1.2 1.2v3.5c0 .7.6 1.3 1.2 1.3h5.5c.7 0 1.3-.6 1.3-1.2v-3.5c0-.7-.6-1.3-1.2-1.3"/></svg>
<span class="md-ellipsis">
TunnelVision
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" checked>
<div class="md-nav__link md-nav__container">
<a href="../../" class="md-nav__link ">
<span class="md-ellipsis">
Configuration
</span>
</a>
<label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Configuration
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../schema/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
JSON Schema
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5_3" >
<div class="md-nav__link md-nav__container">
<a href="../../log/" class="md-nav__link ">
<span class="md-ellipsis">
Log
</span>
</a>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_3">
<span class="md-nav__icon md-icon"></span>
Log
</label>
<ul class="md-nav__list" data-md-scrollfix>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5_4" >
<div class="md-nav__link md-nav__container">
<a href="../../dns/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m23 12-2.44-2.78.34-3.68-3.61-.82-1.89-3.18L12 3 8.6 1.54 6.71 4.72l-3.61.81.34 3.68L1 12l2.44 2.78-.34 3.69 3.61.82 1.89 3.18L12 21l3.4 1.46 1.89-3.18 3.61-.82-.34-3.68zm-10 5h-2v-2h2zm0-4h-2V7h2z"/></svg>
<span class="md-ellipsis">
DNS
</span>
</a>
<label class="md-nav__link " for="__nav_5_4" id="__nav_5_4_label" tabindex="">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_4">
<span class="md-nav__icon md-icon"></span>
DNS
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5_4_2" >
<div class="md-nav__link md-nav__container">
<a href="../../dns/server/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m23 12-2.44-2.78.34-3.68-3.61-.82-1.89-3.18L12 3 8.6 1.54 6.71 4.72l-3.61.81.34 3.68L1 12l2.44 2.78-.34 3.69 3.61.82 1.89 3.18L12 21l3.4 1.46 1.89-3.18 3.61-.82-.34-3.68zm-10 5h-2v-2h2zm0-4h-2V7h2z"/></svg>
<span class="md-ellipsis">
DNS Server
</span>
</a>
<label class="md-nav__link " for="__nav_5_4_2" id="__nav_5_4_2_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_5_4_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_4_2">
<span class="md-nav__icon md-icon"></span>
DNS Server
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../dns/server/legacy/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 13c.7 0 1.37.13 2 .35V9l-6-6H5c-1.11 0-2 .89-2 2v14a2 2 0 0 0 2 2h8.35c-.22-.63-.35-1.3-.35-2 0-3.31 2.69-6 6-6m-5-8.5 5.5 5.5H14zM20.41 19l2.13 2.12-1.42 1.42L19 20.41l-2.12 2.13-1.41-1.42L17.59 19l-2.12-2.12 1.41-1.41L19 17.59l2.12-2.12 1.42 1.41z"/></svg>
<span class="md-ellipsis">
Legacy
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../dns/server/local/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
Local
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../dns/server/hosts/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
Hosts
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../dns/server/tcp/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
TCP
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../dns/server/udp/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
UDP
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../dns/server/tls/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
TLS
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../dns/server/quic/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
QUIC
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../dns/server/https/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
HTTPS
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../dns/server/http3/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
HTTP3
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../dns/server/dhcp/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
DHCP
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../dns/server/mdns/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
mDNS
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../dns/server/fakeip/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
FakeIP
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../dns/server/tailscale/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
Tailscale
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../dns/server/openconnect/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
OpenConnect
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../dns/server/openvpn/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
OpenVPN
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../dns/server/resolved/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
Resolved
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../dns/rule/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m23 12-2.44-2.78.34-3.68-3.61-.82-1.89-3.18L12 3 8.6 1.54 6.71 4.72l-3.61.81.34 3.68L1 12l2.44 2.78-.34 3.69 3.61.82 1.89 3.18L12 21l3.4 1.46 1.89-3.18 3.61-.82-.34-3.68zm-10 5h-2v-2h2zm0-4h-2V7h2z"/></svg>
<span class="md-ellipsis">
DNS Rule
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../dns/rule_action/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
DNS Rule Action
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../dns/fakeip/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 13c.7 0 1.37.13 2 .35V9l-6-6H5c-1.11 0-2 .89-2 2v14a2 2 0 0 0 2 2h8.35c-.22-.63-.35-1.3-.35-2 0-3.31 2.69-6 6-6m-5-8.5 5.5 5.5H14zM20.41 19l2.13 2.12-1.42 1.42L19 20.41l-2.12 2.13-1.41-1.42L17.59 19l-2.12-2.12 1.41-1.41L19 17.59l2.12-2.12 1.42 1.41z"/></svg>
<span class="md-ellipsis">
FakeIP
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../ntp/" class="md-nav__link">
<span class="md-ellipsis">
NTP
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../certificate/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
Certificate
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5_7" >
<div class="md-nav__link md-nav__container">
<a href="../../route/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m23 12-2.44-2.78.34-3.68-3.61-.82-1.89-3.18L12 3 8.6 1.54 6.71 4.72l-3.61.81.34 3.68L1 12l2.44 2.78-.34 3.69 3.61.82 1.89 3.18L12 21l3.4 1.46 1.89-3.18 3.61-.82-.34-3.68zm-10 5h-2v-2h2zm0-4h-2V7h2z"/></svg>
<span class="md-ellipsis">
Route
</span>
</a>
<label class="md-nav__link " for="__nav_5_7" id="__nav_5_7_label" tabindex="">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_7">
<span class="md-nav__icon md-icon"></span>
Route
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../route/geoip/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 13c.7 0 1.37.13 2 .35V9l-6-6H5c-1.11 0-2 .89-2 2v14a2 2 0 0 0 2 2h8.35c-.22-.63-.35-1.3-.35-2 0-3.31 2.69-6 6-6m-5-8.5 5.5 5.5H14zM20.41 19l2.13 2.12-1.42 1.42L19 20.41l-2.12 2.13-1.41-1.42L17.59 19l-2.12-2.12 1.41-1.41L19 17.59l2.12-2.12 1.42 1.41z"/></svg>
<span class="md-ellipsis">
GeoIP
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../route/geosite/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 13c.7 0 1.37.13 2 .35V9l-6-6H5c-1.11 0-2 .89-2 2v14a2 2 0 0 0 2 2h8.35c-.22-.63-.35-1.3-.35-2 0-3.31 2.69-6 6-6m-5-8.5 5.5 5.5H14zM20.41 19l2.13 2.12-1.42 1.42L19 20.41l-2.12 2.13-1.41-1.42L17.59 19l-2.12-2.12 1.41-1.41L19 17.59l2.12-2.12 1.42 1.41z"/></svg>
<span class="md-ellipsis">
Geosite
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../route/rule/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
Route Rule
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../route/rule_action/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
Rule Action
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../route/sniff/" class="md-nav__link">
<span class="md-ellipsis">
Protocol Sniff
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5_8" >
<div class="md-nav__link md-nav__container">
<a href="../../rule-set/" class="md-nav__link ">
<span class="md-ellipsis">
Rule Set
</span>
</a>
<label class="md-nav__link " for="__nav_5_8" id="__nav_5_8_label" tabindex="">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_8_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_8">
<span class="md-nav__icon md-icon"></span>
Rule Set
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../rule-set/source-format/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
Source Format
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../rule-set/headless-rule/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
Headless Rule
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../rule-set/adguard/" class="md-nav__link">
<span class="md-ellipsis">
AdGuard DNS Filer
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5_9" >
<div class="md-nav__link md-nav__container">
<a href="../../experimental/" class="md-nav__link ">
<span class="md-ellipsis">
Experimental
</span>
</a>
<label class="md-nav__link " for="__nav_5_9" id="__nav_5_9_label" tabindex="">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_9_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_9">
<span class="md-nav__icon md-icon"></span>
Experimental
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../experimental/cache-file/" class="md-nav__link">
<span class="md-ellipsis">
Cache File
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../experimental/clash-api/" class="md-nav__link">
<span class="md-ellipsis">
Clash API
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../experimental/v2ray-api/" class="md-nav__link">
<span class="md-ellipsis">
V2Ray API
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5_10" >
<label class="md-nav__link" for="__nav_5_10" id="__nav_5_10_label" tabindex="">
<span class="md-ellipsis">
Shared
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_10_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_10">
<span class="md-nav__icon md-icon"></span>
Shared
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../shared/listen/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
Listen Fields
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../shared/dial/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
Dial Fields
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../shared/tls/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
TLS
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../shared/http-client/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
HTTP Client
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../shared/http2/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
HTTP2 Fields
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../shared/quic/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
QUIC Fields
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5_10_7" >
<div class="md-nav__link md-nav__container">
<a href="../../shared/certificate-provider/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
Certificate Provider
</span>
</a>
<label class="md-nav__link " for="__nav_5_10_7" id="__nav_5_10_7_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_5_10_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_10_7">
<span class="md-nav__icon md-icon"></span>
Certificate Provider
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../shared/certificate-provider/acme/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
ACME
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../shared/certificate-provider/tailscale/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
Tailscale
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../shared/certificate-provider/cloudflare-origin-ca/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
Cloudflare Origin CA
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../shared/dns01_challenge/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
DNS01 Challenge Fields
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../shared/pre-match/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
Pre-match
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../shared/multiplex/" class="md-nav__link">
<span class="md-ellipsis">
Multiplex
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../shared/v2ray-transport/" class="md-nav__link">
<span class="md-ellipsis">
V2Ray Transport
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../shared/udp-over-tcp/" class="md-nav__link">
<span class="md-ellipsis">
UDP over TCP
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../shared/udp-nat/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
UDP NAT Fields
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../shared/tcp-brutal/" class="md-nav__link">
<span class="md-ellipsis">
TCP Brutal
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../shared/wifi-state/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
Wi-Fi State
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../shared/neighbor/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 2c-1.11 0-2 .89-2 2v3c0 1.11.89 2 2 2h1v2H2v2h4v2H5c-1.11 0-2 .89-2 2v3c0 1.11.89 2 2 2h4c1.11 0 2-.89 2-2v-3c0-1.11-.89-2-2-2H8v-2h8v2h-1c-1.11 0-2 .89-2 2v3c0 1.11.89 2 2 2h4c1.11 0 2-.89 2-2v-3c0-1.11-.89-2-2-2h-1v-2h4v-2h-9V9h1c1.11 0 2-.89 2-2V4c0-1.11-.89-2-2-2zm0 2h4v3h-4zM5 17h4v3H5zm10 0h4v3h-4z"/></svg>
<span class="md-ellipsis">
Neighbor Resolution
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5_11" >
<div class="md-nav__link md-nav__container">
<a href="../../network-namespace/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
Network Namespace
</span>
</a>
<label class="md-nav__link " for="__nav_5_11" id="__nav_5_11_label" tabindex="">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_11_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_11">
<span class="md-nav__icon md-icon"></span>
Network Namespace
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../network-namespace/default/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
Default
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../network-namespace/unshare/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
Unshare
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_12" checked>
<div class="md-nav__link md-nav__container">
<a href="../" class="md-nav__link ">
<span class="md-ellipsis">
Endpoint
</span>
</a>
<label class="md-nav__link " for="__nav_5_12" id="__nav_5_12_label" tabindex="">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_12_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_5_12">
<span class="md-nav__icon md-icon"></span>
Endpoint
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../wireguard/" class="md-nav__link">
<span class="md-ellipsis">
WireGuard
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../tailscale/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
Tailscale
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../openconnect/" class="md-nav__link">
<span class="md-ellipsis">
OpenConnect Client
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../openvpn-client/" class="md-nav__link">
<span class="md-ellipsis">
OpenVPN Client
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
<span class="md-ellipsis">
OpenVPN Server
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
OpenVPN Server
</span>
</a>
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#structure" class="md-nav__link">
<span class="md-ellipsis">
Structure
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#listen-fields" class="md-nav__link">
<span class="md-ellipsis">
Listen Fields
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#fields" class="md-nav__link">
<span class="md-ellipsis">
Fields
</span>
</a>
<nav class="md-nav" aria-label="Fields">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#system" class="md-nav__link">
<span class="md-ellipsis">
system
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#name" class="md-nav__link">
<span class="md-ellipsis">
name
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#mtu" class="md-nav__link">
<span class="md-ellipsis">
mtu
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#mode" class="md-nav__link">
<span class="md-ellipsis">
mode
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#network" class="md-nav__link">
<span class="md-ellipsis">
network
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#remote" class="md-nav__link">
<span class="md-ellipsis">
remote
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#remote_port" class="md-nav__link">
<span class="md-ellipsis">
remote_port
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#max_clients" class="md-nav__link">
<span class="md-ellipsis">
max_clients
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#address" class="md-nav__link">
<span class="md-ellipsis">
address
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#peer_address" class="md-nav__link">
<span class="md-ellipsis">
peer_address
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#peer_address_ipv6" class="md-nav__link">
<span class="md-ellipsis">
peer_address_ipv6
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#topology" class="md-nav__link">
<span class="md-ellipsis">
topology
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#duplicate_cn" class="md-nav__link">
<span class="md-ellipsis">
duplicate_cn
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#users" class="md-nav__link">
<span class="md-ellipsis">
users
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#usersusername" class="md-nav__link">
<span class="md-ellipsis">
users.username
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#userspassword" class="md-nav__link">
<span class="md-ellipsis">
users.password
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#static_key" class="md-nav__link">
<span class="md-ellipsis">
static_key
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#static_key_path" class="md-nav__link">
<span class="md-ellipsis">
static_key_path
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#key_direction" class="md-nav__link">
<span class="md-ellipsis">
key_direction
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tls" class="md-nav__link">
<span class="md-ellipsis">
tls
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlscertificate" class="md-nav__link">
<span class="md-ellipsis">
tls.certificate
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlscertificate_path" class="md-nav__link">
<span class="md-ellipsis">
tls.certificate_path
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlskey" class="md-nav__link">
<span class="md-ellipsis">
tls.key
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlskey_path" class="md-nav__link">
<span class="md-ellipsis">
tls.key_path
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlsclient_certificate" class="md-nav__link">
<span class="md-ellipsis">
tls.client_certificate
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlsclient_certificate_path" class="md-nav__link">
<span class="md-ellipsis">
tls.client_certificate_path
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlsverify_client_certificate" class="md-nav__link">
<span class="md-ellipsis">
tls.verify_client_certificate
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlsclient_name" class="md-nav__link">
<span class="md-ellipsis">
tls.client_name
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlsclient_name_type" class="md-nav__link">
<span class="md-ellipsis">
tls.client_name_type
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlspeer_fingerprint" class="md-nav__link">
<span class="md-ellipsis">
tls.peer_fingerprint
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlscrl_path" class="md-nav__link">
<span class="md-ellipsis">
tls.crl_path
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlsremote_certificate_ku" class="md-nav__link">
<span class="md-ellipsis">
tls.remote_certificate_ku
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlsremote_certificate_eku" class="md-nav__link">
<span class="md-ellipsis">
tls.remote_certificate_eku
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlsremote_certificate_tls" class="md-nav__link">
<span class="md-ellipsis">
tls.remote_certificate_tls
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlscertificate_profile" class="md-nav__link">
<span class="md-ellipsis">
tls.certificate_profile
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlsns_certificate_type" class="md-nav__link">
<span class="md-ellipsis">
tls.ns_certificate_type
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlsversion_min" class="md-nav__link">
<span class="md-ellipsis">
tls.version_min
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlsversion_max" class="md-nav__link">
<span class="md-ellipsis">
tls.version_max
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlscipher" class="md-nav__link">
<span class="md-ellipsis">
tls.cipher
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlsgroups" class="md-nav__link">
<span class="md-ellipsis">
tls.groups
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlscontrol_wrap" class="md-nav__link">
<span class="md-ellipsis">
tls.control_wrap
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlscontrol_wraptype" class="md-nav__link">
<span class="md-ellipsis">
tls.control_wrap.type
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlscontrol_wrapkey" class="md-nav__link">
<span class="md-ellipsis">
tls.control_wrap.key
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlscontrol_wrapkey_path" class="md-nav__link">
<span class="md-ellipsis">
tls.control_wrap.key_path
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlscontrol_wrapdirection" class="md-nav__link">
<span class="md-ellipsis">
tls.control_wrap.direction
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlscontrol_wrapforce_cookie" class="md-nav__link">
<span class="md-ellipsis">
tls.control_wrap.force_cookie
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#cipher" class="md-nav__link">
<span class="md-ellipsis">
cipher
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#data_ciphers" class="md-nav__link">
<span class="md-ellipsis">
data_ciphers
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#data_ciphers_fallback" class="md-nav__link">
<span class="md-ellipsis">
data_ciphers_fallback
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#auth" class="md-nav__link">
<span class="md-ellipsis">
auth
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#mss_fix" class="md-nav__link">
<span class="md-ellipsis">
mss_fix
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#mss_fix_disabled" class="md-nav__link">
<span class="md-ellipsis">
mss_fix_disabled
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#mss_fix_mode" class="md-nav__link">
<span class="md-ellipsis">
mss_fix_mode
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#replay_window" class="md-nav__link">
<span class="md-ellipsis">
replay_window
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#replay_window_time" class="md-nav__link">
<span class="md-ellipsis">
replay_window_time
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#push" class="md-nav__link">
<span class="md-ellipsis">
push
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pushroutes" class="md-nav__link">
<span class="md-ellipsis">
push.routes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pushdns" class="md-nav__link">
<span class="md-ellipsis">
push.dns
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pushdns_servers" class="md-nav__link">
<span class="md-ellipsis">
push.dns_servers
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pushsearch_domains" class="md-nav__link">
<span class="md-ellipsis">
push.search_domains
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pushdhcp_options" class="md-nav__link">
<span class="md-ellipsis">
push.dhcp_options
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pushredirect_gateway" class="md-nav__link">
<span class="md-ellipsis">
push.redirect_gateway
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pushredirect_gateway_flags" class="md-nav__link">
<span class="md-ellipsis">
push.redirect_gateway_flags
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pushblock_outside_dns" class="md-nav__link">
<span class="md-ellipsis">
push.block_outside_dns
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pushping_interval" class="md-nav__link">
<span class="md-ellipsis">
push.ping_interval
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pushping_restart" class="md-nav__link">
<span class="md-ellipsis">
push.ping_restart
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#ping_interval" class="md-nav__link">
<span class="md-ellipsis">
ping_interval
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#ping_restart" class="md-nav__link">
<span class="md-ellipsis">
ping_restart
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#renegotiate_interval" class="md-nav__link">
<span class="md-ellipsis">
renegotiate_interval
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#renegotiate_disabled" class="md-nav__link">
<span class="md-ellipsis">
renegotiate_disabled
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#renegotiate_bytes" class="md-nav__link">
<span class="md-ellipsis">
renegotiate_bytes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#renegotiate_packets" class="md-nav__link">
<span class="md-ellipsis">
renegotiate_packets
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#handshake_window" class="md-nav__link">
<span class="md-ellipsis">
handshake_window
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#udp-nat-fields" class="md-nav__link">
<span class="md-ellipsis">
UDP NAT Fields
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5_13" >
<div class="md-nav__link md-nav__container">
<a href="../../inbound/" class="md-nav__link ">
<span class="md-ellipsis">
Inbound
</span>
</a>
<label class="md-nav__link " for="__nav_5_13" id="__nav_5_13_label" tabindex="">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_13_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_13">
<span class="md-nav__icon md-icon"></span>
Inbound
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../inbound/direct/" class="md-nav__link">
<span class="md-ellipsis">
Direct
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../inbound/mixed/" class="md-nav__link">
<span class="md-ellipsis">
Mixed
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../inbound/socks/" class="md-nav__link">
<span class="md-ellipsis">
SOCKS
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../inbound/http/" class="md-nav__link">
<span class="md-ellipsis">
HTTP
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../inbound/shadowsocks/" class="md-nav__link">
<span class="md-ellipsis">
Shadowsocks
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../inbound/vmess/" class="md-nav__link">
<span class="md-ellipsis">
VMess
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../inbound/trojan/" class="md-nav__link">
<span class="md-ellipsis">
Trojan
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../inbound/naive/" class="md-nav__link">
<span class="md-ellipsis">
Naive
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../inbound/hysteria/" class="md-nav__link">
<span class="md-ellipsis">
Hysteria
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../inbound/shadowtls/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
ShadowTLS
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../inbound/vless/" class="md-nav__link">
<span class="md-ellipsis">
VLESS
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../inbound/tuic/" class="md-nav__link">
<span class="md-ellipsis">
TUIC
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../inbound/hysteria2/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m23 12-2.44-2.78.34-3.68-3.61-.82-1.89-3.18L12 3 8.6 1.54 6.71 4.72l-3.61.81.34 3.68L1 12l2.44 2.78-.34 3.69 3.61.82 1.89 3.18L12 21l3.4 1.46 1.89-3.18 3.61-.82-.34-3.68zm-10 5h-2v-2h2zm0-4h-2V7h2z"/></svg>
<span class="md-ellipsis">
Hysteria2
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../inbound/anytls/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
AnyTLS
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../inbound/snell/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
Snell
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../inbound/tun/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
Tun
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../inbound/redirect/" class="md-nav__link">
<span class="md-ellipsis">
Redirect
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../inbound/tproxy/" class="md-nav__link">
<span class="md-ellipsis">
TProxy
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../inbound/cloudflared/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
Cloudflared
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5_14" >
<div class="md-nav__link md-nav__container">
<a href="../../outbound/" class="md-nav__link ">
<span class="md-ellipsis">
Outbound
</span>
</a>
<label class="md-nav__link " for="__nav_5_14" id="__nav_5_14_label" tabindex="">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_14_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_14">
<span class="md-nav__icon md-icon"></span>
Outbound
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../outbound/direct/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m23 12-2.44-2.78.34-3.68-3.61-.82-1.89-3.18L12 3 8.6 1.54 6.71 4.72l-3.61.81.34 3.68L1 12l2.44 2.78-.34 3.69 3.61.82 1.89 3.18L12 21l3.4 1.46 1.89-3.18 3.61-.82-.34-3.68zm-10 5h-2v-2h2zm0-4h-2V7h2z"/></svg>
<span class="md-ellipsis">
Direct
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../outbound/bridge/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
Bridge
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../outbound/block/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15 13h1.5v2.82l2.44 1.41-.75 1.3L15 16.69zm8 3c0 3.87-3.13 7-7 7-1.91 0-3.64-.76-4.9-2H8c-1.1 0-2-.9-2-2V7h12v2.29c2.89.86 5 3.54 5 6.71m-7-5c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5m3-7v2H5V4h3.5l1-1h5l1 1z"/></svg>
<span class="md-ellipsis">
Block
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../outbound/socks/" class="md-nav__link">
<span class="md-ellipsis">
SOCKS
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../outbound/http/" class="md-nav__link">
<span class="md-ellipsis">
HTTP
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../outbound/shadowsocks/" class="md-nav__link">
<span class="md-ellipsis">
Shadowsocks
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../outbound/vmess/" class="md-nav__link">
<span class="md-ellipsis">
VMess
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../outbound/trojan/" class="md-nav__link">
<span class="md-ellipsis">
Trojan
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../outbound/naive/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
Naive
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../outbound/wireguard/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15 13h1.5v2.82l2.44 1.41-.75 1.3L15 16.69zm8 3c0 3.87-3.13 7-7 7-1.91 0-3.64-.76-4.9-2H8c-1.1 0-2-.9-2-2V7h12v2.29c2.89.86 5 3.54 5 6.71m-7-5c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5m3-7v2H5V4h3.5l1-1h5l1 1z"/></svg>
<span class="md-ellipsis">
WireGuard
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../outbound/hysteria/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
Hysteria
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../outbound/shadowtls/" class="md-nav__link">
<span class="md-ellipsis">
ShadowTLS
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../outbound/vless/" class="md-nav__link">
<span class="md-ellipsis">
VLESS
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../outbound/tuic/" class="md-nav__link">
<span class="md-ellipsis">
TUIC
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../outbound/hysteria2/" class="md-nav__link">
<span class="md-ellipsis">
Hysteria2
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../outbound/anytls/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
AnyTLS
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../outbound/snell/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
Snell
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../outbound/tor/" class="md-nav__link">
<span class="md-ellipsis">
Tor
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../outbound/ssh/" class="md-nav__link">
<span class="md-ellipsis">
SSH
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../outbound/dns/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15 13h1.5v2.82l2.44 1.41-.75 1.3L15 16.69zm8 3c0 3.87-3.13 7-7 7-1.91 0-3.64-.76-4.9-2H8c-1.1 0-2-.9-2-2V7h12v2.29c2.89.86 5 3.54 5 6.71m-7-5c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5m3-7v2H5V4h3.5l1-1h5l1 1z"/></svg>
<span class="md-ellipsis">
DNS
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../outbound/selector/" class="md-nav__link">
<span class="md-ellipsis">
Selector
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../outbound/urltest/" class="md-nav__link">
<span class="md-ellipsis">
URLTest
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5_15" >
<div class="md-nav__link md-nav__container">
<a href="../../service/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
Service
</span>
</a>
<label class="md-nav__link " for="__nav_5_15" id="__nav_5_15_label" tabindex="">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_15_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_15">
<span class="md-nav__icon md-icon"></span>
Service
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../service/api/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
sing-box API
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../service/derp/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
DERP
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../service/resolved/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
Resolved
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../service/ssm-api/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
SSM API
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../service/ccm/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
CCM
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../service/ocm/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
OCM
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../service/hysteria-realm/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
Hysteria Realm
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../service/usbip-server/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
USB/IP Server
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../service/usbip-client/" class="md-nav__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4c1.11 0 2 .89 2 2v12c0 1.11-.89 2-2 2H4c-1.11 0-2-.89-2-2V6c0-1.11.89-2 2-2zM8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15zm5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12zm7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1"/></svg>
<span class="md-ellipsis">
USB/IP Client
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#structure" class="md-nav__link">
<span class="md-ellipsis">
Structure
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#listen-fields" class="md-nav__link">
<span class="md-ellipsis">
Listen Fields
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#fields" class="md-nav__link">
<span class="md-ellipsis">
Fields
</span>
</a>
<nav class="md-nav" aria-label="Fields">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#system" class="md-nav__link">
<span class="md-ellipsis">
system
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#name" class="md-nav__link">
<span class="md-ellipsis">
name
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#mtu" class="md-nav__link">
<span class="md-ellipsis">
mtu
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#mode" class="md-nav__link">
<span class="md-ellipsis">
mode
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#network" class="md-nav__link">
<span class="md-ellipsis">
network
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#remote" class="md-nav__link">
<span class="md-ellipsis">
remote
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#remote_port" class="md-nav__link">
<span class="md-ellipsis">
remote_port
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#max_clients" class="md-nav__link">
<span class="md-ellipsis">
max_clients
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#address" class="md-nav__link">
<span class="md-ellipsis">
address
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#peer_address" class="md-nav__link">
<span class="md-ellipsis">
peer_address
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#peer_address_ipv6" class="md-nav__link">
<span class="md-ellipsis">
peer_address_ipv6
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#topology" class="md-nav__link">
<span class="md-ellipsis">
topology
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#duplicate_cn" class="md-nav__link">
<span class="md-ellipsis">
duplicate_cn
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#users" class="md-nav__link">
<span class="md-ellipsis">
users
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#usersusername" class="md-nav__link">
<span class="md-ellipsis">
users.username
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#userspassword" class="md-nav__link">
<span class="md-ellipsis">
users.password
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#static_key" class="md-nav__link">
<span class="md-ellipsis">
static_key
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#static_key_path" class="md-nav__link">
<span class="md-ellipsis">
static_key_path
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#key_direction" class="md-nav__link">
<span class="md-ellipsis">
key_direction
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tls" class="md-nav__link">
<span class="md-ellipsis">
tls
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlscertificate" class="md-nav__link">
<span class="md-ellipsis">
tls.certificate
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlscertificate_path" class="md-nav__link">
<span class="md-ellipsis">
tls.certificate_path
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlskey" class="md-nav__link">
<span class="md-ellipsis">
tls.key
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlskey_path" class="md-nav__link">
<span class="md-ellipsis">
tls.key_path
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlsclient_certificate" class="md-nav__link">
<span class="md-ellipsis">
tls.client_certificate
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlsclient_certificate_path" class="md-nav__link">
<span class="md-ellipsis">
tls.client_certificate_path
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlsverify_client_certificate" class="md-nav__link">
<span class="md-ellipsis">
tls.verify_client_certificate
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlsclient_name" class="md-nav__link">
<span class="md-ellipsis">
tls.client_name
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlsclient_name_type" class="md-nav__link">
<span class="md-ellipsis">
tls.client_name_type
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlspeer_fingerprint" class="md-nav__link">
<span class="md-ellipsis">
tls.peer_fingerprint
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlscrl_path" class="md-nav__link">
<span class="md-ellipsis">
tls.crl_path
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlsremote_certificate_ku" class="md-nav__link">
<span class="md-ellipsis">
tls.remote_certificate_ku
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlsremote_certificate_eku" class="md-nav__link">
<span class="md-ellipsis">
tls.remote_certificate_eku
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlsremote_certificate_tls" class="md-nav__link">
<span class="md-ellipsis">
tls.remote_certificate_tls
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlscertificate_profile" class="md-nav__link">
<span class="md-ellipsis">
tls.certificate_profile
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlsns_certificate_type" class="md-nav__link">
<span class="md-ellipsis">
tls.ns_certificate_type
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlsversion_min" class="md-nav__link">
<span class="md-ellipsis">
tls.version_min
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlsversion_max" class="md-nav__link">
<span class="md-ellipsis">
tls.version_max
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlscipher" class="md-nav__link">
<span class="md-ellipsis">
tls.cipher
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlsgroups" class="md-nav__link">
<span class="md-ellipsis">
tls.groups
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlscontrol_wrap" class="md-nav__link">
<span class="md-ellipsis">
tls.control_wrap
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlscontrol_wraptype" class="md-nav__link">
<span class="md-ellipsis">
tls.control_wrap.type
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlscontrol_wrapkey" class="md-nav__link">
<span class="md-ellipsis">
tls.control_wrap.key
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlscontrol_wrapkey_path" class="md-nav__link">
<span class="md-ellipsis">
tls.control_wrap.key_path
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlscontrol_wrapdirection" class="md-nav__link">
<span class="md-ellipsis">
tls.control_wrap.direction
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tlscontrol_wrapforce_cookie" class="md-nav__link">
<span class="md-ellipsis">
tls.control_wrap.force_cookie
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#cipher" class="md-nav__link">
<span class="md-ellipsis">
cipher
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#data_ciphers" class="md-nav__link">
<span class="md-ellipsis">
data_ciphers
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#data_ciphers_fallback" class="md-nav__link">
<span class="md-ellipsis">
data_ciphers_fallback
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#auth" class="md-nav__link">
<span class="md-ellipsis">
auth
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#mss_fix" class="md-nav__link">
<span class="md-ellipsis">
mss_fix
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#mss_fix_disabled" class="md-nav__link">
<span class="md-ellipsis">
mss_fix_disabled
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#mss_fix_mode" class="md-nav__link">
<span class="md-ellipsis">
mss_fix_mode
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#replay_window" class="md-nav__link">
<span class="md-ellipsis">
replay_window
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#replay_window_time" class="md-nav__link">
<span class="md-ellipsis">
replay_window_time
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#push" class="md-nav__link">
<span class="md-ellipsis">
push
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pushroutes" class="md-nav__link">
<span class="md-ellipsis">
push.routes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pushdns" class="md-nav__link">
<span class="md-ellipsis">
push.dns
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pushdns_servers" class="md-nav__link">
<span class="md-ellipsis">
push.dns_servers
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pushsearch_domains" class="md-nav__link">
<span class="md-ellipsis">
push.search_domains
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pushdhcp_options" class="md-nav__link">
<span class="md-ellipsis">
push.dhcp_options
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pushredirect_gateway" class="md-nav__link">
<span class="md-ellipsis">
push.redirect_gateway
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pushredirect_gateway_flags" class="md-nav__link">
<span class="md-ellipsis">
push.redirect_gateway_flags
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pushblock_outside_dns" class="md-nav__link">
<span class="md-ellipsis">
push.block_outside_dns
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pushping_interval" class="md-nav__link">
<span class="md-ellipsis">
push.ping_interval
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pushping_restart" class="md-nav__link">
<span class="md-ellipsis">
push.ping_restart
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#ping_interval" class="md-nav__link">
<span class="md-ellipsis">
ping_interval
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#ping_restart" class="md-nav__link">
<span class="md-ellipsis">
ping_restart
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#renegotiate_interval" class="md-nav__link">
<span class="md-ellipsis">
renegotiate_interval
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#renegotiate_disabled" class="md-nav__link">
<span class="md-ellipsis">
renegotiate_disabled
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#renegotiate_bytes" class="md-nav__link">
<span class="md-ellipsis">
renegotiate_bytes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#renegotiate_packets" class="md-nav__link">
<span class="md-ellipsis">
renegotiate_packets
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#handshake_window" class="md-nav__link">
<span class="md-ellipsis">
handshake_window
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#udp-nat-fields" class="md-nav__link">
<span class="md-ellipsis">
UDP NAT Fields
</span>
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<h1 id="openvpn-server">OpenVPN Server</h1>
<div class="admonition question">
<p class="admonition-title">Since sing-box 1.14.0</p>
</div>
<h2 id="structure">Structure</h2>
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="p">{</span>
<a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="w"> </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;openvpn-server&quot;</span><span class="p">,</span>
<a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a><span class="w"> </span><span class="nt">&quot;tag&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;ovpn-server&quot;</span><span class="p">,</span>
<a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a>
<a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a><span class="w"> </span><span class="err">...</span><span class="w"> </span><span class="c1">// Listen Fields</span>
<a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a>
<a id="__codelineno-0-7" name="__codelineno-0-7" href="#__codelineno-0-7"></a><span class="w"> </span><span class="nt">&quot;system&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
<a id="__codelineno-0-8" name="__codelineno-0-8" href="#__codelineno-0-8"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
<a id="__codelineno-0-9" name="__codelineno-0-9" href="#__codelineno-0-9"></a><span class="w"> </span><span class="nt">&quot;mtu&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1500</span><span class="p">,</span>
<a id="__codelineno-0-10" name="__codelineno-0-10" href="#__codelineno-0-10"></a><span class="w"> </span><span class="nt">&quot;mode&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;tls&quot;</span><span class="p">,</span>
<a id="__codelineno-0-11" name="__codelineno-0-11" href="#__codelineno-0-11"></a><span class="w"> </span><span class="nt">&quot;network&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;udp&quot;</span><span class="p">,</span>
<a id="__codelineno-0-12" name="__codelineno-0-12" href="#__codelineno-0-12"></a><span class="w"> </span><span class="nt">&quot;remote&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
<a id="__codelineno-0-13" name="__codelineno-0-13" href="#__codelineno-0-13"></a><span class="w"> </span><span class="nt">&quot;remote_port&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span>
<a id="__codelineno-0-14" name="__codelineno-0-14" href="#__codelineno-0-14"></a><span class="w"> </span><span class="nt">&quot;max_clients&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1024</span><span class="p">,</span>
<a id="__codelineno-0-15" name="__codelineno-0-15" href="#__codelineno-0-15"></a><span class="w"> </span><span class="nt">&quot;address&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
<a id="__codelineno-0-16" name="__codelineno-0-16" href="#__codelineno-0-16"></a><span class="w"> </span><span class="nt">&quot;peer_address&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
<a id="__codelineno-0-17" name="__codelineno-0-17" href="#__codelineno-0-17"></a><span class="w"> </span><span class="nt">&quot;peer_address_ipv6&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
<a id="__codelineno-0-18" name="__codelineno-0-18" href="#__codelineno-0-18"></a><span class="w"> </span><span class="nt">&quot;topology&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;subnet&quot;</span><span class="p">,</span>
<a id="__codelineno-0-19" name="__codelineno-0-19" href="#__codelineno-0-19"></a><span class="w"> </span><span class="nt">&quot;duplicate_cn&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
<a id="__codelineno-0-20" name="__codelineno-0-20" href="#__codelineno-0-20"></a><span class="w"> </span><span class="nt">&quot;users&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
<a id="__codelineno-0-21" name="__codelineno-0-21" href="#__codelineno-0-21"></a><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-0-22" name="__codelineno-0-22" href="#__codelineno-0-22"></a><span class="w"> </span><span class="nt">&quot;username&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
<a id="__codelineno-0-23" name="__codelineno-0-23" href="#__codelineno-0-23"></a><span class="w"> </span><span class="nt">&quot;password&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span>
<a id="__codelineno-0-24" name="__codelineno-0-24" href="#__codelineno-0-24"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-0-25" name="__codelineno-0-25" href="#__codelineno-0-25"></a><span class="w"> </span><span class="p">],</span>
<a id="__codelineno-0-26" name="__codelineno-0-26" href="#__codelineno-0-26"></a><span class="w"> </span><span class="nt">&quot;static_key&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
<a id="__codelineno-0-27" name="__codelineno-0-27" href="#__codelineno-0-27"></a><span class="w"> </span><span class="nt">&quot;static_key_path&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
<a id="__codelineno-0-28" name="__codelineno-0-28" href="#__codelineno-0-28"></a><span class="w"> </span><span class="nt">&quot;key_direction&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
<a id="__codelineno-0-29" name="__codelineno-0-29" href="#__codelineno-0-29"></a><span class="w"> </span><span class="nt">&quot;tls&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-0-30" name="__codelineno-0-30" href="#__codelineno-0-30"></a><span class="w"> </span><span class="nt">&quot;certificate&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
<a id="__codelineno-0-31" name="__codelineno-0-31" href="#__codelineno-0-31"></a><span class="w"> </span><span class="nt">&quot;certificate_path&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
<a id="__codelineno-0-32" name="__codelineno-0-32" href="#__codelineno-0-32"></a><span class="w"> </span><span class="nt">&quot;key&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
<a id="__codelineno-0-33" name="__codelineno-0-33" href="#__codelineno-0-33"></a><span class="w"> </span><span class="nt">&quot;key_path&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
<a id="__codelineno-0-34" name="__codelineno-0-34" href="#__codelineno-0-34"></a><span class="w"> </span><span class="nt">&quot;client_certificate&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
<a id="__codelineno-0-35" name="__codelineno-0-35" href="#__codelineno-0-35"></a><span class="w"> </span><span class="nt">&quot;client_certificate_path&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
<a id="__codelineno-0-36" name="__codelineno-0-36" href="#__codelineno-0-36"></a><span class="w"> </span><span class="nt">&quot;verify_client_certificate&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;require&quot;</span><span class="p">,</span>
<a id="__codelineno-0-37" name="__codelineno-0-37" href="#__codelineno-0-37"></a><span class="w"> </span><span class="nt">&quot;client_name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
<a id="__codelineno-0-38" name="__codelineno-0-38" href="#__codelineno-0-38"></a><span class="w"> </span><span class="nt">&quot;client_name_type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;name&quot;</span><span class="p">,</span>
<a id="__codelineno-0-39" name="__codelineno-0-39" href="#__codelineno-0-39"></a><span class="w"> </span><span class="nt">&quot;peer_fingerprint&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
<a id="__codelineno-0-40" name="__codelineno-0-40" href="#__codelineno-0-40"></a><span class="w"> </span><span class="nt">&quot;crl_path&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
<a id="__codelineno-0-41" name="__codelineno-0-41" href="#__codelineno-0-41"></a><span class="w"> </span><span class="nt">&quot;remote_certificate_ku&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
<a id="__codelineno-0-42" name="__codelineno-0-42" href="#__codelineno-0-42"></a><span class="w"> </span><span class="nt">&quot;remote_certificate_eku&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
<a id="__codelineno-0-43" name="__codelineno-0-43" href="#__codelineno-0-43"></a><span class="w"> </span><span class="nt">&quot;remote_certificate_tls&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
<a id="__codelineno-0-44" name="__codelineno-0-44" href="#__codelineno-0-44"></a><span class="w"> </span><span class="nt">&quot;certificate_profile&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
<a id="__codelineno-0-45" name="__codelineno-0-45" href="#__codelineno-0-45"></a><span class="w"> </span><span class="nt">&quot;ns_certificate_type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
<a id="__codelineno-0-46" name="__codelineno-0-46" href="#__codelineno-0-46"></a><span class="w"> </span><span class="nt">&quot;version_min&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;1.2&quot;</span><span class="p">,</span>
<a id="__codelineno-0-47" name="__codelineno-0-47" href="#__codelineno-0-47"></a><span class="w"> </span><span class="nt">&quot;version_max&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
<a id="__codelineno-0-48" name="__codelineno-0-48" href="#__codelineno-0-48"></a><span class="w"> </span><span class="nt">&quot;cipher&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
<a id="__codelineno-0-49" name="__codelineno-0-49" href="#__codelineno-0-49"></a><span class="w"> </span><span class="nt">&quot;groups&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
<a id="__codelineno-0-50" name="__codelineno-0-50" href="#__codelineno-0-50"></a><span class="w"> </span><span class="nt">&quot;control_wrap&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-0-51" name="__codelineno-0-51" href="#__codelineno-0-51"></a><span class="w"> </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;tls_crypt&quot;</span><span class="p">,</span>
<a id="__codelineno-0-52" name="__codelineno-0-52" href="#__codelineno-0-52"></a><span class="w"> </span><span class="nt">&quot;key&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
<a id="__codelineno-0-53" name="__codelineno-0-53" href="#__codelineno-0-53"></a><span class="w"> </span><span class="nt">&quot;key_path&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
<a id="__codelineno-0-54" name="__codelineno-0-54" href="#__codelineno-0-54"></a><span class="w"> </span><span class="nt">&quot;direction&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
<a id="__codelineno-0-55" name="__codelineno-0-55" href="#__codelineno-0-55"></a><span class="w"> </span><span class="nt">&quot;force_cookie&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span>
<a id="__codelineno-0-56" name="__codelineno-0-56" href="#__codelineno-0-56"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-0-57" name="__codelineno-0-57" href="#__codelineno-0-57"></a><span class="w"> </span><span class="p">},</span>
<a id="__codelineno-0-58" name="__codelineno-0-58" href="#__codelineno-0-58"></a><span class="w"> </span><span class="nt">&quot;cipher&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
<a id="__codelineno-0-59" name="__codelineno-0-59" href="#__codelineno-0-59"></a><span class="w"> </span><span class="nt">&quot;data_ciphers&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
<a id="__codelineno-0-60" name="__codelineno-0-60" href="#__codelineno-0-60"></a><span class="w"> </span><span class="nt">&quot;data_ciphers_fallback&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
<a id="__codelineno-0-61" name="__codelineno-0-61" href="#__codelineno-0-61"></a><span class="w"> </span><span class="nt">&quot;auth&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
<a id="__codelineno-0-62" name="__codelineno-0-62" href="#__codelineno-0-62"></a><span class="w"> </span><span class="nt">&quot;mss_fix&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span>
<a id="__codelineno-0-63" name="__codelineno-0-63" href="#__codelineno-0-63"></a><span class="w"> </span><span class="nt">&quot;mss_fix_disabled&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
<a id="__codelineno-0-64" name="__codelineno-0-64" href="#__codelineno-0-64"></a><span class="w"> </span><span class="nt">&quot;mss_fix_mode&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
<a id="__codelineno-0-65" name="__codelineno-0-65" href="#__codelineno-0-65"></a><span class="w"> </span><span class="nt">&quot;replay_window&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span>
<a id="__codelineno-0-66" name="__codelineno-0-66" href="#__codelineno-0-66"></a><span class="w"> </span><span class="nt">&quot;replay_window_time&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
<a id="__codelineno-0-67" name="__codelineno-0-67" href="#__codelineno-0-67"></a><span class="w"> </span><span class="nt">&quot;push&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-0-68" name="__codelineno-0-68" href="#__codelineno-0-68"></a><span class="w"> </span><span class="nt">&quot;routes&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
<a id="__codelineno-0-69" name="__codelineno-0-69" href="#__codelineno-0-69"></a><span class="w"> </span><span class="nt">&quot;dns&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
<a id="__codelineno-0-70" name="__codelineno-0-70" href="#__codelineno-0-70"></a><span class="w"> </span><span class="nt">&quot;dns_servers&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
<a id="__codelineno-0-71" name="__codelineno-0-71" href="#__codelineno-0-71"></a><span class="w"> </span><span class="nt">&quot;search_domains&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
<a id="__codelineno-0-72" name="__codelineno-0-72" href="#__codelineno-0-72"></a><span class="w"> </span><span class="nt">&quot;dhcp_options&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
<a id="__codelineno-0-73" name="__codelineno-0-73" href="#__codelineno-0-73"></a><span class="w"> </span><span class="nt">&quot;redirect_gateway&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
<a id="__codelineno-0-74" name="__codelineno-0-74" href="#__codelineno-0-74"></a><span class="w"> </span><span class="nt">&quot;redirect_gateway_flags&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
<a id="__codelineno-0-75" name="__codelineno-0-75" href="#__codelineno-0-75"></a><span class="w"> </span><span class="nt">&quot;block_outside_dns&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
<a id="__codelineno-0-76" name="__codelineno-0-76" href="#__codelineno-0-76"></a><span class="w"> </span><span class="nt">&quot;ping_interval&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
<a id="__codelineno-0-77" name="__codelineno-0-77" href="#__codelineno-0-77"></a><span class="w"> </span><span class="nt">&quot;ping_restart&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span>
<a id="__codelineno-0-78" name="__codelineno-0-78" href="#__codelineno-0-78"></a><span class="w"> </span><span class="p">},</span>
<a id="__codelineno-0-79" name="__codelineno-0-79" href="#__codelineno-0-79"></a><span class="w"> </span><span class="nt">&quot;ping_interval&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
<a id="__codelineno-0-80" name="__codelineno-0-80" href="#__codelineno-0-80"></a><span class="w"> </span><span class="nt">&quot;ping_restart&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
<a id="__codelineno-0-81" name="__codelineno-0-81" href="#__codelineno-0-81"></a><span class="w"> </span><span class="nt">&quot;renegotiate_interval&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
<a id="__codelineno-0-82" name="__codelineno-0-82" href="#__codelineno-0-82"></a><span class="w"> </span><span class="nt">&quot;renegotiate_disabled&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
<a id="__codelineno-0-83" name="__codelineno-0-83" href="#__codelineno-0-83"></a><span class="w"> </span><span class="nt">&quot;renegotiate_bytes&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span>
<a id="__codelineno-0-84" name="__codelineno-0-84" href="#__codelineno-0-84"></a><span class="w"> </span><span class="nt">&quot;renegotiate_packets&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span>
<a id="__codelineno-0-85" name="__codelineno-0-85" href="#__codelineno-0-85"></a><span class="w"> </span><span class="nt">&quot;handshake_window&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;1m&quot;</span><span class="p">,</span>
<a id="__codelineno-0-86" name="__codelineno-0-86" href="#__codelineno-0-86"></a>
<a id="__codelineno-0-87" name="__codelineno-0-87" href="#__codelineno-0-87"></a><span class="w"> </span><span class="err">...</span><span class="w"> </span><span class="c1">// UDP NAT Fields</span>
<a id="__codelineno-0-88" name="__codelineno-0-88" href="#__codelineno-0-88"></a><span class="p">}</span>
</code></pre></div>
<div class="admonition note">
<p>You can ignore the JSON Array [] tag when the content is only one item</p>
</div>
<h2 id="listen-fields">Listen Fields</h2>
<p>See <a href="/configuration/shared/listen/">Listen Fields</a> for details. <code>udp_timeout</code> is part of the <a href="#udp-nat-fields">UDP NAT Fields</a> below.</p>
<h2 id="fields">Fields</h2>
<h3 id="system">system</h3>
<p>Use system interface.</p>
<p>Requires privilege and cannot conflict with existing system interfaces.</p>
<p>The endpoint configures interface addresses and MTU but does not install
operating-system routes or DNS settings.</p>
<p>If disabled, sing-box uses the internal network stack.</p>
<h3 id="name">name</h3>
<p>Custom interface name for system interface.</p>
<p>An automatically generated <code>ovpn</code> interface name is used by default.</p>
<h3 id="mtu">mtu</h3>
<p>OpenVPN interface MTU.</p>
<p><code>1500</code> will be used by default.</p>
<h3 id="mode">mode</h3>
<p>OpenVPN session mode, one of <code>tls</code> or <code>static_key</code>.</p>
<p><code>tls</code> is used by default.</p>
<p><code>static_key</code> serves one peer without a TLS control channel or forward secrecy.
It is retained as an explicit compatibility option for immutable deployments.
It does not use <code>tls</code>, <code>users</code>, push options, or TLS renegotiation options.</p>
<h3 id="network">network</h3>
<p>OpenVPN transport network, one of <code>udp</code> or <code>tcp</code>.</p>
<p><code>udp</code> will be used by default.</p>
<p>Only one transport network is served per endpoint; to serve both TCP and UDP,
configure two endpoints with separate <code>address</code> subnets,
matching upstream OpenVPN which requires two server processes.</p>
<h3 id="remote">remote</h3>
<p>Fixed remote peer address for a UDP <code>static_key</code> server.</p>
<p>Required with <code>remote_port</code> in UDP <code>static_key</code> mode. TCP servers accept the
single peer from the listening socket and do not use this field.</p>
<h3 id="remote_port">remote_port</h3>
<p>Fixed remote peer port for a UDP <code>static_key</code> server.</p>
<p>Required with <code>remote</code> in UDP <code>static_key</code> mode.</p>
<h3 id="max_clients">max_clients</h3>
<p>Maximum number of established and pending TLS client sessions.</p>
<p><code>1024</code> is used by default. The value must be smaller than <code>16777216</code>, the size of the OpenVPN peer-id space.</p>
<p><code>static_key</code> mode supports one peer, so this value must be <code>0</code> or <code>1</code>.</p>
<h3 id="address">address</h3>
<p><mark>Required</mark></p>
<p>List of OpenVPN server address prefixes.</p>
<p>At most one IPv4 prefix and one IPv6 prefix are supported.</p>
<p>The prefix address is assigned to the server interface. The masked prefix is used as the client address pool and route.</p>
<p>The first IPv4 and IPv6 prefix addresses are used as the endpoint's local addresses.</p>
<p>In <code>static_key</code> mode these are the local tunnel prefixes rather than address pools.</p>
<h3 id="peer_address">peer_address</h3>
<p>IPv4 tunnel peer address.</p>
<p>Required when an IPv4 <code>address</code> is configured in <code>static_key</code> mode.</p>
<h3 id="peer_address_ipv6">peer_address_ipv6</h3>
<p>IPv6 tunnel peer address.</p>
<p>Required when an IPv6 <code>address</code> is configured in <code>static_key</code> mode.</p>
<h3 id="topology">topology</h3>
<p>OpenVPN topology pushed to clients, one of <code>subnet</code>, <code>p2p</code> or <code>net30</code>.</p>
<p><code>subnet</code> is used by default in TLS mode. <code>p2p</code> is used by default in
<code>static_key</code> mode.</p>
<h3 id="duplicate_cn">duplicate_cn</h3>
<p>Allow multiple active clients with the same authenticated certificate common name or username.</p>
<p>When disabled, a newly authenticated session replaces the existing session with the same identity and reuses its tunnel address when available.</p>
<p>Disabled by default.</p>
<p>Only available in TLS mode.</p>
<h3 id="users">users</h3>
<p>List of OpenVPN username/password users.</p>
<p>If set, clients must pass username/password authentication in addition to any certificate policy configured by <code>tls.verify_client_certificate</code>.</p>
<p>Only available in TLS mode.</p>
<h3 id="usersusername">users.username</h3>
<p>Username.</p>
<h3 id="userspassword">users.password</h3>
<p>Password.</p>
<h3 id="static_key">static_key</h3>
<p>OpenVPN static key content.</p>
<p>Required in <code>static_key</code> mode.</p>
<p>Conflict with <code>static_key_path</code>.</p>
<h3 id="static_key_path">static_key_path</h3>
<p>OpenVPN static key path.</p>
<p>Required in <code>static_key</code> mode when <code>static_key</code> is not set.</p>
<p>Conflict with <code>static_key</code>.</p>
<h3 id="key_direction">key_direction</h3>
<p>Static key direction, one of <code>server</code> or <code>client</code>.</p>
<p>The key is used bidirectionally if empty. Conventionally the server uses
<code>server</code> and the peer uses <code>client</code>.</p>
<p>Only available in <code>static_key</code> mode.</p>
<h3 id="tls">tls</h3>
<p>Required in TLS mode.</p>
<p>OpenVPN control channel TLS configuration.</p>
<h3 id="tlscertificate">tls.certificate</h3>
<p>TLS server certificate content.</p>
<p>Either <code>tls.certificate</code> or <code>tls.certificate_path</code> is required.</p>
<p>Conflict with <code>tls.certificate_path</code>.</p>
<h3 id="tlscertificate_path">tls.certificate_path</h3>
<p>TLS server certificate path.</p>
<p>Either <code>tls.certificate</code> or <code>tls.certificate_path</code> is required.</p>
<p>Conflict with <code>tls.certificate</code>.</p>
<h3 id="tlskey">tls.key</h3>
<p>TLS server private key content.</p>
<p>Either <code>tls.key</code> or <code>tls.key_path</code> is required.</p>
<p>Conflict with <code>tls.key_path</code>.</p>
<h3 id="tlskey_path">tls.key_path</h3>
<p>TLS server private key path.</p>
<p>Either <code>tls.key</code> or <code>tls.key_path</code> is required.</p>
<p>Conflict with <code>tls.key</code>.</p>
<h3 id="tlsclient_certificate">tls.client_certificate</h3>
<p>TLS CA certificate content, used to verify client certificates.</p>
<p>One of <code>tls.client_certificate</code>, <code>tls.client_certificate_path</code>, or <code>tls.peer_fingerprint</code> is required when <code>tls.verify_client_certificate</code> is <code>require</code> or <code>optional</code>.</p>
<p>Conflict with <code>tls.client_certificate_path</code>.</p>
<h3 id="tlsclient_certificate_path">tls.client_certificate_path</h3>
<p>TLS CA certificate path, used to verify client certificates.</p>
<p>One of <code>tls.client_certificate</code>, <code>tls.client_certificate_path</code>, or <code>tls.peer_fingerprint</code> is required when <code>tls.verify_client_certificate</code> is <code>require</code> or <code>optional</code>.</p>
<p>Conflict with <code>tls.client_certificate</code>.</p>
<h3 id="tlsverify_client_certificate">tls.verify_client_certificate</h3>
<p>OpenVPN client certificate policy, one of <code>require</code>, <code>optional</code> or <code>none</code>.</p>
<p><code>require</code> will be used by default.</p>
<p>If set to <code>optional</code>, a client certificate is verified when provided, but clients without a certificate are allowed.</p>
<p>If set to <code>none</code>, client certificates are not requested.</p>
<p>This field does not replace <code>users</code>; when <code>users</code> is set, username/password authentication is still required.</p>
<h3 id="tlsclient_name">tls.client_name</h3>
<p>Expected client certificate name. Disabled when empty.</p>
<h3 id="tlsclient_name_type">tls.client_name_type</h3>
<p>Certificate field matched by <code>tls.client_name</code>, one of <code>subject</code>, <code>name</code>, or <code>name-prefix</code>.</p>
<p><code>name</code> is used by default when <code>tls.client_name</code> is configured.</p>
<h3 id="tlspeer_fingerprint">tls.peer_fingerprint</h3>
<p>Allowed SHA-256 fingerprints of client leaf certificates. Fingerprint-only verification can be used without a client CA.</p>
<h3 id="tlscrl_path">tls.crl_path</h3>
<p>Path to a certificate revocation list used to reject revoked client certificates.</p>
<h3 id="tlsremote_certificate_ku">tls.remote_certificate_ku</h3>
<p>Required client certificate key usage masks in OpenVPN <code>remote-cert-ku</code> format.</p>
<h3 id="tlsremote_certificate_eku">tls.remote_certificate_eku</h3>
<p>Required client certificate extended key usage. Conflict with an explicitly configured <code>tls.remote_certificate_tls</code>.</p>
<h3 id="tlsremote_certificate_tls">tls.remote_certificate_tls</h3>
<p>Client certificate purpose check, one of <code>server</code>, <code>client</code>, or <code>none</code>. <code>client</code> is used by default.</p>
<h3 id="tlscertificate_profile">tls.certificate_profile</h3>
<p>Certificate profile, one of <code>insecure</code>, <code>legacy</code>, <code>preferred</code>, or <code>suiteb</code>.</p>
<p><code>legacy</code> is used by default.</p>
<p><code>insecure</code> accepts MD5- and SHA-1-signed certificate chains and smaller legacy
keys for compatibility with immutable peers. Use it only when the peer cannot
be upgraded. <code>legacy</code> accepts SHA-1 but rejects MD5 signatures; <code>preferred</code>
requires stronger signatures and keys.</p>
<p>When <code>suiteb</code> is selected and <code>tls.cipher</code> is empty, the TLS 1.2 cipher list defaults to the Suite B ECDHE-ECDSA AES-GCM suites. Explicit <code>tls.cipher</code> and <code>tls.groups</code> values are not restricted by the profile.</p>
<h3 id="tlsns_certificate_type">tls.ns_certificate_type</h3>
<p>Deprecated Netscape certificate type check, one of <code>server</code> or <code>client</code>.</p>
<h3 id="tlsversion_min">tls.version_min</h3>
<p>Minimum TLS version. <code>1.2</code> is used by default.</p>
<h3 id="tlsversion_max">tls.version_max</h3>
<p>Maximum TLS version. The maximum supported version is used by default.</p>
<h3 id="tlscipher">tls.cipher</h3>
<p>Colon-separated OpenSSL cipher suite names allowed for TLS 1.2 and earlier.</p>
<p>The default TLS cipher suites are used when empty. TLS 1.3 cipher suites are not controlled by this field.</p>
<h3 id="tlsgroups">tls.groups</h3>
<p>Colon-separated TLS key exchange groups in preference order.</p>
<h3 id="tlscontrol_wrap">tls.control_wrap</h3>
<p>OpenVPN control channel wrapping.</p>
<p>Equivalent to OpenVPN <code>tls-auth</code>, <code>tls-crypt</code> and <code>tls-crypt-v2</code>.</p>
<p>Disabled by default.</p>
<h3 id="tlscontrol_wraptype">tls.control_wrap.type</h3>
<p><mark>Required</mark></p>
<p>Control channel wrapping type, one of <code>tls_auth</code>, <code>tls_crypt</code> or <code>tls_crypt_v2</code>.</p>
<p>For <code>tls_crypt_v2</code>, the key is the server key.</p>
<h3 id="tlscontrol_wrapkey">tls.control_wrap.key</h3>
<p>Control channel wrapping key content.</p>
<p>Either <code>tls.control_wrap.key</code> or <code>tls.control_wrap.key_path</code> is required.</p>
<p>Conflict with <code>tls.control_wrap.key_path</code>.</p>
<h3 id="tlscontrol_wrapkey_path">tls.control_wrap.key_path</h3>
<p>Control channel wrapping key path.</p>
<p>Either <code>tls.control_wrap.key</code> or <code>tls.control_wrap.key_path</code> is required.</p>
<p>Conflict with <code>tls.control_wrap.key</code>.</p>
<h3 id="tlscontrol_wrapdirection">tls.control_wrap.direction</h3>
<p>OpenVPN <code>tls-auth</code> key direction, one of <code>server</code> or <code>client</code>.</p>
<p>Only available when <code>tls.control_wrap.type</code> is <code>tls_auth</code>.</p>
<p><code>server</code> maps to OpenVPN key direction <code>0</code>, and <code>client</code> maps to <code>1</code>; by convention servers use <code>0</code> and clients use <code>1</code>.</p>
<p>If empty, the key is used bidirectionally, matching an omitted <code>key-direction</code> on both peers.</p>
<h3 id="tlscontrol_wrapforce_cookie">tls.control_wrap.force_cookie</h3>
<p>Require <code>tls-crypt-v2</code> clients over UDP to support stateless session cookies.</p>
<p>Only available when <code>tls.control_wrap.type</code> is <code>tls_crypt_v2</code>. When disabled,
clients without cookie support are accepted using the upstream <code>allow-noncookie</code> behavior.</p>
<p>Disabled by default.</p>
<h3 id="cipher">cipher</h3>
<p>Data-channel cipher used in <code>static_key</code> mode.</p>
<p>The upstream static-key default <code>BF-CBC</code> is used when empty. Supported
static-key ciphers are the AES-CBC, ARIA-CBC, Camellia-CBC, DES-CBC,
Blowfish-CBC, CAST5-CBC families, <code>SEED-CBC</code>, <code>SM4-CBC</code>, and <code>NONE</code>.</p>
<p>Only available in <code>static_key</code> mode. <code>NONE</code> provides no confidentiality.</p>
<h3 id="data_ciphers">data_ciphers</h3>
<p>Allowed OpenVPN data channel ciphers.</p>
<p><code>AES-256-GCM</code>, <code>AES-128-GCM</code> and <code>CHACHA20-POLY1305</code> are used by default.</p>
<p>The AES-GCM family includes <code>AES-192-GCM</code>. Retained ciphers include the CBC,
CFB, and OFB forms of AES, ARIA, Camellia, DES, Blowfish, and CAST5, the CBC,
CFB, and OFB forms of SEED and SM4, and <code>NONE</code>. CFB and OFB are available only
in TLS mode. Legacy ciphers provide weaker or no confidentiality and are not
enabled by default.</p>
<p>Only available in TLS mode.</p>
<h3 id="data_ciphers_fallback">data_ciphers_fallback</h3>
<p>OpenVPN data channel cipher for legacy clients that do not support cipher negotiation.</p>
<p>Equivalent to OpenVPN <code>data-ciphers-fallback</code>.</p>
<p>Disabled by default.</p>
<p>Only available in TLS mode.</p>
<h3 id="auth">auth</h3>
<p>OpenVPN data channel authentication digest.</p>
<p><code>SHA1</code> will be used by default, matching the upstream default; it only applies to non-AEAD data ciphers and <code>tls_auth</code>.</p>
<p>Legacy digests including <code>MD5</code> and <code>RIPEMD160</code> remain available when explicitly
configured for compatibility.</p>
<h3 id="mss_fix">mss_fix</h3>
<p>Maximum encapsulated packet size used to clamp TCP MSS. The upstream default calculation uses <code>1492</code> with the default MTU.</p>
<h3 id="mss_fix_disabled">mss_fix_disabled</h3>
<p>Disable MSS clamping, including the default clamp.</p>
<h3 id="mss_fix_mode">mss_fix_mode</h3>
<p>Calculation mode for an explicit <code>mss_fix</code>, one of <code>mtu</code> or <code>fixed</code>. Requires <code>mss_fix</code>.</p>
<h3 id="replay_window">replay_window</h3>
<p>UDP data-channel replay window size. <code>64</code> is used by default; TCP packet IDs remain strictly consecutive.</p>
<h3 id="replay_window_time">replay_window_time</h3>
<p>UDP replay window duration. <code>15s</code> is used by default. The value must use whole seconds.</p>
<h3 id="push">push</h3>
<p>Options pushed to clients.</p>
<h3 id="pushroutes">push.routes</h3>
<p>Routes to push to clients.</p>
<p>IPv4 and IPv6 prefixes can be mixed.</p>
<h3 id="pushdns">push.dns</h3>
<p>DNS server addresses to push to clients.</p>
<p>Uses legacy <code>dhcp-option DNS</code>/<code>DNS6</code>. A pushed modern DNS server group overrides these addresses on compatible clients.</p>
<h3 id="pushdns_servers">push.dns_servers</h3>
<p>Modern OpenVPN DNS server groups to push. Each entry contains <code>priority</code>, <code>addresses</code>, optional <code>resolve_domains</code>, <code>dnssec</code>, <code>transport</code>, and <code>sni</code>.</p>
<p>Addresses accept an IP address or <code>IP:port</code> (IPv6 ports use <code>[IPv6]:port</code>). <code>transport</code> is one of <code>plain</code>, <code>dot</code>, or <code>doh</code>; <code>dnssec</code> is one of <code>yes</code>, <code>optional</code>, or <code>no</code>. OpenVPN clients apply only the group with the lowest priority number.</p>
<h3 id="pushsearch_domains">push.search_domains</h3>
<p>Modern OpenVPN search domains to push.</p>
<h3 id="pushdhcp_options">push.dhcp_options</h3>
<p>Additional legacy <code>dhcp-option</code> values to push, without the <code>dhcp-option</code> prefix.</p>
<h3 id="pushredirect_gateway">push.redirect_gateway</h3>
<p>Push <code>redirect-gateway</code> to clients, which routes client traffic through the VPN according to <code>push.redirect_gateway_flags</code>.</p>
<p>When <code>push.redirect_gateway_flags</code> is empty, <code>def1</code> is used by default.</p>
<h3 id="pushredirect_gateway_flags">push.redirect_gateway_flags</h3>
<p>OpenVPN <code>redirect-gateway</code> flags to push to clients.</p>
<p>Only available when <code>push.redirect_gateway</code> is enabled.</p>
<p><code>def1</code> is used by default.</p>
<h3 id="pushblock_outside_dns">push.block_outside_dns</h3>
<p>Push <code>block-outside-dns</code> to clients, which blocks DNS queries outside the VPN on Windows clients.</p>
<h3 id="pushping_interval">push.ping_interval</h3>
<p>OpenVPN <code>ping</code> interval pushed to clients.</p>
<p>After the interval passes without sending a packet, the client sends a data-channel ping to the server.</p>
<p>The value must use whole seconds.</p>
<p>Disabled by default.</p>
<h3 id="pushping_restart">push.ping_restart</h3>
<p>OpenVPN <code>ping-restart</code> timeout pushed to clients.</p>
<p>After the timeout passes without receiving a packet, the client reconnects to the server.</p>
<p>The value must use whole seconds.</p>
<p>Disabled by default.</p>
<h3 id="ping_interval">ping_interval</h3>
<p>Interval after which the server sends a data-channel ping when no packet has been sent to a client.</p>
<p>This value applies to the server. Use <code>push.ping_interval</code> to configure clients.</p>
<p>The value must use whole seconds.</p>
<p>Disabled by default.</p>
<h3 id="ping_restart">ping_restart</h3>
<p>Time without receiving a packet after which the server closes the client session.</p>
<p>This value applies to the server. Use <code>push.ping_restart</code> to configure clients.</p>
<p>The server timeout should be longer than the client timeout so the client can reconnect before the server discards its session.</p>
<p>The value must use whole seconds.</p>
<p>Disabled by default.</p>
<h3 id="renegotiate_interval">renegotiate_interval</h3>
<p>OpenVPN TLS renegotiation interval.</p>
<p>When empty, the OpenVPN default <code>1h</code> is used.</p>
<p>Only available in TLS mode.</p>
<h3 id="renegotiate_disabled">renegotiate_disabled</h3>
<p>Disable time-based TLS renegotiation, including the default interval.</p>
<p>Only available in TLS mode.</p>
<h3 id="renegotiate_bytes">renegotiate_bytes</h3>
<p>Renegotiate data-channel keys after this many bytes. <code>0</code> uses the cipher-dependent OpenVPN default.</p>
<p>Only available in TLS mode.</p>
<h3 id="renegotiate_packets">renegotiate_packets</h3>
<p>Renegotiate data-channel keys after this many packets. <code>0</code> uses the cipher-dependent OpenVPN default.</p>
<p>Only available in TLS mode.</p>
<h3 id="handshake_window">handshake_window</h3>
<p>Maximum time allowed for the initial TLS handshake and each TLS renegotiation.</p>
<p><code>1m</code> is used by default.</p>
<p>Only available in TLS mode.</p>
<h2 id="udp-nat-fields">UDP NAT Fields</h2>
<p>These fields configure UDP sessions for traffic through the OpenVPN interface.</p>
<p>See <a href="/configuration/shared/udp-nat/">UDP NAT Fields</a> for details.</p>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
</main>
<footer class="md-footer">
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
<div class="md-copyright__highlight">
Copyright &copy; 2022 nekohasekai
</div>
</div>
<div class="md-social">
<a href="https://github.com/SagerNet/sing-box" target="_blank" rel="noopener" title="github.com" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"annotate": null, "base": "../../..", "features": ["navigation.tracking", "navigation.tabs", "navigation.indexes", "navigation.expand", "navigation.sections", "header.autohide", "content.code.copy", "content.code.select", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
<script src="../../../assets/javascripts/bundle.79ae519e.min.js"></script>
</body>
</html>