diff --git a/README.md b/README.md index dc3a017..bba053e 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,11 @@ -# pfSense API scripts +# 🔧 pfSense API scripts Scripts Bash pour interagir avec pfSense via le paquet REST API v2. -## Arborescence +## 📁 Arborescence ```text pfsense-api/ -├── AGENTS.md ├── README.md ├── .gitignore ├── .env.example @@ -17,15 +16,15 @@ pfsense-api/ └── test-api-connection.sh ``` -## Prerequis +## ✅ PrĂ©requis -- pfSense avec le paquet REST API v2 installe et active. -- Authentification Basic active cote API. -- Un utilisateur pfSense ayant acces a l'endpoint de test. -- `curl` installe localement. -- `jq` installe localement pour generer les payloads JSON. +- đŸ–„ïž pfSense avec le paquet REST API v2 installĂ© et activĂ©. +- 🔑 Authentification Basic activĂ©e cĂŽtĂ© API. +- đŸ‘€ Un utilisateur pfSense ayant accĂšs Ă  l'endpoint de test. +- 🌐 `curl` installĂ© localement. +- 🔍 `jq` installĂ© localement pour gĂ©nĂ©rer les payloads JSON. -## Configuration +## ⚙ Configuration Copier l'exemple puis adapter les valeurs localement : @@ -41,19 +40,19 @@ PFSENSE_USER="api-user" PFSENSE_PASSWORD="change-me" ``` -Si pfSense utilise un certificat auto-signe : +Si pfSense utilise un certificat auto-signĂ© : ```bash PFSENSE_INSECURE=true ``` -## Tester la connexion API +## đŸ©ș Tester la connexion API ```bash ./scripts/test-api-connection.sh ``` -Par defaut, le script teste : +Par dĂ©faut, le script teste : ```text /api/v2/status/system @@ -65,7 +64,7 @@ Pour tester un autre endpoint en lecture seule : PFSENSE_ENDPOINT="/api/v2/firewall/rules" ./scripts/test-api-connection.sh ``` -## Creer une redirection de port +## ➕ CrĂ©er une redirection de port En mode interactif, lancer simplement : @@ -74,7 +73,7 @@ En mode interactif, lancer simplement : ``` Le script demandera les valeurs manquantes : port WAN, IP interne, port interne, -protocole, interface, description, regle firewall associee et application des +protocole, interface, description, rĂšgle firewall associĂ©e et application des changements. Exemple : exposer le port TCP `8443` de l'adresse WAN pfSense vers le port @@ -89,14 +88,14 @@ Exemple : exposer le port TCP `8443` de l'adresse WAN pfSense vers le port --description "WAN 8443 vers serveur web interne" ``` -Par defaut, le script : +Par dĂ©faut, le script : -- cree la regle sur l'interface `wan`; -- utilise la destination `wan:ip`, c'est-a-dire l'adresse WAN pfSense; -- cree une regle firewall associee avec `associated_rule_id=new`; +- crĂ©e la rĂšgle sur l'interface `wan` ; +- utilise la destination `wan:ip`, c'est-Ă -dire l'adresse WAN pfSense ; +- crĂ©e une rĂšgle firewall associĂ©e avec `associated_rule_id=new` ; - applique explicitement les changements via `/api/v2/firewall/apply`. -Pour creer la regle sans appliquer tout de suite : +Pour crĂ©er la rĂšgle sans appliquer tout de suite : ```bash ./scripts/add-port-forward.sh \ @@ -106,7 +105,7 @@ Pour creer la regle sans appliquer tout de suite : --no-apply ``` -## Creer un alias IP +## đŸ·ïž CrĂ©er un alias IP En mode interactif : @@ -123,7 +122,7 @@ Exemple avec une seule IP : --description "Serveur web interne" ``` -Exemple avec plusieurs entrees : +Exemple avec plusieurs entrĂ©es : ```bash ./scripts/add-ip-alias.sh \ @@ -132,19 +131,19 @@ Exemple avec plusieurs entrees : --details "web-01,web-02" ``` -Par defaut, le script cree un alias de type `host` et applique explicitement +Par dĂ©faut, le script crĂ©e un alias de type `host` et applique explicitement les changements via `/api/v2/firewall/apply`. -## Gerer les redirections NAT +## 🔀 GĂ©rer les redirections NAT -Lister les redirections NAT, puis en selectionner une pour la modifier ou la +Lister les redirections NAT, puis en sĂ©lectionner une pour la modifier ou la supprimer : ```bash ./scripts/manage-port-forwards.sh ``` -Le script appelle `/api/v2/firewall/nat/port_forwards` pour lister les regles, +Le script appelle `/api/v2/firewall/nat/port_forwards` pour lister les rĂšgles, puis `/api/v2/firewall/nat/port_forward` en `PATCH` ou `DELETE` selon l'action -choisie. Les changements sont appliques via `/api/v2/firewall/apply`, sauf avec +choisie. Les changements sont appliquĂ©s via `/api/v2/firewall/apply`, sauf avec `--no-apply`.