Skip to content

Repository files navigation

nunreasonable.github.io

Site estático servido em daeese.me via GitHub Pages, com a Cloudflare na frente (proxy + rota /api/*).

O que mora em cada pasta

Caminho O que é
index.html Página inicial — perfil, links, projetos e o "Now Playing" do Spotify via Lanyard.
cornwallcore/ Showcase do bot ccore - 'chavinhoCORE' (12° Regimento de Infantaria "Chaves").
cornwallcore/status/ Página pública de estado do bot: uptime, latência, servidores e membros, lidos de GET /api/status. Sem dados da máquina.
cornwallcore/termsofservice/, cornwallcore/privacypolicy/ Termos de Serviço e Política de Privacidade vigentes do app no Discord.
cornwallcore/administration/dashboard/ Painel administrativo do bot, em abas (Moderação, Auditoria, Comunicações, Alistamento, Logs). Fala com a API do bot em /api/*. Acesso restritonoindex.
cornwallcore/administration/spreadsheetviewer/ Leitor da planilha regimental (Google Sheets via gviz). noindex — veja o aviso abaixo.
cornwallcore/fun/ Sollarety: página do bot, convite por OAuth2 e as políticas dele.
gabfirmino/ "Meias UwU" — página de estudo em HTML/CSS.
cloudflare/ Os três Workers (proxy da API, roteador de subdomínios e OAuth do Sollarety), o script de deploy e o guia de setup do tunnel.
filearchive/ Imagens usadas pelas páginas.

Infra

A API do bot é servida em daeese.me/api/* por um Worker da Cloudflare, que encaminha para api.daeese.me através de um tunnel cloudflared rodando na máquina do bot. Tanto o tunnel (cloudflared.service) quanto o bot (ccore-bot.service, serviço de usuário) sobem no boot.

Aviso sobre o spreadsheet viewer

O visualizador lê a planilha regimental direto do Google Sheets, no navegador do visitante. Isso só funciona porque a planilha está compartilhada como "qualquer pessoa com o link". A página está marcada com noindex, mas quem tiver a URL continua conseguindo ver os dados. (O robots.txt da raiz não tem Disallow para esse caminho: ele foi retirado de propósito, porque /cornwallcore/* hoje responde 301 para os subdomínios e um Disallow impediria os buscadores de enxergarem o redirecionamento. A garantia de não-indexação é a meta noindex da própria página, mais o X-Robots-Tag que o daeese-site-router aplica no host.) O botão que apontava para o viewer saiu da home pública do ccore justamente por isso. Se o roster passar a ser considerado sensível, o caminho é restringir o compartilhamento no Google e servir os dados pelo /api autenticado, como o dashboard já faz.

Desenvolvimento local

python3 -m http.server 8080
# http://localhost:8080

O dashboard detecta localhost e usa http://127.0.0.1:5056 como API por padrão; em produção usa /api. A página de status segue o mesmo critério.

Ao editar o CSS ou o JS do dashboard

cornwallcore/administration/dashboard/stamp-assets.py

O GitHub Pages serve o HTML com max-age=600 e os assets com max-age=14400. Sem isso o navegador pega o HTML novo e segura o style.css antigo por até quatro horas — e HTML novo com CSS velho não é "um pouco desatualizado", é uma página quebrada, porque as classes novas não existem na folha antiga. O script carimba o hash do conteúdo na URL (style.css?v=abc12345), então o par nunca fica descasado. Rode antes de commitar.

Os três Workers em cloudflare/ não sobem pelo GitHub Pages. Quem os publica é cloudflare/deploy-workers.sh, rodado no boot pelo serviço de usuário ccore-workers-deploy.service — ele compara o hash do fonte com o da última publicação e só chama o wrangler deploy quando algo mudou. Para publicar na hora:

cloudflare/deploy-workers.sh            # so o que mudou
cloudflare/deploy-workers.sh --force    # tudo, ignorando o carimbo

A allowlist de CORS do proxy da API (cloudflare/api-proxy-worker/src/worker.js) precisa conter toda origem que chame /api/* — hoje dashboard.daeese.me, ccore.daeese.me e daeese.me.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages