アップデート一覧に戻る
New releaseJul 24, 2026

radmin-vpn-linux v1.0.0-rc9

Wine上でRadmin VPNをLinuxで実行 — カスタムドライバ、TAPブリッジ、パケットロスゼロ

共有

Linux向けRadmin VPN

Radmin VPNをWine経由でLinux上で実行します。VPNネットワークへの参加、ピアの確認、ゲームプレイが可能です——Windows VMは不要です。

これはVMより簡単だから作ったわけではありません。VMより簡単だと思ったから作ったのです。

AI支援コード。 人間とClaude(Anthropic)の共同作業で構築されました。ドライバ、フック、ブリッジは、Ghidraを使用したRadmin VPNの非公開ドライバプロトコルの広範なAI支援リバースエンジニアリングによって作成されました。動作はしますが、保証はありません。 Famatechとは提携関係にありません。Radmin VPNはプロプライエタリです——radmin-vpn.comからご自身でダウンロードしてください。自己責任で使用してください。

仕組み

Radmin VPNのWindowsサービスは、仮想ネットワークアダプタ用にNDISミニポートドライバと通信します。WineはNDISをサポートしていないため、ドライバをLinux TAPデバイスにブリッジする独自実装に置き換えます。フックDLLがWineの互換性問題(アダプタ名、レジストリ権限)を処理します。結果として、Wine上でネイティブに動作する完全に機能するRadmin VPNクライアントが実現します。

Linux app ← TAP (radminvpn0) ← tap_bridge ← FIFO ← rvpnnetmp.sys (Wine driver) ← RvControlSvc.exe

クイックスタート(AppImage、推奨)

最新リリースからRadminVPN-Linux-x86_64.AppImageを取得してください。インストールは不要です——Wineが同梱されています。

リリース候補(例:v1.0.0-rc1)はGitHubのプレリリースとして公開されています。上記のlatestリンクは常に最新の安定版ビルドを指すため、プレリリースはそこには表示されません——完全なリリース一覧から取得してください。

chmod +x RadminVPN-Linux-x86_64.AppImage
./RadminVPN-Linux-x86_64.AppImage

初回起動時に、検証済みのRadmin VPNインストーラをダウンロードします(または--installerで独自のものを指定)。進捗表示付きのターミナルが開き、TAPセットアップ用にsudoパスワードの入力が1回求められます。

永続状態(wineprefix、MAC、ログ)は~/.local/share/radmin-vpn-linux/に保存されます。

Radminが自動で終了する場合? 独自のアップデータが実行中のプレフィックス内に新しいビルドをインストールしています。代わりに制御された方法でアップグレードしてください——プレフィックスとRadmin IDは保持されます:

./RadminVPN-Linux-x86_64.AppImage --update

その後、Radminの設定で「自動更新」をオフにして、再試行を防いでください。詳細はRadmin独自の自動アップデータを参照してください。

前提条件(ソースビルド / AppImage以外)

  • Wine >= 11.0(Wine 11.5 Arch LinuxおよびWine 11.6 Ubuntu 24.04でテスト済み)
  • mingw-w64クロスコンパイラ(i686-w64-mingw32-gcc、x86_64-w64-mingw32-gcc)——ソースからのビルド用
  • iconv(glibc)——サービスログ解析用
  • sudoアクセス——TAPデバイス作成とルーティング用
  • TUN/TAPカーネルサポート——通常は組み込み済み、modprobe tunで確認
  • Radmin VPNインストーラ——存在しない場合は自動ダウンロードされます。このプロジェクトが検証されているバージョンは、lib.sh内のRADMIN_VERSIONという1箇所に固定されています(現在は2.1.4951.1;2.0.4899.9も動作します)。Radmin VPN 1.4はサポートされていません——登録とアダプタのオープンは行われますが、Wineシムの下では接続が完了せず、GUIが「接続中...」で停止したままになります。

Arch Linux

sudo pacman -S wine mingw-w64-gcc

Ubuntu/Debian

sudo apt install wine64 wine32 gcc-mingw-w64

ソースクイックスタート

git clone https://github.com/baptisterajaut/radmin-vpn-linux.git
cd radmin-vpn-linux

# オプションA: 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/

# オプションB: ソースからビルド
make

# https://www.radmin-vpn.com/ からRadmin VPNインストーラをダウンロード
./run.sh --installer ~/Downloads/Radmin_VPN_*.exe

以降の実行では、単に:

./run.sh

コマンドラインフラグ

フラグ説明
--installer <path>Radmin_VPN_*.exeインストーラへのパス(初回のみ)。
--no-uiRadmin GUIを起動せずにサービスを実行。
--updateRadminを固定バージョンにその場でアップグレード。プレフィックスを保持するため、Famatechに登録されたRIDは維持されます。
--no-broadcast-routesブロードキャスト/マルチキャスト→TAPルートを追加しない。
--filter-uiオプションのGTK4パケットフィルタUIを起動(デフォルトではオフ)。
--fix-chatQtのqwindows.dllにパッチを適用してWineでのチャットウィンドウクラッシュを修正(デフォルトではオフ)。

Radmin独自の自動アップデータ

