stardroid
Sky Map (formerly Google Sky Map, open sourced in 2012)
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Cybersecurity education through simulated incident-response gameplay. Next.js 16 · TypeScript · Tailwind CSS 4 · Motion · xterm.js — real-time attacker-vs-defender multiplayer over WebSockets + Upstash Redis.
All gameplay is a client-side simulation against fictional targets. See
AGENTS.mdfor the simulation boundaries and engineering conventions.
https://php2shell-live.vercel.app — first deployment (production domain of the hobby project; the repo is git-connected so pushes auto-deploy and PRs get preview deployments).
The opening heap strip is a labeled illustration; every product frame is a
real production capture. The full edit plan lives in storyboard.json.
cd video
npm install
npm run render # remotion render src/index.tsx Main out/php2shell-live-demo.mp4 --codec h264 --crf 23
npm run still # poster frame -> out/poster.png
Sources: storyboard.json (scene timings/captions), video/src/ (composition
at 1920x1080, 30 fps). Screenshots are consumed straight from docs/media/
via Config.setPublicDir; the small docs/media/crops/ derivatives are
ffmpeg re-crops of the same captures (regenerate with ffmpeg -i <src> -vf crop=iw*W:ih*H:iw*X:ih*Y).
One continuous journey: Visualize → Defend → Verify.
/play)Real-time attacker-vs-defender rooms on top of the same simulation engine:
upgradeWebSocket) with
an automatic REST polling fallback; heartbeats drive presence.KV_REST_API_URL/KV_REST_API_TOKEN, injected by the Upstash
integration), so players on different function instances stay in sync.playerId + server-issued
bearer token; role gates reject cross-role actions.defend/attack
ids, verify, reset); unknown payloads are rejected before state
changes. Call signs are control-char-stripped and capped at 24 chars.p2s:room:<CODE>); one
room's players/actions/snapshots never touch another's.Cache-Control: no-store;
sockets live up to maxDuration = 300; presence is heartbeat-derived
(~9 s) and ghosts older than 2 min are pruned on join.nvm use # Node 24 (see .nvmrc)
npm ci
npm run dev # http://localhost:3000
npm run lint && npm run typecheck && npm test && npm run build
CI (.github/workflows/ci.yml) runs the same gates on every push and PR.
next start automatically use the polling fallback./ and /play (the 390px dashboard-header wrap
regression was fixed in this branch).AGENTS.md — architecture, TypeScript standards, component and testing
conventions, security-simulation boundaries.ENVIRONMENT.md — toolchain, Devin environment persistence, MCP
integrations, deploy readiness..devin/skills/ — project skills for Devin sessions (frontend-design,
security-simulation, browser-qa, deployment-check).docs/JUDGE_DEMO.md — 90-second judge-demo script + submission text.