>_ DevTrendspt

Idioma

Início

Linguagens

Seções

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarcados Segurança
JavaScript

Como Automatizar Listas de Links: O Catálogo awesome-zhuiju-free

Coleções de links no GitHub geralmente encontram o mesmo destino. O autor reúne cem sites úteis, consegue alguns milhares de estrelas, abandona o repositório após seis meses e metade dos links se tornam 404s. O repositório awesome-zhuiju-free resolve esse problema através de engenharia.

À primeira vista, isso parece ser um catálogo de recursos de mídia chineses: plataformas de streaming, reprodutores de TV Android, playlists IPTV, mecanismos de busca de armazenamento em nuvem e rastreadores de torrents. No entanto, de uma perspectiva técnica, o projeto é notável por sua implementação de verificação de disponibilidade de links e design de estrutura de dados.

laoma2053/awesome-zhuiju-free | Trendshift

O Que Está Dentro do Catálogo

O banco de dados do projeto cobre cerca de uma centena de recursos, organizados por categoria:

  • Configurações prontas e interfaces para reprodutores TVBox e CatVod
  • Agregadores de conteúdo para decodificadores de TV baseados em Android
  • Reprodutores e clientes de código aberto como Kazumi, Animeko e SeleneTV
  • Links para streams IPTV públicos e parsers como iptv-org e iptv-api

Os autores do catálogo avaliam cada recurso com base em quatro critérios: tamanho do banco de dados, velocidade de resposta, ausência de publicidade intrusiva e estabilidade do domínio. As pontuações são armazenadas em formato JSON, com a classificação final exibida na tabela do readme.

Verificação Automática de Disponibilidade de Links via GitHub Actions

O principal recurso do repositório está em sua configuração de CI/CD. Em vez de remover manualmente links inativos, o autor configurou um pipeline usando GitHub Actions.

Os scripts são executados em um cronograma todas as manhãs às 09:00 no horário de Pequim, bem como a cada commit contendo novos dados. O processo funciona da seguinte forma:

  1. O banco de dados de links é armazenado em um arquivo separado resources/resources.json.
  2. A Action aciona a validação do esquema de dados validate-data.yml.
  3. O worker check-availability.yml faz ping em cada site e registra o código de resposta.
  4. Os resultados são gravados no relatório reports/availability.json.
  5. O script atualiza dinamicamente os status em README.md, aplicando marcadores: verde para sites operacionais, amarelo para restrições parciais e vermelho para indisponíveis.

Essa abordagem transforma um arquivo markdown estático em um painel de status dinâmico.

Star History Chart

Repobeats

Arquitetura de Armazenamento de Dados

Cada entrada no banco de dados é representada como um objeto JSON estruturado. Aqui está um exemplo da estrutura de rastreamento:

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

Separar o conteúdo em resources.json e a apresentação visual em README.md simplifica o tratamento de pull requests. Os usuários enviam novos sites através de formulários padrão do GitHub Issues (templates YAML), e o mantenedor só precisa verificar a conformidade com as regras e aprovar o merge.

Como Este Projeto Beneficia Desenvolvedores

Se você está procurando clientes prontos para centros de mídia domésticos ou decodificadores de TV, encontrará links para forks atuais de FongMi TV, TVBox, parsers pansou e reprodutores Kazumi.

Se você mantém seu próprio repositório de ferramentas úteis (awesome-list), o projeto vale a pena para forkear por sua estrutura de automação:

  • Workflow pronto para ping diário de endereços externos
  • Geração de tabelas com datas de verificação e indicadores diretamente em Markdown
  • Validação de dados de entrada através de GitHub Actions
  • Armazenamento do histórico de verificações em arquivos JSON dentro do repositório

O catálogo demonstra como uma simples lista de links pode se tornar um microsserviço manutenível usando apenas GitHub Actions. Você pode explorar a estrutura do workflow ou encontrar reprodutores de mídia para Android TV no repositório laoma2053/awesome-zhuiju-free.

Projetos relacionados