
radmin-vpn-linux v1.0.0-rc8
Ejecuta Radmin VPN en Linux mediante Wine — controlador personalizado, puente TAP, pérdida de paquetes cero
Radmin VPN para Linux
Ejecuta Radmin VPN en Linux mediante Wine. Únete a redes VPN, ve pares, juega — todo sin una máquina virtual de Windows.
No lo construí porque fuera más fácil que una VM. Lo construí porque pensé que era más fácil que una VM.
Código asistido por IA. Construido de forma colaborativa entre un humano y Claude (Anthropic). El driver, los hooks y el puente se escribieron con ingeniería inversa asistida por IA del protocolo de driver no documentado de Radmin VPN usando Ghidra. Esto funciona, pero no ofrece garantías. No está afiliado a Famatech. Radmin VPN es propietario — descárgalo tú mismo desde radmin-vpn.com. Úsalo bajo tu propio riesgo.
Cómo funciona
El servicio de Windows de Radmin VPN se comunica con un driver miniport NDIS para su adaptador de red virtual. Wine no soporta NDIS, así que reemplazamos el driver con nuestra propia implementación que se conecta a un dispositivo TAP de Linux. Una DLL de hook maneja los problemas de compatibilidad con Wine (nombres de adaptador, permisos de registro). El resultado es un cliente Radmin VPN totalmente funcional ejecutándose de forma nativa bajo Wine.
Aplicación Linux ← TAP (radminvpn0) ← tap_bridge ← FIFO ← rvpnnetmp.sys (driver Wine) ← RvControlSvc.exe
Inicio rápido (AppImage, recomendado)
Descarga RadminVPN-Linux-x86_64.AppImage desde la última versión. No hay nada que instalar — Wine está incluido.
Candidatos de versión (p. ej.
v1.0.0-rc1) se publican como pre-releases de GitHub. El enlacelatestde arriba siempre apunta a la compilación estable más reciente, así que las pre-releases no aparecerán allí — consíguelas desde la lista completa de versiones.
chmod +x RadminVPN-Linux-x86_64.AppImage
./RadminVPN-Linux-x86_64.AppImage
En el primer inicio descarga el instalador de Radmin VPN contra el que está validado (o pasa el tuyo propio con --installer). Se abre una terminal con el progreso, y se necesita un prompt de contraseña sudo para la configuración de TAP.
El estado persistente (wineprefix, MAC, registros) vive en ~/.local/share/radmin-vpn-linux/.
¿Radmin se cierra solo? Su propio actualizador está instalando una compilación más nueva dentro del prefix en ejecución. Haz la actualización de forma controlada en su lugar — conserva tu prefix y tu ID de Radmin:
./RadminVPN-Linux-x86_64.AppImage --updateLuego desactiva "Actualizaciones automáticas" en la configuración de Radmin para que deje de intentarlo. Detalles en el actualizador automático de Radmin.
Requisitos previos (compilación desde fuente / no AppImage)
- Wine >= 11.0 (probado en Wine 11.5 Arch Linux y en Wine 11.6 Ubuntu 24.04)
- mingw-w64 compiladores cruzados (
i686-w64-mingw32-gcc,x86_64-w64-mingw32-gcc) — para compilar desde fuente - iconv (glibc) — para el análisis de registros del servicio
- sudo — para la creación del dispositivo TAP y el enrutamiento
- Soporte de kernel TUN/TAP — normalmente integrado, verifica con
modprobe tun - Instalador de Radmin VPN — se descarga automáticamente si no está presente. La versión contra la que este proyecto está validado se fija en un solo lugar,
RADMIN_VERSIONenlib.sh(actualmente 2.1.4951.1; 2.0.4899.9 también funciona). Radmin VPN 1.4 no es compatible — se registra y abre el adaptador pero nunca termina de conectarse bajo el shim de Wine, dejando la GUI atascada en "Conectando...".
Arch Linux
sudo pacman -S wine mingw-w64-gcc
Ubuntu/Debian
sudo apt install wine64 wine32 gcc-mingw-w64
Inicio rápido desde fuente
git clone https://github.com/baptisterajaut/radmin-vpn-linux.git
cd radmin-vpn-linux
# Opción A: descargar binarios precompilados desde GitHub Releases
mkdir -p build
TAG=$(curl -sI https://github.com/baptisterajaut/radmin-vpn-linux/releases/latest | grep -i location | grep -oP 'v[\d.]+')
curl -sL "https://github.com/baptisterajaut/radmin-vpn-linux/releases/download/${TAG}/radmin-vpn-linux-${TAG}.tar.gz" \
| tar xz -C build/
# Opción B: compilar desde fuente
make
# Descargar el instalador de Radmin VPN desde https://www.radmin-vpn.com/
./run.sh --installer ~/Downloads/Radmin_VPN_*.exe
En ejecuciones posteriores, simplemente:
./run.sh
Banderas de línea de comandos
| Bandera | Descripción |
|---|---|
--installer <ruta> | Ruta al instalador Radmin_VPN_*.exe (solo primera ejecución). |
--no-ui | Ejecuta el servicio sin lanzar la GUI de Radmin. |
--update | Actualiza Radmin a la versión fijada en su lugar. Conserva el prefix, así que el RID registrado con Famatech sobrevive. |
--no-broadcast-routes | No añade las rutas de broadcast/multicast → TAP. |
--filter-ui | Lanza la UI opcional de filtrado de paquetes GTK4 (desactivada por defecto). |
--fix-chat | Parchea qwindows.dll de Qt para corregir el fallo de la ventana de chat bajo Wine (desactivado por defecto). |
El actualizador automático de Radmin
La GUI de Radmin puede descargar una compilación más nueva y ejecutar su instalador dentro del prefix en vivo,
lo que mata la GUI y provoca un fallo en el servicio en ejecución (el registro de la GUI muestra entonces un instalador
bajo AppData\\Local\\Temp). Dos defensas: el lanzador incluye la compilación validada actual
para que el actualizador no tenga nada que empujar, y una GUI que muere ya no se lleva el túnel
consigo — se reinicia una vez, y luego la VPN sigue funcionando sin interfaz. Para actualizar
deliberadamente, usa ./run.sh --update, que detiene todo primero. Desactivar
"Actualizaciones automáticas" en la configuración de la GUI evita la carrera por completo.
Tanto --filter-ui como --fix-chat son opcionales. La UI de filtrado necesita el binario rvpn_filter_ui
(construido por make); el arreglo del chat necesita patch_qwindows_font.py y un intérprete de Python 3.
Modos sin interfaz / servidor
Dos lanzadores adicionales ejecutan Radmin VPN sin un escritorio local — para un VPS o un host de centro de datos. Ambos instalan y configuran exactamente como run.sh (mismo wineprefix, mismo flujo de primera ejecución con --installer, mismo puente TAP); solo difieren en cómo se accede a la GUI.
run_datacenter.sh — GUI a través del navegador
Ejecuta la GUI real de Radmin en una pantalla virtual (Xvfb) y la sirve mediante VNC + noVNC, para que puedas configurar tus redes desde un navegador y luego dejarla en ejecución.
sudo apt install -y xvfb x11vnc websockify novnc # o: make install-datacenter-deps
./run_datacenter.sh --installer ~/Downloads/Radmin_VPN_*.exe
| Bandera | Predeterminado | Descripción |
|---|---|---|
--vnc-port <n> | 5900 | Puerto para el servidor x11vnc. |
--web-port <n> | 6080 | Puerto para el endpoint web noVNC. |
--vnc-password <pw> | (ninguno) | Contraseña para la sesión VNC / web. |
--web-bind <addr> | 127.0.0.1 | Dirección en la que noVNC escucha. |
Por defecto noVNC se vincula a 127.0.0.1, así que solo es accesible a través de un túnel SSH:
ssh -L 6080:localhost:6080 tu-vps # luego abre http://localhost:6080/vnc.html
Para exponerlo públicamente, pasa --web-bind 0.0.0.0 junto con --vnc-password — de lo contrario, cualquiera que llegue al puerto web aterriza en un escritorio sin autenticación y con capacidades de root. El script imprime una advertencia contundente si te vinculas públicamente sin contraseña.