Contribuindo com o Fursec
Obrigado por querer ajudar. O Fursec é um catálogo curado — o valor dele está no que não entra, tanto quanto no que entra.
Os três critérios
Toda sugestão de curso, livro, lab ou canal precisa passar por estes três:
- Gratuito de verdade. Ou com uma camada gratuita substancial — e marcada como tal. "Grátis por 7 dias" não é gratuito. "Grátis para assistir, pago para o certificado" é, desde que a tag diga isso.
- Nada de material pirateado. Todo link gratuito tem que ser distribuição autorizada pelo autor ou pela instituição. Se você não consegue apontar onde o autor liberou, não entra.
- Conteúdo em português é especialmente bem-vindo. É onde a área tem menos material bom e organizado — e é o motivo de este repositório existir em PT-BR.
Como adicionar uma linha
Os catálogos são tabelas markdown. Copie o formato do arquivo em que você está mexendo — ele varia por pasta.
cursos/*.md — 4 colunas:
| Nome do curso | [Provedor](https://example.com/cursos/nome-do-curso) | 🇧🇷 | 🆓 🎓 |labs/blue-team.md e labs/red-team-ctf.md — 4 colunas, com nota:
| [Nome da plataforma](https://example.com/) | 🇺🇸 | 🆓 tier 🧪 | Uma linha dizendo o que a torna útil |Legenda das tags
| Tag | Significa |
|---|---|
PT / EN |
Idioma do conteúdo. Use os dois se houver legenda ou versão dublada. |
grátis |
Gratuito |
pago |
Pago |
cert |
Emite certificado ou badge |
lab |
Prático (lab, CTF, ambiente hands-on) |
|
Prioridade alta — use com parcimônia, é o que a pessoa faz primeiro |
Qualificadores que acompanham o grátis quando a gratuidade tem ressalva: parcial, tier, audit, via Financial Aid.
No site, estas tags saem escritas. O build converte cada emoji em etiqueta de texto —
grátisviraGRÁTIS,certviraCERT,labviraLAB, as bandeiras viramPTeEN, e ovira negrito no nome do item. Continue usando emoji no markdown: é o que funciona no GitHub, e a conversão é só na camada de publicação.
Regras de link
- Aponte para a página do curso, não para a home do provedor.
provedor.com/cursos/nome-do-cursoem vez deprovedor.com. Um link genérico obriga a pessoa a caçar. - Sem texto de link genérico. Nada de
[link],[aqui],[clique]— use o nome do domínio ou do provedor. - Teste antes de mandar. Muitos sites de curso devolvem 403 para automação; se o seu link cair nessa, diga no PR que você abriu no navegador e funcionou.
- prioridade alta é para o que você recomendaria a alguém com 5h por semana. Se tudo é prioridade, nada é.
Verificação automática de links
Todo PR que toca em .md dispara a verificação de links. Ela também roda toda segunda-feira e abre uma issue se algo quebrou.
Bloqueio de bot (403), rate limit (429) e redirect de bot detection (307) são aceitos pelo próprio check — não precisam de exceção nenhuma. Isso não é preguiça: os runners do GitHub são datacenter, e muito WAF bloqueia datacenter enquanto deixa passar IP residencial. Um link que abre no seu navegador pode dar 403 no CI sem estar quebrado. O sinal que importa é 404, e esse continua falhando.
Por isso o .lycheeignore é curto: ele é só para host genuinamente quebrado do lado de lá (uma origem devolvendo 502, por exemplo). Se você for adicionar algo, escreva o comentário dizendo o que mediu e quando — e prefira aceitar um código no workflow a listar host, porque a lista envelhece e ninguém revisa.
Convenções de arquivo
Se você criar ou editar um arquivo .md:
- Começa com um
# H1e um[← Voltar ao índice](../README.md)logo abaixo - Termina com
---, linha em branco, e o mesmo link de volta - Réguas horizontais (
---) sempre com linha em branco antes e depois - Uma linha em branco no fim do arquivo, nunca duas
- Catálogos com coluna
Tagslevam a linha de legenda<sub>acima da primeira tabela
Abrindo uma issue
- Link quebrado ou curso que saiu do ar → use o template de link quebrado. Diga o arquivo, a linha e o que você viu ao abrir.
- Sugerir material novo → use o template de sugestão. Ele pergunta pelos três critérios acima.
Se você já sabe qual é a correção, um PR é mais rápido que uma issue.
O que provavelmente não entra
- Curso pago sem camada gratuita real (a exceção é
livros/pagos.mde a faixa paga dedocs/certificacoes.md, que são explicitamente sobre gastar dinheiro) - Conteúdo atrás de cadastro que exige CNPJ ou e-mail corporativo, sem alternativa
- Mais uma awesome-list genérica —
repositorios/awesome-lists.mdjá cobre os índices mestres - Ferramenta ofensiva sem contexto de uso legítimo e defensivo