CLI similar a netcat y biblioteca de Go para conectar dos máquinas mediante el plano de datos WireGuard de Tailscale, sin cuenta ni plano de control de Tailscale.
fatedier/frp
Proxy inverso rápido que expone en internet servidores locales detrás de NAT o firewalls mediante TCP, UDP, HTTP y HTTPS.
Alternativa open source a:ngrok
- Estrellas
- 110,048
- Forks
- 15,248
- Issues abiertos
- 34
- Último commit
- anteayer
¿Qué es?
frp es un proxy inverso escrito en Go que permite exponer en internet un servidor local situado detrás de NAT o de un firewall. Se ejecuta como dos programas: frps, en una máquina con IP pública, y frpc, en la máquina que aloja el servicio. El cliente mantiene una conexión con el servidor y reenvía el tráfico entrante al servicio local.
Admite el reenvío de tráfico TCP y UDP, además de proxies HTTP y HTTPS que enrutan las solicitudes por nombre de dominio o subdominio, de modo que varios sitios web internos pueden compartir un servidor público. También ofrece un modo STCP que requiere una clave precompartida, un modo XTCP para transferir datos directamente entre pares y KCP y QUIC como protocolos de transporte alternativos.
Entre sus funciones operativas se incluyen la configuración en TOML, YAML y JSON, las plantillas con variables de entorno, un panel del servidor, una interfaz de administración del cliente con recarga en caliente, métricas de Prometheus, autenticación mediante token y OIDC, cifrado TLS, límites de ancho de banda, balanceo de carga y comprobaciones de estado.
Funciones clave
- 01Reenvía tráfico TCP, UDP, HTTP y HTTPS desde un servidor público a un servicio local.
- 02Enruta solicitudes HTTP y HTTPS a sitios internos mediante un dominio o subdominio personalizado.
- 03Ofrece STCP con claves precompartidas y XTCP para transferir datos entre pares.
- 04Admite los transportes TCP, KCP y QUIC, con cifrado y compresión opcionales.
- 05Incluye un panel del servidor, una interfaz de administración del cliente, recarga en caliente y métricas de Prometheus.
- 06Incluye autenticación mediante token y OIDC, límites de ancho de banda, balanceo de carga y comprobaciones de estado.
Casos de uso
- Exponer en internet un servidor SSH doméstico o de oficina, o una aplicación web de desarrollo, sin una IP pública.
- Alojar varios sitios web internos en un servidor público mediante dominios personalizados.
- Reenviar un resolver DNS local u otro servicio UDP a través de un host público.
- Dar a un colaborador remoto acceso seguro a un servicio interno mediante una clave precompartida.
Inicio rápido
- 1
Descarga la versión más reciente de frp para tu sistema operativo desde la página Releases
- 2
En un servidor con una IP pública, inicia frps con su archivo de configuración
./frps -c ./frps.toml - 3
En la máquina detrás de NAT o de un firewall, inicia frpc con su archivo de configuración
./frpc -c ./frpc.toml
Antes de usarlo
- Necesitas tu propio servidor con una dirección IP pública para ejecutar frps.
- El README indica que la próxima versión v2 no será compatible con v1.
- Algunos antivirus pueden detectar frpc por error como malware.
Temas
Preguntas frecuentes
- ¿Qué es frp?
- Proxy inverso rápido que expone en internet servidores locales detrás de NAT o firewalls mediante TCP, UDP, HTTP y HTTPS. frp es un proxy inverso escrito en Go que permite exponer en internet un servidor local situado detrás de NAT o de un firewall. Se ejecuta como dos programas: frps, en una máquina con IP pública, y frpc, en la máquina que aloja el servicio. El cliente mantiene una conexión con el servidor y reenvía el tráfico entrante al servicio local.
- ¿frp es gratuito? ¿Qué licencia tiene?
- frp es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿frp sigue mantenido?
- Mantenimiento activo. El último commit de frp fue el 20 oct 2026.
- ¿Para qué puedo usar frp?
- Exponer en internet un servidor SSH doméstico o de oficina, o una aplicación web de desarrollo, sin una IP pública. Alojar varios sitios web internos en un servidor público mediante dominios personalizados. Reenviar un resolver DNS local u otro servicio UDP a través de un host público. Dar a un colaborador remoto acceso seguro a un servicio interno mediante una clave precompartida.
- ¿Cómo se instala frp?
- Descarga la versión más reciente de frp para tu sistema operativo desde la página Releases En un servidor con una IP pública, inicia frps con su archivo de configuración: ./frps -c ./frps.toml En la máquina detrás de NAT o de un firewall, inicia frpc con su archivo de configuración: ./frpc -c ./frpc.toml
- ¿Dónde consigo frp?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/fatedier/frp
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Un túnel autohospedado escrito en Go que expone servicios locales a Internet mediante tu propio dominio y servidor.
Biblioteca Rust para conectar aplicaciones mediante claves públicas, con transporte QUIC, hole punching y servidores relay como alternativa.
Alternativa open source a ngrok que expone un servidor HTTP local en una URL HTTPS pública con un solo comando.
Interfaz web autohospedada para administrar sitios, certificados, configuraciones, registros y estadísticas de Nginx, desarrollada en Go y Vue.
Comparte servicios web locales, archivos y recursos TCP/UDP de forma segura mediante una red zero trust, sin configurar el firewall ni el reenvío de puertos.