Vylosファイル形式
.vylos形式は、標準のWireGuard構成とVylosのスプリットDNS、オンデマンド、キルスイッチ設定をまとめて保持します。
| settings.conf | いいえ | Vylosの[SplitDNS]、[OnDemandRule]、[Routing]セクション(INI形式に似たUTF-8テキスト)。 |
アーカイブの構造
.vylosファイルは、必須ファイル1つと任意ファイル1つを含むZIPアーカイブです。
| アーカイブ内の項目 | 必須 | 内容 |
|---|---|---|
wireguard.conf | はい | 変更していないWireGuardの[Interface]および[Peer]セクション(UTF-8テキスト)。 |
settings.conf | いいえ | Vylosの[SplitDNS]および[OnDemandRule]セクション(INI形式に似たUTF-8テキスト)。 |
wireguard.confがないアーカイブや、いずれかの項目がUTF-8以外でエンコードされたアーカイブは拒否されます。settings.confがないアーカイブは、内部のWireGuard構成と同じように動作します。
拡張子によってWireGuardの構文が変わることはありません。wireguard.confを展開して別のWireGuard互換クライアントで使用でき、Vylos固有の設定はsettings.confに分離されたままです。
wireguard.conf
必須項目では、通常の.conf読み込みでVylosが受け付けるものと同じwg-quickフィールドを使用します。[Peer]セクションが0個でも有効で、1つのトンネルに複数のピアを含めることもできます。
[Interface]
PrivateKey = AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
Address = 10.0.0.2/32
DNS = 10.0.0.1
[Peer]
PublicKey = BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB=
AllowedIPs = 0.0.0.0/0
Endpoint = vpn.example.com:51820
PersistentKeepalive = 25
サンプルの鍵とエンドポイントは、WireGuardサーバーから提供された値に置き換えてください。基本となる構成形式については、WireGuardプロジェクトのwg-quickドキュメントを参照してください。
settings.conf
セクション名とキー名では大文字と小文字を区別しません。空行と#以降のテキストは無視されます。不明なセクションやキー、不正な行、非対応のアクションやインターフェイス種別があると、読み込みは失敗します。
スプリットDNS
1つの[SplitDNS]セクションに、次のキーの一方または両方を指定します。
| キー | 値 |
|---|---|
Domains | DNSクエリにトンネルのDNSサーバーを使用する、カンマ区切りのドメイン。 |
SearchDomains | ドメインなしのホスト名検索を再試行するために使う、カンマ区切りのサフィックス。 |
ドメインラベルには英数字と途中のハイフンを使用できます。*.example.comのような任意の先頭ワイルドカードと、完全修飾名を示す末尾のピリオドも使用できます。
VylosはAppleのネットワーク設定へ適用する前にスプリットDNSの一致ドメインを正規化します。無効なドメインはトンネルのドメイン一覧に追加せず、無視します。
オンデマンドルール
ネットワーク条件ごとに[OnDemandRule]セクションを1つ追加します。複数のセクションはOR条件として扱われるため、いずれかのルールが一致するとトンネルを有効化できます。
| キー | 必須 | 使用できる値 |
|---|---|---|
InterfaceType | はい | cellular、ethernet、wifi。 |
Action | いいえ | connect。省略した場合もconnectが既定値です。 |
SSIDs | いいえ | Wi-Fiでは、カンマ区切りの対象一覧、または除外モードとして各項目が!で始まる一覧。省略するとすべてのWi-Fiネットワークに一致します。 |
1つのルールで通常のSSIDと!付きSSIDを混在させないでください。モバイル通信ルールはiOS、EthernetルールはmacOS、Wi-FiルールはVylosが対応するすべてのプラットフォームで適用されます。
Vylosは、現在のプラットフォームで使用できないルール値も読み込みと再書き出しの際に保持します。そのため、1つのポータブルファイルでiOS、macOS、visionOS向けの動作を維持できます。
キルスイッチ
待機状態のオンデマンドトンネルを利用できないときにネットワーク通信の大部分をブロックするには、[Routing]セクションを追加します。
[Routing]
KillSwitch = true
KillSwitchにはtrueまたはfalseを指定できます。trueには1つ以上の[OnDemandRule]が必要です。自動アクティベーションルールなしでキルスイッチを有効にしたファイルはVylosで拒否されます。
この設定によってWireGuard構成が書き換えられることはありません。すべてのピアのAllowedIPsを結合した結果が、VPN経由の経路を持つ宛先を引き続き決定します。アプリは有効な経路に応じてフルトンネル保護、ネットワークアクセスを制限中、または送信経路なしを表示し、DNSサーバーがすべての経路の対象外にある場合は警告します。
通常の.confファイルにはキルスイッチの選択を保存する場所がありません。オンデマンド設定とキルスイッチ設定をトンネルと一緒に持ち運ぶ必要がある場合は.vylosを使います。
完全な例
アーカイブのsettings.confでは、両方の機能を組み合わせられます。
[SplitDNS]
Domains = corp.example.com, *.internal.example.com
SearchDomains = example.com
[OnDemandRule]
InterfaceType = cellular
Action = connect
[OnDemandRule]
InterfaceType = wifi
Action = connect
SSIDs = !HomeWifi, !HomeWifi-5G
[Routing]
KillSwitch = true
この構成は、モバイル通信と、指定した2つの自宅Wi-Fi以外のすべてのWi-Fiで接続します。一致する企業および内部ドメインのDNS名はトンネル経由で送信されます。
App内での動作については、スプリットDNSを設定するとオンデマンドを設定するを参照してください。
また、待機状態のトンネルを利用できなくなった場合は、その他の通信の大部分をブロックします。
読み込み、書き出し、QRコード
Vylosは.vylosファイルを直接読み込めるほか、複数ファイルを含む.zipアーカイブからも読み込めます。完全な構成または両方を選ぶと、トンネルごとに1つの.vylosアーカイブを書き出します。
iOSでは、QRコードに最大16 KBのBase64エンコードされた.vylosアーカイブを格納できます。Base64は単なるエンコードであり、wireguard.conf内の秘密鍵を暗号化しません。
通常のファイル読み込み上限は2 MBです。書き出したファイルには秘密鍵が含まれるため、機密性の高い認証情報として保管および共有してください。