GolangでCLITwitterクライアントを作った

めちゃくちゃ簡単な物で、CLIで呟きだけできるもの
brew tap im-neko/tap
brew install im-neko/tap/cliter
でインストール出来る。
初回はPINを使ったアカウントの連携が必要

Golang,grpc,k8sに慣れたかったのと、brewでのパッケージング(?)をしたことがなかったので無理矢理やってみた。

クライアントと言いつつ結局ツイートしてるのはサーバー側

めちゃくちゃ雑な構成図

構成はこんな感じになっています
とりあえず動くようになるまでやってみて今までよりはちょっとだけ理解ができるようになったのでよかった。

ソースコードはここにまとめておいてあります
https://github.com/Im-neko/cliter

やってる時に困った所
エラー残し忘れてたので詳細不明だけど、
– なんかわからんけど繋がらん その1
A. cloudflareでプロキシしてるのが原因で、2020/10/1にbetaサポートされたから管理画面で設定しないとダメ
https://blog.cloudflare.com/announcing-grpc/

– なんかわからんけど繋がらん その2
A. serviceのport名をちゃんとprefixにプロトコル名持ってこないと良い感じにしてくれないらしい
https://istio.io/latest/docs/ops/configuration/traffic-management/protocol-selection/

– なんかわからんけど繋がらん その3
A. クライアントの作り方

config := &tls.Config{ 
  ServerName: "cliter.im-neko.net"
} 
conn, err := grpc.DialContext( 
  ctx, 
  "cliter.im-neko.net:443", 
  grpc.WithTransportCredentials(credentials.NewTLS(config)), 
)

これで良いのかわからん….
けど一応パケット眺めてたらTLSで通信はしてそうだったので良いと信じてる(ただ証明書の検証してるか怪しいので確認した方が良さそう)

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です