aclogin icon indicating copy to clipboard operation
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