sing-box/configuration/dns/rule/index.html

4256 lines
108 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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="prev" href="../server/">
<link rel="next" href="../fakeip/">
<link rel="icon" href="../../../assets/icon.svg">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.4.8">
<title>DNS Rule - sing-box</title>
<link rel="stylesheet" href="../../../assets/stylesheets/main.4b4a2bd9.min.css">
<link rel="stylesheet" href="../../../assets/stylesheets/palette.356b1318.min.css">
<style>:root{--md-admonition-icon--question:url('data:image/svg+xml;charset=utf-8,<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-2h16M8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15h1.2m5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12h2.5m7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1Z"/></svg>');}</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="white" data-md-color-accent="indigo">
<script>var palette=__md_get("__palette");if(palette&&"object"==typeof palette.color)for(var key of Object.keys(palette.color))document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
<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="#structure" 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 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></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">
DNS Rule
</span>
</div>
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<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="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"/></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 light mode" type="radio" name="__palette" id="__palette_2">
<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="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12c0-2.42-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"/></svg>
</label>
</form>
<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.52 17.52 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.11.76-2.04M18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12m-2.62 7 1.62-4.33L19.12 17h-3.24Z"/></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/dns/rule/" 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.516 6.516 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 5Z"/></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.516 6.516 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 5Z"/></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 11h12Z"/></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 12 19 6.41Z"/></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" 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 6.4.2 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 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></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 6.4.2 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 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></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--section 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="">
<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.68L23 12m-10 5h-2v-2h2v2m0-4h-2V7h2v6Z"/></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 2h14v14H2V2m20 6v14H8v-4h2v2h10V10h-2V8h4Z"/></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 1H17M4 19V7h12v12c0 1.1-.9 2-2 2H6c-1.1 0-2-.9-2-2m15-4h2v2h-2v-2m0-8h2v6h-2V7Z"/></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-1Z"/></svg>
<span class="md-ellipsis">
Support
</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_2" >
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="">
<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-12l-.81 1m15.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.55l1.39 1.68M6 18h6v-3H6v3Z"/></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-.24-.19-.14m-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.5V9M6 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.41-3.74 3.74m11.16 0-3.74-3.74-1.42 1.41 2.33 2.33-2.33 2.33 1.42 1.41 3.74-3.74Z"/></svg>
<span class="md-ellipsis">
Build from source
</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_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="">
<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--section 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-.82c.46 0 .84.36.84.82 0 .46-.38.83-.84.83m-9.2 0c-.46 0-.84-.37-.84-.83 0-.46.38-.82.84-.82.46 0 .83.36.83.82 0 .46-.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.86Z"/></svg>
<span class="md-ellipsis">
Android
</span>
</a>
<label class="md-nav__link " for="__nav_3_2" id="__nav_3_2_label" tabindex="">
<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--section 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.11Z"/></svg>
<span class="md-ellipsis">
Apple platforms
</span>
</a>
<label class="md-nav__link " for="__nav_3_3" id="__nav_3_3_label" tabindex="">
<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">
<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.75L3 17.25m19.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.4 1.77 1.76m-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 1-2.85 2.78M20.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.75L20.71 7Z"/></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.92V12H5V6.3l7-3.11M12 1 3 5v6c0 5.55 3.84 10.73 9 12 5.16-1.27 9-6.45 9-12V5l-9-4Z"/></svg>
<span class="md-ellipsis">
Privacy policy
</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_4" >
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="">
<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--section 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="">
<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 5h1V3H9v2m0 8h1v-2H9v2m0 8h1v-2H9v2M5 3v2h2V3H5m0 8v2h2v-2H5m0 8v2h2v-2H5Z"/></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-3H4V6Z"/></svg>
<span class="md-ellipsis">
Client
</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_4_2" >
<label class="md-nav__link" for="__nav_4_2" id="__nav_4_2_label" tabindex="">
<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 2v7Z"/></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.272 3.272 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.66Z"/></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 14v-8Z"/></svg>
<span class="md-ellipsis">
Hysteria 2
</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_4_3" >
<label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="">
<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.3Z"/></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 md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5_2" >
<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_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_2">
<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--active md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_3" checked>
<div class="md-nav__link md-nav__container">
<a href="../" 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-2h16M8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15h1.2m5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12h2.5m7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1Z"/></svg>
<span class="md-ellipsis">
DNS
</span>
</a>
<label class="md-nav__link " for="__nav_5_3" id="__nav_5_3_label" tabindex="">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_3_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_5_3">
<span class="md-nav__icon md-icon"></span>
DNS
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../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-2h16M8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15h1.2m5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12h2.5m7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1Z"/></svg>
<span class="md-ellipsis">
DNS Server
</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">
<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-2h16M8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15h1.2m5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12h2.5m7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1Z"/></svg>
<span class="md-ellipsis">
DNS Rule
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
<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-2h16M8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15h1.2m5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12h2.5m7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1Z"/></svg>
<span class="md-ellipsis">
DNS Rule
</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">
Structure
</a>
</li>
<li class="md-nav__item">
<a href="#default-fields" class="md-nav__link">
Default Fields
</a>
<nav class="md-nav" aria-label="Default Fields">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#inbound" class="md-nav__link">
inbound
</a>
</li>
<li class="md-nav__item">
<a href="#ip_version" class="md-nav__link">
ip_version
</a>
</li>
<li class="md-nav__item">
<a href="#query_type" class="md-nav__link">
query_type
</a>
</li>
<li class="md-nav__item">
<a href="#network" class="md-nav__link">
network
</a>
</li>
<li class="md-nav__item">
<a href="#auth_user" class="md-nav__link">
auth_user
</a>
</li>
<li class="md-nav__item">
<a href="#protocol" class="md-nav__link">
protocol
</a>
</li>
<li class="md-nav__item">
<a href="#domain" class="md-nav__link">
domain
</a>
</li>
<li class="md-nav__item">
<a href="#domain_suffix" class="md-nav__link">
domain_suffix
</a>
</li>
<li class="md-nav__item">
<a href="#domain_keyword" class="md-nav__link">
domain_keyword
</a>
</li>
<li class="md-nav__item">
<a href="#domain_regex" class="md-nav__link">
domain_regex
</a>
</li>
<li class="md-nav__item">
<a href="#geosite" class="md-nav__link">
geosite
</a>
</li>
<li class="md-nav__item">
<a href="#source_geoip" class="md-nav__link">
source_geoip
</a>
</li>
<li class="md-nav__item">
<a href="#source_ip_cidr" class="md-nav__link">
source_ip_cidr
</a>
</li>
<li class="md-nav__item">
<a href="#source_ip_is_private" class="md-nav__link">
source_ip_is_private
</a>
</li>
<li class="md-nav__item">
<a href="#source_port" class="md-nav__link">
source_port
</a>
</li>
<li class="md-nav__item">
<a href="#source_port_range" class="md-nav__link">
source_port_range
</a>
</li>
<li class="md-nav__item">
<a href="#port" class="md-nav__link">
port
</a>
</li>
<li class="md-nav__item">
<a href="#port_range" class="md-nav__link">
port_range
</a>
</li>
<li class="md-nav__item">
<a href="#process_name" class="md-nav__link">
process_name
</a>
</li>
<li class="md-nav__item">
<a href="#process_path" class="md-nav__link">
process_path
</a>
</li>
<li class="md-nav__item">
<a href="#package_name" class="md-nav__link">
package_name
</a>
</li>
<li class="md-nav__item">
<a href="#user" class="md-nav__link">
user
</a>
</li>
<li class="md-nav__item">
<a href="#user_id" class="md-nav__link">
user_id
</a>
</li>
<li class="md-nav__item">
<a href="#clash_mode" class="md-nav__link">
clash_mode
</a>
</li>
<li class="md-nav__item">
<a href="#wifi_ssid" class="md-nav__link">
wifi_ssid
</a>
</li>
<li class="md-nav__item">
<a href="#wifi_bssid" class="md-nav__link">
wifi_bssid
</a>
</li>
<li class="md-nav__item">
<a href="#rule_set" class="md-nav__link">
rule_set
</a>
</li>
<li class="md-nav__item">
<a href="#rule_set_ipcidr_match_source" class="md-nav__link">
rule_set_ipcidr_match_source
</a>
</li>
<li class="md-nav__item">
<a href="#invert" class="md-nav__link">
invert
</a>
</li>
<li class="md-nav__item">
<a href="#outbound" class="md-nav__link">
outbound
</a>
</li>
<li class="md-nav__item">
<a href="#server" class="md-nav__link">
server
</a>
</li>
<li class="md-nav__item">
<a href="#disable_cache" class="md-nav__link">
disable_cache
</a>
</li>
<li class="md-nav__item">
<a href="#rewrite_ttl" class="md-nav__link">
rewrite_ttl
</a>
</li>
<li class="md-nav__item">
<a href="#client_subnet" class="md-nav__link">
client_subnet
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#address-filter-fields" class="md-nav__link">
Address Filter Fields
</a>
<nav class="md-nav" aria-label="Address Filter Fields">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#geoip" class="md-nav__link">
geoip
</a>
</li>
<li class="md-nav__item">
<a href="#ip_cidr" class="md-nav__link">
ip_cidr
</a>
</li>
<li class="md-nav__item">
<a href="#ip_is_private" class="md-nav__link">
ip_is_private
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#logical-fields" class="md-nav__link">
Logical Fields
</a>
<nav class="md-nav" aria-label="Logical Fields">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#type" class="md-nav__link">
type
</a>
</li>
<li class="md-nav__item">
<a href="#mode" class="md-nav__link">
mode
</a>
</li>
<li class="md-nav__item">
<a href="#rules" class="md-nav__link">
rules
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../fakeip/" class="md-nav__link">
<span class="md-ellipsis">
FakeIP
</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_4" >
<div class="md-nav__link md-nav__container">
<a href="../../ntp/" class="md-nav__link ">
<span class="md-ellipsis">
NTP
</span>
</a>
</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>
NTP
</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_5" >
<div class="md-nav__link md-nav__container">
<a href="../../route/" class="md-nav__link ">
<span class="md-ellipsis">
Route
</span>
</a>
<label class="md-nav__link " for="__nav_5_5" id="__nav_5_5_label" tabindex="">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_5">
<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="M15 13h1.5v2.82l2.44 1.41-.75 1.3L15 16.69V13m8 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 1H19Z"/></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="M15 13h1.5v2.82l2.44 1.41-.75 1.3L15 16.69V13m8 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 1H19Z"/></svg>
<span class="md-ellipsis">
Geosite
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../route/rule/" class="md-nav__link">
<span class="md-ellipsis">
Route Rule
</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_6" >
<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_6" id="__nav_5_6_label" tabindex="">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_6">
<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">
<span class="md-ellipsis">
Source Format
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../rule-set/headless-rule/" class="md-nav__link">
<span class="md-ellipsis">
Headless Rule
</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_7" >
<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_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>
Experimental
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../experimental/cache-file/" 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-2h16M8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15h1.2m5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12h2.5m7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1Z"/></svg>
<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_8" >
<label class="md-nav__link" for="__nav_5_8" id="__nav_5_8_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_8_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_8">
<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">
<span class="md-ellipsis">
Listen Fields
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../shared/dial/" class="md-nav__link">
<span class="md-ellipsis">
Dial Fields
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../shared/tls/" class="md-nav__link">
<span class="md-ellipsis">
TLS
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../shared/dns01_challenge/" class="md-nav__link">
<span class="md-ellipsis">
DNS01 Challenge Fields
</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/tcp-brutal/" class="md-nav__link">
<span class="md-ellipsis">
TCP Brutal
</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="../../inbound/" class="md-nav__link ">
<span class="md-ellipsis">
Inbound
</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>
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">
<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">
<span class="md-ellipsis">
Hysteria2
</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-2h16M8.5 15V9H7.25v3.5L4.75 9H3.5v6h1.25v-3.5L7.3 15h1.2m5-4.74V9h-4v6h4v-1.25H11v-1.11h2.5v-1.26H11v-1.12h2.5m7 3.74V9h-1.25v4.5h-1.12V10h-1.25v3.5h-1.13V9H14.5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1Z"/></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>
</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" >
<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_10" id="__nav_5_10_label" tabindex="">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<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>
Outbound
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../outbound/direct/" class="md-nav__link">
<span class="md-ellipsis">
Direct
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../outbound/block/" class="md-nav__link">
<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/wireguard/" class="md-nav__link">
<span class="md-ellipsis">
WireGuard
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../outbound/hysteria/" class="md-nav__link">
<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/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">
<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>
</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">
Structure
</a>
</li>
<li class="md-nav__item">
<a href="#default-fields" class="md-nav__link">
Default Fields
</a>
<nav class="md-nav" aria-label="Default Fields">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#inbound" class="md-nav__link">
inbound
</a>
</li>
<li class="md-nav__item">
<a href="#ip_version" class="md-nav__link">
ip_version
</a>
</li>
<li class="md-nav__item">
<a href="#query_type" class="md-nav__link">
query_type
</a>
</li>
<li class="md-nav__item">
<a href="#network" class="md-nav__link">
network
</a>
</li>
<li class="md-nav__item">
<a href="#auth_user" class="md-nav__link">
auth_user
</a>
</li>
<li class="md-nav__item">
<a href="#protocol" class="md-nav__link">
protocol
</a>
</li>
<li class="md-nav__item">
<a href="#domain" class="md-nav__link">
domain
</a>
</li>
<li class="md-nav__item">
<a href="#domain_suffix" class="md-nav__link">
domain_suffix
</a>
</li>
<li class="md-nav__item">
<a href="#domain_keyword" class="md-nav__link">
domain_keyword
</a>
</li>
<li class="md-nav__item">
<a href="#domain_regex" class="md-nav__link">
domain_regex
</a>
</li>
<li class="md-nav__item">
<a href="#geosite" class="md-nav__link">
geosite
</a>
</li>
<li class="md-nav__item">
<a href="#source_geoip" class="md-nav__link">
source_geoip
</a>
</li>
<li class="md-nav__item">
<a href="#source_ip_cidr" class="md-nav__link">
source_ip_cidr
</a>
</li>
<li class="md-nav__item">
<a href="#source_ip_is_private" class="md-nav__link">
source_ip_is_private
</a>
</li>
<li class="md-nav__item">
<a href="#source_port" class="md-nav__link">
source_port
</a>
</li>
<li class="md-nav__item">
<a href="#source_port_range" class="md-nav__link">
source_port_range
</a>
</li>
<li class="md-nav__item">
<a href="#port" class="md-nav__link">
port
</a>
</li>
<li class="md-nav__item">
<a href="#port_range" class="md-nav__link">
port_range
</a>
</li>
<li class="md-nav__item">
<a href="#process_name" class="md-nav__link">
process_name
</a>
</li>
<li class="md-nav__item">
<a href="#process_path" class="md-nav__link">
process_path
</a>
</li>
<li class="md-nav__item">
<a href="#package_name" class="md-nav__link">
package_name
</a>
</li>
<li class="md-nav__item">
<a href="#user" class="md-nav__link">
user
</a>
</li>
<li class="md-nav__item">
<a href="#user_id" class="md-nav__link">
user_id
</a>
</li>
<li class="md-nav__item">
<a href="#clash_mode" class="md-nav__link">
clash_mode
</a>
</li>
<li class="md-nav__item">
<a href="#wifi_ssid" class="md-nav__link">
wifi_ssid
</a>
</li>
<li class="md-nav__item">
<a href="#wifi_bssid" class="md-nav__link">
wifi_bssid
</a>
</li>
<li class="md-nav__item">
<a href="#rule_set" class="md-nav__link">
rule_set
</a>
</li>
<li class="md-nav__item">
<a href="#rule_set_ipcidr_match_source" class="md-nav__link">
rule_set_ipcidr_match_source
</a>
</li>
<li class="md-nav__item">
<a href="#invert" class="md-nav__link">
invert
</a>
</li>
<li class="md-nav__item">
<a href="#outbound" class="md-nav__link">
outbound
</a>
</li>
<li class="md-nav__item">
<a href="#server" class="md-nav__link">
server
</a>
</li>
<li class="md-nav__item">
<a href="#disable_cache" class="md-nav__link">
disable_cache
</a>
</li>
<li class="md-nav__item">
<a href="#rewrite_ttl" class="md-nav__link">
rewrite_ttl
</a>
</li>
<li class="md-nav__item">
<a href="#client_subnet" class="md-nav__link">
client_subnet
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#address-filter-fields" class="md-nav__link">
Address Filter Fields
</a>
<nav class="md-nav" aria-label="Address Filter Fields">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#geoip" class="md-nav__link">
geoip
</a>
</li>
<li class="md-nav__item">
<a href="#ip_cidr" class="md-nav__link">
ip_cidr
</a>
</li>
<li class="md-nav__item">
<a href="#ip_is_private" class="md-nav__link">
ip_is_private
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#logical-fields" class="md-nav__link">
Logical Fields
</a>
<nav class="md-nav" aria-label="Logical Fields">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#type" class="md-nav__link">
type
</a>
</li>
<li class="md-nav__item">
<a href="#mode" class="md-nav__link">
mode
</a>
</li>
<li class="md-nav__item">
<a href="#rules" class="md-nav__link">
rules
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<h1>DNS Rule</h1>
<div class="admonition quote">
<p class="admonition-title">Changes in sing-box 1.9.0</p>
<p><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2Z"/></svg></span> <a href="#geoip">geoip</a><br />
<span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2Z"/></svg></span> <a href="#ip_cidr">ip_cidr</a><br />
<span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2Z"/></svg></span> <a href="#ip_is_private">ip_is_private</a><br />
<span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2Z"/></svg></span> <a href="#client_subnet">client_subnet</a>
<span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2Z"/></svg></span> <a href="#rule_set_ipcidr_match_source">rule_set_ipcidr_match_source</a></p>
</div>
<div class="admonition quote">
<p class="admonition-title">Changes in sing-box 1.8.0</p>
<p><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2Z"/></svg></span> <a href="#rule_set">rule_set</a><br />
<span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2Z"/></svg></span> <a href="#source_ip_is_private">source_ip_is_private</a><br />
<span class="twemoji"><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.69V13m8 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 1H19Z"/></svg></span> <a href="#geoip">geoip</a><br />
<span class="twemoji"><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.69V13m8 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 1H19Z"/></svg></span> <a href="#geosite">geosite</a></p>
</div>
<h3 id="structure">Structure</h3>
<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;dns&quot;</span><span class="p">:</span><span class="w"> </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;rules&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
<a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a><span class="w"> </span><span class="nt">&quot;inbound&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
<a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a><span class="w"> </span><span class="s2">&quot;mixed-in&quot;</span>
<a id="__codelineno-0-7" name="__codelineno-0-7" href="#__codelineno-0-7"></a><span class="w"> </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;ip_version&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">6</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;query_type&quot;</span><span class="p">:</span><span class="w"> </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="s2">&quot;A&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="s2">&quot;HTTPS&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="mi">32768</span>
<a id="__codelineno-0-13" name="__codelineno-0-13" href="#__codelineno-0-13"></a><span class="w"> </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;network&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;tcp&quot;</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;auth_user&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="s2">&quot;usera&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="s2">&quot;userb&quot;</span>
<a id="__codelineno-0-18" name="__codelineno-0-18" href="#__codelineno-0-18"></a><span class="w"> </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;protocol&quot;</span><span class="p">:</span><span class="w"> </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="s2">&quot;tls&quot;</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="s2">&quot;http&quot;</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="s2">&quot;quic&quot;</span>
<a id="__codelineno-0-23" name="__codelineno-0-23" href="#__codelineno-0-23"></a><span class="w"> </span><span class="p">],</span>
<a id="__codelineno-0-24" name="__codelineno-0-24" href="#__codelineno-0-24"></a><span class="w"> </span><span class="nt">&quot;domain&quot;</span><span class="p">:</span><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="s2">&quot;test.com&quot;</span>
<a id="__codelineno-0-26" name="__codelineno-0-26" href="#__codelineno-0-26"></a><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;domain_suffix&quot;</span><span class="p">:</span><span class="w"> </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="s2">&quot;.cn&quot;</span>
<a id="__codelineno-0-29" name="__codelineno-0-29" href="#__codelineno-0-29"></a><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;domain_keyword&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="s2">&quot;test&quot;</span>
<a id="__codelineno-0-32" name="__codelineno-0-32" href="#__codelineno-0-32"></a><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;domain_regex&quot;</span><span class="p">:</span><span class="w"> </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="s2">&quot;^stun\\..+&quot;</span>
<a id="__codelineno-0-35" name="__codelineno-0-35" href="#__codelineno-0-35"></a><span class="w"> </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;geosite&quot;</span><span class="p">:</span><span class="w"> </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="s2">&quot;cn&quot;</span>
<a id="__codelineno-0-38" name="__codelineno-0-38" href="#__codelineno-0-38"></a><span class="w"> </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;source_geoip&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="s2">&quot;private&quot;</span>
<a id="__codelineno-0-41" name="__codelineno-0-41" href="#__codelineno-0-41"></a><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;geoip&quot;</span><span class="p">:</span><span class="w"> </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="s2">&quot;cn&quot;</span>
<a id="__codelineno-0-44" name="__codelineno-0-44" href="#__codelineno-0-44"></a><span class="w"> </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;source_ip_cidr&quot;</span><span class="p">:</span><span class="w"> </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="s2">&quot;10.0.0.0/24&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="s2">&quot;192.168.0.1&quot;</span>
<a id="__codelineno-0-48" name="__codelineno-0-48" href="#__codelineno-0-48"></a><span class="w"> </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;source_ip_is_private&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">false</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;ip_cidr&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="s2">&quot;10.0.0.0/24&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="s2">&quot;192.168.0.1&quot;</span>
<a id="__codelineno-0-53" name="__codelineno-0-53" href="#__codelineno-0-53"></a><span class="w"> </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;ip_is_private&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">false</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;source_port&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
<a id="__codelineno-0-56" name="__codelineno-0-56" href="#__codelineno-0-56"></a><span class="w"> </span><span class="mi">12345</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;source_port_range&quot;</span><span class="p">:</span><span class="w"> </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="s2">&quot;1000:2000&quot;</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="s2">&quot;:3000&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="s2">&quot;4000:&quot;</span>
<a id="__codelineno-0-62" name="__codelineno-0-62" href="#__codelineno-0-62"></a><span class="w"> </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;port&quot;</span><span class="p">:</span><span class="w"> </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="mi">80</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="mi">443</span>
<a id="__codelineno-0-66" name="__codelineno-0-66" href="#__codelineno-0-66"></a><span class="w"> </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;port_range&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="s2">&quot;1000:2000&quot;</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="s2">&quot;:3000&quot;</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="s2">&quot;4000:&quot;</span>
<a id="__codelineno-0-71" name="__codelineno-0-71" href="#__codelineno-0-71"></a><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;process_name&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="s2">&quot;curl&quot;</span>
<a id="__codelineno-0-74" name="__codelineno-0-74" href="#__codelineno-0-74"></a><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;process_path&quot;</span><span class="p">:</span><span class="w"> </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="s2">&quot;/usr/bin/curl&quot;</span>
<a id="__codelineno-0-77" name="__codelineno-0-77" href="#__codelineno-0-77"></a><span class="w"> </span><span class="p">],</span>
<a id="__codelineno-0-78" name="__codelineno-0-78" href="#__codelineno-0-78"></a><span class="w"> </span><span class="nt">&quot;package_name&quot;</span><span class="p">:</span><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="s2">&quot;com.termux&quot;</span>
<a id="__codelineno-0-80" name="__codelineno-0-80" href="#__codelineno-0-80"></a><span class="w"> </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;user&quot;</span><span class="p">:</span><span class="w"> </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="s2">&quot;sekai&quot;</span>
<a id="__codelineno-0-83" name="__codelineno-0-83" href="#__codelineno-0-83"></a><span class="w"> </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;user_id&quot;</span><span class="p">:</span><span class="w"> </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="mi">1000</span>
<a id="__codelineno-0-86" name="__codelineno-0-86" href="#__codelineno-0-86"></a><span class="w"> </span><span class="p">],</span>
<a id="__codelineno-0-87" name="__codelineno-0-87" href="#__codelineno-0-87"></a><span class="w"> </span><span class="nt">&quot;clash_mode&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;direct&quot;</span><span class="p">,</span>
<a id="__codelineno-0-88" name="__codelineno-0-88" href="#__codelineno-0-88"></a><span class="w"> </span><span class="nt">&quot;wifi_ssid&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
<a id="__codelineno-0-89" name="__codelineno-0-89" href="#__codelineno-0-89"></a><span class="w"> </span><span class="s2">&quot;My WIFI&quot;</span>
<a id="__codelineno-0-90" name="__codelineno-0-90" href="#__codelineno-0-90"></a><span class="w"> </span><span class="p">],</span>
<a id="__codelineno-0-91" name="__codelineno-0-91" href="#__codelineno-0-91"></a><span class="w"> </span><span class="nt">&quot;wifi_bssid&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
<a id="__codelineno-0-92" name="__codelineno-0-92" href="#__codelineno-0-92"></a><span class="w"> </span><span class="s2">&quot;00:00:00:00:00:00&quot;</span>
<a id="__codelineno-0-93" name="__codelineno-0-93" href="#__codelineno-0-93"></a><span class="w"> </span><span class="p">],</span>
<a id="__codelineno-0-94" name="__codelineno-0-94" href="#__codelineno-0-94"></a><span class="w"> </span><span class="nt">&quot;rule_set&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
<a id="__codelineno-0-95" name="__codelineno-0-95" href="#__codelineno-0-95"></a><span class="w"> </span><span class="s2">&quot;geoip-cn&quot;</span><span class="p">,</span>
<a id="__codelineno-0-96" name="__codelineno-0-96" href="#__codelineno-0-96"></a><span class="w"> </span><span class="s2">&quot;geosite-cn&quot;</span>
<a id="__codelineno-0-97" name="__codelineno-0-97" href="#__codelineno-0-97"></a><span class="w"> </span><span class="p">],</span>
<a id="__codelineno-0-98" name="__codelineno-0-98" href="#__codelineno-0-98"></a><span class="w"> </span><span class="nt">&quot;rule_set_ipcidr_match_source&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
<a id="__codelineno-0-99" name="__codelineno-0-99" href="#__codelineno-0-99"></a><span class="w"> </span><span class="nt">&quot;invert&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
<a id="__codelineno-0-100" name="__codelineno-0-100" href="#__codelineno-0-100"></a><span class="w"> </span><span class="nt">&quot;outbound&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
<a id="__codelineno-0-101" name="__codelineno-0-101" href="#__codelineno-0-101"></a><span class="w"> </span><span class="s2">&quot;direct&quot;</span>
<a id="__codelineno-0-102" name="__codelineno-0-102" href="#__codelineno-0-102"></a><span class="w"> </span><span class="p">],</span>
<a id="__codelineno-0-103" name="__codelineno-0-103" href="#__codelineno-0-103"></a><span class="w"> </span><span class="nt">&quot;server&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;local&quot;</span><span class="p">,</span>
<a id="__codelineno-0-104" name="__codelineno-0-104" href="#__codelineno-0-104"></a><span class="w"> </span><span class="nt">&quot;disable_cache&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
<a id="__codelineno-0-105" name="__codelineno-0-105" href="#__codelineno-0-105"></a><span class="w"> </span><span class="nt">&quot;rewrite_ttl&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">100</span><span class="p">,</span>
<a id="__codelineno-0-106" name="__codelineno-0-106" href="#__codelineno-0-106"></a><span class="w"> </span><span class="nt">&quot;client_subnet&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;127.0.0.1&quot;</span>
<a id="__codelineno-0-107" name="__codelineno-0-107" href="#__codelineno-0-107"></a><span class="w"> </span><span class="p">},</span>
<a id="__codelineno-0-108" name="__codelineno-0-108" href="#__codelineno-0-108"></a><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-0-109" name="__codelineno-0-109" href="#__codelineno-0-109"></a><span class="w"> </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;logical&quot;</span><span class="p">,</span>
<a id="__codelineno-0-110" name="__codelineno-0-110" href="#__codelineno-0-110"></a><span class="w"> </span><span class="nt">&quot;mode&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;and&quot;</span><span class="p">,</span>
<a id="__codelineno-0-111" name="__codelineno-0-111" href="#__codelineno-0-111"></a><span class="w"> </span><span class="nt">&quot;rules&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
<a id="__codelineno-0-112" name="__codelineno-0-112" href="#__codelineno-0-112"></a><span class="w"> </span><span class="nt">&quot;server&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;local&quot;</span><span class="p">,</span>
<a id="__codelineno-0-113" name="__codelineno-0-113" href="#__codelineno-0-113"></a><span class="w"> </span><span class="nt">&quot;disable_cache&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
<a id="__codelineno-0-114" name="__codelineno-0-114" href="#__codelineno-0-114"></a><span class="w"> </span><span class="nt">&quot;rewrite_ttl&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">100</span><span class="p">,</span>
<a id="__codelineno-0-115" name="__codelineno-0-115" href="#__codelineno-0-115"></a><span class="w"> </span><span class="nt">&quot;client_subnet&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;127.0.0.1&quot;</span>
<a id="__codelineno-0-116" name="__codelineno-0-116" href="#__codelineno-0-116"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-0-117" name="__codelineno-0-117" href="#__codelineno-0-117"></a><span class="w"> </span><span class="p">]</span>
<a id="__codelineno-0-118" name="__codelineno-0-118" href="#__codelineno-0-118"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-0-119" name="__codelineno-0-119" href="#__codelineno-0-119"></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>
<h3 id="default-fields">Default Fields</h3>
<div class="admonition note">
<p>The default rule uses the following matching logic:<br />
(<code>domain</code> || <code>domain_suffix</code> || <code>domain_keyword</code> || <code>domain_regex</code> || <code>geosite</code>) &amp;&amp;<br />
(<code>port</code> || <code>port_range</code>) &amp;&amp;<br />
(<code>source_geoip</code> || <code>source_ip_cidr</code> <code>source_ip_is_private</code>) &amp;&amp;<br />
(<code>source_port</code> || <code>source_port_range</code>) &amp;&amp;<br />
<code>other fields</code></p>
<p>Additionally, included rule sets can be considered merged rather than as a single rule sub-item.</p>
</div>
<h4 id="inbound">inbound</h4>
<p>Tags of <a href="/configuration/inbound/">Inbound</a>.</p>
<h4 id="ip_version">ip_version</h4>
<p>4 (A DNS query) or 6 (AAAA DNS query).</p>
<p>Not limited if empty.</p>
<h4 id="query_type">query_type</h4>
<p>DNS query type. Values can be integers or type name strings.</p>
<h4 id="network">network</h4>
<p><code>tcp</code> or <code>udp</code>.</p>
<h4 id="auth_user">auth_user</h4>
<p>Username, see each inbound for details.</p>
<h4 id="protocol">protocol</h4>
<p>Sniffed protocol, see <a href="/configuration/route/sniff/">Sniff</a> for details.</p>
<h4 id="domain">domain</h4>
<p>Match full domain.</p>
<h4 id="domain_suffix">domain_suffix</h4>
<p>Match domain suffix.</p>
<h4 id="domain_keyword">domain_keyword</h4>
<p>Match domain using keyword.</p>
<h4 id="domain_regex">domain_regex</h4>
<p>Match domain using regular expression.</p>
<h4 id="geosite">geosite</h4>
<div class="admonition failure">
<p class="admonition-title">Deprecated in sing-box 1.8.0</p>
<p>Geosite is deprecated and may be removed in the future, check <a href="/migration/#migrate-geosite-to-rule-sets">Migration</a>.</p>
</div>
<p>Match geosite.</p>
<h4 id="source_geoip">source_geoip</h4>
<div class="admonition failure">
<p class="admonition-title">Deprecated in sing-box 1.8.0</p>
<p>GeoIP is deprecated and may be removed in the future, check <a href="/migration/#migrate-geoip-to-rule-sets">Migration</a>.</p>
</div>
<p>Match source geoip.</p>
<h4 id="source_ip_cidr">source_ip_cidr</h4>
<p>Match source IP CIDR.</p>
<h4 id="source_ip_is_private">source_ip_is_private</h4>
<div class="admonition question">
<p class="admonition-title">Since sing-box 1.8.0</p>
</div>
<p>Match non-public source IP.</p>
<h4 id="source_port">source_port</h4>
<p>Match source port.</p>
<h4 id="source_port_range">source_port_range</h4>
<p>Match source port range.</p>
<h4 id="port">port</h4>
<p>Match port.</p>
<h4 id="port_range">port_range</h4>
<p>Match port range.</p>
<h4 id="process_name">process_name</h4>
<div class="admonition quote">
<p>Only supported on Linux, Windows, and macOS.</p>
</div>
<p>Match process name.</p>
<h4 id="process_path">process_path</h4>
<div class="admonition quote">
<p>Only supported on Linux, Windows, and macOS.</p>
</div>
<p>Match process path.</p>
<h4 id="package_name">package_name</h4>
<p>Match android package name.</p>
<h4 id="user">user</h4>
<div class="admonition quote">
<p>Only supported on Linux.</p>
</div>
<p>Match user name.</p>
<h4 id="user_id">user_id</h4>
<div class="admonition quote">
<p>Only supported on Linux.</p>
</div>
<p>Match user id.</p>
<h4 id="clash_mode">clash_mode</h4>
<p>Match Clash mode.</p>
<h4 id="wifi_ssid">wifi_ssid</h4>
<div class="admonition quote">
<p>Only supported in graphical clients on Android and Apple platforms.</p>
</div>
<p>Match WiFi SSID.</p>
<h4 id="wifi_bssid">wifi_bssid</h4>
<div class="admonition quote">
<p>Only supported in graphical clients on Android and Apple platforms.</p>
</div>
<p>Match WiFi BSSID.</p>
<h4 id="rule_set">rule_set</h4>
<div class="admonition question">
<p class="admonition-title">Since sing-box 1.8.0</p>
</div>
<p>Match <a href="/configuration/route/#rule_set">Rule Set</a>.</p>
<h4 id="rule_set_ipcidr_match_source">rule_set_ipcidr_match_source</h4>
<div class="admonition question">
<p class="admonition-title">Since sing-box 1.9.0</p>
</div>
<p>Make <code>ipcidr</code> in rule sets match the source IP.</p>
<h4 id="invert">invert</h4>
<p>Invert match result.</p>
<h4 id="outbound">outbound</h4>
<p>Match outbound.</p>
<p><code>any</code> can be used as a value to match any outbound.</p>
<h4 id="server">server</h4>
<p><mark>Required</mark></p>
<p>Tag of the target dns server.</p>
<h4 id="disable_cache">disable_cache</h4>
<p>Disable cache and save cache in this query.</p>
<h4 id="rewrite_ttl">rewrite_ttl</h4>
<p>Rewrite TTL in DNS responses.</p>
<h4 id="client_subnet">client_subnet</h4>
<div class="admonition question">
<p class="admonition-title">Since sing-box 1.9.0</p>
</div>
<p>Append a <code>edns0-subnet</code> OPT extra record with the specified IP address to every query by default.</p>
<p>Will overrides <code>dns.client_subnet</code> and <code>servers.[].client_subnet</code>.</p>
<h3 id="address-filter-fields">Address Filter Fields</h3>
<p>Only takes effect for IP address requests. When the query results do not match the address filtering rule items, the current rule will be skipped.</p>
<div class="admonition info">
<p><code>ip_cidr</code> items in included rule sets also takes effect as an address filtering field.</p>
</div>
<div class="admonition note">
<p>Enable <code>experimental.cache_file.store_rdrc</code> to cache results.</p>
</div>
<h4 id="geoip">geoip</h4>
<div class="admonition question">
<p class="admonition-title">Since sing-box 1.9.0</p>
</div>
<p>Match GeoIP with query response.</p>
<h4 id="ip_cidr">ip_cidr</h4>
<div class="admonition question">
<p class="admonition-title">Since sing-box 1.9.0</p>
</div>
<p>Match IP CIDR with query response.</p>
<h4 id="ip_is_private">ip_is_private</h4>
<div class="admonition question">
<p class="admonition-title">Since sing-box 1.9.0</p>
</div>
<p>Match private IP with query response.</p>
<h3 id="logical-fields">Logical Fields</h3>
<h4 id="type">type</h4>
<p><code>logical</code></p>
<h4 id="mode">mode</h4>
<p><code>and</code> or <code>or</code></p>
<h4 id="rules">rules</h4>
<p>Included rules.</p>
</article>
</div>
</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 496 512"><!--! Font Awesome Free 6.4.2 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 2023 Fonticons, Inc.--><path d="M165.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.6zm-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.3zm44.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.9zM244.8 8C106.1 8 0 113.3 0 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.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.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-1zm-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.7zm32.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-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></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">{"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.f886a092.min.js", "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"}}</script>
<script src="../../../assets/javascripts/bundle.81fa17fe.min.js"></script>
</body>
</html>