
radmin-vpn-linux v1.0.0-rc8
Execute o Radmin VPN no Linux via Wine — driver personalizado, ponte TAP, zero perda de pacotes
Radmin VPN para Linux
Execute o Radmin VPN no Linux via Wine. Entre em redes VPN, veja peers, jogue — tudo sem uma VM Windows.
Não construí isto porque era mais fácil que uma VM. Construí porque pensei que era mais fácil que uma VM.
Código assistido por IA. Construído colaborativamente entre um humano e Claude (Anthropic). O driver, os hooks e a ponte foram escritos com engenharia reversa extensivamente assistida por IA do protocolo de driver não documentado do Radmin VPN usando Ghidra. Isto funciona, mas não oferece garantias. Não afiliado à Famatech. O Radmin VPN é proprietário — baixe-o você mesmo em radmin-vpn.com. Use por sua conta e risco.
Como funciona
O serviço Windows do Radmin VPN comunica-se com um driver miniport NDIS para seu adaptador de rede virtual. O Wine não suporta NDIS, então substituímos o driver por nossa própria implementação que faz a ponte para um dispositivo TAP Linux. Uma DLL de hook lida com problemas de compatibilidade do Wine (nomenclatura de adaptador, permissões de registro). O resultado é um cliente Radmin VPN totalmente funcional rodando nativamente sob o Wine.
Aplicativo Linux ← TAP (radminvpn0) ← tap_bridge ← FIFO ← rvpnnetmp.sys (driver Wine) ← RvControlSvc.exe
Início rápido (AppImage, recomendado)
Pegue o RadminVPN-Linux-x86_64.AppImage na última versão. Nada para instalar — o Wine está incluído.
Candidatos a versão (ex.:
v1.0.0-rc1) são publicados como pré-lançamentos do GitHub. O linklatestacima sempre aponta para a build estável mais recente, então pré-lançamentos não aparecerão lá — pegue-os na lista completa de versões.
chmod +x RadminVPN-Linux-x86_64.AppImage
./RadminVPN-Linux-x86_64.AppImage
No primeiro início, ele baixa o instalador do Radmin VPN contra o qual é validado (ou passe o seu próprio com --installer). Um terminal abre com o progresso, e um prompt de senha sudo é necessário para a configuração do TAP.
O estado persistente (wineprefix, MAC, logs) fica em ~/.local/share/radmin-vpn-linux/.
O Radmin fechando sozinho? O próprio atualizador dele está instalando uma build mais nova dentro do prefixo em execução. Faça a atualização de forma controlada — ela mantém seu prefixo e seu ID Radmin:
./RadminVPN-Linux-x86_64.AppImage --updateDepois desative "Atualizações automáticas" nas configurações do Radmin para que ele pare de tentar. Detalhes em atualizador automático do próprio Radmin.
Pré-requisitos (build de fonte / não-AppImage)
- Wine >= 11.0 (testado no Wine 11.5 Arch Linux e no Wine 11.6 Ubuntu 24.04)
- mingw-w64 compiladores cruzados (
i686-w64-mingw32-gcc,x86_64-w64-mingw32-gcc) — para compilar a partir da fonte - iconv (glibc) — para análise de logs do serviço
- Acesso sudo — para criação do dispositivo TAP e roteamento
- Suporte a TUN/TAP no kernel — geralmente embutido, verifique com
modprobe tun - Instalador do Radmin VPN — baixado automaticamente se ausente. A versão contra a qual este projeto é validado está fixada em um único lugar,
RADMIN_VERSIONemlib.sh(atualmente 2.1.4951.1; 2.0.4899.9 também funciona). O Radmin VPN 1.4 não é suportado — ele registra e abre o adaptador, mas nunca termina a conexão sob o shim do Wine, deixando a GUI presa em "Conectando...".
Arch Linux
sudo pacman -S wine mingw-w64-gcc
Ubuntu/Debian
sudo apt install wine64 wine32 gcc-mingw-w64
Início rápido pela fonte
git clone https://github.com/baptisterajaut/radmin-vpn-linux.git
cd radmin-vpn-linux
# Opção A: baixar binários pré-compilados das Releases do GitHub
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/
# Opção B: compilar a partir da fonte
make
# Baixe o instalador do Radmin VPN de https://www.radmin-vpn.com/
./run.sh --installer ~/Downloads/Radmin_VPN_*.exe
Em execuções subsequentes, basta:
./run.sh
Flags de linha de comando
| Flag | Descrição |
|---|---|
--installer <caminho> | Caminho para o instalador Radmin_VPN_*.exe (apenas na primeira execução). |
--no-ui | Executa o serviço sem iniciar a GUI do Radmin. |
--update | Atualiza o Radmin para a versão fixada no lugar. Mantém o prefixo, então o RID registrado na Famatech sobrevive. |
--no-broadcast-routes | Não adiciona as rotas de broadcast/multicast → TAP. |
--filter-ui | Inicia a UI opcional de filtro de pacotes GTK4 (desativada por padrão). |
--fix-chat | Aplica patch no qwindows.dll do Qt para corrigir o crash da janela de chat sob o Wine (desativado por padrão). |
Atualizador automático do próprio Radmin
A GUI do Radmin pode baixar uma build mais nova e executar seu instalador dentro do prefixo ativo,
o que mata a GUI e causa falha no serviço em execução (o log da GUI então mostra um instalador
sob AppData\\Local\\Temp). Duas defesas: o launcher fornece a build validada atual
para que o atualizador não tenha nada para enviar, e uma GUI que morre não leva mais o túnel
junto — ela é reiniciada uma vez, e então a VPN continua rodando sem cabeça. Para atualizar
deliberadamente, use ./run.sh --update, que para tudo primeiro. Desativar
"Atualizações automáticas" nas configurações da GUI evita a corrida por completo.
Tanto --filter-ui quanto --fix-chat são opcionais. A UI de filtro precisa do binário rvpn_filter_ui
(compilado pelo make); a correção do chat precisa de patch_qwindows_font.py e um interpretador Python 3.
Modos sem cabeça / servidor
Dois launchers extras executam o Radmin VPN sem um desktop local — para um VPS ou host de datacenter. Ambos instalam e configuram exatamente como o run.sh (mesmo wineprefix, mesmo fluxo de primeira execução com --installer, mesma ponte TAP); eles diferem apenas em como a GUI é acessada.
run_datacenter.sh — GUI pelo navegador
Executa a GUI real do Radmin em um display virtual (Xvfb) e a serve via VNC + noVNC, para que você possa configurar suas redes pelo navegador e depois deixá-la rodando.
sudo apt install -y xvfb x11vnc websockify novnc # ou: make install-datacenter-deps
./run_datacenter.sh --installer ~/Downloads/Radmin_VPN_*.exe
| Flag | Padrão | Descrição |
|---|---|---|
--vnc-port <n> | 5900 | Porta para o servidor x11vnc. |
--web-port <n> | 6080 | Porta para o endpoint web noVNC. |
--vnc-password <senha> | (nenhuma) | Senha para a sessão VNC / web. |
--web-bind <endereço> | 127.0.0.1 | Endereço no qual o noVNC escuta. |
Por padrão, o noVNC vincula-se a 127.0.0.1, então só é acessível através de um túnel SSH:
ssh -L 6080:localhost:6080 seu-vps # depois abra http://localhost:6080/vnc.html
Para expô-lo publicamente, passe --web-bind 0.0.0.0 junto com --vnc-password — caso contrário, qualquer pessoa que alcance a porta web cairá em um desktop não autenticado com capacidade de root. O script imprime um aviso bem alto se você vincular publicamente sem senha.
run_vps.sh — apenas serviço, GUID fixo
Inicia o serviço sem cabeça com um GUID TAP fixo (sem necessidade de WMI do Wine) e sem GUI alguma. Se um enumerador de rede personalizado (rv_net_enum.exe, não incluído neste repositório) estiver presente um diretório acima, ele é iniciado; caso contrário, o serviço apenas roda até você pressionar Ctrl+C. Apenas --installer é aceito.
./run_vps.sh --installer ~/Downloads/Radmin_VPN_*.exe