Конечные точки
endpoints содержат протокольные стеки, которые являются входящими и исходящими одновременно: экземпляр WireGuard или Tailscale и принимает соединения, приходящие через туннель, и сам инициирует соединения в него. Форма записи — тот же плоский конверт, что у входящих и исходящих: type / tag плюс собственные поля выбранного типа на том же уровне.
Конверт
| Поле | Тип | По умолчанию | Допустимые значения | Описание |
|---|---|---|---|---|
type | string | — | wireguard | tailscale | Тип конечной точки. Определяет, в какую структуру параметров декодируется остальная часть объекта. |
tag | string | — | — | Уникальное имя этой конечной точки. Может использоваться везде, где ожидается тег исходящего, и сопоставляться правилами маршрутизации на входящей стороне. |
Исходный код: option/endpoint.go:16-20 · зафиксировано на v1.13.15 (3708fa1)
Поля конкретных типов описаны на страницах WireGuard и Tailscale.
Минимальный пример
json
{
"endpoints": [
{
"type": "wireguard",
"tag": "wg-ep",
"address": ["10.0.0.2/32"],
"private_key": "<base64-private-key>",
"peers": [
{
"address": "wg.example.com",
"port": 51820,
"public_key": "<base64-public-key>",
"allowed_ips": ["0.0.0.0/0"]
}
]
}
],
"route": { "final": "wg-ep" }
}Примечания
- Конечные точки заменили удалённый в 1.13.0 исходящий
wireguard— та же структура теперь покрывает оба направления туннеля. wireguardтребует сборки с тегомwith_wireguard,tailscale— сwith_tailscale(официальные релизные бинарники включают оба).- Правила маршрутизации могут сопоставлять трафик, выходящий из конечной точки, так же, как они сопоставляют тег входящего.
Сравнение с другими ядрами
- Xray-core оставляет WireGuard обычным протоколом входящего или исходящего (
protocol: "wireguard", гдеIsClientопределяется положением). См. WireGuard в Xray. - mihomo моделирует WireGuard только как прокси (исходящий). См. WireGuard в mihomo.
Исходный код: option/endpoint.go:16-20 · v1.13.15 (3708fa1)
