5ちゃんねるのどんぐり対応を完全効率化!どんぐりシステムとFirefoxアドオンの活用法


はじめに

5ちゃんねるで掲示板を利用していると、特定の投稿を効率的に管理する必要がある場面に直面することがあります。特に、どんぐりシステムが導入された板では、スムーズに書き込みを行うための工夫が欠かせません。この記事では、どんぐりシステムの概要と、それに対応するために開発したFirefoxアドオンについて詳しく解説します。
※これは別の場所のブログで公開していた内容を、こちらに移したものになります。


どんぐりシステムとは?

どんぐりシステムの背景

どんぐりシステムは、2022年頃から増加したスクリプト攻撃への対策として、2024年4月に導入した新しいサービスです。このシステムは、掲示板のセキュリティを強化することを目的としており、SETTING.TXTという設定ファイル内の「bbs_Acorn」という項目が1か2に設定されている板で主に稼働しています。また、最近ではVIPQ2の値が2以上になっている掲示板でも手動でどんぐりシステムを導入できるようになっています。

どんぐりシステムは、2ちゃんねるが西村博之氏によって運営されていた時代に存在した「忍法帖」というシステムと非常に似ており、当時から掲示板を利用していたユーザーにはなじみ深い仕組みかもしれません。

どんぐりシステムの仕組み

どんぐりシステムが導入された掲示板に初めてアクセスしたブラウザで書き込みを行うと、「どんぐりを埋めました」というアナウンスが表示されます。このアナウンスは、システムがそのユーザーの活動を監視し始めたことを意味しています。40秒経過すると「レベル1」、およそ40分で「レベル3」までレベルが上がります。このレベルが一定の基準を下回ると、書き込みが制限されるという仕組みになっています。

さらに、どんぐりシステムには「ハンター」と呼ばれる特権ユーザーが存在し、彼らは「大砲」と呼ばれる特別な機能を使うことができます。この大砲は、本来スクリプト攻撃などの不正な活動を抑制するために使用されるものですが、一部のユーザーは、自分が気に入らない投稿に対しても大砲を使用することが黙認される状況が見られます。

大砲禁止コマンドの重要性

一部の掲示板では、「大砲禁止コマンド」を入力することで、ハンターによる大砲の使用を制限することが可能です。このコマンドにより、ハンターが任意でユーザーのレベルを下げる行為を防ぐことができるため、特に注意が必要な場面では有効です。しかし、多くのユーザーはこのようなスレッドにのみ書き込みたいと考えており、そのニーズを満たすためのツールが求められています。


Firefoxを選んだ理由

カスタマイズ性と拡張性

Firefoxは、ユーザーが独自にアドオンを開発し、ブラウザの機能を拡張できる点で非常に優れています。どんぐりシステムのように特定のニーズに対応するツールを開発する際、このカスタマイズ性は大きな強みとなります。Firefoxのオープンソースの性質により、掲示板での活動を効率化するために必要な機能を自由に追加できる点が、今回のアドオン開発において重要な役割を果たしました。

既存アドオンとの統合の容易さ

Firefoxには、AdBlockやUser Agent変更などをサポートする既存のアドオンが数多く存在します。これらを組み合わせることで、さらに快適な掲示板利用環境を構築できます。今回開発したアドオンは、これらの既存アドオンと併用できるように設計されており、どんぐりシステムによる制約を最小限に抑えながら、効率的に掲示板を利用できる環境を提供します。


アドオンの設計と機能

アドオンは、特にFirefoxに登録するまでのことでもなく、仮に作ったものなので、特に著作権は主張しません。また、このアドオンを使ったことによる責任も一切作者はおいません。ですが、コードはこちらになります。
きわめて簡単なものです。


アドオンの基本機能

