Skip to content

Latest commit

 

History

53 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

688 Attack Hub

AS688 · 10BASE-T · Unmanaged repeater · 20 port

A browser idle/strategy toy about quietly spreading a rogue network repeater across the world's real internet exchange points, one leaked segment at a time — while the NOC's attention meter climbs toward "the Great Deswitching."


What this is

You are AS688: an unmanaged 20-port repeater with delusions of grandeur. Each tick, you install at real-world internet exchange points — LINX, DE-CIX, AMS-IX, Equinix SG, HKIX, and 15 others, laid out at their actual longitude/latitude — and link them across real backbone routes. Every link costs port points, contributes throughput, and raises NOC ATTENTION. Eighteen upgrades across four trees (Physical, Timing, Stealth, Spread) trade off speed, stealth, and reach. Attention crosses six thresholds, each firing a real-sounding countermeasure message (port security, a vendor switch refresh, BCP38 filtering, RPKI ROA enforcement, a MANRS compliance audit) culminating at 100% in THE GREAT DESWITCHING.

Everything is flavour. There is no real target, no real exploit, and no network call of any kind — see AUDIT.adoc for what was actually checked.

Run it

  • Play in your browser: https://metadatastician.github.io/688-attack-hub/
  • Play locally: open 688-attack-hub.html — self-contained, no server, no build step, nothing to install.
  • Serve it over http:// if you'd rather: bun run serve. You almost never need this; the file opens fine from disk.

Any modern browser. No dependencies — nothing to install.

Two query parameters

?seed=N Replays a run exactly, including across restart.
?fast=N Runs the clock N× faster (capped at 40), so a whole game takes under a minute.

?seed= matters more than it looks. Five Math.random() sites used to mean no two runs were comparable, so "this feels too fast" could never be checked against anything — balance was assessable only by feel. With a seed, "the Pacific went dark on tick 40 at seed 7" is a reproducible observation.

They combine: https://metadatastician.github.io/688-attack-hub/?seed=7&fast=20

The footer carries a FLAT / GLOBE toggle. Flat is the plate-carrée world map and the default; globe is a rotating orthographic projection of the same data, hand-rolled in SVG with no 3D library. Both are the same game — the projection is the only thing that changes.

In globe view you can drag to rotate, or use the left/right arrow keys (hold Shift for a bigger step). The globe also turns on its own, unless your system asks for reduced motion — in which case it stays still and the drag and key controls are how you reach the far side.

Documentation

Document What it answers
ARCHITECTURE.md The single-file structure: data (nodes/edges/upgrades), state, the render loop, and how the flat and globe projections share one project() seam.
EXPLAINME.adoc What's actually true about this repo, mapped to the file/line that backs each claim.
AUDIT.adoc What is verified (grep-checked), what is merely asserted, and what is explicitly not claimed — there is no formal proof ledger here, unlike this repo's sibling f19-stealth-glider.
AFFIRMATION.adoc What was checkably true at one stamped commit.
CONTRIBUTING.md How to work on this repo.
GOVERNANCE.md The (small) set of invariants this project won't trade away.
SECURITY.md The deliberately small threat model and how to report an issue.
DEBT.adoc Known debt by kind — licence, docs, code, tests, CI/CD — with evidence for each, and what is deliberately not being fixed.
MAINTAINERS.adoc Who maintains this and how decisions get made.
CODE_OF_CONDUCT.md Expected conduct and how to report a problem.
CHANGELOG.md Project history.

Machine-readable metadata for agents lives in 0-AI-MANIFEST.a2ml and .machine_readable/.

Tests

tests/differential/run.sh runs the game's simulation against a git baseline under a fixed seed and diffs the state trajectory tick by tick. It answers one question — did this change alter how the game plays? — which is exactly what the Phase C refactors need and nothing more.

It is not a gate and not coverage. It needs bun and a baseline ref, and choosing the baseline is a judgement, so CI does not run it. AUDIT.adoc records what it can and cannot see — including one measured blind spot: a change smaller than the RNG can resolve is invisible to it.

bun --version                        # needs bun
tests/differential/run.sh            # against HEAD
tests/differential/run.sh origin/main

Licence

Three licences are in use here, and the split is deliberate:

Licence Covers
AGPL-3.0-or-later the game and the workflows
CC-BY-SA-4.0 the human documentation
MPL-2.0 scripts and launchers

AGPL matches this repository's siblings in the metadatastician org. See LICENSES/ for the full text of all three.

Two gaps are known and recorded in DEBT.adoc: the game file itself carries no SPDX header, and there is no REUSE.toml/dep5 mapping — so files that cannot hold a comment (package.json, CITATION.cff) are covered by nothing. Both are flagged rather than fixed, because licence changes here are deliberately manual.

Origin

This game is original fictional content — not derived from, and not a copy of, the 1997 commercial submarine simulator "688(I) Hunter/Killer" / "688 Attack Sub". The name is coincidental wordplay on the AS688 fictional autonomous-system number used in-game.

About

An idle/strategy toy: spread AS688, an unmanaged 10BASE-T repeater, across 20 real internet exchange points while the NOC's attention climbs toward the Great Deswitching. One self-contained HTML file — no build, no dependencies, no network calls — with seeded, replayable runs.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages