🚗
cargo-competeでAtCoderにログインする
macOSでやる方法が見つからなかったので、この記事ではwindows/macOS/Linuxのそれぞれでログインする手順をまとめておこうと思います
前提として、cargo-competeはインストール済みで、cargo compete initなどは済ませているものとします
1: REVEL_SESSIONを取得する
下のリンクを参照してください
2: cookies.jsonlを書き換える
cookies.jsonlの場所がOSによって異なります
Windowsの場合
C:\Users\<username>\AppData\Local/cargo-compete/cookies.jsonl
macOSの場合
/Users/<username>/Library/Application Support/cargo-compete/cookies.jsonl
Linuxの場合
/home/<username>/.local/share/cargo-compete/cookies.jsonl
cookies.jsonlが見つかったら、viやcodeなどで開いて、REVEL_SESSION=の値を1で取得した値に変更すればログインできたことになります
余談
どうでもいい情報ですが、解決にいたるまでの経緯を書いておきます
cargo-competeのレポジトリを見ていたらmain.rsのところでcookieのパスを取得していました。
そこで使われているdata_local_dir()という関数のドキュメントをみたら、OSごとにどんなパスを見ているのかが書いてあったので、それで解決しました。
ローカルデータディレクトリなるものを初めて知ったのでちょっと勉強になりました
Discussion