Публикуй локальный HTTP-сервер в интернет — одной командой.

Expose your local HTTP server to the internet — with one command.

$
spelink http 3000
INFO Forwarding https://abc123.tunnel.spelink.ru → 127.0.0.1:3000

Что это

What is Spelink

Spelink — CLI-утилита для HTTP-туннелей на базе frp. Запускаешь локальный сервер, получаешь публичный HTTPS-URL на tunnel.spelink.ru — без проброса портов и настройки роутера.

Spelink is a CLI for HTTP tunnels built on frp. Run a local server, get a public HTTPS URL at tunnel.spelink.ru — no port forwarding or router setup.

Интернет → Caddy :443 (TLS) → frps :8080 → frpc → localhost:PORT ↑ frpc подключается исходящим соединением к frps :7000
Internet → Caddy :443 (TLS) → frps :8080 → frpc → localhost:PORT ↑ frpc connects outbound to frps :7000

Установка

Install

macOS

macOS

brew install frpc go
go install github.com/yynazare/spelink/cmd/spelink@latest
export PATH="$(go env GOPATH)/bin:$PATH"
brew install frpc go
go install github.com/yynazare/spelink/cmd/spelink@latest
export PATH="$(go env GOPATH)/bin:$PATH"

На macOS рекомендуется brew install frpc — вручную скачанный бинарник может блокироваться Gatekeeper.

On macOS, use brew install frpc — manually downloaded binaries may be blocked by Gatekeeper.

Linux

Linux

# frpc: https://github.com/fatedier/frp/releases
go install github.com/yynazare/spelink/cmd/spelink@latest
export PATH="$(go env GOPATH)/bin:$PATH"
# frpc: https://github.com/fatedier/frp/releases
go install github.com/yynazare/spelink/cmd/spelink@latest
export PATH="$(go env GOPATH)/bin:$PATH"

Быстрый старт

Quick start

  1. Сохрани токен Токен выдаёт администратор сервера.
    spelink login --token <ваш-токен>
  2. Запусти туннель
    spelink http 3000
  3. Фиксированный поддомен (опционально)
    spelink http 3000 --subdomain myapp
    # → https://myapp.tunnel.spelink.ru
  1. Save your token Get the token from your server administrator.
    spelink login --token <your-token>
  2. Start a tunnel
    spelink http 3000
  3. Fixed subdomain (optional)
    spelink http 3000 --subdomain myapp
    # → https://myapp.tunnel.spelink.ru

Ctrl+C — остановить туннель.

Press Ctrl+C to stop the tunnel.

Конфигурация

Configuration

Приоритет: флаги → переменные окружения → ~/.config/spelink/config.yaml

Priority: flags → environment → ~/.config/spelink/config.yaml

ПеременнаяПо умолчаниюОписание
SPELINK_TOKENтокен frp (обязателен)
SPELINK_SERVERtunnel.spelink.ru:7000адрес frps
SPELINK_DOMAINtunnel.spelink.ruдомен в URL туннеля
VariableDefaultDescription
SPELINK_TOKENfrp auth token (required)
SPELINK_SERVERtunnel.spelink.ru:7000frps address
SPELINK_DOMAINtunnel.spelink.rutunnel URL domain

Команды

Commands

Команда / CommandОписаниеDescription
spelink http PORT Запустить HTTP-туннель Start HTTP tunnel
spelink http PORT --subdomain NAME Фиксированный поддомен Fixed subdomain
spelink login --token TOKEN Сохранить токен Save token to config

PORT: 8080, localhost:8080, 127.0.0.1:8080

PORT accepts 8080, localhost:8080, or 127.0.0.1:8080