mirror of
https://github.com/eduardogsilva/wireguard_webadmin.git
synced 2025-04-19 08:55:12 +00:00
208 lines
9.5 KiB
Markdown
208 lines
9.5 KiB
Markdown
## 🌍 Lea esto en otros idiomas:
|
||
- 🇬🇧 [English](../README.md)
|
||
- 🇧🇷 [Português](README.pt-br.md)
|
||
- 🇪🇸 [Español](README.es.md)
|
||
- 🇫🇷 [Français](README.fr.md)
|
||
- 🇩🇪 [Deutsch](README.de.md)
|
||
|
||
✨ Si encuentra algún problema con la traducción o desea solicitar un nuevo idioma, por favor abra un [issue](https://github.com/eduardogsilva/wireguard_webadmin/issues).
|
||
|
||
# wireguard_webadmin
|
||
|
||
**wireguard_webadmin** es una interfaz web completa y fácil de configurar para administrar instancias de WireGuard VPN. Diseñada para simplificar la administración de redes WireGuard, ofrece una interfaz intuitiva que admite múltiples usuarios con distintos niveles de acceso, varias instancias de WireGuard con gestión individual de peers y soporte para *crypto‑key routing* en interconexiones *site‑to‑site*.
|
||
|
||
## Funcionalidades
|
||
|
||
- **Historial de Transferencia por Peer**: Controle los volúmenes de descarga y subida de cada peer individualmente.
|
||
- **Gestión Avanzada de Firewall**: Disfrute de una gestión de firewall de VPN integral y sencilla, diseñada para ser eficaz.
|
||
- **Redirección de Puertos**: Redirija puertos TCP o UDP a peers o redes detrás de esos peers con facilidad.
|
||
- **Servidor DNS**: Soporte para hosts personalizados y listas de bloqueo DNS para mayor seguridad y privacidad.
|
||
- **Soporte Multiusuario**: Gestione el acceso con diferentes niveles de permisos para cada usuario.
|
||
- **Múltiples Instancias de WireGuard**: Permite la gestión separada de peers en varias instancias.
|
||
- **Crypto‑Key Routing**: Simplifica la configuración de interconexiones *site‑to‑site*.
|
||
- **Compartir Invitaciones VPN Sin Esfuerzo**: Genere y distribuya al instante invitaciones VPN seguras y temporales por correo electrónico o WhatsApp, con código QR y archivo de configuración.
|
||
|
||
Este proyecto tiene como objetivo ofrecer una solución intuitiva y fácil de usar para la gestión de VPN WireGuard sin comprometer la potencia y flexibilidad que proporciona WireGuard.
|
||
|
||
## Licencia
|
||
|
||
Este proyecto está bajo la licencia MIT. Consulte el archivo [LICENSE](../LICENSE) para más detalles.
|
||
|
||
## Capturas de Pantalla
|
||
|
||
### Lista de Peers
|
||
Muestra una lista completa de peers, incluido su estado y otros detalles, lo que permite supervisar y gestionar fácilmente las conexiones VPN de WireGuard.
|
||

|
||
|
||
### Detalles del Peer
|
||
Presenta información clave del peer, métricas detalladas y un historial completo de volumen de tráfico. También incluye un código QR para una configuración sencilla.
|
||

|
||
|
||
### Invitación VPN
|
||
Genera invitaciones VPN seguras y temporales para compartir fácilmente la configuración por correo electrónico o WhatsApp, con código QR y archivo de configuración.
|
||

|
||
|
||
### Filtrado DNS Avanzado
|
||
Bloquee contenido no deseado mediante listas de filtrado DNS integradas. Incluye categorías predefinidas como pornografía, juegos de azar, noticias falsas, adware y malware, con la posibilidad de agregar categorías personalizadas para una experiencia de seguridad adaptada.
|
||

|
||
|
||
### Gestión de Firewall
|
||
Proporciona una interfaz completa para gestionar reglas de firewall de la VPN, permitiendo crear, editar y eliminar reglas con sintaxis estilo *iptables*. Esta característica garantiza un control preciso del tráfico de red, mejorando la seguridad y la conectividad de las instancias de WireGuard.
|
||

|
||

|
||
|
||
### Configuración de Instancias de WireGuard
|
||
Un centro de control para gestionar la configuración de una o varias instancias de WireGuard, permitiendo ajustes sencillos de la VPN.
|
||

|
||
|
||
### Consola
|
||
Acceso rápido a herramientas comunes de depuración, lo que facilita el diagnóstico y la resolución de posibles problemas en el entorno VPN WireGuard.
|
||

|
||
|
||
### Gestor de Usuarios
|
||
Admite entornos multiusuario permitiendo asignar distintos niveles de permisos, desde acceso restringido hasta derechos administrativos completos, garantizando un control de acceso seguro y personalizado.
|
||

|
||
|
||
---
|
||
|
||
## Instrucciones de Despliegue
|
||
|
||
Siga estos pasos para desplegar WireGuard WebAdmin:
|
||
|
||
1. **Prepare el Entorno:**
|
||
|
||
Cree un directorio para el proyecto WireGuard WebAdmin y acceda a él. Este será el directorio de trabajo para el despliegue.
|
||
|
||
```bash
|
||
mkdir wireguard_webadmin && cd wireguard_webadmin
|
||
```
|
||
|
||
2. **Obtenga el Archivo Docker Compose:**
|
||
|
||
Según su escenario de despliegue, elija uno de los siguientes comandos para descargar el archivo `docker-compose.yml` correspondiente directamente en su directorio de trabajo. Este método garantiza que utilice la versión más reciente de la configuración.
|
||
|
||
### Con NGINX (Recomendado)
|
||
|
||
Para un despliegue de producción con NGINX como *reverse proxy* (recomendado para la mayoría), use:
|
||
|
||
```bash
|
||
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose.yml
|
||
```
|
||
|
||
Este modo es el recomendado para ejecutar la interfaz web de administración. El despliegue del contenedor generará automáticamente un certificado autofirmado. Si desea actualizar sus certificados, acceda al volumen `certificates` y sustituya `nginx.pem` y `nginx.key` por sus propios certificados.
|
||
|
||
### Sin NGINX (Solo para Depuración y Pruebas)
|
||
|
||
Para un entorno de depuración sin NGINX (no recomendado en producción), use:
|
||
|
||
```bash
|
||
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose-no-nginx.yml
|
||
```
|
||
|
||
3. **Cree el Archivo `.env`:**
|
||
|
||
Cree un archivo `.env` en el mismo directorio que su `docker-compose.yml` con el siguiente contenido, ajustando `my_server_address` al nombre DNS o IP de su servidor.
|
||
|
||
```env
|
||
# Configure SERVER_ADDRESS para que coincida con la dirección de su servidor. Puede usar la IP si no tiene DNS.
|
||
# Una SERVER_ADDRESS mal configurada provocará errores CSRF.
|
||
SERVER_ADDRESS=my_server_address
|
||
DEBUG_MODE=False
|
||
```
|
||
|
||
Sustituya `my_server_address` por la dirección real de su servidor.
|
||
|
||
4. **Ejecute Docker Compose:**
|
||
|
||
### Con NGINX (Recomendado)
|
||
|
||
```bash
|
||
docker compose up -d
|
||
```
|
||
|
||
Acceda a la interfaz web en `https://suserver.ejemplo.com`. Si utiliza un certificado autofirmado, acepte la excepción de seguridad en su navegador.
|
||
|
||
### Sin NGINX (Solo para Depuración y Pruebas)
|
||
|
||
Si eligió la configuración sin NGINX, ejecute el archivo descargado `docker-compose-no-nginx.yml`:
|
||
|
||
```bash
|
||
docker compose -f docker-compose-no-nginx.yml up -d
|
||
```
|
||
|
||
Acceda a la interfaz en `http://127.0.0.1:8000`.
|
||
|
||
Tras completar estos pasos, WireGuard WebAdmin estará en funcionamiento. Comience la configuración accediendo a la interfaz web de su servidor.
|
||
|
||
---
|
||
|
||
## Instrucciones de Actualización
|
||
|
||
Actualizar su instalación de WireGuard WebAdmin garantiza acceso a nuevas funciones, mejoras de seguridad y correcciones. Siga estas instrucciones para una actualización sin problemas:
|
||
|
||
### Preparación para la Actualización:
|
||
|
||
1. **Transición desde un flujo de trabajo *git clone*:**
|
||
|
||
Acceda al directorio `wireguard_webadmin`:
|
||
|
||
```bash
|
||
cd path/to/wireguard_webadmin
|
||
```
|
||
|
||
Si actualiza desde una instalación realizada con *git clone*, vaya al directorio del proyecto:
|
||
|
||
```bash
|
||
cd /path/to/wireguard_webadmin_git_clone
|
||
```
|
||
|
||
2. **Detenga los Servicios:**
|
||
|
||
Pare todos los servicios para evitar pérdida de datos durante la actualización.
|
||
|
||
```bash
|
||
docker compose down
|
||
```
|
||
|
||
3. **Descargue las Imágenes Más Recientes:**
|
||
|
||
Actualice sus imágenes locales:
|
||
|
||
```bash
|
||
docker compose pull
|
||
```
|
||
|
||
4. **Haga Copia de Seguridad de Sus Datos:**
|
||
|
||
Antes de cualquier cambio, realice una copia de seguridad de la base de datos y de datos importantes.
|
||
|
||
```bash
|
||
tar cvfz wireguard-webadmin-backup-$(date +%Y-%m-%d-%H%M%S).tar.gz /var/lib/docker/volumes/wireguard_webadmin_wireguard/_data/
|
||
```
|
||
|
||
Sustituya la ruta del volumen Docker si es diferente. El archivo se guardará en el directorio actual.
|
||
|
||
5. **Despliegue con Docker Compose:**
|
||
|
||
Siga las [Instrucciones de Despliegue](#instrucciones-de-despliegue) indicadas anteriormente.
|
||
|
||
> **Nota:** No olvide actualizar `docker-compose.yml` a la versión más reciente descargándolo de nuevo del repositorio.
|
||
|
||
### Verificaciones Posteriores a la Actualización:
|
||
|
||
- **Verifique el Funcionamiento:** Una vez iniciados los servicios, acceda a la interfaz web para comprobar que WireGuard WebAdmin funciona correctamente. Revise los registros de la aplicación para detectar problemas.
|
||
- **Soporte y Solución de Problemas:** Si surge alguna complicación, consulte la sección de [Discussions](https://github.com/eduardogsilva/wireguard_webadmin/discussions) o la documentación relacionada.
|
||
|
||
Siguiendo estos pasos, actualizará WireGuard WebAdmin a la versión más reciente, incorporando todas las mejoras y correcciones de seguridad. Recuerde que realizar copias de seguridad periódicas y seguir estos pasos ayuda a mantener la salud y seguridad de su implementación.
|
||
|
||
---
|
||
|
||
## Contribuir
|
||
|
||
Las contribuciones hacen que la comunidad *open‑source* sea un lugar increíble para aprender, inspirar y crear. Sus contribuciones son **muy apreciadas**.
|
||
|
||
## Soporte
|
||
|
||
Si encuentra problemas o necesita ayuda, abra un *issue* en la página de GitHub del proyecto.
|
||
|