Skip to content

keitan1130/mastodon-time

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

130 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mastodon 投稿検索拡張機能 - Chrome拡張機能

Mastodonサーバーのタイムラインと特定ユーザーの投稿を効率的に検索・閲覧できるChrome拡張機能です。大量データ対応、リモートインスタンス連携、高度な時間フィルタリング機能を搭載しています。

主要機能

3つの検索モード

  • 時間範囲検索: 指定した時間帯のローカルタイムラインを閲覧(投稿件数指定対応)
  • ユーザー検索: 特定ユーザーの投稿を大量取得(時間フィルタ・投稿件数指定対応)
  • 投稿ID検索: 特定の投稿IDで個別の投稿を瞬時に取得

高度な検索機能

  • 大量データ対応: 最大10,000件の投稿を安定して取得・表示
  • 2つの検索方式: 時間範囲指定 or 投稿件数指定(正負の値で未来・過去方向を制御)
  • 進捗表示: 大量データ取得時のリアルタイム進捗表示
  • 柔軟な時間指定: マイナス値や24時間超過にも対応した時間範囲設定
  • 自動時刻補正: 終了時刻が開始時刻より前の場合の自動入れ替え機能

インスタンス連携機能

  • リモートアカウント検索: 他のインスタンスのユーザー検索が可能
  • ローカル表示: リモートコンテンツを現在のインスタンスで表示
  • インスタンス設定: UI上で簡単にインスタンスを変更可能
  • クロスインスタンス対応: Mastodon内に保存済みの投稿のみ取得

ユーザビリティ機能

  • ワンクリックアクセス: 投稿をクリックして元投稿を新しいタブで開く
  • ホバープレビュー: 投稿にマウスをかざすと詳細情報を表示
  • 履歴管理: 検索履歴の保存・復元・削除機能
  • データエクスポート: 検索結果のテキストファイルダウンロード
  • データ管理: 拡張機能データの完全クリア機能

対応入力形式

この拡張機能は、様々な日時入力形式に対応しており、ユーザーの入力ミスに寛容な設計となっています。

日時入力形式

