先日以下のような記事をQiitaに書いたのですが、サーバをずっと動かすとなるとそれが可能なマシンを用意できるか、持っているかが問題だよなー、とか考えてました。
で、そういえば、AndroidスマホならTermuxというAndroid端末内に独自Linux環境を構築するアプリがあるので、使わなくなったAndroidスマホなんかを有効活用して、サーバ動かしておくというのは悪くないのでは、と思い試してみたところ、見事動きました!
(そもそもAndroidはLinuxの一種なので、アプリがユーザに見せるシェルにおいてだけ、chrootでファイルシステムのルートの位置を変更して、あれこれ必要なファイルを配置してあげれば、独自のLinuxユーザランドが作れるよね、というのがTermux、という認識)
まずは、下のサイトなどを参考にしつつ、Fdroidアプリを経由してTermuxをインストール。
Termuxがインストールできたら以下のようにコマンドを実行すればサーバ起動までたどり着けます。
$ apt update $ apt upgrade $ apt install -y golang git $ git clone https://github.com/ryogrid/nostrp2p $ cd nostrp2p $ go build -o nostrp2p main.go $ ./nostrp2p server -l 0.0.0.0:20000 -p <npub形式の公開鍵> -b ryogrid.net:8888
あとは、スマホのIPアドレスを調べて、クライアントに指定すればOK。*1
ちゃんと、ブートストラップサーバにも接続できていました。
なお、サーバを止めるときは Ctrl + c でサーバプロセスを終了させて、exitコマンドでシェルを終了、からのTemuxを普通のアプリと同じように終了させるだけ。
Termuxで構築した環境が不要になった場合は、Termuxをアンインストールすれば、環境とその中で作ったファイル含めて削除してくれるはず。
以下、スクショ。
クライアントのサーバアドレス設定
(今回はWindows用のネイティブクライアントを使いました)
投稿してみたところ
ブートストラップサーバ(兼Trial用サーバ)への投稿データの転送(自分用サーバがブロードキャスト)も正常に行われ、Trial用サーバに接続したWebクライアントでもちゃんと表示されています。
いやー。Termuxすごいなー。