🚗

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のパスを取得していました。

https://github.com/qryxip/cargo-compete/blob/master/src/main.rs#L18-L21

そこで使われているdata_local_dir()という関数のドキュメントをみたら、OSごとにどんなパスを見ているのかが書いてあったので、それで解決しました。

ローカルデータディレクトリなるものを初めて知ったのでちょっと勉強になりました

Discussion