RadminのGUIは新しいビルドをダウンロードし、実行中のプレフィックス内でインストーラを実行できます。これによりGUIが強制終了され、実行中のサービスに障害が発生します(GUIログにはAppData\\Local\\Temp配下のインストーラが表示されます)。防御策は2つ:ランチャーが現在の検証済みビルドを同梱しているためアップデータがプッシュするものがないこと、そして終了したGUIがトンネルを道連れにしなくなったことです——一度再起動され、その後VPNはヘッドレスで実行を継続します。意図的にアップグレードするには、まずすべてを停止する./run.sh --updateを使用してください。GUI設定で「自動更新」をオフにすると、競合を完全に回避できます。

--filter-uiと--fix-chatはどちらもオプトインです。フィルタUIにはrvpn_filter_uiバイナリ(makeでビルド)が必要です。チャット修正にはpatch_qwindows_font.pyとPython 3インタプリタが必要です。

ヘッドレス / サーバーモード

ローカルデスクトップなしでRadmin VPNを実行するための追加ランチャーが2つあります——VPSやデータセンターホスト用です。どちらもrun.shとまったく同じようにインストールおよび設定されます(同じwineprefix、同じ--installer初回フロー、同じTAPブリッジ)。GUIへのアクセス方法のみが異なります。

run_datacenter.sh — ブラウザ経由のGUI

仮想ディスプレイ(Xvfb)上で実際のRadmin GUIを実行し、VNC + noVNC経由で提供します。ブラウザからネットワークを設定し、そのまま実行を継続できます。

sudo apt install -y xvfb x11vnc websockify novnc   # または: make install-datacenter-deps
./run_datacenter.sh --installer ~/Downloads/Radmin_VPN_*.exe
フラグデフォルト説明
--vnc-port <n>5900x11vncサーバーのポート。
--web-port <n>6080noVNC Webエンドポイントのポート。
--vnc-password <pw>(なし)VNC / Webセッションのパスワード。
--web-bind <addr>127.0.0.1noVNCがリッスンするアドレス。

デフォルトではnoVNCは127.0.0.1にバインドされるため、SSHトンネル経由でのみ到達可能です:

ssh -L 6080:localhost:6080 your-vps    # その後 http://localhost:6080/vnc.html を開く

公開するには、--web-bind 0.0.0.0を--vnc-passwordと一緒に渡してください——そうしないと、Webポートに到達した誰もが認証なしのroot権限を持つデスクトップにアクセスできてしまいます。スクリプトは、パスワードなしで公開バインドした場合に大きな警告を表示します。

run_vps.sh — サービスのみ、固定GUID

ハードコードされたTAP GUID(Wine WMI不要)でサービスをヘッドレスで起動し、GUIは一切ありません。カスタムネットワーク列挙子(rv_net_enum.exe、このリポジトリには同梱されていません)が1つ上のディレクトリに存在する場合は起動されます。それ以外の場合は、Ctrl+Cするまでサービスが実行されます。--installerのみ受け付けます。

./run_vps.sh --installer ~/Downloads/Radmin_VPN_*.exe

ソースからのビルド

mingw-w64クロスコンパイラが必要です。ビルド済みバイナリはReleasesから入手できます(各タグ付きバージョンでCIによってビルドされます)。mingwをインストールしたくない場合はそちらを使用してください。

make          # すべてをbuild/にビルド
make clean    # ビルド成果物を削除

生成物:

  • build/rvpnnetmp.sys — Wineカーネルドライバ(64ビットPE)
  • build/adapter_hook.dll — フックDLL(32ビットPE)
  • build/rvpn_launcher.exe — DLLインジェクタ(32ビットPE)
  • build/netsh.exe — netsh置換(32ビットPE、SysWOW64にインストール)
  • build/netsh64.exe — netsh置換(64ビットPE、System32にインストール)
  • build/drvinst.exe — Radminの実際のNDISドライバインストーラを置き換えるno-opスタブ(issue #12)
  • build/tap_bridge — ネイティブLinux TAPブリッジ
  • build/rvpn_dnsfix.so — ネイティブLD_PRELOADシム、サービスのみにプリロード
  • build/rvpn_reuseport.so — ネイティブLD_PRELOADシム、wineserverにプリロード
  • build/rvpn_filter_ui — オプションのGTK4パケットフィルタUI(--filter-ui)

AppImageのビルド

make
./packaging/build-appimage.sh       # → packaging/dist/RadminVPN-Linux-x86_64.AppImage

初回実行時にKron4ek Wine-Staging amd64-wow64ビルド(約100 MB)とappimagetoolをダウンロードし、両方をpackaging/dist/にキャッシュします。curlとImageMagick(convert)が必要です。

run.shの動作

  1. 初回実行:Wine経由でRadmin VPNをインストール(/VERYSILENT)、実際のNDISドライバを削除(Wineと互換性がないため)、カスタムドライバを登録
  2. 毎回の実行:TAPデバイスを作成、TAP-to-FIFOブリッジを起動、Wineレジストリを設定(アダプタGUID、ドライバサービス)、Radmin VPNサービスとGUIを起動
  3. 終了時(Ctrl+CまたはGUIを閉じる):Wineを終了、TAPデバイスを削除、クリーンアップ

wineprefixは./wineprefix/(ソース実行)または~/.local/share/radmin-vpn-linux/wineprefix/(AppImage)に保存されます。永続的なMACアドレスは初回実行時に生成され、wineprefixに保存されます。

アーキテクチャ

カテゴリ