Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SPYDIR OPSEC TERMINAL

Developed by SPYDIRBYTE

A free, practical operational security course, delivered as a single-page interactive terminal instead of a conventional docs site. Type a command or click a module, content loads in without a page reload, everything routes off the URL hash so links still work and the back button still works.

What it covers

  1. Digital Footprint & Threat Modeling
  2. Data Broker Removal
  3. Social Media Hardening & Metadata Stripping
  4. Password & Credential Security
  5. Email & Phone Compartmentalization
  6. Browser Hardening & Anti-Tracking
  7. VPN & Tor
  8. Tools & Next Steps, featuring spy-privacy-pulse as the companion tool

Running it locally

No build step, it's a static site.

python3 -m http.server 8000

Open http://localhost:8000.

Using it

Click a module in the sidebar, or use the command bar at the bottom:

help                list all commands
ls                   list modules
open 2                open a module by number, slug, or partial name
next / prev            move between modules
complete                 mark the current module complete
progress                  show completion status
home                        back to the welcome screen

Hosting on GitHub Pages

Push this repo, then in Settings > Pages, set the source to the main branch, root directory. Since routing is hash-based (#brokers, not a real path), no server configuration is needed for it to work correctly on GitHub Pages.

Structure

.
├── index.html              # the entire app shell: boot sequence, sidebar, viewport, command bar
├── css/style.css
└── js/
    ├── course-data.js      # module order, slugs, and short labels
    ├── content-data.js     # the actual course prose, as data
    └── app.js              # boot sequence, command parser, hash router, renderer

Adding or reordering a module

Add an entry to COURSE_ORDER in js/course-data.js (slug, label, number) and a matching entry to MODULE_CONTENT in js/content-data.js (slug, title, html). The sidebar, command parser, and prev/next links all read from these two files, nothing else needs touching.

Progress tracking

The "mark complete" command and button save to localStorage in the visitor's own browser. Nothing is sent anywhere, there's no backend at all. Clearing browser data resets it.

License

MIT.

About

A free, practical OpSec course delivered as an interactive terminal, not a docs site. Data broker removal, password security, browser hardening, and more. Single-page, no backend, hash-routed.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages