リンクリストの自動化方法:awesome-zhuiju- freeカタログ
GitHubのリンク集は通常、同じ運命を辿ります。管理者が百個ほどの有用なサイトを集め、数千のスターを獲得してから6ヶ月後にリポジトリを放置し、半分以上のリンクが404になります。awesome-zhuiju-リポジトリはエンジニアリングによってこの問題を解決しています。
一見すると、これは中国のメディアリソースのカタログのように見えます:ストリーミングプラットフォーム、Android TVプレーヤー、IPTVプレイリスト、クラウドストレージ検索エンジン、トレントトラッカーです。しかし、技術的な観点からすると、このプロジェクトはリンク可用性チェックの実装とデータ構造設計において注目に値します。
カタログの中身
プロジェクトデータベースは約100のリソースをカバーしており、カテゴリー別に整理されています:
- TVBoxやCatVodプレーヤー向けの設定済みコンフィグとインターフェース
- AndroidベースのTV用セットトップボックス向けコンテンツアグリゲーター
- Kazumi、Animeko、SeleneTVなどのオープンソースプレーヤーやクライアント
- 公開IPTVストリームやパーサー(
iptv-orgやiptv-apiなど)へのリンク
カタログ作成者は各リソースを4つの基準で評価しています:データベースサイズ、レスポンス速度、迷惑な広告のなさ、ドメインの安定性です。スコアはJSON形式で保存され、最終的な評価はreadmeのテーブルに表示されます。
GitHub Actionsによるリンク可用性の自動チェック
リポジトリの主な特徴はCI/CD設定にあります。手動でデッドリンクを削除するのではなく、著者はGitHub Actionsを使用してパイプラインを設定しました。
スクリプトは北京時間の午前9時に毎日スケジュール実行され、新しいデータを含むコミットごとにも実行されます。プロセスは以下の通りです:
- リンクデータベースは別ファイル(
resources/resources.json)に保存されます。 - アクションがデータスキーマの検証(
validate-data.yml)をトリガーします。 - ワーカー(
check-availability.yml)が各サイトへpingを送信し、レスポンスコードを記録します。 - 結果がレポート(
reports/availability.json)に書き込まれます。 - スクリプトが(
README.md)のステータスを動的に更新し、マーカーを適用します:稼働中は緑色、部分的な制限は黄色、利用不可は赤色。
このアプローチにより、静的なmarkdownファイルが動的なステータスマイクロサービスに変換されます。
データストレージアーキテクチャ
データベース内の各エントリは構造化されたJSONオブジェクトとして表現されます。トラッキング構造の例:
{
"id": "kazumi",
"name": "Kazumi",
"url": "https://kazumi.app/download",
"category": "app",
"platforms": ["Android", "iOS", "Windows", "macOS", "HarmonyOS"],
"rating": {
"volume": 5,
"speed": 5,
"cleanliness": 5,
"stability": 5
},
"risk": {
"copyright": "low",
"security": "low",
"privacy": "low"
}
}
コンテンツを(resources.json)と視覚的プレゼンテーション(README.md)に分離することで、プルリクエストの処理が効率化了。ユーザーは標準的なGitHub Issuesフォーム(YAMLテンプレート)を通じて新しいサイトを提出し、メンテナーはルールへの準拠を確認してマージを承認するだけで済みます。
このプロジェクトが開発者に役立つ点
ホームメディアセンターやTV用セットトップボックス向けの готовые клиентыを探しているなら、FongMi TV、TVBox、pansouパーサー、Kazumiプレーヤーの現在のフォークへのリンクが見つかります。
独自の有用なツールリポジトリ(awesome-list)を管理している場合、プロジェクトは自動化構造のためにフォークする価値があります:
- 外部アドレスの毎日のping実行 готовыеワークフロー
- チェック日付とインジケーターをMarkdownのテーブルに直接生成
- GitHub Actionsを通じた入力データ検証
- リポジトリ内のJSONファイルへのチェック履歴保存
このカタログは、シンプルなリンクリストがGitHub Actionsのみでメンテナンス可能なマイクロサービスになる方法を実証しています。ワークフロー構造を調べたり、Android TVメディアプレーヤーを探したりするには、laoma2053/awesome- zhuiju-リポジトリをご確認ください。
関連プロジェクト