dumbtv
dumbtv가 ADB로 Fire TV에서 광고·추적·업데이트 알림을 제거, 루트·앱 변경 없이, 무료 오픈소스
Lidless는 보안·네트워크 운영·홈랩 도구를 제공하는 오픈소스 연구실이다
Lidless is an open-source lab of security, netops, and homelab tooling: MCP servers and dashboards for Wazuh, MISP, Suricata, TheHive, LibreNMS, Proxmox, and more.
보안JavaScript · TypeScriptGitHub @lidless-labs온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Shared dark-watch theme, OG card, README banner pipeline, SEO head, and tool-version sync for the Lidless Labs hub site.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
One shared dark-watch theme, one OG card, one watercolor banner pipeline, one SEO head, and routine tool-version sync for the Lidless Labs site fleet. Edit the kit once; the hub never drifts.
The look is code. A great horned owl, a cyan accent, a cream-paper watercolor, one canonical OG card, and a SEO head every site inherits. Change it here, re-sync, done.
npm run banner builds one tool's text-only image prompt; npm test guards the look contract.README 전문 보기 ↗The look is code. A great horned owl, a cyan accent, a cream-paper watercolor, one canonical OG card, and a SEO head every site inherits. Change it here, re-sync, done.
You market one hub (lidless.dev) and the tools it watches over. Four things have to stay consistent and current, and a hand-driven session does all four badly:
og/template.html) and a content map (og/sites.json): terminal-dark ground, one signal accent, the lidless-eye motif, the LIDLESS wordmark, the The eye does not close. motto. Change the theme once, regenerate.banner/style.json) plus a per-tool brief (banner/briefs.json) into a text-only image prompt: a great horned owl working one legible dashboard, cyan accent, cream watercolor. Frozen anchors and a test suite keep it from drifting. See Banners.seo/Seo.astro + seo/seo.ts are the canonical <head> (title, description, canonical, Open Graph, Twitter, JSON-LD, theme-color), copied into the site and validated by bin/seo-validate.mjs.bin/fleet-sync.sh fast-forwards the checkout, syncs tool versions from GitHub releases, regenerates the card, syncs the SEO head, builds, validates, and commits and pushes only if something changed. Safe on a timer; a no-op run touches nothing.The canonical design system is in DESIGN.md; the image-style contract (og-card vs README banner, the owl + cyan watercolor) is in ILLUSTRATION.md.
This is not a generic Astro starter or a logo pack. It is the source of truth for one fleet's consistency: the banner you see above was assembled from constants in banner/style.json, not hand-prompted, and npm test fails if the palette, the decorative-pattern exclusions, or the frozen anchor checksums drift. The art is AI-generated; the look is version-controlled.
git clone https://github.com/lidless-labs/lidless-fleet-kit.git
cd lidless-fleet-kit
npm install # playwright-core (reuses an existing Chromium build); no other runtime deps
npm run og # regenerate the OG card from the shared theme
npm run banner -- wazuh-mcp # print the text-only image prompt for one tool's banner
npm test # check the banner look contract (palette, anchors, grammar)
npm run sync:dry # preview tool-version changes, write nothing
npm run sync # write the VERSIONS map into the site's src/lib/tools.ts
npm run fleet # the full routine: pull + sync + render + seo + build + validate + push
og/render.mjs resolves a Chromium binary from the Playwright cache (falling back to system Chrome), so there is no web server in the loop (cron-safe).
README banners are AI watercolors, but the look is code. Each one traces back to banner/style.json (the shared treatment) plus its banner/briefs.json entry (the owl + the specific dashboard), and every banner ships with the exact prompt in banner/PROVENANCE.md.
The flow:
npm run banner -- mitre-mcp # print the prompt + write a provenance sidecar
# generate with GPT Image 2 (text-only); anchors-v1/ is a human style target, never a model input
python3 banner/crop-bands.py out/ render.png # strip letterbox bands -> canonical 2048x878
node banner/insert-provenance.mjs mitre-mcp # record the exact prompt in PROVENANCE.md
# drop the banner into the tool's repo and commit there
npm test enforces the contract: the palette tokens, the decorative-pattern exclusions, the frozen anchor checksums, every brief's shape, and the prompt grammar. The owl and the cyan accent are constant; the dashboard is the variable. Full intent is in ILLUSTRATION.md.
sites.config.json maps each tool slug to its GitHub repo and a version source:
gh-release reads the latest release tag (the v prefix is stripped).manual is never auto-touched (for a tool with no release yet).To add a tool: add it to sites.config.json under tools, then npm run sync.
bin/fleet-sync.sh is meant to run unattended (cron or an OpenClaw scheduled job). It pushes only on a real change and prints a short summary suitable for relaying to a chat channel. The site deploys on Vercel from git push, so a push from this kit is a deploy. Lidless is a single hub repo, not a fleet of per-tool subdomains; the kit is modelled on escoffier-fleet-kit but manages one checkout.
DESIGN.md dark-watch identity (tokens, type, the eye)
ILLUSTRATION.md image style: og-card vs README banner, owl + cyan watercolor
sites.config.json the hub + its tools (repo + version source)
og/ OG card template, copy, and headless renderer (2400x1260)
banner/ the watercolor banner pipeline (style + briefs + prompt builder + tests)
seo/ the shared <head>, JSON-LD builders, robots template, the SEO contract
bin/ sync-versions, seo-validate, fleet-sync (the headless routine)
docs/assets/ the proof recording + sample banners