Sobre el proyecto
stab es una herramienta de túnel TCP moderna, sencilla, compacta y de alto rendimiento, diseñada para exponer fácilmente puertos locales a servidores remotos. Escrita en Rust, ofrece uso mediante línea de comandos o archivo de configuración, y admite integración en otros programas.
Características principales:
- Alto rendimiento
- Detección de latidos (heartbeat)
- Estadísticas de tráfico
- Página web de gestión con opción de desconexión manual
- Exposición simultánea de múltiples puertos locales
- Reconexión automática ante desconexión (configurable)
- API IPC local: permite que otros programas lo inicien sin configuración y envíen configuraciones dinámicamente
Instalación:
- Mediante cargo: `cargo install stab`
- Descarga de binarios precompilados desde GitHub Releases
Uso:
1. Inicie el servidor en el host remoto: `stab server`, con puerto de control predeterminado 5656 y puerto web 3400. Puede modificar puertos, limitar el rango de puertos de datos y establecer el tamaño del grupo de conexiones.
2. Establezca un túnel local: `stab local -l 8000=server.com`, mapeando el puerto local al servidor remoto; el puerto remoto puede asignarse automáticamente o especificarse.
3. Admite configuración completa mediante archivo TOML; los parámetros de línea de comandos tienen prioridad.
4. Compatible con autenticación por clave compartida para prevenir abusos.
5. La página web de gestión puede protegerse con contraseña.
Integración en otros programas:
- Inicie con `stab local --api`, usando tuberías con nombre (Windows) o sockets Unix Domain para la API IPC.
- El protocolo usa tramas JSON con prefijo de longitud; admite métodos como ping, get_status, set_config, add_link, remove_link, list_links, clear_links y shutdown.
- El proceso anfitrión puede añadir o eliminar túneles dinámicamente, actualizar configuraciones y obtener estados.
Ejemplos de archivos de configuración:
- `server.toml` en el servidor: define modo, puertos, clave, registro, puerto web, rango de puertos, tamaño del grupo de conexiones, etc.
- `local.toml` en el cliente: define modo, puertos, clave, registro, host remoto predeterminado, política de reconexión, lista de túneles, etc.
Resumen de parámetros de línea de comandos:
- `server` / `local`: modo de ejecución
- `-f, --file`: ruta del archivo de configuración
- `-c, --control-port`: puerto de control
- `-s, --secret`: clave del túnel
- `--log`: nivel de registro
- `--log-path`: directorio de registros
- `-l, --link`: mapeo del túnel
- `--api`: habilitar API IPC
- `--api-path`: ruta IPC
- `--api-token`: token IPC
- `-w, --web-port`: puerto web de gestión
- `-p, --port-range`: rango de puertos de datos
- `--pool-size`: tamaño del grupo de conexiones
El proyecto ofrece documentación en chino e inglés, adecuado para desarrolladores y administradores que necesiten exponer servicios locales rápidamente.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.