aclogin
aclogin copied to clipboard
aclogin
AtCoderのセッションクッキーを各種ツールに保存するためのツール
概要
AtCoderでは、CAPTCHAの導入によりコマンドラインツールからの自動ログインができなくなりました。 このツールは、ブラウザでログインした後のセッションクッキー(REVEL_SESSION)を取得し、 各種コマンドラインツール(oj等)のクッキーファイルに保存することで、ツールからのAtCoderへのアクセスを可能にします。
インストール方法
pip install aclogin
使い方
1. AtCoderにログイン
ブラウザでAtCoderにログインします。
2. REVEL_SESSIONクッキーを取得
REVEL_SESSIONクッキーはhttpOnly属性が設定されているため、JavaScriptから直接取得できません。以下の手順で手動で取得してください。
Step 1: 開発者ツールを開く
キーボードで F12 キーを押すか、右クリックして「検証」または「Inspect」を選択します。
Step 2: Application/Storageタブを開く
開発者ツールの上部メニューから「Application」タブをクリックします。(Firefoxの場合は「Storage」タブ)
左側のサイドバーから「Cookies」→「https://atcoder.jp 」を選択します。
Step 3: REVEL_SESSIONの値をコピー
クッキーの一覧から「REVEL_SESSION」という名前の行を探します。
「Value」列の値をダブルクリックして選択し、右クリックしてコピーするか、Ctrl+C(MacならCmd+C)でコピーします。

3. CLIツールでクッキーを保存
ターミナルで以下のコマンドを実行します。
aclogin
プロンプトが表示されたら、コピーしたREVEL_SESSIONクッキーの値を貼り付けます(Ctrl+V)。
オプション
usage: aclogin [-h] [--tools TOOLS [TOOLS ...]] [--oj-cookie-path OJ_COOKIE_PATH] [--acc-cookie-path ACC_COOKIE_PATH]
AtCoder の REVEL_SESSION クッキーを各種ツールに保存します
optional arguments:
-h, --help ヘルプメッセージを表示して終了
--tools TOOLS [TOOLS ...]
クッキーを保存するツール名(指定なしの場合は自動検出)
--oj-cookie-path OJ_COOKIE_PATH
oj のクッキーファイルのパス
--acc-cookie-path ACC_COOKIE_PATH
acc のセッションファイルのパス
対応ツール
現在、以下のツールに対応しています:
ライセンス
MIT