Skip to content

Latest commit

 

History

History
62 lines (43 loc) · 9.5 KB

README.md

File metadata and controls

62 lines (43 loc) · 9.5 KB

Mistgate documentation

The user and operator documentation of Mistgate, a self-hosted panel for your own VPN fleet, in English (en/), Russian (ru/) and Simplified Chinese (zh/). Every page exists in all three languages under the same path. The same pages, with search and a sidebar, are published at mistgate.app (Russian: mistgate.app/ru, Chinese: mistgate.app/zh); this directory is their source and reads the same on GitHub.

Документация на русском: ru/index.md или mistgate.app/ru.

简体中文文档:zh/index.md 或 mistgate.app/zh。

What is where

Section English Русский 简体中文 For
Getting started en/getting-started ru/getting-started zh/getting-started Concepts, requirements, installing the panel and the first node, the first users, the AI agent prompts.
Guide en/guide ru/guide zh/guide Day-to-day work in the admin: nodes, profiles, Hysteria2, AmneziaWG, WARP, users, subscriptions, the user page, DNS, torrent protection.
Operations en/operations ru/operations zh/operations Health, reachability from a country, Telegram alerts, updates, releases and signing, encrypted backups, security, troubleshooting.
Roadmap en/roadmap ru/roadmap zh/roadmap What is done, what comes next, the known limits.
Reference en/reference ru/reference zh/reference Every command and flag, the configuration, the API, the MCP server, the architecture, the FAQ, the comparison with other panels, the benchmarks.

The full page list, in reading order, is in en/index.md, ru/index.md and zh/index.md.

Reading paths

I want to install Mistgate.

  1. Overview (ru, zh) and Requirements (ru, zh).
  2. Install the panel (ru, zh) from the official release, or let an agent do it with the install prompt in the AI agent guide (ru, zh). To run the panel on Cloudflare Workers instead of a server (a preview), see Install the Cloudflare edition (ru, zh).
  3. Install a node over SSH (ru, zh), or add a node by hand (ru, zh).
  4. First users (ru, zh), then Security (ru, zh) and encrypted backups (ru, zh).

I run a fleet.

I integrate an agent or a script.

  • AI agent guide (ru, zh): ready prompts for installing the panel, running the fleet through MCP and contributing.
  • MCP (ru, zh) and API (ru, zh): tokens, profiles, every tool, plan / apply and owner approvals.
  • llms.txt on the site lists every page with a one-line summary.

I contribute.

Notes for editors and site builders

The site is built by site/build.mjs from docs/en, docs/ru and docs/zh:

pnpm --dir site install --frozen-lockfile
pnpm --dir site build    # site/dist; fails on a broken internal link
pnpm --dir site test
  • Mirrors. en/, ru/ and zh/ hold the same pages at the same paths, with the same headings, code blocks, tables and table rows (site/test/parity.test.mjs checks it); a language switch maps en/<path> to ru/<path> and zh/<path>. Sections are directories; index.md of each language is the only start page.
  • Front matter. Every page starts with YAML front matter with title (the H1 and the sidebar label) and description (one sentence, used as the meta description). Quote a value that contains ": ". The body has no H1 and starts with a sentence or two, then H2 and H3 sections.
  • Links between pages are relative .md links within the same language; the site rewrites them, GitHub follows them as they are.
  • Callouts are blockquotes that start with **Note:**, **Tip:**, **Warning:** or **Danger:** (Russian: **Важно:**, **Совет:**, **Внимание:**, **Опасно:**; Chinese: **注意:**, **提示:**, **警告:**, **危险:**, each followed by a space); the site styles them, GitHub shows plain quotes and the wiki shows them as alerts. Danger is for what cannot be undone, such as a lost key. A feature that is not in the code yet is marked with the bold word Planned (Russian: Планируется, Chinese: 计划中). In Chinese a bold span must not end in full-width punctuation that touches the next word: write **获取次数**。 or put a space after the closing **, or CommonMark leaves the asterisks in the text (site/test/docs.test.mjs renders every page and fails on them).
  • Style. Code blocks always carry a language tag (sh, text, json, ini, toml, yaml); a word after it names the file (```ini /etc/systemd/system/mistgate.service). No screenshots in the pages: pictures are diagrams (below); only the site's home page shows the README's admin screenshot. Examples use reserved names only: panel.example.com, nodes such as de1 and nl1, 203.0.113.0/24, 2001:db8::/32, the user Alice. Russian pages address the reader as «вы» and use the admin's own Russian labels from web/src/i18n; Chinese pages address the reader as 你 (or with no pronoun) and quote the admin's own Chinese labels from web/src/i18n/zh.ts.
  • Diagrams. A drawing is an SVG in <lang>/diagrams/, in both languages under the same name and canvas, put on a line of its own: ![what it shows, in a sentence](../diagrams/name.svg). The site inlines it so it follows the theme; GitHub and the wiki show the file, which carries its own light and dark colours in one <style> scoped to .mgd (site/test/diagrams.test.mjs checks both files). Sequences, states and small flows are ```mermaid blocks with an accTitle: line: GitHub renders them itself, the site renders them at build time. The SVG diagrams are drawn by small scripts in site/diagrams/ (svgkit.mjs plus one gen-*.mjs per group): change the script and run it with node, then commit the scripts and the regenerated files together.
  • Sidebar order comes only from the list under "All pages" in <lang>/index.md: its H3 headings are the groups, its links the pages in order. When a page is added, removed or moved, change that list in both languages; a moved page also gets an entry in MOVED in site/build.mjs, which writes the _redirects file.