設定項目の解説 - masami-dev/chaika-api GitHub Wiki

2ch API extension for chaika - 設定項目の解説

ここでは、2ch API 設定ウィンドウ内の各設定項目の詳細を解説しています。初期設定のしかたについては 付属文書(README) を参照してください。

目次

設定ウィンドウ上部

  • 「2ch API を使用する」

    この 2ch API 機能を有効にし、2ch.net (5ch.net) BBS のdatファイル(ログ)を 2ch API 経由で取得します。
    この項目がOFFの場合は、2ch API 機能は無効になり、すべて従来どおりのdat直接アクセスになります。以下の設定欄も無効化され、設定値を入れることもできなくなります。

  • 「ツール/ヘルプ」

    右上の「ツール/ヘルプ」メニューボタン

「認証」タブ

  • 「AppKey」/「HMKey」

    2ch API サーバーへのアクセスに必要な AppKey (アプリケーションキー) と HMKey (HMACキー) をここに設定します。

    この2つは必須設定項目で、もしも、どちらかが未設定なら、2ch API を使用しない通常モード(dat直接アクセス)になります。これらの詳しい説明は [付属文書(README)]] の [初期設定のしかた を参照してください。

  • 「CT」

    認証時に使用する CT の値を指定します。

    通常は既定値の「UNIX時刻」のままで良く、設定変更の必要はありません。設定値としては「UNIX時刻」「ランダム値」「固定値」のいずれかを選べます。「固定値」を選んだ場合は右横の入力欄に1~10桁の数値を入れてください。10桁に満たない場合は自動的に先頭が0で埋められて使われます。

  • 「認証時にRoninのIDとパスワードも送信する」

    2ch API で Ronin(旧2ちゃんねるビューア●) を使用するかどうかを設定します。既定値はONです。

    認証時に Ronin のアカウント情報も一緒に送信すると、2ch API サーバーから過去ログを取得できるようになります。Ronin のアカウントが chaika に登録されていない場合は、この設定項目は何の働きもしません(過去ログも取れません)。

    アカウントの登録は chaika の設定の 「アカウント」→「浪人/●」(v1.7.0 以降) もしくは 「全般」→「2ch ビューア」(v1.6.3 以前) から行なってください。

「User-Agent」タブ

  • 「各状況で送信される User-Agent」グループの4つの項目

    2chのサーバーへアクセスする時、そのサーバーへ送られる User-Agent と X-2ch-UA の値(いわゆるUser-Agent名)を、それぞれの状況別に指定します。
    X-2ch-UA は2ch専用ブラウザ特有のものでインターネット標準ではありませんが、その目的は User-Agent と同じなので「User-Agent」として同じ場所にまとめています。

    • 「通常(datUA)」 ‥‥ dat取得時やその他の状況で送信する User-Agent を設定
    • 「認証(authUA)」 ‥‥ 認証時に送信する User-Agent を設定
    • 「投稿(postUA)」 ‥‥ 投稿(書き込み)時に送信する User-Agent を設定
    • 「X-2ch-UA」 ‥‥ 認証時に送信する X-2ch-UA を設定

    User-Agent名とは「Mozilla/5.0 (Windows NT 6.1; rv:38.0)」のような短いテキスト(文字列値)で、ユーザーが使用しているソフトウェアが何なのかをサーバー側で識別できるようにするために、ユーザー側のソフトウェアが自己申告としてサーバーへ「名乗っている」名前のようなものです。

    このUser-Agent名は通常であれば、ユーザーが自由に変更できる仕組みにはなっていないのが普通で、それぞれのソフトウェアごとに異なる名前が内部で固定的に割り当てられていて、上記のようにソフトウェアの識別に利用されています。

    上記の4つの設定項目の目的は、他の2ch専用ブラウザが使用しているUser-Agent名をここに設定することで、chaika を他の2ch専用ブラウザに「見せかける」ことです。

    これらの設定項目を空白のままにすると、User-Agent名は一切送信されませんが、認証やdat取得などができなくなるなどのトラブルが発生する可能性があります。実際、2015/05/10以降「投稿(postUA)」が空白の状態では2chへの書き込みができなくなっています。

「自動更新」タブ

  • 「セッションIDの自動更新」

    dat取得に使用するセッションIDの有効期間は24時間しかありません。そのため、定期的に認証を行いセッションIDを更新し続ける必要があります。ここではその方法を指定します。

    • 「起動時のみ更新(自動更新しない)」
      セッションIDの自動更新を行いません。セッションID取得(認証)はFirefoxの起動時のみになります。

    • 「APIサーバーへアクセスしたとき更新」
      datAPIサーバーへアクセスした(スレッドの内容を読み込んだ)ときに、前回のセッションID取得(認証)から所定の時間(下の「更新間隔」)が経過していれば、そのタイミングでセッションIDの更新を試みます。
      これがデフォルト(既定値)で、通常はこれで問題ありませんが、Firefoxを起動したまま2chのスレッドも読み込まず長時間放置した場合は、その後のスレッド読み込み時に最初の1回だけ「セッションID 無効」のエラーが出る場合があります。

    • 「タイマーを使って一定間隔で更新」
      タイマーを動作させ、常に一定間隔(下の「更新間隔」)でセッションID取得(認証)を行います。
      このタイマーはFirefox起動中は常に動作していて、chaikaの使用状況や2chへのアクセスとは全く無関係のタイミングで自動的に更新を試みます。そのため、自動更新の手段としてはほぼ完璧になりますが、この方法は光ファイバーなどの常時接続環境で使用することが前提になります。

  • 「更新間隔」‥「認証に成功したとき」/「認証に失敗したとき」

    「認証に成功したとき」は新しいセッションIDを取得できた場合にこの次に自動更新動作を行うまでの時間間隔を、「認証に失敗したとき」は何らかの理由(ネットワークの障害など)で認証ができなかったときに再度認証を試みるまでの時間間隔を、それぞれ指定します。

    ここでいう成功・失敗は、自動更新による認証だけに限らず、ユーザーの手動操作による認証・Firefoxの起動時の認証などすべてのケースを含みます。

    設定可能範囲は両方とも3分~24時間で、推奨される設定範囲は「成功したとき」が6時間~12時間・「失敗したとき」が30分~1時間です。既定値は「成功したとき」が12時間・「失敗したとき」が30分になっていて、これも特に理由がない限り変更する必要は無いでしょう。

    これらの値に0を指定することもでき、0の場合は「自動更新を行わない」という意味になります。

    認証に失敗した場合は、現在使用中のセッションIDを引き続き使用し続ける仕組みになっていますので、「失敗したとき」に極端に短い時間を指定する必要はありません。使用中のセッションIDの有効期限が切れるまでの間に1回成功すればいいのです。

  • 「スリープ解除時の更新」‥「スリープ解除直後の待ち時間(秒)」

    上の「セッションIDの自動更新」が「タイマー」の場合のみ意味を持ちます。

    Firefoxを起動させたままパソコンをスリープ状態(サスペンド・休止状態など)にして、スリープ状態を解除させたとき、自動更新を行う予定だった時刻を既に過ぎてしまっている場合は、スリープ解除直後すぐに自動更新を試みます。その場合、この設定の秒数だけ待った後にセッションID取得動作を開始します。

    この設定の必要性としては、特に Wi-Fi(無線LAN)を使ってインターネットを利用している場合は、スリープ解除直後から Wi-Fi の接続が確立されるまで数秒を要するためです。

    初期値は10秒で、通常はこの初期値のままで問題はないでしょう。もし、スリープ解除直後のネット接続確立にこれ以上の時間がかかっているようでしたら、値を増やしてみてください。

「詳細」タブ

この「詳細」タブにある設定項目は、将来の 2ch.net (5ch.net) の仕様変更に備える目的で変更可能にしてあるものです。現時点では初期値から変更する必要はありませんし、不用意に変更すると正常に動作しなくなる場合もありますので注意してください。

  • 「API URL」/「認証URL」

    「API URL」はdat取得APIサーバーURLを、「認証URL」は認証APIサーバーURLを、それぞれ指定します。初期値は、API URL が https://api.5ch.net/v1/ 、認証URL が https://api.5ch.net/v1/auth/ です。

  • 「APIドメイン」

    2ch API の動作対象となるドメインを指定します。複数を指定する場合は半角空白で区切ります。初期値は 2ch.net 5ch.net bbspink.com です。2ch.net (5ch.net) の掲示板ドメインが追加・変更された場合にはここを変更してください。

「状態・テスト」タブ

  • 「現在のセッションID」

    現在のセッションIDの状態と、セッションIDの取得日時、セッションIDそのもの(ID=...)を表示します。現在のセッションIDの状態は、以下のようなものがあります。

    • 「未取得」 ‥‥ セッションIDは未取得(未認証)
    • 「取得済」 ‥‥ セッションIDは取得済みだが、それを使ってのスレッドの読み込みはまだ行なっていないため、セッションIDや鍵(AppKey/HMKey)の有効性は不明である状態。
    • 「Key無効」 ‥‥ このセッションIDを使ってスレッドを読み込んでみたところ、「AppKey/HMKey 無効」のエラーが出た状態。
    • 「無効」 ‥‥ このセッションIDを使ってスレッドを読み込んでみたところ、「セッションID 無効」のエラーが出た状態。セッションIDの有効期間(24時間)が既に過ぎている場合など。
    • 「有効」 ‥‥ このセッションIDを使ってスレッドを読み込んでみたところ、正常にスレッド内容(dat)を取得できた状態。
    • 「有効(Ronin)」 ‥‥ このセッションIDを使ってスレッドを読み込んでみたところ、正常にスレッド内容(dat)を取得できた状態。その上で、datAPIサーバーが"Ronin有効"を示すユーザーステータスを返してきた場合。過去ログも取得できることを表します。
  • 「前回の認証」

    前回行われた認証の結果(未認証/成功/失敗)と、認証が行われた日時、そして失敗の場合は、何回連続で失敗しているかということと、失敗の原因の特定に役立つかもしれない各種ステータスメッセージを表示します。成功の場合は、この認証日時は上のセッションID取得日時と同じになります。失敗のステータスメッセージの典型例には以下のようなものがあります。

    • 「接続できません : https://api.5ch.net/v1/auth/ 」
      2chの認証サーバーに接続できない。ネットワークの接続状態に問題があるか、認証サーバーがダウンしているか、認証URLのホスト名部分に誤りがある可能性がある。
    • 「HTTPステータス : 404 Not Found」
      2chの認証サーバーに何らかの問題が発生しているか、認証URLのパス名部分に誤りがある可能性がある。
    • 「HTTPステータス : 500 Internal Server Error」
      2chの認証サーバーで何らかの内部エラーが発生した。失敗の原因としては現状ではもっとも発生する頻度が高いが、何度も連続して発生することは無いようです。
    • 「サーバー応答 : ng (appkey incorrect length)」
      認証サーバーは動作しているがセッションIDを返して来なかった場合は「サーバー応答 : ~」という表示になり、認証サーバーが返してきた内容(エラーメッセージなど)をそのまま表示します。例の「ng (appkey incorrect length)」は、AppKey の文字数が正しくないことを意味します。
  • 「セッションID取得」

    セッションID取得(認証)を手動で行うボタンです。
    取得に成功した場合は、「現在のセッションID」の内容は新しく取得したものに置き換わります。取得に失敗した場合は、「現在のセッションID」の内容はそのままで、「前回の認証」に失敗した原因を表すステータスメッセージが表示されます。

  • 「セッションID消去」

    現在のセッションIDと前回の認証に関する状態をすべて消去します。「現在のセッションID」「前回の認証」は、未取得・未認証になります。

右上の「ツール/ヘルプ」メニューボタン

以上の設定の管理などに役立つ各種機能を呼び出せるメニューボタンです。
このメニューをキーボード操作のみで開くには、TABキーを何度か押すなどしてこのボタンにキーボードフォーカスを持って行き、F4キー もしくは Alt(Option)+↓キー を押してください。

  • 「すべての設定をファイルへ保存」/「KeyとUAのみをファイルへ保存」

    設定ウィンドウ内の現在の設定状態をテキストファイルにして保存します。「KeyとUAのみ~」は、認証タブの AppKey/HMKey と User-Agent タブの User-Agent 4項目のみを保存します。

  • 「設定をファイルから読み込み」

    上記の「すべての設定をファイルへ保存」「KeyとUAのみをファイルへ保存」で保存されたテキストファイルを読み込んで、設定状態を復元します。

    このメニュー項目を使わなくても、読み込みたいファイルをこの設定ウィンドウにドラッグ&ドロップして読み込ませることもできます。

  • 「すべての設定を元に戻す」/「すべての設定を既定値に戻す」

    「元に戻す」は、この設定ウィンドウが開かれたときの状態に戻します。「既定値に戻す」は、インストールした直後の初期状態(初期値)に戻します。どちらも、AppKey/HMKey と User-Agent 4項目を対象から除外することができます。

  • 「KeyとUAのみを消去」

    AppKey/HMKey と User-Agent 4項目の内容のみを消去して空欄にします。これらの設定を全て入れ替える場合など、古い入力内容が残っていると邪魔な場合などにご利用ください。

  • 「付属文書(README)」/「設定項目の解説」

    この 2ch API extension の付属説明書をブラウザウィンドウの新しいタブで開きます。

    chaika の設定の 「ブラウザ」→「新しいタブを開いたとき、すぐにそのタブに切り替える」が OFF のときは、開かれた新しいタブが手前には来ませんので、目的のタブを手動で選択して手前へ持ってきてください。