Sobre o projeto
stab é uma ferramenta moderna, simples e leve de túnel TCP de alto desempenho, projetada para expor facilmente portas locais em servidores remotos. Escrita em Rust, oferece uso via linha de comando e arquivos de configuração, além de suporte para ser incorporada em outros programas.
Principais recursos:
- Alto desempenho
- Verificação de heartbeat
- Estatísticas de tráfego
- Página de gerenciamento Web com suporte para desconexão manual
- Exposição simultânea de múltiplas portas locais
- Reconexão automática após queda de conexão (configurável)
- API IPC local: permite que outros programas iniciem o serviço sem configuração e enviem configurações dinamicamente
Métodos de instalação:
- Instalação via cargo: `cargo install stab`
- Download de binários pré-compilados no GitHub Releases
Como usar:
1. Inicie o servidor no host remoto: `stab server`. A porta de controle padrão é 5656 e a porta de gerenciamento Web é 3400. As portas podem ser modificadas, o intervalo de portas de dados pode ser restringido e o tamanho do pool de conexões pode ser configurado.
2. Estabeleça o túnel localmente: `stab local -l 8000=server.com`. Isso mapeia a porta local para o servidor remoto. A porta remota pode ser atribuída automaticamente ou especificada.
3. Todas as parâmetros podem ser definidos via arquivo de configuração (TOML), com a linha de comando tendo prioridade.
4. Suporte para autenticação por chave compartilhada para prevenir abuso.
5. A página de gerenciamento Web pode ser protegida por senha.
Incorporação em outros programas:
- Inicie com `stab local --api`, usando named pipes (Windows) ou Unix Domain Sockets para fornecer a API IPC.
- O protocolo consiste em frames JSON com prefixo de comprimento, suportando métodos como ping, get_status, set_config, add_link, remove_link, list_links, clear_links e shutdown.
- O processo hospedeiro pode adicionar/remover túneis dinamicamente, atualizar configurações e obter o status.
Exemplos de arquivos de configuração:
- Servidor `server.toml`: define modo, portas, chaves, logs, porta Web, intervalo de portas, tamanho do pool de conexões, etc.
- Local `local.toml`: define modo, portas, chaves, logs, host remoto padrão, política de reconexão, lista de túneis, etc.
Parâmetros da linha de comando:
- `server` / `local`: modo de execução
- `-f, --file`: caminho do arquivo de configuração
- `-c, --control-port`: porta de controle
- `-s, --secret`: chave do túnel
- `--log`: nível de log
- `--log-path`: diretório de logs
- `-l, --link`: mapeamento de túnel
- `--api`: habilita a API IPC
- `--api-path`: caminho da API IPC
- `--api-token`: token da API IPC
- `-w, --web-port`: porta de gerenciamento Web
- `-p, --port-range`: intervalo de portas de dados
- `--pool-size`: tamanho do pool de conexões
O projeto fornece documentação em chinês e inglês, sendo adequado para desenvolvedores e administradores de sistemas que precisam expor rapidamente serviços locais.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.