Skip to content

Repository files navigation

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>LinkSocks Documentation | LinkSocks</title>
    <meta name="description" content="SOCKS5 over WebSocket proxy tool">
    <meta name="generator" content="VitePress v1.6.4">
    <link rel="preload stylesheet" href="/assets/style.DFNlf6li.css" as="style">
    <link rel="preload stylesheet" href="/vp-icons.css" as="style">
    
    <script type="module" src="/assets/app.C26ZXiZq.js"></script>
    <link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
    <link rel="modulepreload" href="/assets/chunks/theme.BSNFPWzt.js">
    <link rel="modulepreload" href="/assets/chunks/framework.BK6ObQf6.js">
    <link rel="modulepreload" href="/assets/README.md.BvF9aUFh.lean.js">
    <link rel="icon" href="/favicon.ico">
    <script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
    <script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
    <script>import("/pagefind/pagefind.js").then(i=>{window.__pagefind__=i,i.init()}).catch(()=>{});</script>
  </head>
  <body>
    <div id="app"><div class="Layout" data-v-a1794e3e><!--[--><!--]--><!--[--><span tabindex="-1" data-v-9670e46b></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-9670e46b>Skip to content</a><!--]--><!----><header class="VPNav" data-v-a1794e3e data-v-53f60193><div class="VPNavBar" data-v-53f60193 data-v-a615dab1><div class="wrapper" data-v-a615dab1><div class="container" data-v-a615dab1><div class="title" data-v-a615dab1><div class="VPNavBarTitle has-sidebar" data-v-a615dab1 data-v-f1837148><a class="title" href="/" data-v-f1837148><!--[--><!--]--><!--[--><img class="VPImage logo" src="/logo.png" alt data-v-9655d215><!--]--><span data-v-f1837148>LinkSocks</span><!--[--><!--]--></a></div></div><div class="content" data-v-a615dab1><div class="content-body" data-v-a615dab1><!--[--><!--]--><div class="blog-search search" data-pagefind-ignore="all" data-v-a615dab1 data-v-3eaaac09><div class="nav-search-btn-wait" data-v-3eaaac09><span data-v-3eaaac09><svg width="14" height="14" viewBox="0 0 20 20" data-v-3eaaac09><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" data-v-3eaaac09></path></svg></span><span class="search-tip" data-v-3eaaac09>Search</span><span class="metaKey" data-v-3eaaac09> K </span></div><!----></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-a615dab1 data-v-240ccc60><span id="main-nav-aria-label" class="visually-hidden" data-v-240ccc60> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/guide/" tabindex="0" data-v-240ccc60 data-v-00192d57><!--[--><span data-v-00192d57>Guide</span><!--]--></a><!--]--><!--[--><a class="VPLink link vp-external-link-icon VPNavBarMenuLink" href="https://github.com/linksocks/linksocks" target="_blank" rel="noreferrer" tabindex="0" data-v-240ccc60 data-v-00192d57><!--[--><span data-v-00192d57>GitHub</span><!--]--></a><!--]--><!--]--></nav><div class="VPFlyout VPNavBarTranslations translations" data-v-a615dab1 data-v-3132eb31 data-v-7295f242><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="Change language" data-v-7295f242><span class="text" data-v-7295f242><span class="vpi-languages option-icon" data-v-7295f242></span><!----><span class="vpi-chevron-down text-icon" data-v-7295f242></span></span></button><div class="menu" data-v-7295f242><div class="VPMenu" data-v-7295f242 data-v-3c45b5d7><!----><!--[--><!--[--><div class="items" data-v-3132eb31><p class="title" data-v-3132eb31>English</p><!--[--><div class="VPMenuLink" data-v-3132eb31 data-v-c12db963><a class="VPLink link" href="/zh/README" data-v-c12db963><!--[--><span data-v-c12db963>简体中文</span><!--]--></a></div><!--]--></div><!--]--><!--]--></div></div></div><div class="VPNavBarAppearance appearance" data-v-a615dab1 data-v-d6e88cb3><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-d6e88cb3 data-v-5ca67d9b data-v-a96f791b><span class="check" data-v-a96f791b><span class="icon" data-v-a96f791b><!--[--><span class="vpi-sun sun" data-v-5ca67d9b></span><span class="vpi-moon moon" data-v-5ca67d9b></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-a615dab1 data-v-9cd783da data-v-f5e29c48><!--[--><a class="VPSocialLink no-icon" href="https://github.com/linksocks/linksocks" aria-label="github" target="_blank" rel="noopener" data-v-f5e29c48 data-v-dd947ca0><span class="vpi-social-github"></span></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-a615dab1 data-v-d9f99f90 data-v-7295f242><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-7295f242><span class="vpi-more-horizontal icon" data-v-7295f242></span></button><div class="menu" data-v-7295f242><div class="VPMenu" data-v-7295f242 data-v-3c45b5d7><!----><!--[--><!--[--><div class="group translations" data-v-d9f99f90><p class="trans-title" data-v-d9f99f90>English</p><!--[--><div class="VPMenuLink" data-v-d9f99f90 data-v-c12db963><a class="VPLink link" href="/zh/README" data-v-c12db963><!--[--><span data-v-c12db963>简体中文</span><!--]--></a></div><!--]--></div><div class="group" data-v-d9f99f90><div class="item appearance" data-v-d9f99f90><p class="label" data-v-d9f99f90>Appearance</p><div class="appearance-action" data-v-d9f99f90><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-d9f99f90 data-v-5ca67d9b data-v-a96f791b><span class="check" data-v-a96f791b><span class="icon" data-v-a96f791b><!--[--><span class="vpi-sun sun" data-v-5ca67d9b></span><span class="vpi-moon moon" data-v-5ca67d9b></span><!--]--></span></span></button></div></div></div><div class="group" data-v-d9f99f90><div class="item social-links" data-v-d9f99f90><div class="VPSocialLinks social-links-list" data-v-d9f99f90 data-v-f5e29c48><!--[--><a class="VPSocialLink no-icon" href="https://github.com/linksocks/linksocks" aria-label="github" target="_blank" rel="noopener" data-v-f5e29c48 data-v-dd947ca0><span class="vpi-social-github"></span></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-a615dab1 data-v-89de3d6d><span class="container" data-v-89de3d6d><span class="top" data-v-89de3d6d></span><span class="middle" data-v-89de3d6d></span><span class="bottom" data-v-89de3d6d></span></span></button></div></div></div></div><div class="divider" data-v-a615dab1><div class="divider-line" data-v-a615dab1></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-a1794e3e data-v-34fa488e><div class="container" data-v-34fa488e><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-34fa488e><span class="vpi-align-left menu-icon" data-v-34fa488e></span><span class="menu-text" data-v-34fa488e>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-34fa488e data-v-fab2598f><button data-v-fab2598f>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-a1794e3e data-v-8b88b105><div class="curtain" data-v-8b88b105></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-8b88b105><span class="visually-hidden" id="sidebar-aria-label" data-v-8b88b105> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-ceff562d><section class="VPSidebarItem level-0" data-v-ceff562d data-v-ba41a39d><div class="item" role="button" tabindex="0" data-v-ba41a39d><div class="indicator" data-v-ba41a39d></div><h2 class="text" data-v-ba41a39d>Getting Started</h2><!----></div><div class="items" data-v-ba41a39d><!--[--><div class="VPSidebarItem level-1 is-link" data-v-ba41a39d data-v-ba41a39d><div class="item" data-v-ba41a39d><div class="indicator" data-v-ba41a39d></div><a class="VPLink link link" href="/guide/" data-v-ba41a39d><!--[--><p class="text" data-v-ba41a39d>Introduction</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-ba41a39d data-v-ba41a39d><div class="item" data-v-ba41a39d><div class="indicator" data-v-ba41a39d></div><a class="VPLink link link" href="/guide/principles" data-v-ba41a39d><!--[--><p class="text" data-v-ba41a39d>How It Works</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-ba41a39d data-v-ba41a39d><div class="item" data-v-ba41a39d><div class="indicator" data-v-ba41a39d></div><a class="VPLink link link" href="/guide/quick-start" data-v-ba41a39d><!--[--><p class="text" data-v-ba41a39d>Quick Start</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-ceff562d><section class="VPSidebarItem level-0" data-v-ceff562d data-v-ba41a39d><div class="item" role="button" tabindex="0" data-v-ba41a39d><div class="indicator" data-v-ba41a39d></div><h2 class="text" data-v-ba41a39d>Advanced Topics</h2><!----></div><div class="items" data-v-ba41a39d><!--[--><div class="VPSidebarItem level-1 is-link" data-v-ba41a39d data-v-ba41a39d><div class="item" data-v-ba41a39d><div class="indicator" data-v-ba41a39d></div><a class="VPLink link link" href="/guide/cli-options" data-v-ba41a39d><!--[--><p class="text" data-v-ba41a39d>Command-line Options</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-ba41a39d data-v-ba41a39d><div class="item" data-v-ba41a39d><div class="indicator" data-v-ba41a39d></div><a class="VPLink link link" href="/guide/authentication" data-v-ba41a39d><!--[--><p class="text" data-v-ba41a39d>Authentication</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-ba41a39d data-v-ba41a39d><div class="item" data-v-ba41a39d><div class="indicator" data-v-ba41a39d></div><a class="VPLink link link" href="/guide/load-balancing" data-v-ba41a39d><!--[--><p class="text" data-v-ba41a39d>Load Balancing</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-ba41a39d data-v-ba41a39d><div class="item" data-v-ba41a39d><div class="indicator" data-v-ba41a39d></div><a class="VPLink link link" href="/guide/fast-open" data-v-ba41a39d><!--[--><p class="text" data-v-ba41a39d>Fast Open</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-ba41a39d data-v-ba41a39d><div class="item" data-v-ba41a39d><div class="indicator" data-v-ba41a39d></div><a class="VPLink link link" href="/guide/access-control" data-v-ba41a39d><!--[--><p class="text" data-v-ba41a39d>Access Control</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-ba41a39d data-v-ba41a39d><div class="item" data-v-ba41a39d><div class="indicator" data-v-ba41a39d></div><a class="VPLink link link" href="/guide/message-protocol" data-v-ba41a39d><!--[--><p class="text" data-v-ba41a39d>Message Protocol</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-ba41a39d data-v-ba41a39d><div class="item" data-v-ba41a39d><div class="indicator" data-v-ba41a39d></div><a class="VPLink link link" href="/guide/http-api" data-v-ba41a39d><!--[--><p class="text" data-v-ba41a39d>HTTP API</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-ceff562d><section class="VPSidebarItem level-0" data-v-ceff562d data-v-ba41a39d><div class="item" role="button" tabindex="0" data-v-ba41a39d><div class="indicator" data-v-ba41a39d></div><h2 class="text" data-v-ba41a39d>Python Library</h2><!----></div><div class="items" data-v-ba41a39d><!--[--><div class="VPSidebarItem level-1 is-link" data-v-ba41a39d data-v-ba41a39d><div class="item" data-v-ba41a39d><div class="indicator" data-v-ba41a39d></div><a class="VPLink link link" href="/python/" data-v-ba41a39d><!--[--><p class="text" data-v-ba41a39d>Overview</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-ba41a39d data-v-ba41a39d><div class="item" data-v-ba41a39d><div class="indicator" data-v-ba41a39d></div><a class="VPLink link link" href="/python/server" data-v-ba41a39d><!--[--><p class="text" data-v-ba41a39d>Server Class</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-ba41a39d data-v-ba41a39d><div class="item" data-v-ba41a39d><div class="indicator" data-v-ba41a39d></div><a class="VPLink link link" href="/python/client" data-v-ba41a39d><!--[--><p class="text" data-v-ba41a39d>Client Class</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-ba41a39d data-v-ba41a39d><div class="item" data-v-ba41a39d><div class="indicator" data-v-ba41a39d></div><a class="VPLink link link" href="/python/utilities" data-v-ba41a39d><!--[--><p class="text" data-v-ba41a39d>Utilities</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-ceff562d><section class="VPSidebarItem level-0" data-v-ceff562d data-v-ba41a39d><div class="item" role="button" tabindex="0" data-v-ba41a39d><div class="indicator" data-v-ba41a39d></div><h2 class="text" data-v-ba41a39d>Go Library</h2><!----></div><div class="items" data-v-ba41a39d><!--[--><div class="VPSidebarItem level-1 is-link" data-v-ba41a39d data-v-ba41a39d><div class="item" data-v-ba41a39d><div class="indicator" data-v-ba41a39d></div><a class="VPLink link link" href="/go/" data-v-ba41a39d><!--[--><p class="text" data-v-ba41a39d>Overview</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-ba41a39d data-v-ba41a39d><div class="item" data-v-ba41a39d><div class="indicator" data-v-ba41a39d></div><a class="VPLink link link" href="/go/library" data-v-ba41a39d><!--[--><p class="text" data-v-ba41a39d>Library Usage</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-ba41a39d data-v-ba41a39d><div class="item" data-v-ba41a39d><div class="indicator" data-v-ba41a39d></div><a class="VPLink link link" href="/go/examples" data-v-ba41a39d><!--[--><p class="text" data-v-ba41a39d>Examples</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-a1794e3e data-v-00d82fe2><div class="VPDoc has-sidebar has-aside" data-v-00d82fe2 data-v-fc28d141><!--[--><!--]--><div class="container" data-v-fc28d141><div class="aside" data-v-fc28d141><div class="aside-curtain" data-v-fc28d141></div><div class="aside-container" data-v-fc28d141><div class="aside-content" data-v-fc28d141><div class="VPDocAside" data-v-fc28d141 data-v-65eee3b0><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-65eee3b0 data-v-5129042d><div class="content" data-v-5129042d><div class="outline-marker" data-v-5129042d></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-5129042d>On this page</div><ul class="VPDocOutlineItem root" data-v-5129042d data-v-52e780f0><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-65eee3b0></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-fc28d141><div class="content-container" data-v-fc28d141><!--[--><!--]--><main class="main" data-v-fc28d141><div style="position:relative;" class="vp-doc _README" data-v-fc28d141><div data-pagefind-body="true"><h1 id="linksocks-documentation" tabindex="-1">LinkSocks Documentation <a class="header-anchor" href="#linksocks-documentation" aria-label="Permalink to &quot;LinkSocks Documentation&quot;">​</a></h1><p>This directory contains the VitePress documentation for LinkSocks.</p><h2 id="development" tabindex="-1">Development <a class="header-anchor" href="#development" aria-label="Permalink to &quot;Development&quot;">​</a></h2><h3 id="prerequisites" tabindex="-1">Prerequisites <a class="header-anchor" href="#prerequisites" aria-label="Permalink to &quot;Prerequisites&quot;">​</a></h3><ul><li>Node.js 18 or later</li><li>npm or yarn</li></ul><h3 id="setup" tabindex="-1">Setup <a class="header-anchor" href="#setup" aria-label="Permalink to &quot;Setup&quot;">​</a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">cd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> docs</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> install</span></span></code></pre></div><h3 id="development-server" tabindex="-1">Development Server <a class="header-anchor" href="#development-server" aria-label="Permalink to &quot;Development Server&quot;">​</a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> dev</span></span></code></pre></div><p>This will start the VitePress development server at <code>http://localhost:5173</code>.</p><h3 id="build" tabindex="-1">Build <a class="header-anchor" href="#build" aria-label="Permalink to &quot;Build&quot;">​</a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> build</span></span></code></pre></div><p>The built documentation will be in the <code>dist</code> directory.</p><h3 id="preview" tabindex="-1">Preview <a class="header-anchor" href="#preview" aria-label="Permalink to &quot;Preview&quot;">​</a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> preview</span></span></code></pre></div><p>Preview the built documentation locally.</p><h2 id="structure" tabindex="-1">Structure <a class="header-anchor" href="#structure" aria-label="Permalink to &quot;Structure&quot;">​</a></h2><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>docs/</span></span>
<span class="line"><span>├── .vitepress/</span></span>
<span class="line"><span>│   ├── config.mts         # VitePress configuration (includes Pagefind search)</span></span>
<span class="line"><span>│   └── theme/             # Custom theme overrides</span></span>
<span class="line"><span>├── guide/                 # User guide</span></span>
<span class="line"><span>├── python/                # Python bindings documentation</span></span>
<span class="line"><span>├── go/                    # Go CLI and library documentation</span></span>
<span class="line"><span>├── zh/                    # Simplified Chinese translations</span></span>
<span class="line"><span>├── index.md               # Homepage</span></span>
<span class="line"><span>└── package.json           # Dependencies</span></span></code></pre></div><h2 id="search" tabindex="-1">Search <a class="header-anchor" href="#search" aria-label="Permalink to &quot;Search&quot;">​</a></h2><p>Full-text search is powered by <a href="https://pagefind.app/" target="_blank" rel="noreferrer">Pagefind</a> via <code>vitepress-plugin-pagefind</code>. Indexes are generated during <code>pnpm build</code> and support both English and Chinese queries (with <code>chineseSearchOptimize</code> for CJK segmentation). The search UI strings are localized per locale.</p><h2 id="contributing" tabindex="-1">Contributing <a class="header-anchor" href="#contributing" aria-label="Permalink to &quot;Contributing&quot;">​</a></h2><p>When adding new documentation:</p><ol><li>Follow the existing structure and naming conventions</li><li>Update the sidebar navigation in <code>.vitepress/config.mts</code></li><li>Use clear headings and code examples</li><li>Test locally before submitting PRs</li></ol><h2 id="deployment" tabindex="-1">Deployment <a class="header-anchor" href="#deployment" aria-label="Permalink to &quot;Deployment&quot;">​</a></h2><p>The documentation is automatically deployed to GitHub Pages when changes are pushed to the main branch.</p></div></div></main><footer class="VPDocFooter" data-v-fc28d141 data-v-a72ba930><!--[--><!--]--><div class="edit-info" data-v-a72ba930><div class="edit-link" data-v-a72ba930><a class="VPLink link vp-external-link-icon no-icon edit-link-button" href="https://github.com/linksocks/linksocks/edit/main/docs/README.md" target="_blank" rel="noreferrer" data-v-a72ba930><!--[--><span class="vpi-square-pen edit-link-icon" data-v-a72ba930></span> Edit this page on GitHub<!--]--></a></div><div class="last-updated" data-v-a72ba930><p class="VPLastUpdated" data-v-a72ba930 data-v-d058d0d8>Updated at: <time datetime="2026-07-28T16:06:56.000Z" data-v-d058d0d8></time></p></div></div><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-a72ba930><span class="visually-hidden" id="doc-footer-aria-label" data-v-a72ba930>Pager</span><div class="pager" data-v-a72ba930><!----></div><div class="pager" data-v-a72ba930><a class="VPLink link pager-link next" href="/guide/" data-v-a72ba930><!--[--><span class="desc" data-v-a72ba930>Next page</span><span class="title" data-v-a72ba930>Introduction</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-a1794e3e data-v-89807522><div class="container" data-v-89807522><p class="message" data-v-89807522>Released under the MIT License.</p><p class="copyright" data-v-89807522>Copyright © 2025 LinkSocks Contributors</p></div></footer><!--[--><!--]--></div></div>
    <script>window.__VP_HASH_MAP__=JSON.parse("{\"go_examples.md\":\"IbvRYXz3\",\"go_index.md\":\"BHVPVNrY\",\"go_library.md\":\"BICFMk5C\",\"guide_access-control.md\":\"ChjB_vzH\",\"guide_authentication.md\":\"DpKk9F2U\",\"guide_cli-options.md\":\"bbb_EuIN\",\"guide_fast-open.md\":\"DXeon1xA\",\"guide_http-api.md\":\"CZn8cK_J\",\"guide_index.md\":\"BPlN9hpf\",\"guide_load-balancing.md\":\"C8zOmCzs\",\"guide_message-protocol.md\":\"UBqa033v\",\"guide_principles.md\":\"C7CqstpV\",\"guide_quick-start.md\":\"2_kfqQIb\",\"index.md\":\"CaDk-KJm\",\"python_client.md\":\"DSt06S3O\",\"python_index.md\":\"COoVfD1T\",\"python_server.md\":\"C_4kv-OL\",\"python_utilities.md\":\"Sctj3zhN\",\"readme.md\":\"BvF9aUFh\",\"zh_go_examples.md\":\"Cibm70WR\",\"zh_go_index.md\":\"CG9bUihB\",\"zh_go_library.md\":\"DYRKc3qw\",\"zh_guide_access-control.md\":\"DazV4w76\",\"zh_guide_authentication.md\":\"BmrCqBtT\",\"zh_guide_cli-options.md\":\"D4o6INFI\",\"zh_guide_fast-open.md\":\"DQ45Asfd\",\"zh_guide_http-api.md\":\"Ci3ba9X-\",\"zh_guide_index.md\":\"COwi2UqH\",\"zh_guide_load-balancing.md\":\"BBpZuJyX\",\"zh_guide_message-protocol.md\":\"tILwACaX\",\"zh_guide_principles.md\":\"BJa7Dy2K\",\"zh_guide_quick-start.md\":\"BWIHSSSK\",\"zh_index.md\":\"BTwv97C8\",\"zh_python_client.md\":\"04FDjxjp\",\"zh_python_index.md\":\"It3qwHgZ\",\"zh_python_server.md\":\"C1JlNR7P\",\"zh_python_utilities.md\":\"BfnBnAZ6\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"LinkSocks\",\"description\":\"SOCKS5 over WebSocket proxy tool\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{},\"locales\":{\"root\":{\"label\":\"English\",\"lang\":\"en\",\"title\":\"LinkSocks\",\"description\":\"SOCKS5 over WebSocket proxy tool\",\"themeConfig\":{\"logo\":\"/logo.png\",\"nav\":[{\"text\":\"Guide\",\"link\":\"/guide/\"},{\"text\":\"GitHub\",\"link\":\"https://github.com/linksocks/linksocks\"}],\"sidebar\":[{\"text\":\"Getting Started\",\"items\":[{\"text\":\"Introduction\",\"link\":\"/guide/\"},{\"text\":\"How It Works\",\"link\":\"/guide/principles\"},{\"text\":\"Quick Start\",\"link\":\"/guide/quick-start\"}]},{\"text\":\"Advanced Topics\",\"items\":[{\"text\":\"Command-line Options\",\"link\":\"/guide/cli-options\"},{\"text\":\"Authentication\",\"link\":\"/guide/authentication\"},{\"text\":\"Load Balancing\",\"link\":\"/guide/load-balancing\"},{\"text\":\"Fast Open\",\"link\":\"/guide/fast-open\"},{\"text\":\"Access Control\",\"link\":\"/guide/access-control\"},{\"text\":\"Message Protocol\",\"link\":\"/guide/message-protocol\"},{\"text\":\"HTTP API\",\"link\":\"/guide/http-api\"}]},{\"text\":\"Python Library\",\"items\":[{\"text\":\"Overview\",\"link\":\"/python/\"},{\"text\":\"Server Class\",\"link\":\"/python/server\"},{\"text\":\"Client Class\",\"link\":\"/python/client\"},{\"text\":\"Utilities\",\"link\":\"/python/utilities\"}]},{\"text\":\"Go Library\",\"items\":[{\"text\":\"Overview\",\"link\":\"/go/\"},{\"text\":\"Library Usage\",\"link\":\"/go/library\"},{\"text\":\"Examples\",\"link\":\"/go/examples\"}]}],\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/linksocks/linksocks\"}],\"footer\":{\"message\":\"Released under the MIT License.\",\"copyright\":\"Copyright © 2025 LinkSocks Contributors\"},\"editLink\":{\"pattern\":\"https://github.com/linksocks/linksocks/edit/main/docs/:path\",\"text\":\"Edit this page on GitHub\"},\"lastUpdated\":{\"text\":\"Updated at\",\"formatOptions\":{\"dateStyle\":\"full\",\"timeStyle\":\"medium\"}}}},\"zh\":{\"label\":\"简体中文\",\"lang\":\"zh-CN\",\"title\":\"LinkSocks\",\"description\":\"基于 WebSocket 的 SOCKS5 代理工具\",\"themeConfig\":{\"logo\":\"/logo.png\",\"nav\":[{\"text\":\"指南\",\"link\":\"/zh/guide/\"},{\"text\":\"GitHub\",\"link\":\"https://github.com/linksocks/linksocks\"}],\"sidebar\":[{\"text\":\"快速开始\",\"items\":[{\"text\":\"介绍\",\"link\":\"/zh/guide/\"},{\"text\":\"工作原理\",\"link\":\"/zh/guide/principles\"},{\"text\":\"快速入门\",\"link\":\"/zh/guide/quick-start\"}]},{\"text\":\"进阶主题\",\"items\":[{\"text\":\"命令行选项\",\"link\":\"/zh/guide/cli-options\"},{\"text\":\"身份验证\",\"link\":\"/zh/guide/authentication\"},{\"text\":\"负载均衡\",\"link\":\"/zh/guide/load-balancing\"},{\"text\":\"快速打开\",\"link\":\"/zh/guide/fast-open\"},{\"text\":\"访问控制\",\"link\":\"/zh/guide/access-control\"},{\"text\":\"消息协议\",\"link\":\"/zh/guide/message-protocol\"},{\"text\":\"HTTP API\",\"link\":\"/zh/guide/http-api\"}]},{\"text\":\"Python 库\",\"items\":[{\"text\":\"概述\",\"link\":\"/zh/python/\"},{\"text\":\"Server 类\",\"link\":\"/zh/python/server\"},{\"text\":\"Client 类\",\"link\":\"/zh/python/client\"},{\"text\":\"工具函数\",\"link\":\"/zh/python/utilities\"}]},{\"text\":\"Go 库\",\"items\":[{\"text\":\"概述\",\"link\":\"/zh/go/\"},{\"text\":\"库的使用\",\"link\":\"/zh/go/library\"},{\"text\":\"示例\",\"link\":\"/zh/go/examples\"}]}],\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/linksocks/linksocks\"}],\"footer\":{\"message\":\"基于 MIT 许可证发布。\",\"copyright\":\"版权所有 © 2025 LinkSocks 贡献者\"},\"editLink\":{\"pattern\":\"https://github.com/linksocks/linksocks/edit/main/docs/:path\",\"text\":\"在 GitHub 上编辑此页\"},\"lastUpdated\":{\"text\":\"最后更新于\",\"formatOptions\":{\"dateStyle\":\"full\",\"timeStyle\":\"medium\"}}}}},\"scrollOffset\":134,\"cleanUrls\":true}");</script>
    
  </body>
</html>

About

Linksocks docs

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages