7 Commits
Author SHA1 Message Date
nopeitsnothing 53d17ca29e v1.2.6
Signed-off-by: nopeitsnothing <no@anonymousplanet.net>
2026-07-12 22:29:53 -04:00
nopeitsnothing d6992a3b80 fix(css): oops in search icon pt2
Turns out the culprit may be a gh-pages deploy mutating the CSS

Signed-off-by: nopeitsnothing <no@anonymousplanet.net>
2026-07-12 22:08:30 -04:00
nopeitsnothing 4ff619f422 fix(css): oops in search icon
Signed-off-by: nopeitsnothing <no@anonymousplanet.net>
2026-07-12 21:36:03 -04:00
nopeitsnothing 11510a863b fix(css): oops, flat ToC rendering
Adjusted a few ToC and navigation settings to fix flat rendering.
Also removed `toc.integrate`
Fixed margin-left
Altered changelog admonition types
Fixed admonition title rendering bug (overlap)

Signed-off-by: nopeitsnothing <no@anonymousplanet.net>
2026-07-12 03:39:18 -04:00
nopeitsnothing 40e88da30a release: v1.2.6-pre1
- Various website improvements (CSS)
 - Adjust keyring path use the new relative path: pgp/anonymousplanet.asc
 - 02-sign.yml: use a fpr match to lock a specific key
 - 02-sign.yml: quick mkdir -p repo/export before copying files to the dir ^_^
 - Moved the Acknowledgements section to the bottom
 - COM Class Identifiers (CLSID/GUID) (NEW)
 - Windows Global Device Identifier (GDID) (NEW)
 - USB bus telemetry (device enumeration history) (NEW)
 - Glossary (`docs/includes/glossary.md`) and removed inline expansions where applicable

Signed-off-by: nopeitsnothing <no@anonymousplanet.net>
2026-07-12 01:16:16 -04:00
github-actions[bot]andnopeitsnothing 444b5e416e chore(export): update PDFs, hashes and signatures [skip ci] 2026-07-12 01:16:04 -04:00
nopeitsnothing d9d144e563 chore(build): adjust keyring path
use the new relative path: pgp/anonymousplanet.asc

Signed-off-by: nopeitsnothing <no@anonymousplanet.net>
2026-07-12 01:00:43 -04:00
18 changed files with 755 additions and 640 deletions
+35 -7
View File
@@ -1,19 +1,47 @@
name: 🚀 Publish docs via GitHub Pages
on:
push:
branches:
- main
paths:
- "docs/**"
- "mkdocs.yml"
- "requirements.txt"
- ".github/workflows/publish.yml"
workflow_dispatch:
permissions:
contents: write
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
build:
name: Publish the Hitchhiker's Guide
name: Build and deploy the Hitchhiker's Guide
runs-on: ubuntu-latest
steps:
- name: Checkout main
- name: 🛠️ Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Deploy docs
uses: mhausenblas/mkdocs-deploy-gh-pages@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CUSTOM_DOMAIN: anonymousplanet.net
- name: 🐍 Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.13"
cache: "pip"
- name: 📦 Install pinned dependencies
run: pip install -r requirements.txt
- name: 🔍 Sanity-check the build (fail fast on broken markup/links)
run: mkdocs build --strict
- name: 🚀 Deploy to gh-pages
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
mkdocs gh-deploy --force --clean
+1
View File
@@ -2,6 +2,7 @@
title: "Anonymous Planet"
description: "We are the maintainers of the Hitchhiker's Guide and the PSA Matrix space."
hide:
- navigation
- toc
schema:
"@context": https://schema.org
+14 -12
View File
@@ -1,6 +1,8 @@
---
title: "Changelog"
description: "Release notes for the Hitchhiker's Guide to Online Anonymity."
hide:
- navigation
schema:
"@context": https://schema.org
"@type": Organization
@@ -32,35 +34,35 @@ schema:
## [v1.2.6-pre1]
!!! Note "Meta"
!!! abstract "Meta"
- Various website improvements (CSS)
!!! Note "Changed"
!!! info "Changed"
- Adjust keyring path use the new relative path: pgp/anonymousplanet.asc
- 02-sign.yml: use a fpr match to lock a specific key
- 02-sign.yml: quick mkdir -p repo/export before copying files to the dir
- Moved the Acknowledgements section to the bottom
!!! Note "Added"
!!! tip "Added"
- COM Class Identifiers (CLSID/GUID) (NEW)
- Windows Global Device Identifier (GDID) (NEW)
- USB bus telemetry (device enumeration history) (NEW)
!!! Note "Improved"
!!! info "Improved"
- Glossary (`docs/includes/glossary.md`) and removed inline expansions where applicable
## [v1.2.5]
!!! Note "Meta"
!!! abstract "Meta"
- Website theme customization
- License change to accomodate our fiscal host Open Source Collective
!!! Note "Changed"
!!! info "Changed"
- Comprehensive updates throughout the guide reflecting the transition to Whonix 18.x as the newest version
- Replaced outdated Whonix.org wiki docs links with GitHub releases mirror and Archive.org backups
@@ -74,14 +76,14 @@ schema:
- Added comprehensive upgrade path guidance with backup procedures
- Updated 196! Wikipedia reference links throughout the entire guide
!!! Note "Added"
!!! tip "Added"
- All Whonix.org/wiki links now have Archive.org mirror backups for availability
- Upgrade path documented: Whonix 17 to 18 with automated release-upgrade support
- Detailed Qubes OS compatibility notes for both Whonix versions
- You can now get the Anonymous Planet PGP keyring from the site (copy/paste or download)
!!! Note "Improved"
!!! info "Improved"
- Virtualbox hardening section reorganized
- AppArmor configuration guidance added where applicable (Whonix 18.x)
@@ -91,11 +93,11 @@ schema:
## [v1.2.4]
!!! Note "Meta"
!!! abstract "Meta"
- Rename workflows (GH - now we can know the order)
!!! Note "Changed"
!!! info "Changed"
- Change the repo URL for our tor mirror
- Fix recommended reading admonition
@@ -115,7 +117,7 @@ schema:
CI/CD pipeline split into independent stages, dark PDF quality improved, release signing automated, and the changelog now updates itself on every build. Skipping v1.2.2 which was a placeholder and contained broken Python unsuitable for a tag/release.
???+ tip "Added"
!!! tip "Added"
- **Dark mode PDF** (`scripts/convert.py`): pixel-level converter replaces the broken `--prefers-color-scheme=dark` Chromium flag. Produces a 200 DPI hacker-themed PDF (`#1f1f31` background, `#e0e0e0` text, `#5e8bde` links) with batched page processing to avoid OOM on large documents.
- **Three independent CI workflows** replacing the old monolithic `build-sign-release.yml`:
@@ -151,7 +153,7 @@ CI/CD pipeline split into independent stages, dark PDF quality improved, release
First automated PDF build and the start of the CI pipeline.
???+ tip "Added"
!!! tip "Added"
- `scripts/build_guide_pdf.py`: builds the MkDocs site and renders the full guide to a single PDF via headless Chromium (Chrome or Edge). Supports `--dark`, `--light`, and `--both` modes.
- GitHub Actions workflow that installs Chromium, runs the build script, and uploads `export/thgtoa.pdf` as an artifact on every push to `main` or manual dispatch.
+1
View File
@@ -3,6 +3,7 @@ title: "Content Contributions"
description: "How to contribute to the Hitchhiker's Guide — building, signing, releasing, and writing."
hide:
- toc
- navigation
schema:
"@context": https://schema.org
"@type": Organization
+1 -8
View File
@@ -3,21 +3,14 @@ title: "A Constitution"
description: "The rules, values, and principles governing the Anonymous Planet initiative and PSA community."
hide:
- toc
- navigation
---
<div class="hero-block">
<div class="hero-eyebrow">Applicable to all projects of the initiative.</div>
<h1 class="hero-title">A Constitution<span class="hero-subtitle">The rules we hold ourselves to.</span></h1>
<div class="hero-cta-row">
<a href="#principles" class="hero-cta hero-cta--primary">Our Principles</a>
<a href="#goals" class="hero-cta hero-cta--secondary">Core Goals</a>
</div>
</div>
---
## Principles { #principles }
<div class="index-grid">
<div class="index-card">
+2 -3
View File
@@ -2,7 +2,7 @@
title: Contribute & Donate
description: "Support the Anonymous Planet project through crypto donations or content contributions. No fiat. No tracking. No profit."
hide:
- toc
- navigation
---
<div class="hero-block">
@@ -172,5 +172,4 @@ All donations and spendings are recorded here. <span style="color:var(--status-e
| 2022-07-11 | 0.503232 XMR | 1984.is VPS (12 mo) | <span class="status-indicator status-warning">Ended</span> |
| 2022-09-19 | 0.345024 XMR | VPS RAM/disk upgrade | <span class="status-indicator status-warning">Ended</span> |
!!! note "About lost funds"
Entries marked **Lost** represent funds spent on services that are no longer available.
**Entries marked <span class="status-indicator status-error">Lost</span> represent funds spent on services that are no longer available.**
+16 -18
View File
@@ -1,6 +1,8 @@
---
title: "The Hitchhiker's Guide"
description: We are the maintainers of the Hitchhiker's Guide and the PSA Matrix space.
hide:
- navigation
schema:
"@context": https://schema.org
"@type": Organization
@@ -578,33 +580,29 @@ Whether it is Android, iOS, Windows, macOS, or even Ubuntu. Most popular Operati
Here are good overviews of what is being collected by those five popular OSes in their last versions:
- Android/Google:
**Android/Google:**
- Just have a read at their privacy policy <https://policies.google.com/privacy> <sup>[[Archive.org]](https://web.archive.org/web/https://policies.google.com/privacy)</sup>
- Just have a read at their privacy policy <https://policies.google.com/privacy> <sup>[[Archive.org]](https://web.archive.org/web/https://policies.google.com/privacy)</sup>
- School of Computer Science & Statistics, Trinity College Dublin, Ireland Mobile Handset Privacy: Measuring The Data iOS and Android Send to Apple And Google <https://www.scss.tcd.ie/doug.leith/apple_google.pdf> <sup>[[Archive.org]](https://web.archive.org/web/https://www.scss.tcd.ie/doug.leith/apple_google.pdf)</sup>
- School of Computer Science & Statistics, Trinity College Dublin, Ireland Mobile Handset Privacy: Measuring The Data iOS and Android Send to Apple And Google <https://www.scss.tcd.ie/doug.leith/apple_google.pdf> <sup>[[Archive.org]](https://web.archive.org/web/https://www.scss.tcd.ie/doug.leith/apple_google.pdf)</sup>
**IOS/Apple:**
- IOS/Apple:
- More information at <https://www.apple.com/legal/privacy/en-ww/> <sup>[[Archive.org]](https://web.archive.org/web/https://www.apple.com/legal/privacy/en-ww/)</sup> and <https://support.apple.com/en-us/HT202100> <sup>[[Archive.org]](https://web.archive.org/web/https://support.apple.com/en-us/HT202100)</sup>
- School of Computer Science & Statistics, Trinity College Dublin, Ireland Mobile Handset Privacy: Measuring The Data iOS and Android Send to Apple And Google <https://www.scss.tcd.ie/doug.leith/apple_google.pdf> <sup>[[Archive.org]](https://web.archive.org/web/https://www.scss.tcd.ie/doug.leith/apple_google.pdf)</sup>
- Apple does claim[^109] that they anonymize this data using differential privacy[^110] but you will have to trust them on that.
- More information at <https://www.apple.com/legal/privacy/en-ww/> <sup>[[Archive.org]](https://web.archive.org/web/https://www.apple.com/legal/privacy/en-ww/)</sup> and <https://support.apple.com/en-us/HT202100> <sup>[[Archive.org]](https://web.archive.org/web/https://support.apple.com/en-us/HT202100)</sup>
**Windows/Microsoft:**
- School of Computer Science & Statistics, Trinity College Dublin, Ireland Mobile Handset Privacy: Measuring The Data iOS and Android Send to Apple And Google <https://www.scss.tcd.ie/doug.leith/apple_google.pdf> <sup>[[Archive.org]](https://web.archive.org/web/https://www.scss.tcd.ie/doug.leith/apple_google.pdf)</sup>
- Full list of required diagnostic data: <https://docs.microsoft.com/en-us/windows/privacy/required-windows-diagnostic-data-events-and-fields-2004> <sup>[[Archive.org]](https://web.archive.org/web/https://docs.microsoft.com/en-us/windows/privacy/required-windows-diagnostic-data-events-and-fields-2004)</sup>
- Full list of optional diagnostic data: <https://docs.microsoft.com/en-us/windows/privacy/windows-diagnostic-data> <sup>[[Archive.org]](https://web.archive.org/web/https://docs.microsoft.com/en-us/windows/privacy/windows-diagnostic-data)</sup>
- Apple does claim[^109] that they anonymize this data using differential privacy[^110] but you will have to trust them on that.
**macOS:**
- Windows/Microsoft:
- More details on <https://support.apple.com/guide/mac-help/share-analytics-information-mac-apple-mh27990/mac> <sup>[[Archive.org]](https://web.archive.org/web/https://support.apple.com/guide/mac-help/share-analytics-information-mac-apple-mh27990/mac)</sup>
- Full list of required diagnostic data: <https://docs.microsoft.com/en-us/windows/privacy/required-windows-diagnostic-data-events-and-fields-2004> <sup>[[Archive.org]](https://web.archive.org/web/https://docs.microsoft.com/en-us/windows/privacy/required-windows-diagnostic-data-events-and-fields-2004)</sup>
**Ubuntu:**
- Full list of optional diagnostic data: <https://docs.microsoft.com/en-us/windows/privacy/windows-diagnostic-data> <sup>[[Archive.org]](https://web.archive.org/web/https://docs.microsoft.com/en-us/windows/privacy/windows-diagnostic-data)</sup>
- macOS:
- More details on <https://support.apple.com/guide/mac-help/share-analytics-information-mac-apple-mh27990/mac> <sup>[[Archive.org]](https://web.archive.org/web/https://support.apple.com/guide/mac-help/share-analytics-information-mac-apple-mh27990/mac)</sup>
- Ubuntu:
- Ubuntu despite being a Linux distribution also collects Telemetry Data nowadays. This data however is quite limited compared to the others. More details on <https://ubuntu.com/desktop/statistics> <sup>[[Archive.org]](https://web.archive.org/web/https://ubuntu.com/desktop/statistics)</sup>
- Ubuntu despite being a Linux distribution also collects Telemetry Data nowadays. This data however is quite limited compared to the others. More details on <https://ubuntu.com/desktop/statistics> <sup>[[Archive.org]](https://web.archive.org/web/https://ubuntu.com/desktop/statistics)</sup>
Not only are Operating Systems gathering telemetry services but so are Apps themselves like Browsers, Mail Clients, and Social Networking Apps installed on your system.
+3
View File
@@ -1,6 +1,9 @@
---
title: "Home"
description: "The Hitchhiker's Guide to Online Anonymity"
hide:
- toc
- navigation
schema:
"@context": https://schema.org
"@type": WebPage
+7
View File
@@ -3,6 +3,7 @@ title: "Mirrors"
description: "Every place you can read or download the Hitchhiker's Guide."
hide:
- toc
- navigation
schema:
"@context": https://schema.org
"@type": Organization
@@ -117,4 +118,10 @@ schema:
<a href="http://it7otdanqu7ktntxzm427cba6i53w6wlanlh23v5i3siqmos47pzhvyd.onion/anonymousplanetorg" class="index-card__link">Onion only</a>
</div>
<div class="index-card">
<h3 class="index-card__title">Tor Project</h3>
<p class="index-card__body">We are not affiliated with Tor Project, but we do love them.</p>
<a href="https://gitlab.torproject.org/anonymousplanet/the-hitchhikers-guide" class="index-card__link">Tor Project</a>
</div>
</div>
+2 -2
View File
@@ -25,8 +25,8 @@
<div class="data-text off">On</div>
<div class="data-text on">Off</div>
</div>
<div class="status-indicator off"></div>
<div class="status-indicator on"></div>
<div class="toggle-status-dot off"></div>
<div class="toggle-status-dot on"></div>
<div class="interface-lines">
<div class="interface-line"></div>
<div class="interface-line"></div>
+1 -1
View File
@@ -2,7 +2,7 @@
title: "PGP"
description: "Import our GPG keys to verify our releases and signed content."
hide:
- toc
- navigation
schema:
"@context": https://schema.org
"@type": Organization
+76 -4
View File
@@ -36,6 +36,24 @@
font-weight: 600;
}
/* Secondary TOC: restore depth differentiation the global .md-nav__link override removed */
.md-nav--secondary .md-nav__item .md-nav__link {
padding-left: 0.6rem;
opacity: 0.85;
}
.md-nav--secondary .md-nav__item .md-nav__item .md-nav__link {
padding-left: 1.2rem;
font-size: 0.55rem;
opacity: 0.7;
}
.md-nav--secondary .md-nav__item .md-nav__item .md-nav__item .md-nav__link {
padding-left: 1.8rem;
font-size: 0.52rem;
opacity: 0.6;
}
.md-nav__link--active,
.md-nav__link[aria-current] {
color: var(--accent-green) !important;
@@ -65,6 +83,38 @@
animation: none;
}
.md-header__inner {
flex-wrap: nowrap;
}
.md-header__button,
.md-header__source,
.toggle-container--header {
flex-shrink: 0;
}
.md-search {
flex-shrink: 1;
min-width: 0;
}
@media screen and (max-width: 76.1875em) {
.toggle-container--header {
width: 56px;
margin: 0 4px;
}
.toggle-container--header .toggle-wrap {
height: 28px;
}
}
@media screen and (max-width: 44.9375em) {
.toggle-container--header {
width: 44px;
}
}
.md-typeset {
max-width: none;
}
@@ -90,8 +140,30 @@
border-top: 1px solid var(--border-color);
}
@media screen and (min-width: 76.25em) {
.md-main__inner {
flex-direction: row-reverse;
}
.md-top {
background-color: var(--bg-card) !important;
color: var(--crt-green) !important;
border: 1px solid var(--border-color) !important;
left: 50% !important;
margin-left: 0 !important;
transform: translate(-50%, 0) !important;
}
.md-top svg,
.md-top .md-icon {
fill: var(--crt-green) !important;
color: var(--crt-green) !important;
}
.md-top:hover {
background-color: var(--bg-card) !important;
color: var(--accent-green) !important;
border-color: var(--accent-green) !important;
}
.md-top:hover svg,
.md-top:hover .md-icon {
fill: var(--accent-green) !important;
color: var(--accent-green) !important;
}
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -2,7 +2,7 @@
title: "Verify"
description: "Verify the authenticity and integrity of Anonymous Planet releases."
hide:
- toc
- navigation
schema:
"@context": https://schema.org
"@type": Organization
-1
View File
@@ -24,7 +24,6 @@ theme:
- navigation.tabs
- navigation.sections
- navigation.path
- toc.integrate
- navigation.top
- search.suggest
- search.highlight
+2
View File
@@ -0,0 +1,2 @@
mkdocs==1.6.1
mkdocs-material[imaging]==9.7.2
+1 -1
View File
@@ -273,7 +273,7 @@ html, body {{
<p><strong>License</strong> &nbsp; Creative Commons BY-SA 4.0</p>
<p><strong>Source</strong> &nbsp; https://anonymousplanet.net</p>
</div>
<p class="version">v1.2.5 &mdash; June 2026</p>
<p class="version">v1.2.6 &mdash; July 12 2026</p>
</div>
</body>
</html>""")
+12 -2
View File
@@ -143,8 +143,18 @@ def categorise(messages: list[str]) -> dict[str, list[str]]:
return buckets
# Distinct admonition type per bucket so icons/colors differ (not all blue "note")
ADMONITION_TYPE: dict[str, str] = {
"Meta": "abstract",
"Added": "tip",
"Changed": "info",
"Fixed": "success",
}
def format_admonition(bucket: str, items: list[str]) -> str:
lines = [f'!!! Note "{bucket}"', ""]
adm_type = ADMONITION_TYPE.get(bucket, "note")
lines = [f'!!! {adm_type} "{bucket}"', ""]
for item in items:
lines.append(f" - {item}")
lines.append("")
@@ -154,7 +164,7 @@ def format_admonition(bucket: str, items: list[str]) -> str:
def build_entry(version: str, buckets: dict[str, list[str]], sha: str) -> str:
date = datetime.now(timezone.utc).strftime("%Y-%m-%d")
lines = [f"## [{version}]", ""]
lines.append('!!! Note "Meta"')
lines.append('!!! abstract "Meta"')
lines.append("")
lines.append(f" - Released {date} from [`{sha[:7]}`](https://github.com/Anon-Planet/thgtoa/commit/{sha})")
lines.append("")