min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

池袋の寮にあるラズパイZEROから、地方の田舎の自宅にあるVPNサーバを介して、ドトールWiFiに繋いだAndroidにadbできるのだろうか

ハピタス登録で1,000円分になるURL

試す。

まずは接続される側

まずはAndoridからVPN(wireguard)に接続。

 

ドトールWindowsからAndroidに接続

$ adb -s 192.168.43.1:5555 shell

($ adb -s AndroidIPアドレス:5555 shell)

$ ifconfig

Android内でVPN(wireguard)サーバへのトンネルができてるのが確認できる。

田舎のVPNサーバにping疎通確認。

$ ping 10.100.0.1

よし。

 

次は接続に行く側

池袋の寮のラズパイ。こいつにadbを入れてAndroidにつなぎに行きたいわけだ。

このラズパイZeroから中継点である田舎のVPNサーバ(192.168.3.190)にssh接続するとポート転送でAndroid:5555に飛ぶという仕組み。

 

sshポート転送なのでわかりにくいのだが

ラズパイZeroにて

$ ssh -L 127.0.0.1:5555:AndroidVPNから振られてるIP:5555 pi@中継VPNサーバのIP

$ ssh -L 127.0.0.1:5555:10.100.0.14:5555 pi@192.168.3.190

これで中継設定はできた。

 

あとはラズパイZeroでadbを使えるようにする

あっさり入った。

 

Androidに繋がるか?

うーん、ダメか?

 

Androidスマホ画面で許可したら認識できた!

素晴らしい!adb devicesで認識してる!

あとは unauthorizedだけクリアすればいい。

$ adb kill-server

してみる。

 

ついに接続できた!

超遠隔地へのadb shellが実現できた!(SIM通信+VPNWiFi経由

$ adb tcpip 5555

ってのは

$ adb kill-server して、通信ポートをtcpipの5555にして、adb start-serversしなおす一連のコマンドっぽい。

 

遠隔地間でスマホデータのバックアップ

AndroidドトールWiFiに接続して、スマホ内の画像を池袋のラズパイからadbでpull(引き上げ)する。これがやりたかった

ギガ使わないようにドトールWiFi入りなおす。Windowsスマホも両方。

 

池袋のラズパイZeroから

adbで接続。

これでいつでもスマホデータを自宅(池袋の寮)に引き上げできるわけだ。

 

ラズパイZeroにあるmp4をスマホに送り込んでみる

できた。最高すぎ。

ラズパイZeroにて

$ adb devices

$ adb -s AndroidIPアドレス:ポート push 送りたい動画.mp4

つまり

$ adb -s Androidに繋がってる中継サーバ push 送りたい動画.mp4

つまり

$ adb -s Androidに繋がってる中継サーバに繋がってるラズパイZero自身のポートへ入り口localhost:5555 push 送りたい動画.mp4

つまり

$ adb -s localhost:5555 push gakki.mp4

サクっと転送できた!

これで東京のカフェのどこにいてもどのWiFiに繋いでいようが関係なく、コマンド一発で大量のファイルWiFi経由スマホに受け渡しできる。最高すぎる。

 

追記

Androidスマホを再起動した後にもう一度adb connectしようとしたら Connection refused になってしまった。

この場合はいったんUSBで繋いでから

$ adb tcpip 5555

してWiFiモード(というかtcpipモード)にすると直る。

 

 

 

 

 

その買うを、もっとハッピーに。|ハピタス