今回開発したアドオンは、どんぐりシステムによる制限を受けつつも、効率的に掲示板を利用できるように設計されています。主な機能は以下の通りです。

  • 板のスレッド取得機能: 指定された板からスレッド一覧を取得し、どんぐり対応に必要な情報を迅速に提供します。

  • スレッド内検索機能: 任意のキーワードや特定のどんぐりに基づいて、スレッド内の投稿を効率的に検索します。

  • どんぐり検索機能: 特に「Donguri 3」や「Donguri 4」の大砲禁止に関連する投稿を特定し、ユーザーに提示します。

  • DATファイルのダウンロード機能: 必要に応じてスレッドのDATファイルをダウンロードし、オフラインで確認できるようにします。

どんぐり検索機能の詳細

どんぐり検索機能は、どんぐりシステムに関する情報を効率的に管理し、ユーザーが望むスレッドでの書き込みを支援するために設計されています。特に「大砲禁止コマンド」が有効なスレッドを優先して表示することで、ユーザーが不必要なレベルダウンを避けながら快適に利用できる環境を提供します。

function searchDonguri(part1, part2) {
    const rows = threadListElement.querySelectorAll('tr');
    const regex1 = new RegExp(`donguri=.*?/${part1}: EXT was configured`);
    const regex2 = part2 ? new RegExp(`donguri=.*?/${part2}: EXT was configured`) : null;
    const taipoRegex = /大砲禁止/;

    rows.forEach(row => {
        const specialCell = row.querySelector('td:last-child');
        if (specialCell && 
           (taipoRegex.test(specialCell.textContent)) &&
           (regex1.test(specialCell.textContent) || (regex2 && regex2.test(specialCell.textContent)))) {
            row.style.display = '';
        } else {
            row.style.display = 'none';
        }
    });
}

既存のアドオンとの統合

AdBlockとの統合

掲示板の利用において、広告はしばしば作業を妨げる要因となります。AdBlockを併用することで、5ちゃんねるのページから不要な広告を取り除き、快適なブラウジング体験を維持しながらどんぐり対応を行うことができます。このアドオンは、AdBlockが有効な状態でも問題なく動作し、スレッド検索やどんぐり検索がスムーズに行えるように設計されています。

User Agentの変更

特定の掲示板やスレッドでは、特定のUser Agentを使用することが推奨される場合があります。このアドオンは、User Agent変更アドオンとの併用により、簡単にブラウザのUser Agentを変更し、5ちゃんねるへのアクセスを最適化できます。これにより、特定の条件下でのアクセス制限を回避し、効率的に作業を行うことが可能になります。

既存アドオンの代替機能としての利用

一部のユーザーは、複数のアドオンを併用することに抵抗を感じるかもしれません。そのため、今回のアドオンは、AdBlockやUser Agent変更といった機能をある程度代替する形で設計されています。例えば、不要な要素を非表示にする簡易的な広告ブロック機能や、特定のUser Agentを模倣する機能を追加することも可能です。


アドオンのインストールと使用方法

アドオンのインストール手順

Firefoxで開発したアドオンを試験的に使ってみたい場合、ブラウザ内で一時的にアドオンを読み込むことができます。この記事では、開発中のアドオンを簡単にFirefoxでテストするための手順を紹介します。コードはすでに準備できている前提で、アドオンを動かすまでの流れを解説します。


ステップ1: アドオンのファイルを準備する

まず、アドオンを構成するファイルが揃っていることを確認してください。通常、以下のファイルが必要です:

  1. manifest.json: アドオンの設定や権限を定義するファイル。

  2. HTMLファイル(例: sidebar.html): ユーザーインターフェースを提供するためのHTML。

  3. JavaScriptファイル(例: sidebar.js): アドオンの機能を制御するJavaScriptコード。

  4. アイコン画像(任意): アドオンのアイコン。(作ってません)

これらのファイルを1つのフォルダにまとめます。フォルダ名は任意ですが、アドオンの内容がわかりやすい名前にしておくと良いでしょう。


