AirConnectをCentOS_8上に構築してみる

気分転換(?)に、Google homeにAirplayできるように転送してくれるスクリプトがあったので、CentOS 8 上で実行してみた。

Google HomeでAirPlayが使えればHomePodがいらないんじゃないか説
AirConnect

Git clone してからAirplayできるようにしてみるところまで

Gitクローンする。実際にはコンパイル済みの部分だけ取ってくるだけでも動くはず。

91 cd /usr/local
93 sudo git clone https://github.com/philippe44/AirConnect.git
100 sudo chmod +x /usr/local/AirConnect/bin/*
108 sudo systemctl stop firewalld
109 sudo /usr/local/AirConnect/bin/aircast-x86-64 -l 1000:2000

実行ファイルは各環境に合わせてコンパイル済みになっている。CentOS8(64Bit)の環境に合致する実行ファイルはaircast-x86-64。chmod +xで実行許可をつける。またFirewallがAirplayのポート、Google Homeのキャストをブロックしているようなので、systemctl stop firewalldしないと動作しない。

サービス登録してsystemctlで管理ところまで

今回は自動起動は付けなかったが、サービスとして管理する。

120 sudo vim /etc/systemd/system/airupnp.service
127 sudo systemctl stop firewalld
128 systemctl status firewalld
129 sudo systemctl restart airupnp
130 systemctl status airupnp

airupnp.serviceのファイルの中身は以下。公式のReadme.mdを自分の環境に合わせて修正。

```
[Unit]
Description=AirUPnP bridge
After=network-online.target
Wants=network-online.target

[Service]
ExecStart=/usr/local/AirConnect/bin/aircast-x86-64 -l 1000:2000

Restart=on-failure
RestartSec=30

[Install]
WantedBy=multi-user.target
```

Airplayのポートを開けてみて動作するか見てみた(うまくいっていない)

AppleにAirplayがどのポートを使用するのかまとめてある。それをもとにFirewallを修正してみた。Apple ソフトウェア製品で使われている TCP および UDP ポート

114 sudo firewall-cmd --zone=public --add-port=80/tcp
115 sudo firewall-cmd --zone=public --add-port=554/tcp
116 sudo firewall-cmd --zone=public --add-port=554/udp
117 sudo firewall-cmd --zone=public --add-port=3689/tcp
118 sudo firewall-cmd --zone=public --add-port=5353/udp

iphoneでのAirplayデバイスとしては表示されるが、接続しようとすると失敗する。Google Homeのキャストの動作をどのようにして許可するのか調べ切れていないのでそこらへんが問題なのではないかと思う(なげやり)。気が向いたらまた調べてみるかも。

(ここまで)