>_ DevTrendsde

Sprache

Start

Sprachen

Bereiche

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicherheit
JavaScript

Automatisierung von Link-Listen: Der awesome-zhuiju-free-Katalog

GitHub-Link-Sammlungen haben typischerweise dasselbe Schicksal. Der Autor sammelt hundert nützliche Seiten, bekommt ein paar tausend Sterne, gibt das Repository nach sechs Monaten auf, und die Hälfte der Links werden zu 404-Fehlern. Das Repository awesome-zhuiju-free löst dieses Problem durch Engineering.

Auf den ersten Blick sieht dies wie ein Katalog chinesischer Medienressourcen aus: Streaming-Plattformen, Android-TV-Player, IPTV-Playlisten, Cloud-Speicher-Suchmaschinen und Torrent-Tracker. Aus technischer Sicht ist das Projekt jedoch bemerkenswert für seine Implementierung der Link-Verfügbarkeitsprüfung und das Design der Datenstruktur.

laoma2053/awesome-zhuiju-free | Trendshift

Was sich im Katalog befindet

Die Projektdatenbank umfasst rund hundert Ressourcen, organisiert nach Kategorien:

  • Fertige Konfigurationen und Oberflächen für TVBox- und CatVod-Player
  • Inhaltsaggregatoren für Android-basierte TV-Set-Top-Boxen
  • Open-Source-Player und Clients wie Kazumi, Animeko und SeleneTV
  • Links zu öffentlichen IPTV-Streams und Parsern wie iptv-org und iptv-api

Die Katalogautoren bewerten jede Ressource anhand von vier Kriterien: Datenbankgröße, Antwortgeschwindigkeit, Abwesenheit von aufdringlicher Werbung und Domain-Stabilität. Die Bewertungen werden im JSON-Format gespeichert, wobei die Endbewertung in der Readme-Tabelle angezeigt wird.

Automatische Link-Verfügbarkeitsprüfung über GitHub Actions

Das Hauptmerkmal des Repositories liegt in seinem CI/CD-Setup. Anstatt tote Links manuell zu entfernen, hat der Autor eine Pipeline mit GitHub Actions konfiguriert.

Skripte werden jeden Morgen um 09:00 Pekinger Zeit nach einem Zeitplan ausgeführt, sowie bei jedem Commit mit neuen Daten. Der Prozess funktioniert wie folgt:

  1. Die Link-Datenbank wird in einer separaten Datei resources/resources.json gespeichert.
  2. Die Action löst die Datenschema-Validierung validate-data.yml aus.
  3. Der Worker check-availability.yml pingt jede Seite und zeichnet den Antwortcode auf.
  4. Ergebnisse werden in den Bericht reports/availability.json geschrieben.
  5. Das Skript aktualisiert dynamisch die Status in README.md und wendet Markierungen an: grün für funktionsfähige Seiten, gelb für teilweise Einschränkungen und rot für nicht verfügbare.

Dieser Ansatz verwandelt eine statische Markdown-Datei in ein dynamisches Status-Dashboard.

Star History Chart

Repobeats

Architektur der Datenspeicherung

Jeder Eintrag in der Datenbank wird als strukturiertes JSON-Objekt dargestellt. Hier ein Beispiel der Tracking-Struktur:

{
  "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"
  }
}

Die Trennung von Inhalten in resources.json und visueller Präsentation in README.md optimiert die Pull-Request-Bearbeitung. Benutzer reichen neue Seiten über standardmäßige GitHub-Issues-Formulare (YAML-Vorlagen) ein, und der Maintainer muss nur die Regelkonformität überprüfen und den Merge genehmigen.

Wie dieses Projekt Entwicklern nützt

Wenn Sie nach fertigen Clients für Heim-Mediacenter oder TV-Set-Top-Boxen suchen, finden Sie Links zu aktuellen Forks von FongMi TV, TVBox, pansou-Parsern und Kazumi-Playern.

Wenn Sie Ihr eigenes Repository mit nützlichen Tools (awesome-list) pflegen, lohnt es sich, das Projekt wegen seiner Automatisierungsstruktur zu forken:

  • Fertiger Workflow für tägliches Pingen externer Adressen
  • Tabellengenerierung mit Prüfdatum und Indikatoren direkt in Markdown
  • Eingabedatenvalidierung durch GitHub Actions
  • Prüfverlaufsspeicherung in JSON-Dateien innerhalb des Repositories

Der Katalog demonstriert, wie eine einfache Link-Liste mit nur GitHub Actions zu einem wartbaren Microservice werden kann. Sie können die Workflow-Struktur erkunden oder Android-TV-Medienplayer im Repository laoma2053/awesome-zhuiju-free finden.

Ähnliche Projekte