FRP (Fast Reverse Proxy)
Sommaire
-
Présentation
-
Architecture
-
Installation
-
Configuration rapide
• Serveur FRPS
• Client FRPC -
Exemples d’usage
-
Fonctionnalités avancées
-
Dashboard et monitoring
-
Ressources et documentation
Présentation
FRP est un outil open-source écrit en Go qui permet d’exposer vos services locaux (HTTP, TCP, UDP, SSH…) sur Internet, même si vous êtes derrière un NAT ou un pare-feu.
Avantages principaux :
• Rapidité et faible empreinte mémoire
• Support de multiples protocoles (HTTP/S, TCP, UDP, WebSocket…)
• Authentification par jeton et chiffrement TLS
• Dashboard web intégré pour superviser vos tunnels
Architecture
FRP se compose de deux composants :
► Serveur FRPS
– S’exécute sur une machine publique (IP accessible)
– Écoute un port défini pour accepter les connexions clients
► Client FRPC
– S’exécute sur la machine hébergeant le service à exposer
– Établit un tunnel chiffré vers le serveur FRPS
Installation
Prérequis :
• Go 1.15+ (si vous compilez depuis les sources)
• Ou les binaires pré-compilés fournis sur GitHub
A. Binaire pré-compilé
-
Aller sur la page des releases GitHub
-
Télécharger l’archive adaptée à votre OS/architecture
-
Décompresser et copier
frps
etfrpc
dans un dossier de votre PATH (ex./usr/local/bin
)
B. Compilation depuis les sources
-
git clone https://github.com/fatedier/frp.git
-
cd frp
-
make
-
Récupérer les exécutables dans
./bin/frps
et./bin/frpc
-
Configuration rapide
► Serveur FRPS
Créer un fichier frps.ini
:
[common]
bind_port = 7000
token = votremotdepasse
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin
Lancer le serveur :
./frps -c frps.ini
► Client FRPC
Créer un fichier frpc.ini
:
[common]
server_addr = votre.serveur.ip
server_port = 7000
token = votremotdepasse
[ssh_tunnel]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
[web_http]
type = http
local_port = 80
custom_domains = www.votredomaine.com
Lancer le client :
./frpc -c frpc.ini
Après démarrage :
– SSH local accessible via votre.serveur.ip:6000
– Site web local via http://www.votredomaine.com
Exemples d’usage
• Exposer SSH : rediriger le port 22 local vers un port distant
• Proxy HTTPS : intégration Let’s Encrypt pour TLS auto
• Tunnel UDP : jeux en ligne ou VoIP sur le port 27015
Fonctionnalités avancées
• Équilibrage de charge (plusieurs clients FRPC partagent un même port)
• Compression et chiffrement par tunnel (use_encryption
, use_compression
)
• Plugins pour protocoles propriétaires
• Rechargement à chaud de la config sans redémarrage (reload_config
)
• Authentification LDAP/PAM via extensions
Dashboard et monitoring
Le dashboard FRPS (port 7500 par défaut) permet de :
• Voir les clients connectés
• Surveiller les tunnels actifs
• Consulter les statistiques de trafic en temps réel
Ressources et documentation
• GitHub FRP : https://github.com/fatedier/frp
• Docs officielles : https://frp.readthedocs.io
• Tutoriels vidéo (YouTube)
• Support : Issues GitHub, Gitter, StackOverflow
No Comments