wss 化する
Caddy2 サーバで簡単に出来る。ここ( https://github.com/caddyserver/caddy )からバイナリ( Release をクリックして自分のマシンに応じたもの)をDLして解凍。Caddyfile というファイルを作って
自分のドメイン {
handle_path / {
reverse_proxy localhost:wbsocketdで指定するポート
}
(その他アイコンなどのパスを指定したければそうする)
}
で ssl 化されるので、wss 化される。
sudo ./caddy run
websocketd --port=ポート bash out.sh
として
wss://自分のドメイン
でアクセスできるようになる。
実際にアカウントを作ってみるには
NostrTool ( https://nostrtool.com/ ) で Generate new key をクリックし、秘密鍵/公開鍵を nsec/npub hex ともにコピーペーストなどで保存する。
ブラウザに nos2x 拡張を入れて、option を選び、 Private key に秘密鍵を入力しておく。
自分のデータを 自分のサーバに登録する。
NostrCli が便利なので勧める。
git clone https://github.com/FreeFromJP/NostrCli
cd NostrCli/
npm install
sudo npm link
で入る。ただしまだ設定が何もないので
touch .env
でファイルを作り、それに
DEFAULT_RELAYS=wss://自分のサーバ
PRIVATE_KEY=自分の秘密鍵
を記し、
nostr
とコマンドを入れると
❯ key
decode
encode
search_by_ids
sample
DMLike
publish
(Move up and down to reveal more choices)
とかそんな感じで表示されるので、publishを選び
? Enter event kind:
に 0 を入れ、content に
{"picture":"Caddyfileにアイコンのパスを入れてたらそのURL","name":"適当な名前","display_name":"適当な名前","about":"適当な自己紹介"}
を入れエンターを打ち続ければ、自分のサーバの test.db と jsonsディレクトリに自分のアカウントの情報データが入るはずである。これでアカウントが出来る。
次に上と同様に publish を選び、kind で 3 、content は空、
? Would you like to add tags? (y/N)
で y を打ち
? Enter a tag:
に
p,自分の公開鍵
を入れてエンターで自分をフォローするデータが自分のサーバの test.db と jsonsディレクトリに入るはずである。他にも(例えば既に作っている自分の別のアカウントなども)フォローしておきたいならば、それも続けて同様に加えればよい。
(*ただし
? Enter a tag:
p,自分の公開鍵
? Would you like to add another tag? (y/N)
y
p,他にフォローしたいアカウントの公開鍵
……
と、一続きで入れなければ複数の kind 3 のデータ・ファイルが入ってしまう。大体のクライアントでは最新の kind 3 を見てフォローを判断するようだ
)
おそらくこれで Rabbit ( https://rabbit.syusui.net/ ) などにブラウザでアクセスし、リレーに自分のリレーを加えれば、プロフィールに自分がいるはずである。あとはブラウザから投稿すれば自分のリレーサーバの test.db と jsons ディレクトリにデータとファイルが適切に入り、多少のタイムラグはあるが、ブラウザに反映されると思う。
難点
何故か websocketd に ERROR が表示される。ただあまり実践には問題ない様ではある。