ステップ2: Firefoxで開発者モードを有効にする

  1. Firefoxを開く: 通常通りFirefoxを起動します。

  2. アドオン管理ページを開く:

    • メニューボタン(右上の三本線)をクリックし、アドオンとテーマを選択します。

    • もしくは、アドレスバーに about:addons と入力して直接アクセスします。

  3. 開発者モードを有効にする:

    • アドオン管理ページの左側メニューの下部に「⚙」アイコンがあります。これをクリックし、「開発者モードを有効にする」オプションを選択します。


ステップ3: アドオンを一時的に読み込む

  1. 「一時的に読み込む」ボタンをクリック: 開発者モードを有効にすると、「一時的に読み込む」ボタンが表示されます。

  2. アドオンのフォルダを選択:

    • 「一時的に読み込む」をクリックし、先ほど準備したアドオンのフォルダを選択します。フォルダを選択すると、Firefoxがアドオンを読み込みます。

  3. アドオンの動作確認:

    • アドオンが読み込まれると、すぐに動作が開始されます。アドオンにエラーがなければ、ブラウザに新しい機能が追加され、テストを行うことができます。

    • サイドバーが含まれている場合は、ブラウザのサイドバーに表示されるはずです。

既存のアドオンとの設定調整

AdBlockやUser Agent変更アドオンを併用する場合、それぞれの設定を確認し、5ちゃんねるでの動作に最適な状態に調整します。これにより、掲示板閲覧時に快適かつ効率的にどんぐり対応が行えるようになります。

実際の操作手順

アドオンをインストールした後、サイドバーから板を選択し、「スレッドを取得」ボタンをクリックします。スレッド一覧が表示されたら、検索ボックスにキーワードを入力し、「検索」ボタンを押すことで、該当する投稿を瞬時に見つけることができます。特に「Donguri 3」と「Donguri 4」の大砲禁止に関する投稿を見つけたい場合は、「Donguri検索」ボタンを使用します。


開発の過程での課題とその解決策

文字コードの問題と解決

5ちゃんねるのデータはShift_JISでエンコードされているため、これを扱う際に文字化けが発生することがあります。この問題を解決するために、JavaScriptのTextDecoderを使用して、正確にデコードする処理を実装しました。これにより、日本語の投稿内容が正しく表示されるようになりました。

パフォーマンスの最適化

大量のスレッドを検索する際、ブラウザのパフォーマンスが低下する問題が発生しました。これに対しては、検索アルゴリズムの最適化と、データ処理の効率化を行いました。これにより、大規模な掲示板でもスムーズに検索が行えるようになりました。

既存アドオンとの互換性

AdBlockやUser Agent変更アドオンとの併用により、予期せぬ不具合が発生することがありました。これを解決するために、アドオンのコードを最適化し、他のアドオンとの競合を回避するように設計を改善しました。


今後の展望とアップデート

機能拡張の計画

今後、このアドオンにさらに便利な機能を追加する計画です。例えば、特定の条件に基づいて自動でスレッドをモニタリングする機能や、複数の板を同時に検索する機能などが考えられます。これにより、どんぐり対応の効率化がさらに進むことが期待されます。

他のブラウザへの対応

現在、このアドオンはFirefox専用として開発されていますが、将来的にはChromeやEdgeなど他のブラウザにも対応させる予定です。これにより、より多くのユーザーがこのアドオンを利用できるようになります。


まとめ

本記事では、5ちゃんねるでのどんぐり対応を効率化するために開発されたFirefoxアドオンについて、その背景、設計、実装、そして実際の使用方法までを詳しく説明しました。また、AdBlockやUser Agent変更といった既存アドオンとの統合についても触れ、作業環境を最適化するための具体的な手順を紹介しました。

このアドオンを活用することで、どんぐり対応にかかる時間と労力を大幅に削減し、掲示板での活動をより効率的に行えるようになります。今後も、ユーザーのフィードバックを基に改善と機能追加を続け、さらに便利で使いやすいアドオンを目指していきます。このアドオンが、5ちゃんねるでの作業をより快適にし、皆様のお役に立つことを願っています。

この記事が気に入ったらサポートをしてみませんか?