基本形式

  • YYYY-MM-DD HH:MM:SS - 完全な日時形式(例: 2025-08-20 14:30:25
  • YYYY-MM-DD HH:MM - 秒省略形式(例: 2025-08-20 14:30
  • YYYY-MM-DD HH - 分・秒省略形式(例: 2025-08-20 14
  • YYYY-MM-DD - 時間省略形式、00:00:00として扱われる(例: 2025-08-20

柔軟な区切り文字対応

  • ハイフン区切り: 2025-08-20 14:30:25
  • スラッシュ区切り: 2025/08/20 14:30:25
  • ドット区切り: 2025.08.20 14:30:25
  • 混在も可: 2025-08/20 14:30:25

ゼロパディング自動対応

  • 単桁の月・日も自動認識:
    • 2025/8/10 11:56:182025-08-10 11:56:18
    • 2025-1-52025-01-05 00:00:00
  • 時・分・秒の単桁も自動認識:
    • 2025-08-20 5:6:72025-08-20 05:06:07

時間範囲入力形式

HH:MM:SS形式(推奨)

  • 1:30:45 - 1時間30分45秒
  • 12:00:00 - 12時間ちょうど
  • 0:05:30 - 5分30秒

従来形式(後方互換性)

  • 1 - 1時間(1:00:00として扱われる)
  • 24 - 24時間(24:00:00として扱われる)

マイナス値対応

  • -2:30:00 - マイナス2時間30分
  • 終了時刻が開始時刻より前の場合、自動的にマイナス表示
  • 検索時は自動的に開始・終了時刻が入れ替わる

投稿件数指定

  • 200 - 最新200件を取得(過去方向)
  • -150 - 指定時刻から過去150件を取得
  • 100 - 指定時刻から未来100件を取得(要検索時間設定)
  • 最大10,000件まで指定可能

検索方式の選択

時間範囲指定(従来方式)

  • 開始時刻と終了時刻を指定して、その間の全投稿を取得
  • 時間範囲入力(HH:MM:SS形式)で終了時刻を自動計算
  • マイナス値の場合は過去方向の検索

投稿件数指定(新方式)

  • 取得したい投稿数を直接指定
  • 正の値: 指定時刻から未来方向へ検索
  • 負の値: 指定時刻から過去方向へ検索
  • 検索時間設定: 未来方向検索時の時間間隔を指定

エラー訂正機能

時間の自動入れ替え

  • 終了時刻が開始時刻より前の場合、検索実行時に自動的に入れ替え
  • マイナス値が入力された場合も同様に自動処理
  • エラーメッセージは表示せず、静かに処理

入力値の自動補完

  • 不完全な日時入力は自動的に補完
  • 存在しない日付(例: 2月30日)は自動修正されない(エラーとして扱われる)

入力例

有効な入力例

日時入力:
- 2025-08-20 14:30:25
- 2025/8/10 11:56:18
- 2025.12.31
- 2023-1-1 0:0:0

時間範囲入力:
- 1:30:00
- -2:15:30
- 24:00:00
- 0:05:00

投稿件数入力:
- 200
- -500
- 10000

ユーザー入力:
- @keitan
- keitan
- @[email protected]

自動処理される例

逆順時刻 → 自動入れ替え:
開始: 2025-08-20 15:00:00
終了: 2025-08-20 14:00:00
↓
開始: 2025-08-20 14:00:00
終了: 2025-08-20 15:00:00
時間範囲: 1:00:00

マイナス時間 → 自動表示:
開始: 2025-08-20 15:00:00
終了: 2025-08-20 14:30:00
時間範囲: -0:30:00

投稿件数指定例:
時刻: 2025-08-20 15:00:00
件数: 100 → 15:00:00から未来100件
件数: -100 → 15:00:00から過去100件

使用方法

ポップアップ版

  1. 拡張機能を開く: ブラウザの拡張機能アイコンをクリック
  2. 検索モードを選択: 上部のラジオボタンから検索方法を選択
  3. 検索を実行: 「取得」ボタンをクリック
  4. 結果を確認: 表示された投稿をクリックして詳細を確認

Content Script版

  1. Mastodonサイトにアクセス: 対象のMastodonサーバーのウェブサイトにアクセス
  2. UIを展開: ホームタイムライン上部の「投稿検索」の▶ボタンをクリック
  3. 検索を実行: ポップアップ版と同じ操作でページ内で直接検索
  4. 結果を確認: ページ内に表示された投稿をクリックして新しいタブで開く

基本操作

検索結果の操作

  1. 投稿クリック: 投稿をクリックすると新しいタブで元投稿を開く
  2. ホバープレビュー: 投稿にマウスを合わせると詳細情報を表示
  3. ユーザー名クリック: プレビュー内のユーザー名をクリックでプロフィールを表示
  4. データダウンロード: 「txtダウンロード」リンクで検索結果をテキストファイルで保存

履歴管理

  1. 履歴表示: 「履歴」ボタンで過去の検索履歴を表示
  2. 復元機能: 過去の検索条件を簡単に復元
  3. 結果表示: 履歴から直接過去の検索結果を表示
  4. データエクスポート: 履歴からテキストファイルをダウンロード
  5. 履歴削除: 個別削除またはすべて削除

データ管理

  1. 拡張機能データクリア: すべての履歴と設定を完全削除
  2. 安全な削除: この拡張機能のデータのみを削除(他のデータは保護)
  3. リセット機能: 設定を初期状態に戻す

各検索モードの詳細

時間範囲検索(パブリック検索)

  • 入力形式: YYYY-MM-DD HH(例: 2025-07-26 14
  • 検索方式選択:
    • 時間範囲指定: 1〜24時間で設定
    • 投稿件数指定: -10,000〜10,000件で設定
  • 対象: ローカルタイムライン(サーバー内の投稿のみ)
  • 大量データ対応: 最大10,000件まで取得可能

ユーザー検索

  • ローカルユーザー: @keitan または keitan(@マークは省略可能)
  • リモートユーザー: @[email protected](他のインスタンスのユーザー)
  • 時間指定: 2025-07-26 14(空欄の場合は最新投稿を取得)
  • 検索方式選択:
    • 時間範囲指定: 1〜24時間で設定
    • 投稿件数指定: -10,000〜10,000件で設定
  • リモート投稿表示: リモートユーザーの投稿も現在のインスタンスで表示

投稿ID検索

  • 入力形式: 19桁の投稿ID(例: 114914440521507516
  • 用途: 特定の投稿を直接表示

インストール方法

方法1: Chrome Web Storeからインストール(推奨)

最も簡単で安全な方法です。

  1. Chrome Web Storeにアクセス

  2. インストール

    • 「Chromeに追加」ボタンをクリック
    • 確認ダイアログで「拡張機能を追加」をクリック
  3. インストール完了

    • ブラウザの拡張機能バーにMastodonアイコンが表示されます
    • 自動更新が有効になります

方法2: 開発版を手動インストール(開発者向け)

ステップ1: ファイルをダウンロード

方法A: GitHubからダウンロード

  1. リポジトリページにアクセス
  2. 緑色の「Code」ボタンをクリック
  3. 「Download ZIP」を選択してダウンロード
  4. ZIPファイルを解凍

方法B: Git使用

git clone https://github.com/keitan1130/mastodon-time.git

ステップ2: Chrome拡張機能として登録

  1. Chromeの拡張機能ページを開く

    • アドレスバーに chrome://extensions/ と入力してEnter
    • または:Chrome メニュー > その他のツール > 拡張機能
  2. デベロッパーモードを有効化

    • ページ右上の「デベロッパーモード」スイッチをONにする
  3. 拡張機能を読み込む

    • 「パッケージ化されていない拡張機能を読み込む」ボタンをクリック
    • 解凍した mastodon-time フォルダを選択
    • 「フォルダーの選択」をクリック
  4. インストール完了

    • ブラウザの拡張機能バーにMastodonアイコンが表示されます

ピン留め(推奨)

拡張機能を常に表示するには:

  1. アドレスバー横のパズルピースアイコンをクリック
  2. Mastodon拡張機能の横のピンアイコンをクリック

アップデート方法

Chrome Web Store版(推奨)

Chrome Web Store版をインストールしている場合は、自動的にアップデートされます。 手動で更新する場合は:

  1. chrome://extensions/ にアクセス
  2. 「デベロッパーモード」を有効にして「更新」ボタンをクリック

開発版(手動インストール)

Git使用の場合

cd mastodon-time
git pull

ZIP使用の場合

  1. 新しいZIPファイルをダウンロード
  2. 古いフォルダと入れ替え

拡張機能の更新

  1. chrome://extensions/ にアクセス
  2. 「更新」ボタンをクリック、または拡張機能の「再読み込み」ボタンをクリック

設定・カスタマイズ

インスタンス設定

  1. ブラウザ拡張機能アイコンをクリック
  2. 「設定」セクションを展開
  3. 「インスタンスURL」に使用したいMastodonサーバーのURLを入力
    • 例: https://mastodon.socialhttps://pawoo.net
  4. 「保存」ボタンをクリック

デフォルトは https://mastodon.compositecomputer.club に設定されています。

リモートアカウント検索

他のインスタンスのユーザーを検索する場合:

  • 入力形式: @ユーザー名@インスタンス.com
  • : @[email protected]
  • 制限: 現在のMastodonインスタンス内に保存済みの投稿のみ取得可能
  • 表示: リモート投稿も現在のインスタンスで表示される

大量データ処理

  • Chrome Storage使用: 3MBチャンク分割による安定した大量データ保存
  • プログレス表示: 取得中の進捗をリアルタイム表示
  • メモリ最適化: 300MB閾値での自動チャンク処理
  • 履歴管理: 大量データを含む検索履歴の保存・復元

認証設定

この拡張機能は既存のブラウザセッションを使用します。使用前に対象のMastodonサーバーにログインしていることを確認してください。

技術仕様

  • 対応サーバー: 任意のMastodonサーバー(UI上で設定変更可能)
  • デフォルトサーバー: mastodon.compositecomputer.club
  • リモートアカウント: @[email protected] 形式で他インスタンスのユーザー検索対応
  • タイムラインタイプ: ローカルタイムライン(サーバーコミュニティの投稿のみ)
  • 最大取得数:
    • ポップアップ版・Content Script版共通:
      • 投稿件数指定: 最大10,000件(正負の値で方向指定)
      • 時間範囲指定: 約11,000件(275リクエスト × 40件)
      • ユーザー検索: 最大10,000件(投稿件数指定時)/ 無制限(時間範囲指定時)
  • 時間範囲: マイナス値〜24時間超過まで対応(ユーザー選択可能)
  • データ保存: Chrome Storage(unlimitedStorage権限)+ localStorage併用
  • 大量データ対応: 3MBチャンク分割保存システム
  • 履歴管理: 最大10件の検索履歴を大量データ対応で保存
  • API: Mastodon REST API v1
  • 対応ブラウザ: Google Chrome, Microsoft Edge, その他Chromium系ブラウザ
  • 配布方法: Chrome Web Store + GitHub(オープンソース)
  • ファイル構成:
    • manifest.json: 拡張機能の設定(unlimitedStorage権限含む)
    • popup.html/popup.js: ポップアップ版のUI(大量データ対応)
    • content.js/content.css: Content Script版のUI(大量データ対応)
    • background.js: バックグラウンド処理

トラブルシューティング

よくある問題

Q: 投稿が表示されない

  • A: 対象のMastodonサーバーにログインしているか確認してください

Q: Content Script版のUIが表示されない

  • A: Mastodonのホームページにアクセスしているか確認してください。ページの再読み込みも試してください

Q: エラーが発生する

  • A: ブラウザのデベロッパーツール(F12)でコンソールエラーを確認してください

Q: 時間検索で結果が少ない

  • A: 指定した時間帯に投稿が少ない可能性があります。時間範囲を広げるか、投稿件数指定を試してください

Q: ユーザー検索でユーザーが見つからない

  • A: ユーザー名のスペルを確認し、@マークの有無を試してください
  • A: リモートユーザーの場合は @[email protected] 形式で入力してください
  • A: リモートユーザーの投稿は、現在のMastodonインスタンス内に保存されているもののみ取得されます
  • A: Misskeyなど非Mastodonインスタンスはサポートされていません

Q: 大量データの取得が途中で止まる

  • A: ネットワーク状況を確認してください。一時的に停止しても自動で再開されます
  • A: 10,000件を超える場合は制限により停止します

Q: 履歴やデータが消えた

  • A: 「拡張機能データをクリア」ボタンを誤って押した可能性があります
  • A: ブラウザの設定でストレージがクリアされた可能性があります

Q: 検索が遅い

  • A: 大量データを取得中の場合は時間がかかります。進捗表示を確認してください
  • A: 投稿件数を少なくするか、時間範囲を狭くしてください

サポート

問題が解決しない場合は、GitHub Issuesでご報告ください。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors