diff --git a/docs/vpn/advanced/caddy.md b/docs/vpn/advanced/caddy.md deleted file mode 100644 index c77937443..000000000 --- a/docs/vpn/advanced/caddy.md +++ /dev/null @@ -1,169 +0,0 @@ ---- -title: "Deploy with Automatic HTTPS Using Caddy" -sidebar_label: "HTTPS with Caddy" ---- - -# Automatic HTTPS with Caddy - -This guide explains how to use [Caddy](https://caddyserver.com/), a powerful and -user-friendly web server, to enhance your Outline server setup. Caddy's -[automatic HTTPS](https://caddyserver.com/docs/automatic-https) capabilities and -flexible configuration make it an excellent choice for serving your Outline -server, especially when using a WebSocket transport. - -## What is Caddy? - -Caddy is an open-source web server known for its ease of use, automatic HTTPS, -and support for various protocols. It simplifies web server configuration and -offers features like: - -- **Automatic HTTPS:** Caddy automatically obtains and renews TLS - certificates, ensuring secure connections. -- **HTTP/3 Support:** Caddy supports the latest HTTP/3 protocol for faster and - more efficient web traffic. -- **Extensible with Plugins:** Caddy can be extended with plugins to support - various functionalities, including reverse proxying and load balancing. - -## Step 1: Prerequisites - -- Download and install [`xcaddy`](https://github.com/caddyserver/xcaddy) - -## Step 2: Configure Your Domain - -Before starting Caddy, ensure your domain name is correctly configured to point -to your server's IP address. - -- **Set A/AAAA records:** Sign in to your DNS provider and set the A and AAAA - records for your domain to point to your server's IPv4 and IPv6 addresses, - respectively. -- **Verify DNS records:** Verify your DNS records are set correctly with an - authoritative lookup: - - ```sh - curl "https://cloudflare-dns.com/dns-query?name=&type=A" \ - -H "accept: application/dns-json" - ``` - -## Step 3: Build and Run a Custom Caddy Build - -Using `xcaddy`, you can build a custom `caddy` binary that includes the Outline -core server module and other needed server extension modules. - -```sh -xcaddy build \ - # The example uses a YAML config, so include a YAML config adapter module. - --with github.com/iamd3vil/caddy_yaml_adapter \ - # The Outline core server module. - --with github.com/OutlineFoundation/outline-ss-server/outlinecaddy -``` - -## Step 4: Configure and Run the Caddy Server with Outline - -Create a new `config.yaml` file with the following configuration: - -```yaml -apps: - http: - servers: - server1: - listen: - - ":443" - routes: - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: stream - connection_handler: ss1 - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: packet - connection_handler: ss1 - outline: - shadowsocks: - replay_history: 10000 - connection_handlers: - - name: ss1 - handle: - handler: shadowsocks - keys: - - id: user-1 - cipher: chacha20-ietf-poly1305 - secret: -``` - -:::warning[Important] -Keep the `path` secret to avoid probing. It acts as a secret -endpoint. A long, randomly generated path is recommended. -::: - -This configuration represents a Shadowsocks-over-WebSockets strategy with a web -server listening on port `443`, accepting TCP and UDP Shadowsocks wrapped traffic at paths `/` and `/` respectively. - -Run the Caddy server extended with Outline using the created configuration: - -```sh -caddy run --config config.yaml --adapter yaml --watch -``` - -:::note -The example uses YAML because it's more readable and easier to annotate, -but you can also use JSON (Caddy's native config language) directly. If you use -that, you can run without the `--adapter yaml` flag and remove the YAML adapter -dependency in the [build and run step](#step-3-build-and-run-a-custom-caddy-build). -::: - -You can find more example configs in our [outline-ss-server/outlinecaddy GitHub -repo](https://github.com/OutlineFoundation/outline-ss-server/tree/master/outlinecaddy/examples). - -## Step 5: Create a Dynamic Access Key - -Generate a client access key YAML file for your users using the [advanced -configuration](../management/config) format and include the WebSocket endpoints -previously configured on the server side: - -```yaml -transport: - $type: tcpudp - - tcp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: - - udp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: -``` - -After generating the dynamic access key YAML file, you need to get it to your -users. You can host the file on a static web hosting service or dynamically -generate it. Learn more about how to use [Dynamic Access -Keys](../management/dynamic-access-keys). - -## Step 6: Connect with the Outline Client - -Use one of the official [Outline Client](../../download-links.md) -applications (versions 1.15.0+) and add your newly created dynamic access key as -a server entry. Click **Connect** to start tunneling to your server using the -Shadowsocks-over-Websocket configuration. - -Use a tool like [IPInfo](https://ipinfo.io) to verify you are now browsing the -internet via your Outline server. \ No newline at end of file diff --git a/docs/vpn/advanced/caddy.mdx b/docs/vpn/advanced/caddy.mdx new file mode 100644 index 000000000..98968e4e2 --- /dev/null +++ b/docs/vpn/advanced/caddy.mdx @@ -0,0 +1,690 @@ +--- +title: "Deploy an Outline Server with Caddy" +sidebar_label: "HTTPS / WebSocket with Caddy" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Deploy an Outline Server with Caddy + +This tutorial walks you through deploying an Outline server manually on a Linux +server with a public IP address, using [Caddy](https://caddyserver.com/) +extended with the +[`outlinecaddy`](https://github.com/OutlineFoundation/tunnel-server/tree/master/outlinecaddy) +module. The result is a single binary serving both transports at the same time, +with the same access keys: + +- **Direct TCP and UDP** — classic Shadowsocks connections, like the servers + the [Outline Manager](../getting-started/server-setup-manager) deploys. +- **[Shadowsocks-over-WebSockets](websockets)** — connections wrapped in + WebSockets behind automatic TLS on port `443`, making your VPN traffic look + like regular HTTPS web traffic. Useful where direct Shadowsocks connections + are blocked. + + + + + + + + + + + + + + + + + + + + + Outline + Client + Your server + Caddy + outlinecaddy + WebSocket · TCP 443 + looks like HTTPS + Direct Shadowsocks + TCP + UDP 9000 + Internet + + + +For the WebSocket transport you need a TLS certificate, and you can get one in +two ways — this guide covers both: + +- **Domain certificate** — if you own a domain name, point it at your server + and Caddy obtains a standard Let's Encrypt certificate automatically. +- **IP certificate** — if you don't have a domain, Caddy can obtain a Let's + Encrypt certificate directly for your server's public IP address, using the + short-lived ACME certificate profile. + +## What is Caddy? + +Caddy is an open-source web server known for its ease of use, [automatic +HTTPS](https://caddyserver.com/docs/automatic-https), and support for various +protocols. It automatically obtains and renews TLS certificates, and can be +extended with plugins — such as the Outline core server module used in this +guide, which turns any Caddy server into an Outline Shadowsocks backend. + +## Prerequisites + +- A Linux server with systemd and a public IP address. Common distributions + such as Debian 12+, Ubuntu 22.04+, Fedora 40+, Rocky Linux / AlmaLinux 9+, + and openSUSE Leap 15+ all work. +- Root or `sudo` access. +- Optionally, a domain name you control. + +The server needs inbound TCP ports `80` and `443`, plus one port of your choice +open for both TCP and UDP for the direct Shadowsocks transport (`9000` in this +guide). [Step 6](#step-6-open-the-firewall) provides the exact firewall +commands. + +:::tip +Run all the commands in this guide in a single terminal session, in order. +Step 4 saves your generated secrets to `~/outline.env`; if you disconnect, +run `source ~/outline.env` after logging back in and continue where you left +off. +::: + +## Step 1: Prepare Your Server + +Start from an up-to-date system, and make sure `curl` and `openssl` are +available — the guide uses them to download Go and to generate your secrets: + + + + +```sh +sudo apt update && sudo apt upgrade -y +sudo apt install -y curl openssl +``` + + + + +```sh +sudo dnf upgrade -y +sudo dnf install -y curl openssl +``` + + + + +```sh +sudo zypper refresh && sudo zypper update -y +sudo zypper install -y curl openssl +``` + + + + +If the upgrade installed a new kernel, reboot before continuing. + +:::tip +This guide assumes a freshly provisioned server. General hardening — SSH key +authentication, automatic security updates, fail2ban — is out of scope here; +see your distribution's server hardening guide. +::: + +## Step 2: Install Go + +The Caddy binary with the Outline module is built from source, which requires a +recent Go toolchain. The Go version packaged by most distributions is often too +old, so install the latest release from [go.dev](https://go.dev/dl/): + +```sh +curl -fsSL "https://go.dev/dl/$(curl -fsSL 'https://go.dev/VERSION?m=text' | head -n1).linux-amd64.tar.gz" -o /tmp/go.tar.gz +sudo rm -rf /usr/local/go +sudo tar -C /usr/local -xzf /tmp/go.tar.gz +export PATH="$PATH:/usr/local/go/bin:$HOME/go/bin" +``` + +:::note +Replace `linux-amd64` with `linux-arm64` if your server runs on an ARM CPU. +::: + +**Checkpoint** — verify Go is installed: + +```sh +go version +``` + +You should see something like `go version go1.25.x linux/amd64`. + +## Step 3: Build Caddy with the Outline Module + +The `outlinecaddy` module ships a ready-made [Caddy main +package](https://github.com/OutlineFoundation/tunnel-server/tree/master/outlinecaddy/cmd/caddy) +that already bundles the Outline core server module, Caddy's standard modules, +and a YAML config adapter. Build and install it with a single command: + +```sh +go install -tags nomysql golang.getoutline.org/tunnel-server/outlinecaddy/cmd/caddy@master +sudo mv "$HOME/go/bin/caddy" /usr/local/bin/caddy +``` + +Building Caddy compiles a lot of Go code, so this can take several minutes — +especially on a small VPS. As long as the command hasn't returned, it's still +working. + +:::note +The `nomysql` build tag is required — it excludes MPL-licensed MySQL drivers +from the Caddy binary. +::: + +**Checkpoint** — verify the build: + +```sh +caddy version +caddy list-modules | grep outline +``` + +The first command prints the Caddy version (`v2.11.4` or later). The second +lists the `outline` app and the `http.handlers.websocket2layer4` handler. + +
+ +Alternative: build with xcaddy to add extra Caddy plugins + +If you want to compile in additional Caddy plugins beyond what `cmd/caddy` +bundles, build a custom binary with +[`xcaddy`](https://github.com/caddyserver/xcaddy): + +```sh +xcaddy build \ + --with github.com/iamd3vil/caddy_yaml_adapter \ + --with golang.getoutline.org/tunnel-server/outlinecaddy \ + --with +``` + +Note that xcaddy builds against the latest Caddy release (which may differ from +the version `outlinecaddy` was tested with) and does not apply the `nomysql` +tag; pass `XCADDY_GO_BUILD_FLAGS="-tags nomysql"` if the licensing exclusion +matters to you. + +
+ +## Step 4: Generate Your Secrets + +The server needs a Shadowsocks secret and two secret URL paths for the +WebSocket endpoints. Generate them all at once and save them to a file so every +later command can fill them in for you — no manual copying needed: + +```sh +touch ~/outline.env +chmod 600 ~/outline.env +cat > ~/outline.env < + + +First, sign in to your DNS provider and set the A (and AAAA, if you have IPv6) +records for your domain to point to your server's public IP address. + +Then save your domain — **replace `www.example.com` with your domain before +running this** (this is the only value in the guide you edit by hand): + +```sh +echo 'SERVER_HOST="www.example.com"' >> ~/outline.env +source ~/outline.env +``` + +**Checkpoint** — verify your DNS records with an authoritative lookup: + +```sh +curl "https://cloudflare-dns.com/dns-query?name=${SERVER_HOST}&type=A" \ + -H "accept: application/dns-json" +``` + +The response should contain your server's IP address. If it doesn't, wait a few +minutes for DNS propagation and try again. + +Now generate the configuration file. Caddy's [automatic +HTTPS](https://caddyserver.com/docs/automatic-https) obtains and renews the +Let's Encrypt certificate for you — no extra TLS configuration is needed: + +```sh +sudo mkdir -p /etc/caddy +sudo touch /etc/caddy/config.yaml +sudo chmod 600 /etc/caddy/config.yaml +sudo tee /etc/caddy/config.yaml > /dev/null < + + +Let's Encrypt issues certificates for public IP addresses under its +[short-lived certificate profile](https://letsencrypt.org/docs/profiles/) +(valid for about 6 days; Caddy renews them automatically roughly every 2 days). +This requires Caddy v2.11+, which the `outlinecaddy` build already includes. + +Save your server's public IP address and your email (Let's Encrypt uses it for +expiry notices) — **replace `you@example.com` with your email before running +this** (this is the only value in the guide you edit by hand): + +```sh +echo "SERVER_HOST=\"$(curl -4fsS https://icanhazip.com)\"" >> ~/outline.env +echo 'ACME_EMAIL="you@example.com"' >> ~/outline.env +source ~/outline.env +``` + +**Checkpoint** — verify both values are set: + +```sh +echo "IP: ${SERVER_HOST} Email: ${ACME_EMAIL}" +``` + +The IP shown must be your server's public IPv4 address. + +Now generate the configuration file. Compared to the domain option, it adds a +`tls` app section that requests the `shortlived` ACME profile for your IP: + +```sh +sudo mkdir -p /etc/caddy +sudo touch /etc/caddy/config.yaml +sudo chmod 600 /etc/caddy/config.yaml +sudo tee /etc/caddy/config.yaml > /dev/null < + + +**Checkpoint** — validate the generated configuration: + +```sh +sudo caddy validate --config /etc/caddy/config.yaml --adapter yaml +``` + +The last line should say `Valid configuration`. + +You can find more example configs in the [outlinecaddy GitHub +repo](https://github.com/OutlineFoundation/tunnel-server/tree/master/outlinecaddy/examples). + +## Step 6: Open the Firewall + +Open TCP ports `80` and `443` (TLS and certificate issuance) plus port `9000` +in TCP **and** UDP (direct Shadowsocks): + + + + +```sh +source ~/outline.env +sudo ufw allow 80/tcp +sudo ufw allow 443/tcp +sudo ufw allow ${SS_PORT}/tcp +sudo ufw allow ${SS_PORT}/udp +sudo ufw status +``` + +If `ufw status` reports `inactive`, your server has no local firewall enabled +and nothing to open — that's fine. If you'd rather turn it on, allow SSH +**first** so you don't lock yourself out, then enable it: + +```sh +sudo ufw allow OpenSSH +sudo ufw enable +``` + +The `allow` rules you added above are kept and take effect as soon as the +firewall is enabled. + + + + +```sh +source ~/outline.env +sudo firewall-cmd --permanent --add-service=http --add-service=https +sudo firewall-cmd --permanent --add-port=${SS_PORT}/tcp --add-port=${SS_PORT}/udp +sudo firewall-cmd --reload +sudo firewall-cmd --list-all +``` + + + + +:::warning[Cloud provider firewalls] +Most cloud providers (AWS, Google Cloud, Hetzner, Oracle, ...) have a **second +firewall** in their web console — security groups, firewall rules, or network +policies. Open the same ports there too, or your server will be unreachable +even with the local firewall configured correctly. +::: + +## Step 7: Run Caddy as a systemd Service + +Create a dedicated system user and give it ownership of the configuration and +certificate storage directories: + +```sh +sudo useradd --system --home /var/lib/caddy --create-home --shell /usr/sbin/nologin caddy +sudo chown -R caddy:caddy /etc/caddy +``` + +Create the service file: + +```sh +sudo tee /etc/systemd/system/caddy.service > /dev/null <<'EOF' +[Unit] +Description=Caddy web server with Outline +After=network-online.target +Wants=network-online.target + +[Service] +Type=notify +User=caddy +Group=caddy +ExecStart=/usr/local/bin/caddy run --config /etc/caddy/config.yaml --adapter yaml +ExecReload=/usr/local/bin/caddy reload --config /etc/caddy/config.yaml --adapter yaml --force +TimeoutStopSec=5s +LimitNOFILE=1048576 +PrivateTmp=true +ProtectSystem=full +AmbientCapabilities=CAP_NET_BIND_SERVICE + +[Install] +WantedBy=multi-user.target +EOF +``` + +Enable and start the service: + +```sh +sudo systemctl daemon-reload +sudo systemctl enable --now caddy +``` + +**Checkpoint** — the service is running and the certificate was obtained: + +```sh +systemctl is-active caddy +sudo journalctl -u caddy | grep "certificate obtained" +curl -sI "https://${SERVER_HOST}" | head -n 1 +``` + +Expected output: `active`, a `certificate obtained successfully` log line +(issuance can take up to a minute after the first start), and an `HTTP/2 200` +response line. Certificate renewal is fully automatic from here on. If +something is off, see [Troubleshooting](#troubleshooting). + +## Step 8: Create the Access Keys + +Both transports use the same Shadowsocks secret, so you can hand out either +kind of key — or both — to your users. + +### Direct TCP/UDP Access Key + +The direct transport uses a standard static Shadowsocks access key. Print your +ready-to-share key: + +```sh +source ~/outline.env +echo "ss://$(echo -n "chacha20-ietf-poly1305:${SS_SECRET}" | base64 -w0)@${SERVER_HOST}:${SS_PORT}/?outline=1" +``` + +This key works with all Outline Client versions, but direct Shadowsocks +connections are easier to detect and block than the WebSocket transport. + +### WebSocket Access Key + +The WebSocket transport uses a [dynamic access +key](../management/dynamic-access-keys): a YAML file in the [access key +configuration](../management/config) format that you host somewhere your users +can reach. Generate it: + +```sh +source ~/outline.env +cat > ~/outline-ws-key.yaml <` should + get *some* response, not a timeout. +- **DNS not propagated yet** (domain option) — re-run the DNS checkpoint from + [Step 5](#step-5-configure-caddy); if your IP isn't in the answer, wait and + try again. +- **Let's Encrypt rate limits** — after ~5 failed attempts per hour, Let's + Encrypt temporarily refuses new orders for the same host. Fix the + underlying issue first, then restart with `sudo systemctl restart caddy`. + +#### `go: command not found` or `caddy: command not found` + +Your shell hasn't picked up the new `PATH`. Re-run the `export PATH=...` line +from [Step 2](#step-2-install-go), or log out and back in. + +#### The client connects, but web pages don't load + +TCP works but UDP is probably blocked. Verify port `9000`/UDP (direct +transport) is open in **both** firewalls, and confirm the server is listening: +`sudo ss -lun | grep 9000`. + +#### Variables like `${SERVER_HOST}` print empty after reconnecting + +Your saved values live in `~/outline.env` — run `source ~/outline.env` in the +new session and re-run the command. + +#### The service fails to start on Fedora / Rocky / AlmaLinux + +SELinux may be blocking the binary. Check for denials with +`sudo ausearch -m avc -ts recent`, and restore the expected file context with +`sudo restorecon -v /usr/local/bin/caddy`. + +## See Also + +- [Disguise Connections as Web Traffic with + Shadowsocks-over-WebSockets](websockets) +- More example configs in the [outlinecaddy GitHub + repo](https://github.com/OutlineFoundation/tunnel-server/tree/master/outlinecaddy/examples) diff --git a/i18n/ar/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md b/i18n/ar/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md deleted file mode 100644 index a15a0509a..000000000 --- a/i18n/ar/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md +++ /dev/null @@ -1,168 +0,0 @@ ---- -title: "بروتوكول HTTPS التلقائي لخادم Caddy" -sidebar_label: "بروتوكول HTTPS التلقائي لخادم Caddy" ---- - -يوضِّح هذا الدليل كيفية استخدام [Caddy](https://caddyserver.com/)، وهو خادم ويب فعّال -وسهل الاستخدام لتحسين عملية إعداد خادم Outline. إنّ إمكانات -[بروتوكول HTTPS التلقائي](https://caddyserver.com/docs/automatic-https) لخادم الويب Caddy و -إعداداته السهلة تجعل منه الخيار الأمثل لتشغيل خادم -Outline، خصوصًا في حال استخدام نقطة اتصال WebSocket. - -## ما هو خادم Caddy؟ {#what_is_caddy} - -‫Caddy هو خادم ويب مفتوح المصدر معروف بسهولة استخدامه وتوافقه مع بروتوكول HTTPS التلقائي -وغيره من البروتوكولات الأخرى، إلى جانب تسهيل عملية ضبط خادم الويب و -توفير ميزات مثل ما يلي: - -- **بروتوكول HTTPS التلقائي:** يحصل خادم Caddy على شهادات بروتوكول أمان طبقة النقل (TLS) -ويجدِّدها لضمان توفير اتصالات آمنة. - -- **التوافق مع HTTP/3:** يتوافق Caddy مع بروتوكول HTTP/3 الأحدث لتوفير زيارات للويب -أسرع وأكثر فعالية. - -- **قابلية التوسّع من خلال المكوّنات الإضافية:** يمكن توسيع نطاق خادم Caddy باستخدام المكوّنات الإضافية لإتاحة -وظائف متعدّدة، بما في ذلك خدمة الخادم الوكيل العكسي وموازنة الحمل. - -## الخطوة 1: المتطلبات الأساسية {#step_1_prerequisites} - -- يجب تنزيل وتثبيت [`xcaddy`](https://github.com/caddyserver/xcaddy) - -## الخطوة 2: ضبط النطاق {#step_2_configure_your_domain} - -قبل بدء استخدام Caddy، يُرجى التأكُّد من أنّ اسم النطاق تم ضبطه بشكل صحيح ليشير -إلى عنوان IP الخاص بالخادم. - -- **ضبط سجلّات AAAA وA:** عليك تسجيل الدخول إلى مزوّد نظام أسماء النطاقات وضبط سجلّات AAAA -وA الخاصة بنطاقك للإشارة إلى عناوين الإصدار الرابع من بروتوكول الإنترنت (IPv4) والإصدار السادس من بروتوكول الإنترنت (IPv6) الخاصة بالخادم -على التوالي. - -- **التأكُّد من سجلّات نظام أسماء النطاقات:** يجب التأكُّد من أنّ سجلّات نظام أسماء النطاقات تم ضبطها بشكل صحيح -من خلال إجراء بحث موثوق: - -```sh -curl "https://cloudflare-dns.com/dns-query?name=&type=A" \ - -H "accept: application/dns-json" -``` - -## الخطوة 3: إنشاء إصدار Caddy مخصّص وتشغيله {#build-and-run} - -باستخدام `xcaddy`، يمكنك إنشاء برنامج `caddy` ثنائي مخصّص يتضمّن الوحدة -الأساسية لخادم Outline ووحدات إضافات الخادم الأخرى التي سنحتاج إليها. - -```sh -xcaddy build \ - # The example uses a YAML config, so include a YAML config adapter module. - --with github.com/iamd3vil/caddy_yaml_adapter \ - # The Outline core server module. - --with github.com/OutlineFoundation/outline-ss-server/outlinecaddy -``` - -## الخطوة 4: ضبط خادم Caddy وتشغيله مع Outline {#step_4_configure_and_run_the_caddy_server_with_outline} - -عليك إنشاء ملف `config.yaml` جديد بالإعدادات التالية: - -```yaml -apps: - http: - servers: - server1: - listen: - - ":443" - routes: - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: stream - connection_handler: ss1 - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: packet - connection_handler: ss1 - outline: - shadowsocks: - replay_history: 10000 - connection_handlers: - - name: ss1 - handle: - handler: shadowsocks - keys: - - id: user-1 - cipher: chacha20-ietf-poly1305 - secret: -``` - -:::warning[Important] -يُرجى الحفاظ على سرية `path` لتجنُّب إجراء اختبارات عليه، لأنّه يعمل كنقطة نهاية سرية. ويُنصح باستخدام مسار طويل تم إنشاؤه عشوائيًا. -::: - - -يعبّر هذا الإعداد عن استراتيجية إعدادات Shadowsocks-over-WebSocket مع خادم -ويب يشير إلى منفذ `443`، والذي يقبل الزيارات المغلّفة عبر بروتوكول Shadowsocks باستخدام منفذَي TCP وUDP على المسارَين `TCP_PATH` و`UDP_PATH` -على التوالي. - -عليك تشغيل خادم Caddy المرتبط بـ Outline باستخدام الإعدادات المُنشأة: - -```sh -caddy run --config config.yaml --adapter yaml --watch -``` - -:::note -استخدمنا ملف YAML في الأمثلة السابقة لأنّه أسهل في القراءة وفي إضافة تعليقات توضيحية إليه، مع ذلك يمكنك استخدام JSON (لغة إعداد Caddy الأساسية) مباشرةً. وفي حال استخدام هذه اللغة، يمكنك التشغيل بدون علامة `--adapter yaml` وإزالة الموارد التابعة لمحوِّل YAML في خطوة الإنشاء والتشغيل. -::: - - -ويمكنك الاطّلاع على المزيد من الأمثلة عن الإعدادات في مستودع GitHub على [outline-ss-server/outlinecaddy](https://github.com/OutlineFoundation/outline-ss-server/tree/master/outlinecaddy/examples). - -## الخطوة 5: إنشاء مفتاح وصول ديناميكي {#step_5_create_a_dynamic_access_key} - -يجب إنشاء ملف YAML يتضمّن مفتاح وصول يمكن استخدامه في تطبيق "عميل Outline" للمستخدمين باستخدام تنسيق [الإعدادات -المتقدّمة](../management/config)، ثم تضمين نقاط نهاية WebSocket التي تم -ضبطها سابقًا في جهة الخادم: - -```yaml -transport: - $type: tcpudp - - tcp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: - - udp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: -``` - -بعد إنشاء ملف YAML الذي يتضمّن مفتاح الوصول الديناميكي، عليك نشره -للمستخدمين. ويمكنك استضافة الملف على خدمة استضافة ويب ثابتة أو إنشاؤه -بشكل ديناميكي. مزيد من المعلومات حول كيفية استخدام [مفاتيح الوصول -الديناميكية](../management/dynamic-access-keys) - -## الخطوة 6: الربط بتطبيق "عميل Outline" {#step_6_connect_with_the_outline_client} - -يجب استخدام أحد تطبيقات [عميل Outline](../../download-links) -الرسمية (الإصدار 1.15.0 والإصدارات الأحدث) ثم إضافة مفتاح الوصول الديناميكي المُنشأ حديثًا -ليعمل كإدخال للخادم. عليك النقر على **اتصال** لبدء الاتصال النفَقي بخادمك باستخدام -الإعداد Shadowsocks-over-Websocket. - -يمكنك استخدام أداة مثل [IPInfo](https://ipinfo.io) للتأكُّد من أنّه يتم حاليًا تصفُّح -الإنترنت من خلال خادم Outline الخاص بك. diff --git a/i18n/de/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md b/i18n/de/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md deleted file mode 100644 index d8787a088..000000000 --- a/i18n/de/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md +++ /dev/null @@ -1,143 +0,0 @@ ---- -title: "Automatisches HTTPS mit Caddy" -sidebar_label: "Automatisches HTTPS mit Caddy" ---- - -In diesem Leitfaden erfahren Sie, wie Sie mit [Caddy](https://caddyserver.com/), einem leistungsstarken und nutzerfreundlichen Webserver, Ihre Outline-Serverkonfiguration optimieren. Dank [automatischem HTTPS](https://caddyserver.com/docs/automatic-https) und flexiblen Konfigurationsmöglichkeiten ist Caddy eine sehr gute Wahl für Ihren Outline-Server, insbesondere, wenn Sie das WebSocket-Übertragungsprotokoll verwenden. - -## Was ist Caddy? {#what_is_caddy} - -Caddy ist ein Open-Source-Webserver, der für seine Nutzerfreundlichkeit, die automatische Umleitung auf HTTPS („Automatisches HTTPS“) und die Unterstützung verschiedener Protokolle bekannt ist. Er vereinfacht die Webserver-Konfiguration und bietet Funktionen wie: - -- **Automatisches HTTPS:** Caddy erhält und erneuert TLS-Zertifikate automatisch und sorgt so für sichere Verbindungen. - -- **Unterstützung von HTTP/3:** Caddy unterstützt das neueste HTTP/3-Protokoll für schnelleren und effizienteren Web-Traffic. - -- **Plug‑ins:** Caddy lässt sich mit Plug‑ins um verschiedene Funktionen erweitern, darunter Reverse-Proxyvorgänge und Load Balancing. - -## Schritt 1: Voraussetzungen {#step_1_prerequisites} - -- Laden Sie [`xcaddy`](https://github.com/caddyserver/xcaddy) herunter und führen Sie die Installation durch. - -## Schritt 2: Domain konfigurieren {#step_2_configure_your_domain} - -Bevor Sie Caddy starten, vergewissern Sie sich, dass Ihr Domainname richtig konfiguriert ist und auf die IP‑Adresse Ihres Servers verweist. - -- **A‑/AAAA-Einträge festlegen:** Melden Sie sich bei Ihrem DNS-Anbieter an und legen Sie die A‑ und AAAA-Einträge für Ihre Domain so fest, dass sie jeweils auf die IPv4- bzw. auf die IPv6-Adressen Ihres Servers verweisen. - -- **DNS-Einträge prüfen:** Prüfen Sie, ob die DNS-Einträge für die maßgebliche Domain festgelegt sind: - -```sh -curl "https://cloudflare-dns.com/dns-query?name=&type=A" \ - -H "accept: application/dns-json" -``` - -## Schritt 3: Benutzerdefinierten Caddy-Build erstellen und ausführen {#build-and-run} - -Mit `xcaddy` können Sie ein benutzerdefiniertes `caddy`-Binärprogramm erstellen, das das Kernmodul des Outline-Servers sowie weitere benötigte Server-Erweiterungsmodule enthält. - -```sh -xcaddy build \ - # The example uses a YAML config, so include a YAML config adapter module. - --with github.com/iamd3vil/caddy_yaml_adapter \ - # The Outline core server module. - --with github.com/OutlineFoundation/outline-ss-server/outlinecaddy -``` - -## Schritt 4: Caddy-Server konfigurieren und mit Outline ausführen {#step_4_configure_and_run_the_caddy_server_with_outline} - -Erstellen Sie eine neue `config.yaml`-Datei mit der folgenden Konfiguration: - -```yaml -apps: - http: - servers: - server1: - listen: - - ":443" - routes: - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: stream - connection_handler: ss1 - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: packet - connection_handler: ss1 - outline: - shadowsocks: - replay_history: 10000 - connection_handlers: - - name: ss1 - handle: - handler: shadowsocks - keys: - - id: user-1 - cipher: chacha20-ietf-poly1305 - secret: -``` - -:::warning[Important] -Behalten Sie das `path`-Secret bei, um Prüfungen zu vermeiden. Es fungiert als geheimer Endpunkt. Wir empfehlen einen langen, zufällig generierten Pfad. -::: - - -Diese Konfiguration stellt eine Shadowsocks‑over-WebSockets-Strategie dar, mit einem Webserver, der Port `443` überwacht und getarnten Shadowsocks-Traffic über TCP und UDP auf den Pfaden `TCP_PATH` und `UDP_PATH` akzeptiert. - -Führen Sie den Caddy-Server mit Outline als Erweiterung mit der erstellten Konfiguration aus: - -```sh -caddy run --config config.yaml --adapter yaml --watch -``` - -:::note -Im Beispiel wird YAML verwendet, weil es lesbarer und einfacher zu kommentieren ist. Sie können aber auch JSON (die native Konfigurationssprache von Caddy) verwenden. In dem Fall benötigen Sie nicht das `--adapter yaml`-Flag für die Ausführung und können die Abhängigkeit vom YAML-Adapter in Schritt 3 entfernen. -::: - - -Weitere Beispielkonfigurationen [finden Sie hier](https://github.com/OutlineFoundation/outline-ss-server/tree/master/outlinecaddy/examples). - -## Schritt 5: Dynamischen Zugriffsschlüssel erstellen {#step_5_create_a_dynamic_access_key} - -Generieren Sie eine YAML-Datei mit dem Client-Zugriffsschlüssel für Ihre Nutzer. Verwenden Sie dazu das Format für die [erweiterte Konfiguration](../management/config) und die WebSocket-Endpunkte, die Sie zuvor auf Serverseite konfiguriert haben: - -```yaml -transport: - $type: tcpudp - - tcp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: - - udp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: -``` - -Nachdem Sie die YAML-Datei mit dem dynamischen Zugriffsschlüssel erstellt haben, müssen Sie diese Ihren Nutzern zukommen lassen. Sie können die Datei auf einem statischen Webhosting-Dienst hosten oder dynamisch generieren. Weitere Informationen zur Verwendung von [dynamischen Zugriffsschlüsseln](../management/dynamic-access-keys) - -## Schritt 6: Mit dem Outline-Client verbinden {#step_6_connect_with_the_outline_client} - -Fügen Sie in einer der offiziellen [Outline-Client](../../download-links)-Anwendungen (ab Version 1.15.0) den gerade erstellten dynamischen Zugriffsschlüssel für den Server hinzu. Klicken Sie auf **Verbinden**, um mit der Shadowsocks‑over-WebSocket-Konfiguration eine Tunnelverbindung zu Ihrem Server herzustellen. - -Vergewissern Sie sich mit einem Tool wie [IPInfo](https://ipinfo.io), dass Sie über Ihren Outline-Server mit dem Internet verbunden sind. diff --git a/i18n/es-419/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md b/i18n/es-419/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md deleted file mode 100644 index 375a3b76d..000000000 --- a/i18n/es-419/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md +++ /dev/null @@ -1,170 +0,0 @@ ---- -title: "HTTPS automático con Caddy" -sidebar_label: "HTTPS automático con Caddy" ---- - -En esta guía, se explica cómo usar [Caddy](https://caddyserver.com/), un servidor web -potente y fácil de usar, para mejorar la configuración del servidor de Outline. Las funciones de -[HTTPS automático](https://caddyserver.com/docs/automatic-https) de Caddy y -su configuración flexible lo convierten en una excelente opción para entregar servidores de Outline, -sobre todo cuando se utiliza el transporte con WebSocket. - -## ¿Qué es Caddy? {#what_is_caddy} - -Caddy es un servidor web de código abierto conocido por su facilidad de uso, HTTPS automático -y compatibilidad con diversos protocolos. Simplifica la configuración de servidores web y -ofrece funciones como las siguientes: - -- **HTTPS automático:** Caddy obtiene y renueva automáticamente los certificados TLS, -lo que garantiza conexiones seguras. - -- **Compatibilidad con HTTP/3:** Caddy es compatible con el protocolo HTTP/3 más reciente para brindar un -tráfico web más rápido y eficiente. - -- **Complementos:** Caddy puede extenderse con complementos para -ofrecer diversas funciones, como proxy inverso y balanceo de cargas. - -## Paso 1: Requisitos {#step_1_prerequisites} - -- Descarga e instala [`xcaddy`](https://github.com/caddyserver/xcaddy). - -## Paso 2: Configura el dominio {#step_2_configure_your_domain} - -Antes de iniciar Caddy, asegúrate de que tu nombre de dominio esté correctamente configurado para que apunte -a la dirección IP de tu servidor. - -- **Configura los registros A y AAAA:** Accede a tu proveedor de DNS y configura los registros A y AAAA -de tu dominio para que apunten a las direcciones IPv4 e IPv6 de tu servidor, -respectivamente. - -- **Verifica los registros DNS:** Comprueba que tus registros DNS estén correctamente configurados con una -búsqueda autorizada. - -```sh -curl "https://cloudflare-dns.com/dns-query?name=&type=A" \ - -H "accept: application/dns-json" -``` - -## Paso 3: Crea y ejecuta una compilación personalizada de Caddy {#build-and-run} - -Con `xcaddy`, puedes compilar un objeto binario personalizado de `caddy` que incluya el módulo principal -del servidor de Outline y otros módulos de extensión del servidor necesarios. - -```sh -xcaddy build \ - # The example uses a YAML config, so include a YAML config adapter module. - --with github.com/iamd3vil/caddy_yaml_adapter \ - # The Outline core server module. - --with github.com/OutlineFoundation/outline-ss-server/outlinecaddy -``` - -## Paso 4: Configura y ejecuta el servidor de Caddy con Outline {#step_4_configure_and_run_the_caddy_server_with_outline} - -Crea un archivo `config.yaml` con la siguiente configuración: - -```yaml -apps: - http: - servers: - server1: - listen: - - ":443" - routes: - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: stream - connection_handler: ss1 - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: packet - connection_handler: ss1 - outline: - shadowsocks: - replay_history: 10000 - connection_handlers: - - name: ss1 - handle: - handler: shadowsocks - keys: - - id: user-1 - cipher: chacha20-ietf-poly1305 - secret: -``` - -:::warning[Important] -No reveles el valor de `path` para evitar sondeos. Actúa como un extremo secreto. Se recomienda una ruta larga y generada aleatoriamente. -::: - - -Esta configuración representa una estrategia de Shadowsocks sobre WebSockets. Hay un servidor -web que escucha en el puerto `443` y acepta tráfico de TCP y UDP encapsulado con Shadowsocks -en las rutas `TCP_PATH` y `UDP_PATH`, -respectivamente. - -Ejecuta el servidor de Caddy extendido con Outline usando la configuración creada: - -```sh -caddy run --config config.yaml --adapter yaml --watch -``` - -:::note -En el ejemplo, se usa YAML porque es más fácil de leer y de anotar, pero también puedes usar JSON (el lenguaje de configuración nativo de Caddy) directamente. En ese caso, puedes ejecutar el servidor sin la marca `--adapter yaml` y quitar la dependencia del adaptador de YAML en el paso de compilación y ejecución. -::: - - -Puedes encontrar más ejemplos de configuración en nuestro [repo de GitHub, -outline-ss-server/outlinecaddy](https://github.com/OutlineFoundation/outline-ss-server/tree/master/outlinecaddy/examples). - -## Paso 5: Crea una clave de acceso dinámica {#step_5_create_a_dynamic_access_key} - -Genera un archivo YAML de clave de acceso de cliente para tus usuarios utilizando el formato de [configuración -avanzada](../management/config) y, luego, incluye los extremos de WebSocket -previamente configurados en el servidor: - -```yaml -transport: - $type: tcpudp - - tcp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: - - udp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: -``` - -Después de generar el archivo YAML de clave de acceso dinámica, debes enviárselo a los -usuarios. Puedes alojar el archivo en un servicio de hosting web estático o generarlo -dinámicamente. Obtén más información para usar [claves de acceso -dinámicas](../management/dynamic-access-keys). - -## Paso 6: Conecta el servidor con el cliente de Outline {#step_6_connect_with_the_outline_client} - -Usa una de las aplicaciones oficiales del [cliente de Outline](../../download-links) -(versión 1.15.0 como mínimo) y agrega la clave de acceso dinámica que acabas de crear como -entrada de servidor. Haz clic en **Conectar** para iniciar una tunelización hacia el servidor utilizando la -configuración de Shadowsocks sobre WebSocket. - -Usa una herramienta como [IPInfo](https://ipinfo.io) para verificar que ahora estás navegando por -Internet a través del servidor de Outline. diff --git a/i18n/es/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md b/i18n/es/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md deleted file mode 100644 index 9a1287055..000000000 --- a/i18n/es/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md +++ /dev/null @@ -1,143 +0,0 @@ ---- -title: "HTTPS automático con Caddy" -sidebar_label: "HTTPS automático con Caddy" ---- - -En esta guía se explica cómo utilizar [Caddy](https://caddyserver.com/), un servidor web potente y fácil de usar, para mejorar la configuración de tu servidor de Outline. Las funciones [HTTPS automáticas](https://caddyserver.com/docs/automatic-https) y la configuración flexible de Caddy la convierten en una opción excelente para ofrecer tu servidor de Outline, especialmente cuando se usa un transporte de WebSocket. - -## ¿Qué es Caddy? {#what_is_caddy} - -Caddy es un servidor web de software libre conocido por su facilidad de uso, sus HTTPS automáticas y su compatibilidad con varios protocolos. Permite simplificar la configuración de servidores web y ofrece características como las siguientes: - -- **HTTPS automáticas:** Caddy obtiene y renueva automáticamente los certificados TLS para asegurar que las conexiones sean seguras. - -- **Compatibilidad con HTTP/3:** Caddy admite el protocolo HTTP/3 más reciente para proporcionar un tráfico web más rápido y eficiente. - -- **Ampliable con complementos:** Caddy puede ampliarse mediante complementos para admitir diversas funciones, como los proxys inversos y el balanceo de carga. - -## Paso 1: Requisitos previos {#step_1_prerequisites} - -- Descarga e instala [`xcaddy`](https://github.com/caddyserver/xcaddy). - -## Paso 2: Configuración de tu dominio {#step_2_configure_your_domain} - -Antes de empezar a usar Caddy, comprueba que el nombre de tu dominio se haya configurado correctamente de forma que dirija a la dirección IP de tu servidor. - -- **Configura registros A o AAAA:** inicia sesión en tu proveedor de DNS y configura registros A y AAAA para que tu dominio dirija a las direcciones IPv4 e IPv6 de tu servidor, respectivamente. - -- **Verifica los registros DNS:** verifica que tus registros DNS estén correctamente configurados mediante una búsqueda autorizada: - -```sh -curl "https://cloudflare-dns.com/dns-query?name=&type=A" \ - -H "accept: application/dns-json" -``` - -## Paso 3: Desarrollo y ejecución de una compilación personalizada de Caddy {#build-and-run} - -Si usas `xcaddy`, puedes desarrollar un binario `caddy` personalizado que incluya el módulo de servidores principales de Outline y otros módulos de extensiones de servidor necesarios. - -```sh -xcaddy build \ - # The example uses a YAML config, so include a YAML config adapter module. - --with github.com/iamd3vil/caddy_yaml_adapter \ - # The Outline core server module. - --with github.com/OutlineFoundation/outline-ss-server/outlinecaddy -``` - -## Paso 4: Configuración y ejecución del servidor Caddy con Outline {#step_4_configure_and_run_the_caddy_server_with_outline} - -Crea un archivo `config.yaml` con la siguiente configuración: - -```yaml -apps: - http: - servers: - server1: - listen: - - ":443" - routes: - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: stream - connection_handler: ss1 - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: packet - connection_handler: ss1 - outline: - shadowsocks: - replay_history: 10000 - connection_handlers: - - name: ss1 - handle: - handler: shadowsocks - keys: - - id: user-1 - cipher: chacha20-ietf-poly1305 - secret: -``` - -:::warning[Important] -Mantén el elemento `path` en secreto para evitar comprobaciones. Este elemento actúa como un endpoint secreto. Se recomienda usar una ruta larga y generada de forma aleatoria. -::: - - -Esta configuración se corresponde con una estrategia de Shadowsocks a través de WebSockets con un servidor web que escucha en el puerto `443`, mientras se acepta el tráfico envuelto de Shadowsocks de TCP y UDP en las rutas `TCP_PATH` y `UDP_PATH`, respectivamente. - -Ejecuta el servidor de Caddy ampliado con Outline usando la configuración creada: - -```sh -caddy run --config config.yaml --adapter yaml --watch -``` - -:::note -En el ejemplo se usa YAML porque se lee mejor y lo pone más fácil para hacer anotaciones, pero también puedes utilizar JSON (el lenguaje de configuración nativo de Caddy). Si optas por esta última opción, puedes hacer ejecuciones sin la marca `--adapter yaml` y retirar la dependencia del adaptador de YAML en el paso de desarrollo y ejecución. -::: - - -Puedes encontrar más configuraciones de ejemplo en nuestro [repositorio de GitHub outline-ss-server/outlinecaddy](https://github.com/OutlineFoundation/outline-ss-server/tree/master/outlinecaddy/examples). - -## Paso 5: Creación de una clave de acceso dinámica {#step_5_create_a_dynamic_access_key} - -Genera un archivo YAML de clave de acceso de cliente para tus usuarios utilizando el formato de [configuración avanzada](../management/config) e incluye los endpoints de WebSocket que has definido previamente del lado del servidor: - -```yaml -transport: - $type: tcpudp - - tcp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: - - udp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: -``` - -Después de generar el archivo YAML de la clave de acceso dinámica, debes enviárselo a tus usuarios. Puedes alojar el archivo en un servicio de alojamiento web estático o generarlo de forma dinámica. [Más información sobre cómo usar claves de acceso dinámicas](../management/dynamic-access-keys) - -## Paso 6: Conexión con el cliente de Outline {#step_6_connect_with_the_outline_client} - -Utiliza una de las aplicaciones oficiales de [cliente de Outline](../../download-links) (versiones 1.15.0 y posteriores) y añade la clave de acceso dinámica que acabas de crear como entrada de servidor. Haz clic en **Conectar** para empezar la tunelización a tu servidor usando la configuración de Shadowsocks a través de Websocket. - -Utiliza una herramienta como [IPInfo](https://ipinfo.io) para verificar que tienes acceso a Internet mediante tu servidor de Outline. diff --git a/i18n/fa/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md b/i18n/fa/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md deleted file mode 100644 index 564593f08..000000000 --- a/i18n/fa/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md +++ /dev/null @@ -1,170 +0,0 @@ ---- -title: "‫HTTPS خودکار با Caddy" -sidebar_label: "‫HTTPS خودکار با Caddy" ---- - -این راهنما توضیح می‌دهد چطور از [Caddy](https://caddyserver.com/)، سرور وب قدرتمند -و کاربرپسند، استفاده کنید تا راه‌اندازی سرور Outline خود را بهبود دهید. قابلیت‌های -[اچ‌تی‌تی‌پی‌اس خودکار](https://caddyserver.com/docs/automatic-https) Caddy و -پیکربندی انعطاف‌پذیر آن، Caddy را به انتخابی عالی برای ارائه سرور Outline شما -بدل می‌کند، به‌ویژه وقتی از حمل‌ونقل WebSocket استفاده می‌کنید. - -## ‫Caddy چیست؟ {#what_is_caddy} - -‫Caddy سرور وب متن‌بازی است که به‌خاطر استفاده آسان، اچ‌تی‌تی‌پی‌اس، -و پشتیبانی پروتکل‌های مختلف معروف است. پیکربندی‌های سرور وب را ساده می‌کند و -ویژگی‌هایی مثل موارد زیر را ارائه می‌دهد: - -- **اچ‌تی‌تی‌پی‌اس خودکار:** Caddy به‌طور خودکار گواهینامه‌های «امنیت لایه انتقال» -را دریافت و تمدید می‌کند تا اتصالات ایمن را تضمین کند. - -- **پشتیبانی HTTP/3:**‏ Caddy جدیدترین پروتکل HTTP/3 را برای -ترافیک وب سریع‌تر و کارآمدتر پشتیبانی می‌کند. - -- **توسعه‌پذیر با افزایه‌ها:** Caddy می‌تواند با افزونه‌ها توسعه یابد تا -عملکردهای مختلفی را، ازجمله پراکسی معکوس و متوازن کردن بارگیری، پشتیبانی کند. - -## مرحله ۱: پیش‌نیازها {#step_1_prerequisites} - -- بارگیری و نصب کردن [`xcaddy`](https://github.com/caddyserver/xcaddy) - -## مرحله ۲: پیکربندی دامنه {#step_2_configure_your_domain} - -پیش‌از راه‌اندازی کردن Caddy، مطمئن شوید نام دامنه‌تان به‌درستی پیکربندی شده است تا -به نشانی IP سرورتان هدایت کند. - -- **تنظیم کردن ساختارهای A/AAAA:** به سیستم ارائه‌دهنده ساناد خود وارد شوید و ساختارهای A و AAAA را -برای دامنه‌تان تنظیم کنید تا به‌ترتیب به نشانی‌های «پروتکل اینترنتی نسخه ۴» و «پروتکل اینترنتی نسخه ۶» سرورتان -هدایت شود. - -- **تأیید کردن ساختارهای ساناد:** ساختارهای سانادی را تأیید کنید که به‌درستی با -جستجوی معتبری تنظیم شده‌اند: - -```sh -curl "https://cloudflare-dns.com/dns-query?name=&type=A" \ - -H "accept: application/dns-json" -``` - -## مرحله ۳: ساختن و اجرای ساختار سفارشی Caddy {#build-and-run} - -بااستفاده از`xcaddy` می‌توانید دودویی سفارشی `caddy` بسازید که شامل واحد اصلی سرور Outline -و واحدهای دیگر افزونه سرور که به آن‌ها نیاز دارید باشد. - -```sh -xcaddy build \ - # The example uses a YAML config, so include a YAML config adapter module. - --with github.com/iamd3vil/caddy_yaml_adapter \ - # The Outline core server module. - --with github.com/OutlineFoundation/outline-ss-server/outlinecaddy -``` - -## مرحله ۴: پیکربندی و اجرای سرور Caddy با Outline {#step_4_configure_and_run_the_caddy_server_with_outline} - -فایل `config.yaml` جدیدی را با پیکربندی‌های زیر بسازید: - -```yaml -apps: - http: - servers: - server1: - listen: - - ":443" - routes: - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: stream - connection_handler: ss1 - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: packet - connection_handler: ss1 - outline: - shadowsocks: - replay_history: 10000 - connection_handlers: - - name: ss1 - handle: - handler: shadowsocks - keys: - - id: user-1 - cipher: chacha20-ietf-poly1305 - secret: -``` - -:::warning[Important] -`path` را مخفی نگه دارید تا از تفحص پرهیز کنید. این فایل مثل یک نقطه پایانی رمزی است. مسیر تولیدشده طولانی و تصادفی توصیه می‌شود. -::: - - -این پیکربندی نشان‌دهنده راهبرد Shadowsocks-over-WebSockets است که با -سرور وبی در درگاه `443` می‌شنود و ترافیک‌های شکسته‌شده Shadowsocks به‌صورت TCP و UDP را -به‌ترتیب در مسیرهای `TCP_PATH` و `UDP_PATH` -می‌پذیرد. - -اجرا کردن سرور Caddy توسعه‌یافته با Outline بااستفاده از پیکربندی ساخته‌شده: - -```sh -caddy run --config config.yaml --adapter yaml --watch -``` - -:::note -در نمونه‌ها از YAML استفاده می‌شود زیرا قابل‌اعتمادتر است و برای حاشیه‌نویسی آسان‌تر است، ولی شما می‌توانید مستقیماً از JSON استفاده کنید که زبان اول پیکربندی Caddy است. اگر از آن استفاده می‌کنید، می‌توانید بدون پرچم‌گذاری `--adapter yaml` اجرا کنید و وابستگی آداپتور YAML را در مراحل ساختن و اجرا بردارید. -::: - - -نمونه‌های بیشتر برای پیکربندی را می‌توانید در [outline-ss-server/outlinecaddy GitHub -repo](https://github.com/OutlineFoundation/outline-ss-server/tree/master/outlinecaddy/examples) ببینید. - -## مرحله ۵: ساختن کلید دسترسی پویا {#step_5_create_a_dynamic_access_key} - -بااستفاده از قالب [پیکربندی پیشرفته](../management/config)، فایل YAML مربوط به کلید دسترسی کارخواه را برای کاربرانتان تولید کنید -و نقطه‌های پایانی WebSocket را -که قبلاً در سمت سرور پیکربندی شده است به آن اضافه کنید: - -```yaml -transport: - $type: tcpudp - - tcp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: - - udp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: -``` - -پس‌از تولید فایل YAML مربوط به کلید دسترسی پویا، باید آن را به -کاربرانتان بدهید. این فایل را می‌توانید در سرویس میزبانی وب ثابت میزبانی کنید یا آن را به‌صورت پویا -تولید کنید. درباره چگونگی استفاده از [کلیدهای دسترسی -پویا](../management/dynamic-access-keys) بیشتر بدانید. - -## مرحله ۶: اتصال با کارخواه Outline {#step_6_connect_with_the_outline_client} - -از یکی از برنامه‌های [کارخواه Outline](../../download-links) (نسخه ۱.۱۵.۰ یا بالاتر) رسمی استفاده کنید -و کلید دسترسی پویایی را که به‌تازگی ساخته‌اید به‌عنوان -ورودی سرور اضافه کنید. روی **اتصال** کلیک کنید تا تونل زدن به سرور خود را بااستفاده از -پیکربندی Shadowsocks-over-Websocket آغاز کنید. - -از ابزاری مثل [IPInfo](https://ipinfo.io) استفاده کنید تا تأیید کنید اکنون -اینترنت را با سرور Outline مرور می‌کنید. diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md b/i18n/fr/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md deleted file mode 100644 index cc543fa70..000000000 --- a/i18n/fr/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md +++ /dev/null @@ -1,144 +0,0 @@ ---- -title: "HTTPS automatique avec Caddy" -sidebar_label: "HTTPS automatique avec Caddy" ---- - -Ce guide explique comment utiliser [Caddy](https://caddyserver.com/), un serveur Web performant et convivial, pour améliorer la configuration de votre serveur Outline. Avec ses fonctionnalités [HTTPS automatiques](https://caddyserver.com/docs/automatic-https) et sa configuration flexible, Caddy est un excellent choix pour faire fonctionner votre serveur Outline, en particulier si vous utilisez un transport WebSocket. - -## Qu'est-ce que Caddy ? {#what_is_caddy} - -Caddy est un serveur Web Open Source connu pour sa facilité d'utilisation, ses fonctionnalités HTTPS automatiques et sa compatibilité avec de nombreux protocoles. Il permet de simplifier la configuration des serveurs Web et offre notamment les fonctionnalités suivantes : - -- **HTTPS automatique** : Caddy obtient et renouvelle automatiquement les certificats TLS pour sécuriser les connexions. - -- **Compatibilité HTTP/3** : Caddy prend en charge le dernier protocole HTTP/3, pour un trafic Web plus rapide et efficace. - -- **Extensibilité** : Caddy peut être amélioré avec des plug-ins offrant différentes fonctionnalités comme le proxy inverse et l'équilibrage de charge. - -## Étape 1 : Prérequis {#step_1_prerequisites} - -- Téléchargez et installez [`xcaddy`](https://github.com/caddyserver/xcaddy). - -## Étape 2 : Configurez votre domaine {#step_2_configure_your_domain} - -Avant de lancer Caddy, vérifiez que votre nom de domaine est correctement configuré pour pointer vers l'adresse IP de votre serveur. - -- **Configurez les enregistrements A/AAAA** : connectez-vous à votre fournisseur DNS et configurez les enregistrements A et AAAA afin que votre domaine pointe respectivement vers les adresses IPv4 et IPv6 de votre serveur. - -- **Vérifiez les enregistrements DNS** : vérifiez que vos enregistrements DNS sont configurés correctement avec une recherche faisant autorité : - -```sh -curl "https://cloudflare-dns.com/dns-query?name=&type=A" \ - -H "accept: application/dns-json" -``` - -## Étape 3 : Compilez et exécutez un build Caddy personnalisé {#build-and-run} - -Avec `xcaddy`, vous pouvez compiler un serveur `caddy` binaire personnalisé qui inclut le module de serveur principal Outline et d'autres modules d'extension de serveur indispensables. - -```sh -xcaddy build \ - # The example uses a YAML config, so include a YAML config adapter module. - --with github.com/iamd3vil/caddy_yaml_adapter \ - # The Outline core server module. - --with github.com/OutlineFoundation/outline-ss-server/outlinecaddy -``` - -## Étape 4 : Configurez et exécutez le serveur Caddy avec Outline {#step_4_configure_and_run_the_caddy_server_with_outline} - -Créez un fichier `config.yaml` avec la configuration suivante : - -```yaml -apps: - http: - servers: - server1: - listen: - - ":443" - routes: - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: stream - connection_handler: ss1 - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: packet - connection_handler: ss1 - outline: - shadowsocks: - replay_history: 10000 - connection_handlers: - - name: ss1 - handle: - handler: shadowsocks - keys: - - id: user-1 - cipher: chacha20-ietf-poly1305 - secret: -``` - -:::warning[Important] -: Gardez le champ `path` secret pour éviter la vérification. Il joue le rôle de point de terminaison secret. Nous vous recommandons d'utiliser un chemin long généré de manière aléatoire. -::: - - -Cette configuration représente une stratégie Shadowsocks-over-WebSockets avec un serveur Web écoutant le port `443`, qui accepte le trafic Shadowsocks TCP et UDP encapsulé respectivement aux chemins `TCP_PATH` et `UDP_PATH`. - -Exécutez le serveur Caddy amélioré avec Outline à l'aide de la configuration créée : - -```sh -caddy run --config config.yaml --adapter yaml --watch -``` - -:::note -: Cet exemple utilise le langage YAML, car il est plus lisible et facile à annoter. Cependant, vous pouvez aussi vous servir directement de JSON (le langage de configuration natif de Caddy). Dans ce cas, vous pouvez exécuter le serveur sans l'option `--adapter yaml` et supprimer la dépendance à l'adaptateur YAML lors de l'étape de compilation et d'exécution. -::: - - -Vous trouverez d'autres exemples de configuration dans notre [dépôt GitHub outline-ss-server/outlinecaddy](https://github.com/OutlineFoundation/outline-ss-server/tree/master/outlinecaddy/examples). - -## Étape 5 : Créez une clé d'accès dynamique {#step_5_create_a_dynamic_access_key} - -Générez un fichier YAML de clé d'accès client pour vos utilisateurs à l'aide du format de [configuration avancée](../management/config) et indiquez les points de terminaison WebSocket configurés précédemment côté serveur : - -```yaml -transport: - $type: tcpudp - - tcp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: - - udp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: -``` - -Après avoir généré le fichier YAML de clé d'accès dynamique, vous devez le fournir à vos utilisateurs. Vous pouvez héberger le fichier sur un service d'hébergement Web statique ou le générer de façon dynamique. En savoir plus sur les [clés d'accès dynamiques](../management/dynamic-access-keys) - -## Étape 6 : Connectez-vous au client Outline {#step_6_connect_with_the_outline_client} - -Utilisez l'une des applications officielles du [client Outline](../../download-links) -(version 1.15.0 ou versions ultérieures) et ajoutez la clé d'accès dynamique que vous venez de créer comme entrée de serveur. Cliquez sur **Connecter** pour activer la tunnelisation vers votre serveur à l'aide de la configuration Shadowsocks-over-Websocket. - -Utilisez un outil comme [IPInfo](https://ipinfo.io) pour vérifier que vous naviguez désormais sur Internet via votre serveur Outline. diff --git a/i18n/it/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md b/i18n/it/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md deleted file mode 100644 index 5e3ae895a..000000000 --- a/i18n/it/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md +++ /dev/null @@ -1,143 +0,0 @@ ---- -title: "HTTPS automatico con Caddy" -sidebar_label: "HTTPS automatico con Caddy" ---- - -Questa guida spiega come utilizzare [Caddy](https://caddyserver.com/), un server web potente e facile da usare, per migliorare la configurazione del tuo server Outline. Le funzionalità di [HTTPS automatico](https://caddyserver.com/docs/automatic-https) e la configurazione flessibile di Caddy lo rendono una scelta eccellente per gestire il tuo server Outline, specialmente quando utilizzi un trasporto WebSocket. - -## Cos'è Caddy? {#what_is_caddy} - -Caddy è un server web open source noto per la sua facilità d'uso, l'HTTPS automatico e il supporto di vari protocolli. Semplifica la configurazione del server web e offre funzionalità come: - -- **HTTPS automatico:** Caddy ottiene e rinnova automaticamente i certificati TLS, garantendo connessioni sicure. - -- **Supporto di HTTP/3:** Caddy supporta l'ultimo protocollo HTTP/3 per un traffico web più veloce ed efficiente. - -- **Estensibile con plug-in:** Caddy può essere esteso con plug-in per supportare varie funzionalità, tra cui reverse proxy e bilanciamento del carico. - -## Passaggio 1: prerequisiti {#step_1_prerequisites} - -- Scarica e installa [`xcaddy`](https://github.com/caddyserver/xcaddy). - -## Passaggio 2: configura il tuo dominio {#step_2_configure_your_domain} - -Prima di avviare Caddy, assicurati che il tuo nome di dominio sia configurato correttamente per puntare all'indirizzo IP del tuo server. - -- **Imposta i record A/AAAA:** accedi al tuo provider DNS e imposta i record A e AAAA per il tuo dominio in modo che puntino rispettivamente agli indirizzi IPv4 e IPv6 del tuo server. - -- **Verifica i record DNS:** verifica che i tuoi record DNS siano impostati correttamente con una ricerca autorevole: - -```sh -curl "https://cloudflare-dns.com/dns-query?name=&type=A" \ - -H "accept: application/dns-json" -``` - -## Passaggio 3: crea ed esegui una build Caddy personalizzata {#build-and-run} - -Utilizzando `xcaddy`, puoi creare un file binario `caddy` personalizzato che include il modulo server core Outline e altri moduli di estensione server di cui avrai bisogno. - -```sh -xcaddy build \ - # The example uses a YAML config, so include a YAML config adapter module. - --with github.com/iamd3vil/caddy_yaml_adapter \ - # The Outline core server module. - --with github.com/OutlineFoundation/outline-ss-server/outlinecaddy -``` - -## Passaggio 4: configura ed esegui il server Caddy con Outline {#step_4_configure_and_run_the_caddy_server_with_outline} - -Crea un nuovo file `config.yaml` con la seguente configurazione: - -```yaml -apps: - http: - servers: - server1: - listen: - - ":443" - routes: - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: stream - connection_handler: ss1 - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: packet - connection_handler: ss1 - outline: - shadowsocks: - replay_history: 10000 - connection_handlers: - - name: ss1 - handle: - handler: shadowsocks - keys: - - id: user-1 - cipher: chacha20-ietf-poly1305 - secret: -``` - -:::warning[Important] -mantieni segreto `path` per evitare di subire esplorazioni. Funge da endpoint segreto. Consigliamo un percorso lungo e generato in modo casuale. -::: - - -Questa configurazione rappresenta una strategia Shadowsocks-over-WebSockets con un server web in ascolto sulla porta `443`, che accetta traffico aggregato Shadowsocks TCP e UDP rispettivamente nei percorsi `TCP_PATH` e `UDP_PATH`. - -Esegui il server Caddy esteso con Outline utilizzando la configurazione creata: - -```sh -caddy run --config config.yaml --adapter yaml --watch -``` - -:::note -l'esempio utilizza YAML perché è più leggibile e più facile da annotare, ma puoi anche utilizzare direttamente JSON (il linguaggio di configurazione nativo di Caddy). Se utilizzi quest'ultimo, puoi eseguire Caddy senza il flag `--adapter yaml` e rimuovere la dipendenza dell'adattatore YAML nel passaggio relativo alla creazione ed esecuzione. -::: - - -Puoi trovare altre configurazioni di esempio nel nostro [repository GitHub outline-ss-server/outlinecaddy](https://github.com/OutlineFoundation/outline-ss-server/tree/master/outlinecaddy/examples). - -## Passaggio 5: crea una chiave di accesso dinamica {#step_5_create_a_dynamic_access_key} - -Genera un file YAML della chiave di accesso client per i tuoi utenti utilizzando il formato della [configurazione avanzata](../management/config) e includi gli endpoint WebSocket precedentemente configurati sul lato server: - -```yaml -transport: - $type: tcpudp - - tcp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: - - udp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: -``` - -Dopo aver generato il file YAML della chiave di accesso dinamica, devi inviarlo ai tuoi utenti. Puoi ospitare il file su un servizio di web hosting statico o generarlo dinamicamente. Scopri di più su come utilizzare le [chiavi di accesso dinamiche](../management/dynamic-access-keys). - -## Passaggio 6: connettiti al client Outline {#step_6_connect_with_the_outline_client} - -Utilizza una delle applicazioni [client Outline](../../download-links) ufficiali del client Outline (1.15.0 e versioni successive) e aggiungi la tua chiave di accesso dinamica appena creata come voce server. Fai clic su **Connetti** per avviare il tunneling al tuo server utilizzando la configurazione Shadowsocks-over-Websocket. - -Utilizza uno strumento come [IPInfo](https://ipinfo.io) per verificare che ora stai navigando su internet tramite il tuo server Outline. diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md b/i18n/ja/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md deleted file mode 100644 index 6a0e5744f..000000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md +++ /dev/null @@ -1,144 +0,0 @@ ---- -title: "Caddy による自動 HTTPS" -sidebar_label: "Caddy による自動 HTTPS" ---- - -このガイドでは、強力でユーザー フレンドリーなウェブサーバーである [Caddy](https://caddyserver.com/) を使用して、Outline サーバーのセットアップを強化する方法を示します。Caddy には[自動 HTTPS](https://caddyserver.com/docs/automatic-https) 機能があり、柔軟性の高い構成を備えているため、Outline サーバーの機能を拡張し強化する手段として最適であり、特に WebSocket トランスポートを使用する場合におすすめです。 - -## Caddy とは何ですか? {#what_is_caddy} - -Caddy は、使いやすさ、自動 HTTPS、さまざまなプロトコルのサポートという特長を持つオープンソース ウェブサーバーです。ウェブサーバーの構成を簡素化し、次のような機能を提供します。 - -- **自動 HTTPS:** Caddy は TLS 証明書を自動的に取得し、更新して、安全な接続を維持します。 - -- **HTTP/3 のサポート:** Caddy は最新の HTTP/3 プロトコルをサポートしており、ウェブ トラフィックの処理の高速化と効率化を図ることができます。 - -- **プラグインで拡張可能:** Caddy をプラグインで拡張し、リバース プロキシやロード バランシングなどのさまざまな機能をサポートできます。 - -## ステップ 1: 前提条件 {#step_1_prerequisites} - -- [`xcaddy`](https://github.com/caddyserver/xcaddy) をダウンロードして、インストールします。 - -## ステップ 2: ドメインを構成する {#step_2_configure_your_domain} - -Caddy を開始する前に、サーバーの IP アドレスを指すようにドメイン名が正しく構成されていることを確認します。 - -- **A/AAAA レコードの設定:** DNS プロバイダにログインし、サーバーの IPv4 アドレスと IPv6 アドレスをそれぞれ指すようにドメインの A レコードと AAAA レコードを設定します。 - -- **DNS レコードの確認:** 正式な DNS レコードをルックアップし、レコードが正しく設定されていることを確認します。 - -```sh -curl "https://cloudflare-dns.com/dns-query?name=&type=A" \ - -H "accept: application/dns-json" -``` - -## ステップ 3: Caddy のカスタムビルドを構築して実行する {#build-and-run} - -`xcaddy` を使用して、Outline コアサーバー モジュールと必要な他のサーバー拡張機能モジュールを含む `caddy` のカスタム バイナリを構築できます。 - -```sh -xcaddy build \ - # The example uses a YAML config, so include a YAML config adapter module. - --with github.com/iamd3vil/caddy_yaml_adapter \ - # The Outline core server module. - --with github.com/OutlineFoundation/outline-ss-server/outlinecaddy -``` - -## ステップ 4: Outline で Caddy サーバーを構成して実行する {#step_4_configure_and_run_the_caddy_server_with_outline} - -新しい `config.yaml` ファイルを作成し、次の構成を含めます。 - -```yaml -apps: - http: - servers: - server1: - listen: - - ":443" - routes: - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: stream - connection_handler: ss1 - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: packet - connection_handler: ss1 - outline: - shadowsocks: - replay_history: 10000 - connection_handlers: - - name: ss1 - handle: - handler: shadowsocks - keys: - - id: user-1 - cipher: chacha20-ietf-poly1305 - secret: -``` - -:::warning[Important] -プローブを回避するため、`path` をシークレットにしてください。これはシークレット エンドポイントとして機能します。長い、ランダムに生成されたパスの使用をおすすめします。 -::: - - -この構成は Shadowsocks-over-WebSockets 方式で、ウェブサーバーが `443` ポートでリッスンし、Shadowsocks でラップした TCP および UDP トラフィックをそれぞれ `TCP_PATH` パスと `UDP_PATH` パスで受け入れることを意味します。 - -作成した構成を使用して Outline とその拡張を含む Caddy サーバーを実行します。 - -```sh -caddy run --config config.yaml --adapter yaml --watch -``` - -:::note -YAML の方が読みやすく、注釈を付けるのが容易であるため、この例では YAML を使用していますが、JSON(Caddy のネイティブ構成言語)を直接使用することもできます。これを使用する場合は、`--adapter yaml` フラグを指定しないで実行し、ビルドおよび実行のステップで YAML アダプタの依存関係を解除することができます。 -::: - - -他の構成例については、[outline-ss-server/outlinecaddy GitHub -repo](https://github.com/OutlineFoundation/outline-ss-server/tree/master/outlinecaddy/examples) をご覧ください。 - -## ステップ 5: 動的アクセスキーを作成する {#step_5_create_a_dynamic_access_key} - -[高度な構成](../management/config)の形式を使用してユーザーのクライアント アクセスキー ファイル(YAML)を生成し、サーバー側で以前に構成した WebSocket エンドポイントを含めます。 - -```yaml -transport: - $type: tcpudp - - tcp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: - - udp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: -``` - -動的アクセスキー ファイル(YAML)を生成したら、ユーザーに提供する必要があります。このファイルは静的なウェブ ホスティング サービスでホストすることも、動的に生成することもできます。[動的アクセスキー](../management/dynamic-access-keys)の使用方法を確認してください - -## ステップ 6: Outline クライアントで接続する {#step_6_connect_with_the_outline_client} - -公式の [Outline クライアント](../../download-links) アプリケーション(バージョン 1.15.0 以降)のいずれかを使用し、新しく作成した動的アクセスキーをサーバー エントリとして追加します。[**接続**] をクリックし、Shadowsocks-over-Websocket 構成を使用してサーバーへのトンネリングを開始します。 - -[IPInfo](https://ipinfo.io) などのツールを使用して、Outline サーバー経由でインターネットをブラウジングしていることを確認します。 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md b/i18n/ko/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md deleted file mode 100644 index 31c0d86cd..000000000 --- a/i18n/ko/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md +++ /dev/null @@ -1,143 +0,0 @@ ---- -title: "Caddy를 사용한 자동 HTTPS" -sidebar_label: "Caddy를 사용한 자동 HTTPS" ---- - -이 가이드에서는 강력하고 사용자 친화적인 웹 서버인 [Caddy](https://caddyserver.com/)를 사용하여 Outline 서버 설정을 개선하는 방법을 설명합니다. Caddy는 [자동 HTTPS](https://caddyserver.com/docs/automatic-https) 기능과 유연한 구성을 보유하고 있어 특히 WebSocket 전송을 사용할 때 Outline 서버를 제공하는 데 적합합니다. - -## Caddy란 무엇인가요? {#what_is_caddy} - -Caddy는 사용 용이성과 자동 HTTPS, 다양한 프로토콜 지원으로 알려진 오픈소스 웹 서버입니다. 웹 서버 구성을 간소화하고 다음과 같은 기능을 제공합니다. - -- **자동 HTTPS:** Caddy는 TLS 인증서를 자동으로 획득하고 갱신하므로 보안 연결이 보장됩니다. - -- **HTTP/3 지원:** Caddy는 더 빠르고 효율적인 웹 트래픽을 위해 최신 HTTP/3 프로토콜을 지원합니다. - -- **플러그인으로 확장 가능:** Caddy는 리버스 프록시, 부하 분산 등 다양한 기능을 지원하기 위해 플러그인으로 확장할 수 있습니다. - -## 1단계: 기본 요건 {#step_1_prerequisites} - -- [`xcaddy`](https://github.com/caddyserver/xcaddy)를 다운로드하고 설치합니다. - -## 2단계: 도메인 구성 {#step_2_configure_your_domain} - -Caddy를 시작하기 전에 도메인 이름이 서버의 IP 주소를 가리키도록 올바르게 구성되었는지 확인합니다. - -- **A/AAAA 레코드 설정:** DNS 제공업체에 로그인하고 도메인의 A 및 AAAA 레코드가 각각 서버의 IPv4 및 IPv6 주소를 가리키도록 설정합니다. - -- **DNS 레코드 확인:** 신뢰할 수 있는 조회를 통해 DNS 레코드가 올바르게 설정되었는지 확인합니다. - -```sh -curl "https://cloudflare-dns.com/dns-query?name=&type=A" \ - -H "accept: application/dns-json" -``` - -## 3단계: 맞춤 Caddy 빌드 구축 및 실행 {#build-and-run} - -`xcaddy`를 사용하면 Outline 핵심 서버 모듈과 필요한 기타 서버 확장 모듈이 포함된 맞춤 `caddy` 바이너리를 빌드할 수 있습니다. - -```sh -xcaddy build \ - # The example uses a YAML config, so include a YAML config adapter module. - --with github.com/iamd3vil/caddy_yaml_adapter \ - # The Outline core server module. - --with github.com/OutlineFoundation/outline-ss-server/outlinecaddy -``` - -## 4단계: Outline을 사용하여 Caddy 서버 구성 및 실행 {#step_4_configure_and_run_the_caddy_server_with_outline} - -다음 구성을 사용하여 새 `config.yaml` 파일을 만듭니다. - -```yaml -apps: - http: - servers: - server1: - listen: - - ":443" - routes: - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: stream - connection_handler: ss1 - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: packet - connection_handler: ss1 - outline: - shadowsocks: - replay_history: 10000 - connection_handlers: - - name: ss1 - handle: - handler: shadowsocks - keys: - - id: user-1 - cipher: chacha20-ietf-poly1305 - secret: -``` - -:::warning[Important] -프로브를 방지하려면 `path`를 계속 비밀로 유지하세요. 비밀 엔드포인트 역할을 합니다. 경로는 길고 무작위로 생성하는 것이 좋습니다. -::: - - -이 구성은 웹 서버가 포트 `443`에서 수신 대기하는 Shadowsocks-over-WebSockets 전략을 나타내며 `TCP_PATH` 및 `UDP_PATH` 경로에서 각각 TCP 및 UDP Shadowsocks 래핑 트래픽을 허용합니다. - -생성된 구성을 사용하여 Outline으로 확장된 Caddy 서버를 실행합니다. - -```sh -caddy run --config config.yaml --adapter yaml --watch -``` - -:::note -이 예에서 YAML을 사용하는 이유는 읽기 쉽고 주석을 달기도 쉽기 때문이지만 JSON(Caddy의 기본 구성 언어)을 직접 사용해도 됩니다. JSON을 사용하면 `--adapter yaml` 플래그 없이도 실행할 수 있고 빌드 및 실행 단계에서 YAML 어댑터 종속 항목을 삭제할 수 있습니다. -::: - - -더 많은 구성 예는 [outline-ss-server/outlinecaddy GitHub 저장소](https://github.com/OutlineFoundation/outline-ss-server/tree/master/outlinecaddy/examples)에서 확인할 수 있습니다. - -## 5단계: 동적 액세스 키 만들기 {#step_5_create_a_dynamic_access_key} - -[고급 구성](../management/config) 형식을 사용하여 사용자의 클라이언트 액세스 키 YAML 파일을 생성하고 이전에 서버 측에서 구성한 WebSocket 엔드포인트를 포함합니다. - -```yaml -transport: - $type: tcpudp - - tcp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: - - udp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: -``` - -동적 액세스 키 YAML 파일을 생성한 후에는 사용자에게 제공해야 합니다. 정적 웹 호스팅 서비스에서 파일을 호스팅하거나 동적으로 생성할 수 있습니다. [동적 액세스 키](../management/dynamic-access-keys) 사용 방법을 자세히 알아보세요. - -## 6단계: Outline 클라이언트에 연결 {#step_6_connect_with_the_outline_client} - -공식 [Outline 클라이언트](../../download-links) 애플리케이션(버전 1.15.0+) 중 하나를 사용하고 새로 생성된 동적 액세스 키를 서버 항목으로 추가합니다. Shadowsocks-over-Websocket 구성을 사용하여 서버로의 터널링을 시작하려면 **연결**을 클릭합니다. - -[IPInfo](https://ipinfo.io)와 같은 도구를 사용하여 현재 Outline 서버를 통해 인터넷을 탐색하고 있는지 확인합니다. diff --git a/i18n/nl/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md b/i18n/nl/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md deleted file mode 100644 index d83b7c096..000000000 --- a/i18n/nl/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md +++ /dev/null @@ -1,143 +0,0 @@ ---- -title: "Automatische HTTPS met Caddy" -sidebar_label: "Automatische HTTPS met Caddy" ---- - -In deze handleiding wordt uitgelegd hoe je [Caddy](https://caddyserver.com/), een krachtige en gebruiksvriendelijke webserver, kunt gebruiken als aanvulling op je Outline-serverinstallatie. De functies voor [automatische HTTPS](https://caddyserver.com/docs/automatic-https) en flexibele configuratie van Caddy maken van Caddy een uitstekende keuze om je Outline-server op te serven, vooral als je WebSocket-transport gebruikt. - -## Wat is Caddy? {#what_is_caddy} - -Caddy is een open source webserver die bekendstaat vanwege de gebruiksvriendelijkheid, automatische HTTPS en ondersteuning voor verschillende protocollen. Caddy maakt de configuratie van webservers makkelijker en biedt functies als: - -- **Automatische HTTPS:** Caddy verkrijgt en vernieuwt automatisch TLS-certificaten en zorgt zo voor een beveiligde verbinding. - -- **Ondersteuning voor HTTP/3:** Caddy ondersteunt het nieuwste HTTP/3-protocol voor sneller en efficiënter webverkeer. - -- **Uitbreidbaar met plug-ins:** Je kunt Caddy uitbreiden met plug-ins om verschillende functies toe te voegen, zoals omgekeerde proxy's en load balancing. - -## Stap 1: Vereisten {#step_1_prerequisites} - -- Download en installeer [`xcaddy`](https://github.com/caddyserver/xcaddy). - -## Stap 2: Stel je domein in {#step_2_configure_your_domain} - -Zorg voordat je aan de slag gaat met Caddy dat je domeinnaam zo is ingesteld dat deze wijst naar het IP-adres van je server. - -- **Stel A/AAAA-records in:** Log in bij je DNS-provider en stel de A- en AAAA-records van je domein zo in dat ze wijzen naar respectievelijk het IPv4- en IPv6-adres van je server. - -- **Controleer DNS-records:** Controleer of je DNS-records juist zijn ingesteld met een autoritatieve lookup: - -```sh -curl "https://cloudflare-dns.com/dns-query?name=&type=A" \ - -H "accept: application/dns-json" -``` - -## Stap 3: Maak een aangepaste Caddy-build en voer deze uit {#build-and-run} - -Met `xcaddy` kun je een aangepast binair bestand voor `caddy` maken die de kernmodule van de Outline-server en andere nodige extensiemodules van de server bevat. - -```sh -xcaddy build \ - # The example uses a YAML config, so include a YAML config adapter module. - --with github.com/iamd3vil/caddy_yaml_adapter \ - # The Outline core server module. - --with github.com/OutlineFoundation/outline-ss-server/outlinecaddy -``` - -## Stap 4: Stel de Caddy-server in en voer deze uit met Outline {#step_4_configure_and_run_the_caddy_server_with_outline} - -Maak een nieuw `config.yaml`-bestand met de volgende configuratie: - -```yaml -apps: - http: - servers: - server1: - listen: - - ":443" - routes: - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: stream - connection_handler: ss1 - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: packet - connection_handler: ss1 - outline: - shadowsocks: - replay_history: 10000 - connection_handlers: - - name: ss1 - handle: - handler: shadowsocks - keys: - - id: user-1 - cipher: chacha20-ietf-poly1305 - secret: -``` - -:::warning[Important] -Houd het `path` geheim om probing te voorkomen. Het doet dienst als geheim eindpunt. We raden je aan een lang, willekeurig gegenereerd pad te gebruiken. -::: - - -Deze configuratie vertegenwoordigt een Shadowsocks-over-WebSockets-strategie met een webserver die luistert op poort `443` en TCP-en UDP-verkeer verpakt door Shadowsocks accepteert via respectievelijk pad `TCP_PATH` en `UDP_PATH`. - -Voer de Caddy-server uitgebreid met Outline uit door middel van de gemaakte configuratie: - -```sh -caddy run --config config.yaml --adapter yaml --watch -``` - -:::note -Het voorbeeld gebruikt YAML omdat dit beter leesbaar en makkelijker te annoteren is. Je kunt ook rechtstreeks json (de systeemeigen configuratietaal van Caddy) gebruiken. In dat geval kun je de configuratie uitvoeren zonder de markering `--adapter yaml` en de afhankelijkheid voor de YAML-adapter in de stap voor maken en uitvoeren verwijderen. -::: - - -Je vindt meer voorbeeldconfiguraties in onze [GitHub-repository outline-ss-server/outlinecaddy](https://github.com/OutlineFoundation/outline-ss-server/tree/master/outlinecaddy/examples). - -## Stap 5: Maak een dynamische toegangssleutel {#step_5_create_a_dynamic_access_key} - -Maak een YAML-bestand met de clienttoegangssleutel voor je gebruikers met de indeling voor de [geavanceerde configuratie](../management/config). Voeg het WebSockets-eindpunt toe dat je eerder hebt ingesteld aan de serverzijde: - -```yaml -transport: - $type: tcpudp - - tcp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: - - udp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: -``` - -Nadat je het YAML-bestand met de dynamische toegangssleutel hebt gemaakt, moet je zorgen dat je gebruikers er toegang toe hebben. Je kunt het bestand hosten op een statische webhostingservice of het dynamisch genereren. Meer informatie over hoe je [dynamische toegangssleutels](../management/dynamic-access-keys) gebruikt. - -## Stap 6: Maak verbinding met de Outline-client {#step_6_connect_with_the_outline_client} - -Gebruik een van de officiële apps voor de [Outline-client](../../download-links) (versie 1.15.0+) en voeg de dynamische toegangssleutel die je net hebt gemaakt toe als serverinvoer. Klik op **Verbinden** om het tunnelen naar je server te starten met de Shadowsocks-over-WebSocket-configuratie. - -Gebruik een tool als [IPInfo](https://ipinfo.io) om te controleren of je nu browst op internet via je Outline-server. diff --git a/i18n/pl/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md b/i18n/pl/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md deleted file mode 100644 index 63cbb2c5c..000000000 --- a/i18n/pl/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md +++ /dev/null @@ -1,143 +0,0 @@ ---- -title: "Automatyczny protokół HTTPS z serwerem Caddy" -sidebar_label: "Automatyczny protokół HTTPS z serwerem Caddy" ---- - -W tym przewodniku znajdziesz informacje o tym, jak korzystać z [Caddy](https://caddyserver.com/), zaawansowanego i przyjaznego dla użytkownika serwera WWW, aby udoskonalić konfigurację serwera Outline. Funkcje serwera Caddy dotyczące [automatycznego protokołu HTTPS](https://caddyserver.com/docs/automatic-https) oraz jego elastyczna konfiguracja sprawiają, że jest to doskonały wybór do obsługi serwera Outline, zwłaszcza w przypadku korzystania z transportu webSocket. - -## Czym jest serwer Caddy? {#what_is_caddy} - -Caddy to serwer WWW na licencji open source znany z łatwości użytkowania, automatycznego protokołu HTTPS i obsługi wielu różnych protokołów. Upraszcza konfigurację serwera WWW i zapewnia funkcje takie jak: - -- **Automatyczny protokół HTTPS:** Caddy automatycznie uzyskuje i odnawia certyfikaty TLS, zapewniając tym samym bezpieczne połączenia. - -- **Obsługa HTTP/3:** Caddy obsługuje najnowszy protokół HTTP/3, co przekłada się na szybszy i wydajniejszy ruch w sieci. - -- **Rozszerzalność za pomocą wtyczek:** Caddy można rozszerzyć za pomocą wtyczek o różne funkcje, w tym odwrotne serwery proxy i równoważenie obciążenia. - -## Krok 1. Wymagania wstępne {#step_1_prerequisites} - -- Pobierz i zainstaluj [`xcaddy`](https://github.com/caddyserver/xcaddy). - -## Krok 2. Skonfiguruj domenę {#step_2_configure_your_domain} - -Przed uruchomieniem serwera Caddy upewnij się, że nazwa Twojej domeny jest poprawnie skonfigurowana, tak aby wskazywała na adres IP Twojego serwera. - -- **Ustaw rekordy A/AAAA:** zaloguj się do swojego dostawcy DNS i skonfiguruj rekordy A i AAAA dla swojej domeny, tak aby wskazywały odpowiednio na adresy IPv4 i IPv6 Twojego serwera. - -- **Sprawdź rekordy DNS:** sprawdź, czy Twoje rekordy DNS są ustawione poprawnie, za pomocą wyszukiwania autorytatywnego: - -```sh -curl "https://cloudflare-dns.com/dns-query?name=&type=A" \ - -H "accept: application/dns-json" -``` - -## Krok 3. Utwórz i uruchom odpowiedni serwer Caddy {#build-and-run} - -Korzystając z `xcaddy`, możesz skompilować spersonalizowany plik binarny `caddy` zawierający główny moduł serwera Outline i inne moduły rozszerzenia serwera, które są potrzebne. - -```sh -xcaddy build \ - # The example uses a YAML config, so include a YAML config adapter module. - --with github.com/iamd3vil/caddy_yaml_adapter \ - # The Outline core server module. - --with github.com/OutlineFoundation/outline-ss-server/outlinecaddy -``` - -## Krok 4. Skonfiguruj i uruchom serwer Caddy z Outline {#step_4_configure_and_run_the_caddy_server_with_outline} - -Utwórz nowy plik `config.yaml` o następującej konfiguracji: - -```yaml -apps: - http: - servers: - server1: - listen: - - ":443" - routes: - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: stream - connection_handler: ss1 - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: packet - connection_handler: ss1 - outline: - shadowsocks: - replay_history: 10000 - connection_handlers: - - name: ss1 - handle: - handler: shadowsocks - keys: - - id: user-1 - cipher: chacha20-ietf-poly1305 - secret: -``` - -:::warning[Important] -utrzymuj parametr `path` w tajemnicy, aby uniknąć prób jego odkrycia. Pełni funkcję sekretnego punktu końcowego. Zaleca się stworzenie długiej, wygenerowanej losowo ścieżki. -::: - - -Ta konfiguracja reprezentuje strategię Shadowsocks-over-WebSockets z serwerem WWW nasłuchującym na porcie `443`, przyjmującym spakowany ruch protokołów Shadowsocks TCP i UDP odpowiednio przy ścieżkach `TCP_PATH` i `UDP_PATH`. - -Uruchom serwer Caddy rozszerzony za pomocą Outline, korzystając z utworzonej konfiguracji: - -```sh -caddy run --config config.yaml --adapter yaml --watch -``` - -:::note -w tym przykładzie korzystamy z języka YAML, ponieważ jest bardziej czytelny i łatwiej dodawać w nim adnotacje; możesz też jednak korzystać bezpośrednio z formatu JSON (języka pierwotnej konfiguracji Caddy). Jeśli z tak zrobisz, możesz uruchomić serwer bez oznaczenia `--adapter yaml` i usunąć zależność od adaptera YAML w kroku tworzenia i uruchamiania. -::: - - -Więcej przykładów konfiguracji znajdziesz w naszym [repozytorium GitHub outline-ss-server/outlinecaddy](https://github.com/OutlineFoundation/outline-ss-server/tree/master/outlinecaddy/examples). - -## Krok 5. Utwórz dynamiczny klucz dostępu {#step_5_create_a_dynamic_access_key} - -Wygeneruj plik YAML z kluczem dostępu klienta dla użytkowników korzystających z formatu [zaawansowanej konfiguracji](../management/config) i uwzględnij punkty końcowe WebSocket skonfigurowane po stronie serwera: - -```yaml -transport: - $type: tcpudp - - tcp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: - - udp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: -``` - -Po wygenerowaniu pliku YAML z dynamicznym kluczem dostępu musisz dostarczyć go swoim użytkownikom. Możesz hostować plik na statycznym hostingu WWW lub generować go dynamicznie. Dowiedz się więcej o [dynamicznych kluczach dostępu](../management/dynamic-access-keys). - -## Krok 6. Połącz się z klientem Outline {#step_6_connect_with_the_outline_client} - -Skorzystaj z jednej z oficjalnych aplikacji [klienta Outline](../../download-links) (wersja 1.15.0 i nowsze) i dodaj swój nowo utworzony dynamiczny klucz dostępu jako wpis serwera. Kliknij **Połącz**, aby rozpocząć tunelowanie do swojego serwera za pomocą konfiguracji Shadowsocks-over-Websocket. - -Skorzystaj z narzędzia takiego jak [IPInfo](https://ipinfo.io), aby potwierdzić, że przeglądasz internet za pomocą swojego serwera Outline. diff --git a/i18n/pt-BR/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md b/i18n/pt-BR/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md deleted file mode 100644 index bd79f16d9..000000000 --- a/i18n/pt-BR/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md +++ /dev/null @@ -1,168 +0,0 @@ ---- -title: "HTTPS automático com Caddy" -sidebar_label: "HTTPS automático com Caddy" ---- - -Este guia explica como usar o [Caddy](https://caddyserver.com/), um servidor da Web -potente e fácil de usar, para aprimorar a configuração do seu servidor Outline (os links relacionados ao Caddy nesta página estão em inglês). Com -[HTTPS automático](https://caddyserver.com/docs/automatic-https) e -configuração flexível, o Caddy é uma excelente opção para atender ao seu servidor Outline, -especialmente ao usar um transporte WebSocket. - -## O que é Caddy? {#what_is_caddy} - -O Caddy é um servidor da Web de código aberto conhecido por sua facilidade de uso, HTTPS automático -e suporte a vários protocolos. Ele simplifica a configuração do servidor da Web e -oferece recursos como: - -- **HTTPS automático**: o Caddy obtém e renova automaticamente os certificados TLS, -garantindo conexões seguras. - -- **Suporte a HTTP/3**: o Caddy aceita o protocolo HTTP/3 mais recente, garantindo mais rapidez e eficácia no tráfego da Web. - -- **Extensível com plug-ins**: o Caddy aceita plug-ins para permitir -várias funcionalidades, como proxy reverso e balanceamento de carga. - -## Etapa 1: pré-requisitos {#step_1_prerequisites} - -- Baixe e instale o [`xcaddy`](https://github.com/caddyserver/xcaddy) - -## Etapa 2: configurar seu domínio {#step_2_configure_your_domain} - -Antes de iniciar o Caddy, verifique se o nome de domínio está configurado para apontar -para o endereço IP do seu servidor. - -- **Defina registros A/AAAA**: entre no seu provedor de DNS e defina os registros A e AAAA -do seu domínio para apontar para os endereços IPv4 e IPv6 do seu servidor, respectivamente. - -- **Verifique os registros DNS**: verifique se os registros DNS estão definidos corretamente com uma -pesquisa autoritativa: - -```sh -curl "https://cloudflare-dns.com/dns-query?name=&type=A" \ - -H "accept: application/dns-json" -``` - -## Etapa 3: criar e executar um build personalizado do Caddy {#build-and-run} - -Com o `xcaddy`, é possível criar um `caddy` binário personalizado que inclui o módulo de servidor principal do Outline -e outros módulos de extensão de servidor necessários. - -```sh -xcaddy build \ - # The example uses a YAML config, so include a YAML config adapter module. - --with github.com/iamd3vil/caddy_yaml_adapter \ - # The Outline core server module. - --with github.com/OutlineFoundation/outline-ss-server/outlinecaddy -``` - -## Etapa 4: configurar e executar o servidor do Caddy com o Outline {#step_4_configure_and_run_the_caddy_server_with_outline} - -Crie um novo arquivo `config.yaml` com a seguinte configuração: - -```yaml -apps: - http: - servers: - server1: - listen: - - ":443" - routes: - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: stream - connection_handler: ss1 - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: packet - connection_handler: ss1 - outline: - shadowsocks: - replay_history: 10000 - connection_handlers: - - name: ss1 - handle: - handler: shadowsocks - keys: - - id: user-1 - cipher: chacha20-ietf-poly1305 - secret: -``` - -:::warning[Important] -: mantenha o `path` em sigilo para evitar sondagens. Ele funciona como um endpoint secreto. Recomendamos um caminho longo e gerado aleatoriamente. -::: - - -Essa configuração representa uma estratégia do Shadowsocks sobre WebSockets com um servidor da Web -que detecta na porta `443`, aceitando tráfego TCP e UDP encapsulado -do Shadowsocks nos caminhos `TCP_PATH` e `UDP_PATH`, -respectivamente. - -Execute o servidor Caddy estendido com o Outline usando a configuração criada: - -```sh -caddy run --config config.yaml --adapter yaml --watch -``` - -:::note -: o exemplo usa YAML porque é mais legível e fácil de anotar, mas também é possível usar o JSON (linguagem de configuração nativa do Caddy). Se você usá-lo, poderá executar sem a flag `--adapter yaml` e remover a dependência do adaptador YAML na etapa de criação e execução. -::: - - -Você pode encontrar mais exemplos de configurações em nosso [repositório do GitHub -outline-ss-server/outlinecaddy](https://github.com/OutlineFoundation/outline-ss-server/tree/master/outlinecaddy/examples) (em inglês). - -## Etapa 5: criar uma chave de acesso dinâmica {#step_5_create_a_dynamic_access_key} - -Gere um arquivo YAML de chave de acesso do cliente para seus usuários usando -o formato de [configuração avançada](../management/config) e inclua os endpoints -do WebSocket configurados anteriormente no lado do servidor: - -```yaml -transport: - $type: tcpudp - - tcp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: - - udp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: -``` - -Depois de gerar o arquivo YAML de chaves de acesso dinâmicas, você terá que entregá-lo aos seus -usuários. É possível hospedar o arquivo em um serviço estático de hospedagem -na Web ou gerá-lo dinamicamente. Saiba mais sobre como usar as [chaves de acesso -dinâmicas](../management/dynamic-access-keys). - -## Etapa 6: estabelecer conexão com o app cliente do Outline {#step_6_connect_with_the_outline_client} - -Use um dos aplicativos oficiais do [app cliente do Outline](../../download-links) -(versões 1.15.0+) e adicione a chave de acesso dinâmica que você criou como -uma entrada de servidor. Clique em **Conectar** para iniciar o encapsulamento para seu servidor usando a -configuração Shadowsocks sobre WebSocket. - -Use uma ferramenta como o [IPInfo](https://ipinfo.io) (em inglês) para verificar se você está navegando na -Internet pelo seu servidor Outline. diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md b/i18n/ru/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md deleted file mode 100644 index 269788fb2..000000000 --- a/i18n/ru/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md +++ /dev/null @@ -1,143 +0,0 @@ ---- -title: "Caddy с автоматическим HTTPS" -sidebar_label: "Caddy с автоматическим HTTPS" ---- - -В этом руководстве объясняется, как использовать [Caddy](https://caddyserver.com/) – мощный и удобный веб-сервер – для расширенной настройки сервера Outline. [Автоматическое использование HTTPS](https://caddyserver.com/docs/automatic-https) и возможности гибкой настройки делают Caddy отличным решением для обслуживания сервера Outline, особенно если он работает на базе протокола WebSocket. - -## Что такое Caddy? {#what_is_caddy} - -Caddy – это веб-сервер с открытым исходным кодом, который отличается простотой настройки, автоматическим использованием HTTPS и поддержкой различных протоколов. Он упрощает настройку веб-сервера и предлагает следующие функции: - -- **Автоматическое использование HTTPS.** Caddy автоматически получает и обновляет сертификаты TLS, обеспечивая защищенное подключение. - -- **Поддержка HTTP/3.** Caddy поддерживает последний протокол HTTP/3 для более быстрой и эффективной передачи веб-трафика. - -- **Расширяемость с помощью плагинов.** Вы можете добавить в Caddy такие функции, как обратный прокси и балансировщик нагрузки. - -## Шаг 1. Выполните подготовку {#step_1_prerequisites} - -- Скачайте и установите [`xcaddy`](https://github.com/caddyserver/xcaddy). - -## Шаг 2. Настройте свой домен {#step_2_configure_your_domain} - -Перед запуском Caddy проверьте, что доменное имя настроено правильно и указывает на IP-адрес вашего сервера. - -- **Настройте записи A и AAAA.** Войдите в аккаунт на сайте вашего поставщика услуг DNS и укажите IPv4-адрес (запись A) и IPv6-адрес сервера (запись AAAA). - -- **Проверьте записи DNS.** Чтобы убедиться, что записи настроены правильно, выполните следующий запрос: - -```sh -curl "https://cloudflare-dns.com/dns-query?name=&type=A" \ - -H "accept: application/dns-json" -``` - -## Шаг 3. Создайте и запустите специальную сборку Caddy {#build-and-run} - -С помощью `xcaddy` можно собрать специальный исполняемый файл `caddy`, содержащий модуль основного сервера Outline и другие необходимые модули расширений. - -```sh -xcaddy build \ - # The example uses a YAML config, so include a YAML config adapter module. - --with github.com/iamd3vil/caddy_yaml_adapter \ - # The Outline core server module. - --with github.com/OutlineFoundation/outline-ss-server/outlinecaddy -``` - -## Шаг 4. Настройте и запустите сервер Caddy с Outline {#step_4_configure_and_run_the_caddy_server_with_outline} - -Создайте файл `config.yaml` со следующей конфигурацией: - -```yaml -apps: - http: - servers: - server1: - listen: - - ":443" - routes: - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: stream - connection_handler: ss1 - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: packet - connection_handler: ss1 - outline: - shadowsocks: - replay_history: 10000 - connection_handlers: - - name: ss1 - handle: - handler: shadowsocks - keys: - - id: user-1 - cipher: chacha20-ietf-poly1305 - secret: -``` - -:::warning[Important] -Чтобы избежать автоматического сканирования и возможных атак, держите значение `path` в секрете. Оно выполняет роль секретной конечной точки. Рекомендуется использовать длинный, случайно сгенерированный путь. -::: - - -Эта конфигурация реализует модель Shadowsocks-over-WebSockets, где веб-сервер прослушивает порт `443` и принимает трафик TCP и UDP, упакованный в трафик Shadowsocks, по путям `TCP_PATH` и `UDP_PATH` соответственно. - -Запустите Caddy с Outline, используя созданный ранее файл конфигурации: - -```sh -caddy run --config config.yaml --adapter yaml --watch -``` - -:::note -В примере используется формат YAML, поскольку он удобнее для чтения и добавления комментариев. Однако вы также можете использовать формат JSON (основной формат конфигурации Caddy). Если вы используете этот формат, Caddy можно запускать без флага `--adapter yaml` и удалить адаптер YAML из зависимостей на этапе сборки и запуска. -::: - - -Дополнительные примеры конфигурации можно найти в нашем репозитории GitHub: [outline-ss-server/outlinecaddy](https://github.com/OutlineFoundation/outline-ss-server/tree/master/outlinecaddy/examples). - -## Шаг 5. Создайте динамический ключ доступа {#step_5_create_a_dynamic_access_key} - -Сгенерируйте файл YAML с ключами доступа, используя формат [расширенной конфигурации](../management/config), и добавьте конечные точки WebSocket, настроенные на сервере. - -```yaml -transport: - $type: tcpudp - - tcp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: - - udp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: -``` - -После создания файла YAML с динамическими ключами доступа его нужно передать пользователям. Вы можете разместить файл на статическом веб-хостинге или настроить динамическую генерацию. Подробнее о том, [как использовать динамические ключи доступа](../management/dynamic-access-keys)… - -## Шаг 6. Подключитесь к клиенту Outline {#step_6_connect_with_the_outline_client} - -Используйте официальное приложение [клиента Outline](../../download-links) 1.15.0 или более поздних версий и добавьте созданный динамический ключ доступа в список серверов. Нажмите **Подключить**, чтобы начать туннелирование трафика через сервер с конфигурацией Shadowsocks-over-Websocket. - -Чтобы убедиться, что трафик проходит через ваш сервер Outline, воспользуйтесь инструментом [IPInfo](https://ipinfo.io). diff --git a/i18n/th/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md b/i18n/th/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md deleted file mode 100644 index 5d8a2d3a1..000000000 --- a/i18n/th/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md +++ /dev/null @@ -1,143 +0,0 @@ ---- -title: "HTTPS อัตโนมัติด้วย Caddy" -sidebar_label: "HTTPS อัตโนมัติด้วย Caddy" ---- - -คำแนะนำนี้จะอธิบายวิธีการใช้ [Caddy](https://caddyserver.com/) ซึ่งเป็นเว็บเซิร์ฟเวอร์ประสิทธิภาพสูงและใช้งานง่าย เพื่อเพิ่มประสิทธิภาพในการตั้งค่าเซิร์ฟเวอร์ Outline ความสามารถและความยืดหยุ่นในการกำหนดค่าของ [HTTPS แบบอัตโนมัติ](https://caddyserver.com/docs/automatic-https)ของ Caddy ทำให้เป็นตัวเลือกที่เหมาะสมอย่างมากในการให้บริการเซิร์ฟเวอร์ Outline โดยเฉพาะอย่างยิ่งเมื่อใช้การส่งผ่าน WebSocket - -## Caddy คืออะไร {#what_is_caddy} - -Caddy เป็นเว็บเซิร์ฟเวอร์แบบโอเพนซอร์สที่มีชื่อเสียงในเรื่องของความสะดวกในการใช้งาน, HTTPS แบบอัตโนมัติ และรองรับโปรโตคอลได้หลากหลายรูปแบบ ซึ่งช่วยเพิ่มความสะดวกในการกำหนดค่าเว็บเซิร์ฟเวอร์ และยังมีฟีเจอร์ต่างๆ เช่น - -- **HTTPS แบบอัตโนมัติ:** Caddy จะรับและต่ออายุใบรับรอง TLS โดยอัตโนมัติเพื่อรักษาการเชื่อมต่อที่ปลอดภัย - -- **รองรับ HTTP/3:** Caddy รองรับโปรโตคอล HTTP/3 แบบใหม่ล่าสุด เพื่อการรับส่งข้อมูลเว็บที่รวดเร็วและมีประสิทธิภาพยิ่งขึ้น - -- **เพิ่มส่วนขยายได้ด้วยปลั๊กอิน:** Caddy เพิ่มส่วนขยายได้ด้วยปลั๊กอินเพื่อรองรับฟังก์ชันต่างๆ รวมถึงพร็อกซีแบบย้อนกลับและการจัดสรรภาระงาน - -## ขั้นตอนที่ 1: สิ่งที่ต้องดำเนินการก่อน {#step_1_prerequisites} - -- ดาวน์โหลดและติดตั้ง [`xcaddy`](https://github.com/caddyserver/xcaddy) - -## ขั้นตอนที่ 2: กำหนดค่าโดเมนของคุณ {#step_2_configure_your_domain} - -ก่อนเริ่มใช้งาน Caddy โปรดตรวจสอบว่าชื่อโดเมนของคุณได้รับการกำหนดค่าอย่างถูกต้องให้ชี้ไปยังที่อยู่ IP เซิร์ฟเวอร์ของคุณแล้ว - -- **ตั้งค่าระเบียน A/AAAA:** ลงชื่อเข้าใช้ผู้ให้บริการ DNS และตั้งค่าระเบียน A และ AAAA เพื่อให้โดเมนชี้ไปยังที่อยู่ IPv4 และ IPv6 ของเซิร์ฟเวอร์ (ตามลำดับ) - -- **ยืนยันระเบียน DNS:** ตรวจสอบว่าตั้งค่าระเบียน DNS ของคุณไว้อย่างถูกต้องแล้วด้วยการค้นหาที่ได้รับอนุญาต - -```sh -curl "https://cloudflare-dns.com/dns-query?name=&type=A" \ - -H "accept: application/dns-json" -``` - -## ขั้นตอนที่ 3: สร้างและเรียกใช้บิลด์ Caddy ที่กำหนดเอง {#build-and-run} - -เมื่อใช้ `xcaddy` คุณสามารถสร้างไบนารี `caddy` แบบกำหนดเองที่มีทั้งโมดูลเซิร์ฟเวอร์หลักของ Outline และโมดูลส่วนขยายเซิร์ฟเวอร์อื่นๆ ที่ต้องมี - -```sh -xcaddy build \ - # The example uses a YAML config, so include a YAML config adapter module. - --with github.com/iamd3vil/caddy_yaml_adapter \ - # The Outline core server module. - --with github.com/OutlineFoundation/outline-ss-server/outlinecaddy -``` - -## ขั้นตอนที่ 4: กำหนดค่าและเรียกใช้เซิร์ฟเวอร์ Caddy ด้วย Outline {#step_4_configure_and_run_the_caddy_server_with_outline} - -สร้างไฟล์ `config.yaml` ใหม่ที่มีการกำหนดค่าต่อไปนี้ - -```yaml -apps: - http: - servers: - server1: - listen: - - ":443" - routes: - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: stream - connection_handler: ss1 - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: packet - connection_handler: ss1 - outline: - shadowsocks: - replay_history: 10000 - connection_handlers: - - name: ss1 - handle: - handler: shadowsocks - keys: - - id: user-1 - cipher: chacha20-ietf-poly1305 - secret: -``` - -:::warning[Important] -เก็บ `path` ไว้เป็นความลับเพื่อหลีกเลี่ยงการตรวจสอบ ซึ่งเส้นทางนี้จะเป็นปลายทางลับ เราขอแนะนำให้ใช้เส้นทางที่สร้างแบบสุ่มและมีความยาว -::: - - -การกำหนดค่านี้สอดคล้องกับกลยุทธ์แบบ Shadowsocks-over-WebSockets โดยที่เว็บเซิร์ฟเวอร์จะรอการเชื่อมต่อในพอร์ต `443` และยอมรับการรับส่งข้อมูล Shadowsocks ที่ห่อหุ้มด้วย WebSocket ทั้งในแบบ TCP และ UDP โดยส่งผ่านเส้นทาง `TCP_PATH` และ `UDP_PATH` (ตามลำดับ) - -เรียกใช้เซิร์ฟเวอร์ Caddy ที่มี Outline เป็นส่วนขยายโดยใช้การกำหนดค่าที่สร้างขึ้น - -```sh -caddy run --config config.yaml --adapter yaml --watch -``` - -:::note -ในตัวอย่างจะใช้ YAML เพื่อความสะดวกที่มากขึ้นในการอ่านและการใส่คำอธิบายประกอบ แต่คุณยังสามารถใช้ JSON (ภาษาการกำหนดค่าแบบเนทีฟของ Caddy) โดยตรงได้เช่นกัน โดยหากใช้ คุณจะสามารถเรียกใช้งานได้โดยไม่ต้องมีแฟล็ก `--adapter yaml` และนำทรัพยากร Dependency อะแดปเตอร์ YAML ออกในขั้นตอนการสร้างและเรียกใช้ -::: - - -ดูตัวอย่างเพิ่มเติมเกี่ยวกับการกำหนดค่าได้ที่ [รายงาน GitHub outline-ss-server/outlinecaddy](https://github.com/OutlineFoundation/outline-ss-server/tree/master/outlinecaddy/examples) ของเรา - -## ขั้นตอนที่ 5: สร้างคีย์การเข้าถึงแบบไดนามิก {#step_5_create_a_dynamic_access_key} - -สร้างไฟล์ YAML คีย์การเข้าถึงไคลเอ็นต์สำหรับผู้ใช้ โดยใช้รูปแบบ[การกำหนดค่าขั้นสูง](../management/config)และระบุอุปกรณ์ปลายทาง WebSocket ที่กำหนดค่าไว้ก่อนหน้านี้ในฝั่งเซิร์ฟเวอร์ - -```yaml -transport: - $type: tcpudp - - tcp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: - - udp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: -``` - -หลังจากสร้างไฟล์ YAML ของคีย์การเข้าถึงแบบไดนามิกแล้ว คุณต้องส่งไฟล์ดังกล่าวให้ผู้ใช้ โดยสามารถฝากไฟล์ไว้ในบริการเว็บโฮสติ้งแบบคงที่หรือจะสร้างไฟล์แบบไดนามิกก็ได้ โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้[คีย์การเข้าถึงแบบไดนามิก](../management/dynamic-access-keys) - -## ขั้นตอนที่ 6: เชื่อมต่อกับไคลเอ็นต์ Outline {#step_6_connect_with_the_outline_client} - -ใช้แอปพลิเคชัน[ไคลเอ็นต์ Outline](../../download-links) แบบทางการ (เวอร์ชัน 1.15.0 ขึ้นไป) และเพิ่มคีย์การเข้าถึงแบบไดนามิกที่สร้างขึ้นใหม่เป็นรายการเซิร์ฟเวอร์ คลิก**เชื่อมต่อ**เพื่อเริ่มการสร้างอุโมงค์เสมือนไปยังเซิร์ฟเวอร์โดยใช้การกำหนดค่า Shadowsocks-over-WebSockets - -ใช้เครื่องมืออย่าง [IPInfo](https://ipinfo.io) เพื่อยืนยันว่าคุณกำลังท่องอินเทอร์เน็ตผ่านเซิร์ฟเวอร์ Outline diff --git a/i18n/tr/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md b/i18n/tr/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md deleted file mode 100644 index edd9cb580..000000000 --- a/i18n/tr/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md +++ /dev/null @@ -1,143 +0,0 @@ ---- -title: "Caddy ile otomatik HTTPS" -sidebar_label: "Caddy ile otomatik HTTPS" ---- - -Bu rehberde, güçlü ve kullanıcı dostu [Caddy](https://caddyserver.com/) web sunucusunu kullanarak Outline sunucu kurulumunuzu nasıl optimize edeceğiniz gösterilmektedir. [Otomatik HTTPS](https://caddyserver.com/docs/automatic-https) özellikleri ve esnek yapılandırması sayesinde Caddy, özellikle WebSocket taşıyıcısı kullanılırken Outline sunucunuzu desteklemek için ideal bir seçenektir. - -## Caddy nedir? {#what_is_caddy} - -Caddy; kullanım kolaylığı, otomatik HTTPS ve çeşitli protokolleri desteklemesiyle bilinen açık kaynaklı bir web sunucusudur. Web sunucusu yapılandırmasını basitleştirir ve şu gibi özelliklere sahiptir: - -- **Otomatik HTTPS:** Caddy, TLS sertifikalarını otomatik olarak alıp yenileyerek güvenli bağlantılar sağlar. - -- **HTTP/3 desteği:** Caddy, daha hızlı ve daha verimli web trafiği için en yeni HTTP/3 protokolünü destekler. - -- **Eklentilerle genişletilebilirlik:** Caddy, ters proxy ve yük dengeleme gibi çeşitli işlevleri desteklemek için eklentilerle genişletilebilir. - -## 1. adım: Ön koşullar {#step_1_prerequisites} - -- [`xcaddy`](https://github.com/caddyserver/xcaddy)'yi indirip yükleyin. - -## 2. adım: Alan adınızı yapılandırın {#step_2_configure_your_domain} - -Caddy'yi başlatmadan önce alan adınızın, sunucunuzun IP adresini gösterecek şekilde doğru yapılandırıldığından emin olun. - -- **A/AAAA kayıtlarını ayarlayın:** DNS sağlayıcınızda oturum açın ve alan adınızın A ile AAAA kayıtlarını sırasıyla sunucunuzun IPv4 ve IPv6 adreslerini gösterecek şekilde ayarlayın. - -- **DNS kayıtlarını doğrulayın:** Yetkili bir aramayla DNS kayıtlarınızın doğru ayarlandığını onaylayın: - -```sh -curl "https://cloudflare-dns.com/dns-query?name=&type=A" \ - -H "accept: application/dns-json" -``` - -## 3. adım: Özel Caddy derlemesi oluşturup çalıştırın {#build-and-run} - -`xcaddy` kullanarak, Outline temel sunucu modülünü ve diğer gerekli sunucu uzantısı modüllerini içeren özel bir `caddy` ikili programı oluşturabilirsiniz. - -```sh -xcaddy build \ - # The example uses a YAML config, so include a YAML config adapter module. - --with github.com/iamd3vil/caddy_yaml_adapter \ - # The Outline core server module. - --with github.com/OutlineFoundation/outline-ss-server/outlinecaddy -``` - -## 4. adım: Outline ile Caddy sunucusunu yapılandırıp çalıştırın {#step_4_configure_and_run_the_caddy_server_with_outline} - -Aşağıdaki yapılandırmayı kullanarak yeni bir `config.yaml` dosyası oluşturun: - -```yaml -apps: - http: - servers: - server1: - listen: - - ":443" - routes: - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: stream - connection_handler: ss1 - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: packet - connection_handler: ss1 - outline: - shadowsocks: - replay_history: 10000 - connection_handlers: - - name: ss1 - handle: - handler: shadowsocks - keys: - - id: user-1 - cipher: chacha20-ietf-poly1305 - secret: -``` - -:::warning[Important] -Durum kontrolünden kaçınmak için `path` gizli anahtarına dokunmayın. Bu anahtar, gizli uç nokta görevi görür. Rastgele oluşturulmuş, uzun bir yol önerilir. -::: - - -Bu yapılandırma, bir web sunucusunun `443` bağlantı noktasını dinleyip sırasıyla `TCP_PATH` ve `UDP_PATH` yollarındaki TCP ve UDP ile sarmalanmış Shadowsocks trafiğini kabul ettiği bir "Shadowsocks-over-WebSockets" stratejisidir. - -Oluşturulan yapılandırma kullanılarak Outline ile genişletilmiş Caddy sunucusunu çalıştırın: - -```sh -caddy run --config config.yaml --adapter yaml --watch -``` - -:::note -Daha okunabilir ve not eklemesi kolay olduğu için örnekte YAML kullanılmıştır. Dilerseniz doğrudan JSON'u da (Caddy'nin yerel yapılandırma dili) kullanabilirsiniz. Bu yapılandırma dilini kullanırsanız `--adapter yaml` işareti olmadan çalıştırabilir ve derleme ile çalıştırma adımında YAML bağdaştırıcı bağımlısını kaldırabilirsiniz. -::: - - -[outline-ss-server/outlinecaddy GitHub depomuzda](https://github.com/OutlineFoundation/outline-ss-server/tree/master/outlinecaddy/examples) daha fazla sayıda örnek yapılandırma bulabilirsiniz. - -## 5. adım: Dinamik erişim anahtarı oluşturun {#step_5_create_a_dynamic_access_key} - -[Gelişmiş yapılandırma](../management/config) biçimini kullanarak kullanıcılarınız için istemci erişim anahtarlarını içeren bir YAML dosyası oluşturun ve sunucu tarafında önceden yapılandırılmış WebSocket uç noktalarını ekleyin: - -```yaml -transport: - $type: tcpudp - - tcp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: - - udp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: -``` - -Dinamik erişim anahtarlarını içeren YAML dosyasını oluşturduktan sonra bu dosyayı kullanıcılarınıza iletmeniz gerekir. Dosyayı statik bir web barındırma hizmetinde barındırabilir veya dinamik olarak oluşturabilirsiniz. [Dinamik erişim anahtarlarını](../management/dynamic-access-keys) kullanma hakkında daha fazla bilgi edinin. - -## 6. adım: Outline istemcisine bağlanın {#step_6_connect_with_the_outline_client} - -Resmi [Outline istemcisi](../../download-links) uygulamalarından birini kullanın (1.15.0 ve sonraki sürümler) ve yeni oluşturduğunuz dinamik erişim anahtarını sunucu girişi olarak ekleyin. "Shadowsocks-over-Websocket" yapılandırmasını kullanarak sunucunuza tünel oluşturmak için **Bağlan**'ı tıklayın. - -İnternette Outline sunucunuz üzerinden gezinmekte olduğunuzu doğrulamak için [IPInfo](https://ipinfo.io) gibi bir araç kullanın. diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md deleted file mode 100644 index 6431a1684..000000000 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md +++ /dev/null @@ -1,143 +0,0 @@ ---- -title: "使用 Caddy 实现自动 HTTPS" -sidebar_label: "使用 Caddy 实现自动 HTTPS" ---- - -本指南介绍了如何使用强大易用的 Web 服务器 [Caddy](https://caddyserver.com/) 来增强 Outline 服务器设置。Caddy 具有[自动 HTTPS](https://caddyserver.com/docs/automatic-https) 功能和灵活的配置,是为 Outline 服务器提供支持的理想选择,尤其适合使用 WebSocket 传输的应用场景。 - -## 什么是 Caddy? {#what_is_caddy} - -Caddy 是一种开源 Web 服务器,它易于使用、具备自动 HTTPS 功能且支持各种协议。该服务器简化了 Web 服务器配置,提供了以下实用功能: - -- **自动 HTTPS**:Caddy 可自动获取和续订 TLS 证书,确保连接安全性。 - -- **HTTP/3 支持**:Caddy 支持最新 HTTP/3 协议,能够实现更快、更高效的网络流量传输。 - -- **支持插件扩展**:Caddy 可通过插件进行扩展,以支持各种功能,包括反向代理和负载均衡。 - -## 第 1 步:前提条件 {#step_1_prerequisites} - -- 下载并安装 [`xcaddy`](https://github.com/caddyserver/xcaddy) - -## 第 2 步:配置域名 {#step_2_configure_your_domain} - -在启动 Caddy 之前,请务必正确配置域名,使其指向服务器的 IP 地址。 - -- **设置 A/AAAA 记录**:登录 DNS 提供商的网站,设置域名的 A 记录和 AAAA 记录,确保它们分别指向服务器的 IPv4 地址和 IPv6 地址。 - -- **验证 DNS 记录**:通过权威查找验证 DNS 记录是否设置正确: - -```sh -curl "https://cloudflare-dns.com/dns-query?name=&type=A" \ - -H "accept: application/dns-json" -``` - -## 第 3 步:构建并运行自定义 Caddy build {#build-and-run} - -使用 `xcaddy`,您可以构建自定义 `caddy` 二进制文件,并在其中添加 Outline 核心服务器模块和所需的其他服务器扩展模块。 - -```sh -xcaddy build \ - # The example uses a YAML config, so include a YAML config adapter module. - --with github.com/iamd3vil/caddy_yaml_adapter \ - # The Outline core server module. - --with github.com/OutlineFoundation/outline-ss-server/outlinecaddy -``` - -## 第 4 步:使用 Outline 配置并运行 Caddy 服务器 {#step_4_configure_and_run_the_caddy_server_with_outline} - -创建一个包含以下配置的新 `config.yaml` 文件: - -```yaml -apps: - http: - servers: - server1: - listen: - - ":443" - routes: - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: stream - connection_handler: ss1 - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: packet - connection_handler: ss1 - outline: - shadowsocks: - replay_history: 10000 - connection_handlers: - - name: ss1 - handle: - handler: shadowsocks - keys: - - id: user-1 - cipher: chacha20-ietf-poly1305 - secret: -``` - -:::warning[Important] -请确保 `path` 的机密性,以免被探测。它将充当秘密端点。建议使用随机生成的长路径。 -::: - - -此配置代表 Shadowsocks-over-WebSocket 策略,其中 Web 服务器监听端口 `443`,并分别在路径 `TCP_PATH` 和 `UDP_PATH` 接受 TCP 和 UDP Shadowsocks 封装的流量。 - -使用创建的配置运行使用 Outline 扩展的 Caddy 服务器: - -```sh -caddy run --config config.yaml --adapter yaml --watch -``` - -:::note -以上示例使用的是更易于读取和注释的 YAML,您也可以直接使用 JSON(Caddy 的原生配置语言)。如果使用 JSON,您无需 `--adapter yaml` 标志即可运行 Caddy 服务器,并可在构建和运行步骤中移除 YAML 适配器依赖项。 -::: - - -如需查看更多示例配置,请访问我们的 [outline-ss-server/outlinecaddy GitHub 仓库](https://github.com/OutlineFoundation/outline-ss-server/tree/master/outlinecaddy/examples)。 - -## 第 5 步:创建动态访问密钥 {#step_5_create_a_dynamic_access_key} - -使用[高级配置](../management/config)格式为用户生成客户端访问密钥 YAML 文件,并在其中添加之前在服务器端配置的 WebSocket 端点: - -```yaml -transport: - $type: tcpudp - - tcp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: - - udp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: -``` - -生成动态访问密钥 YAML 文件后,您需要将其提供给用户。您可以将文件托管在静态网站托管服务中,也可以动态生成文件。详细了解如何使用[动态访问密钥](../management/dynamic-access-keys)。 - -## 第 6 步:连接到 Outline 客户端 {#step_6_connect_with_the_outline_client} - -使用某个官方 [Outline 客户端](../../download-links)应用(1.15.0 及更高版本),将新创建的动态访问密钥添加为服务器条目。点击**连接**,开始使用 Shadowsocks-over-WebSocket 配置通过隧道技术连接到服务器。 - -使用 [IPInfo](https://ipinfo.io) 等工具验证您是否在通过 Outline 服务器浏览互联网。 diff --git a/i18n/zh-TW/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md b/i18n/zh-TW/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md deleted file mode 100644 index fc6745212..000000000 --- a/i18n/zh-TW/docusaurus-plugin-content-docs/current/vpn/advanced/caddy.md +++ /dev/null @@ -1,143 +0,0 @@ ---- -title: "使用 Caddy 自動設定 HTTPS" -sidebar_label: "使用 Caddy 自動設定 HTTPS" ---- - -本指南將說明如何運用 [Caddy](https://caddyserver.com/) 強化 Outline 伺服器設定。Caddy 是一款功能強大又容易使用的網路伺服器,具備[自動 HTTPS](https://caddyserver.com/docs/automatic-https) 功能和彈性設定,是架設 Outline 伺服器的理想選擇,尤其在使用 WebSocket 傳輸時,更能簡化設定。 - -## 什麼是 Caddy? {#what_is_caddy} - -Caddy 是一款開放原始碼網路伺服器,主打簡單易用、自動設定 HTTPS 及支援多種通訊協定。這項服務可以簡化網路伺服器設定,並提供以下功能: - -- **自動 HTTPS:**Caddy 會自動取得並更新 TLS 憑證,確保連線安全。 - -- **HTTP/3 支援:**Caddy 支援最新的 HTTP/3 通訊協定,讓網路傳輸更快速有效率。 - -- **以外掛程式擴充:**Caddy 可透過外掛程式擴充,支援反向 Proxy、負載平衡等多種功能。 - -## 步驟 1:事前準備 {#step_1_prerequisites} - -- 下載並安裝 [`xcaddy`](https://github.com/caddyserver/xcaddy) - -## 步驟 2:設定網域 {#step_2_configure_your_domain} - -啟動 Caddy 前,請確認您的網域名稱已正確設定,指向您的伺服器 IP 位址。 - -- **設定 A/AAAA 記錄:**登入 DNS 供應商網站,將網域的 A 記錄設為指向伺服器的 IPv4 位址,AAAA 記錄設為指向 IPv6 位址。 - -- **驗證 DNS 記錄:**使用權威查詢確認 DNS 記錄設定正確,如下所示: - -```sh -curl "https://cloudflare-dns.com/dns-query?name=&type=A" \ - -H "accept: application/dns-json" -``` - -## 步驟 3:建構並執行自訂 Caddy 版本 {#build-and-run} - -使用 `xcaddy` 建構自訂 `caddy` 二進位檔,納入 Outline 核心伺服器模組和其他需要的伺服器擴充模組。 - -```sh -xcaddy build \ - # The example uses a YAML config, so include a YAML config adapter module. - --with github.com/iamd3vil/caddy_yaml_adapter \ - # The Outline core server module. - --with github.com/OutlineFoundation/outline-ss-server/outlinecaddy -``` - -## 步驟 4:設定並執行搭配 Outline 的 Caddy 伺服器 {#step_4_configure_and_run_the_caddy_server_with_outline} - -建立新的 `config.yaml` 檔案並加入以下設定: - -```yaml -apps: - http: - servers: - server1: - listen: - - ":443" - routes: - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: stream - connection_handler: ss1 - - match: - - host: - - - - path: - - / - handle: - - handler: websocket2layer4 - type: packet - connection_handler: ss1 - outline: - shadowsocks: - replay_history: 10000 - connection_handlers: - - name: ss1 - handle: - handler: shadowsocks - keys: - - id: user-1 - cipher: chacha20-ietf-poly1305 - secret: -``` - -:::warning[Important] -`path` 做為秘密端點,必須保密才能避免被探測。建議使用隨機生成的長路徑。 -::: - - -這項設定採用 Shadowsocks-over-WebSockets 策略,網路伺服器會監聽 `443` 通訊埠,並分別在 `TCP_PATH` 和 `UDP_PATH` 路徑接收經 TCP 和 UDP 封裝的 Shadowsocks 流量。 - -使用已建立的設定,執行經由 Outline 模組擴充的 Caddy 伺服器,如下所示: - -```sh -caddy run --config config.yaml --adapter yaml --watch -``` - -:::note -本範例使用 YAML,因為這種格式較易閱讀且方便加註,但您也能直接使用 JSON (Caddy 的原生設定語言)。若使用 JSON,則可省略 `--adapter yaml` 旗標,並在建構和執行步驟中移除 YAML 轉接器的依附元件。 -::: - - -如需更多設定示例,請前往 [outline-ss-server/outlinecaddy GitHub 存放區](https://github.com/OutlineFoundation/outline-ss-server/tree/master/outlinecaddy/examples)。 - -## 步驟 5:建立動態存取金鑰 {#step_5_create_a_dynamic_access_key} - -使用[進階設定](../management/config)格式為使用者產生用戶端存取金鑰 YAML 檔案,並納入先前在伺服器端設定的 WebSocket 端點,如下所示: - -```yaml -transport: - $type: tcpudp - - tcp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: - - udp: - $type: shadowsocks - - endpoint: - $type: websocket - url: wss:/// - cipher: chacha20-ietf-poly1305 - secret: -``` - -產生動態存取金鑰 YAML 檔案後,您需要將檔案提供給使用者,比如將檔案託管於靜態網站代管服務,或動態產生檔案。進一步瞭解如何使用[動態存取金鑰](../management/dynamic-access-keys)。 - -## 步驟 6:使用 Outline 用戶端連線 {#step_6_connect_with_the_outline_client} - -使用官方 [Outline 用戶端](../../download-links)應用程式 (1.15.0 以上版本),將新建立的動態存取金鑰新增為伺服器項目。點選「連線」****,即可使用 Shadowsocks-over-Websocket 設定建立的通道連線至您的伺服器。 - -您可以使用類似 [IPInfo](https://ipinfo.io) 的工具,確認目前是否透過 Outline 伺服器瀏覽網際網路。 diff --git a/scripts/verify_translations.py b/scripts/verify_translations.py index 05b42f538..36b15b366 100644 --- a/scripts/verify_translations.py +++ b/scripts/verify_translations.py @@ -42,6 +42,8 @@ # flag it as missing. ENGLISH_ONLY: set[str] = { "vpn/getting-started/server-setup-ai-agent", + # Reworked guide; previous translations were removed pending re-export + "vpn/advanced/caddy", } # Known code block count differences: English MD has blocks added after