[Feature] Country (GeoIP) based rules in firewall for TCP/UDP ports
Los mantenedores suelen responder en 1 día
@wanghe-fit2cloud ya está trabajando en esto.
Desde el 14/10/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
1Panel Version
v2.3.2
Please describe your needs or suggestions for improvements
I would like to be able to block or allow traffic by country (GeoIP) directly in
Host → Firewall, for specific ports (e.g. TCP 853 for DNS-over-TLS, SSH, custom
services).
Currently the firewall page only supports port rules and individual IP/CIDR rules.
Country-based filtering exists only in the Website WAF, which covers HTTP(S) via
OpenResty and not raw TCP/UDP ports. Users running non-HTTP services therefore
have to maintain nftables/ipset scripts by hand, and those rules are not visible
in the 1Panel UI.
Please describe the solution you suggest
Add a "Country" rule type to the firewall page (works with both iptables and
nftables backends):
- Allow or deny by country code (ISO 3166-1), per port/protocol
- Allowlist mode (allow DK, drop everything else) and denylist mode
- Automatic GeoIP list updates (e.g. daily) using ipset/nft sets, with a failure
fallback so an empty list never locks the user out - Optional ASN-based blocking (e.g. hosting providers)
- Rules visible and editable in the firewall UI
- Safety check that warns before blocking the country/IP the user is
currently connected from
Additional Information
No response
- Lenguaje dominante
- Go
- Estrellas
- 37.1k
- Forks
- 3.4k
- Merge medio
- 11 h 49 min
- PR fusionados (30 d)
- 94
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de 1Panel-dev/1Panel
-
[Bug] Unable to Configure the Website Directory When Installing OpenRestyPosiblemente ocupada @wanghe-fit2cloud la tomó hace 1 día. Abiertotype: question
1Panel-dev/1Panel#14084 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
[Feature] Add RPM, QPS, and TPM Limits to AI GatewayPosiblemente ocupada @wanghe-fit2cloud la tomó hace 1 día. Abiertotype: ai-gateway
1Panel-dev/1Panel#14081 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
[Bug] Revoked API Keys Cannot Be DeletedPosiblemente ocupada @wanghe-fit2cloud la tomó hace 2 días. Abiertotype: feature-request
1Panel-dev/1Panel#14074 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
[Bug] The UI language switches to English after deleting a child node in multi-node managementPosiblemente ocupada @wanghe-fit2cloud la tomó hace 2 días. Abiertostatus: dev-complete status: ready-for-release type: optimization
1Panel-dev/1Panel#14073 · 2 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
[Feature] Sync PHP Extension Templates Across Nodes in Multi-Node ManagementPosiblemente ocupada @wanghe-fit2cloud la tomó hace 2 días. Abiertotype: feature-request
1Panel-dev/1Panel#14071 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de 1Panel-dev/1Panel
Issues similares
-
Say in the changelog that the text-index update cannot be rolled backPosiblemente ocupada @praetorianer777 la tomó hoy. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
praetorianer777/GoTome#275 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
SAP/crossplane-provider-btp#1118 ·
Los mantenedores suelen responder en 1 día
-
benchmark: `make setup` fails because audit-exporter builds with Go 1.25.0 while go.mod requires 1.26.0Posiblemente ocupada @xsvm la tomó hoy. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 84/100
volcano-sh/volcano#6097 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
area/infra backlog bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
praetorianer777/Stator#417 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día