受信設定
listeners フィールドを使うと、1つの設定ファイル内で複数の受信ポートを同時に開けるだけでなく、mihomo 自体を Shadowsocks/VMess/TUIC サーバーとして動作させることもできます。機能的には port/socks-port/mixed-port を個別に記述するのと同等ですが、より柔軟です。
LAN 受信
LAN 内のトラフィックを監視するために使用し、暗号化されていない通信の場面に適しています:
config.yaml YAML
listeners: - name: socks5-in-1 type: socks port: 10808 # listen: 0.0.0.0 # デフォルトは 0.0.0.0 を監視 # rule: sub-rule-name1 # デフォルトで rules を使用し、該当する sub-rule が見つからない場合は rules にフォールバック # proxy: proxy # 空でない場合、この受信トラフィックは指定した proxy によって直接処理されます # udp: false # デフォルトは true - name: http-in-1 type: http port: 10809 listen: 0.0.0.0 - name: mixed-in-1 type: mixed # HTTP(S) と SOCKS プロキシの混合 port: 10810 listen: 0.0.0.0 - name: redir-in-1 type: redir port: 10811 listen: 0.0.0.0 - name: tproxy-in-1 type: tproxy port: 10812 listen: 0.0.0.0 - name: tunnel-in-1 type: tunnel port: 10816 listen: 0.0.0.0 network: [tcp, udp] target: target.com - name: tun-in-1 type: tun stack: system # gvisor / lwip dns-hijack: - 0.0.0.0:53 inet4-address: # IPv4 アドレス範囲を手動で設定する必要があります - 198.19.0.1/30 inet6-address: # IPv6 アドレス範囲を手動で設定する必要があります - "fdfe:dcba:9877::1/126"
各項目は共通して rule(この受信がデフォルトで使用するサブルールを指定し、見つからない場合はメインルールにフォールバック)と proxy(空でない場合、この受信トラフィックはルーティングルールをスキップして指定した出口プロキシ/プロキシグループに直接渡されます)に対応しています。
インターネット受信
mihomo 自体を暗号化プロトコルのサーバーとして動作させ、他のデバイスからこのマシンを Shadowsocks / VMess / TUIC ノードとして接続できるようにします:
config.yaml YAML
listeners: - name: shadowsocks-in-1 type: shadowsocks port: 10813 listen: 0.0.0.0 password: vlmpIPSyHH6f4S8WVPdRIHIlzmB+GIRfoH3aNJ/t9Gg= cipher: 2022-blake3-aes-256-gcm - name: vmess-in-1 type: vmess port: 10814 listen: 0.0.0.0 users: - username: 1 uuid: 9d0cb9d0-964f-4ef6-897d-6c6b3ccf9e68 alterId: 1 - name: tuic-in-1 type: tuic port: 10815 listen: 0.0.0.0 certificate: ./server.crt private-key: ./server.key
プロトコル固有のフィールド(例:mixed の users/TLS 証明書、TUIC の token/users のいずれか一方)については各プロトコルのページをご参照ください。このレイヤーでサブスクリプションリンク形式の受信を直接受け付けたい場合は、ss-config: ss://... / vmess-config: vmess://... のような1行形式の書き方も利用できます。