mirror of
https://github.com/Anon-Planet/thgtoa.git
synced 2026-06-11 00:02:29 +02:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a2724af904 |
@@ -0,0 +1,25 @@
|
|||||||
|
name: 🗑️ DEPRECATED — Build & Sign & Release (combined)
|
||||||
|
|
||||||
|
# DEPRECATED — replaced by build.yml, sign.yml, and release.yml
|
||||||
|
# This workflow is disabled. It is kept only as a reference until the
|
||||||
|
# split workflows have been confirmed stable in production.
|
||||||
|
# Do not trigger this workflow.
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
_disabled:
|
||||||
|
description: 'This workflow is deprecated. Use build.yml → sign.yml → release.yml instead.'
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
noop:
|
||||||
|
name: Deprecated — no-op
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: ❌ Workflow is deprecated
|
||||||
|
run: |
|
||||||
|
echo "This workflow is deprecated."
|
||||||
|
echo "Use build.yml → sign.yml → release.yml instead."
|
||||||
|
exit 1
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
# 1. Push to main → 01-build.yml runs automatically → note the run ID
|
# 1. Push to main → build.yml runs automatically → note the run ID
|
||||||
# 2. Manually trigger 02-sign.yml with that build run ID → note the sign run ID
|
# 2. Manually trigger sign.yml with that build run ID → note the sign run ID
|
||||||
# 3. Manually trigger 03-release.yml with: version=v1.2.5, sign_run_id=<id>
|
# 3. Manually trigger release.yml with: version=v1.2.5, sign_run_id=<id>
|
||||||
# 4. Manually trigger 04-changelog.yml with: version=v1.2.5
|
# 4. Manually trigger changelog.yml with: version=v1.2.5
|
||||||
|
|
||||||
name: 📖 Build PDFs
|
name: 📖 Build PDFs
|
||||||
|
|
||||||
@@ -24,7 +24,7 @@ on:
|
|||||||
- "docs/**"
|
- "docs/**"
|
||||||
- "mkdocs.yml"
|
- "mkdocs.yml"
|
||||||
- "scripts/**"
|
- "scripts/**"
|
||||||
- ".github/workflows/01-build.yml"
|
- ".github/workflows/build.yml"
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -16,4 +16,4 @@ jobs:
|
|||||||
uses: mhausenblas/mkdocs-deploy-gh-pages@master
|
uses: mhausenblas/mkdocs-deploy-gh-pages@master
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
CUSTOM_DOMAIN: anonymousplanet.net
|
CUSTOM_DOMAIN: anonymousplanet.org
|
||||||
|
|||||||
@@ -1,13 +1,14 @@
|
|||||||
name: 🚀 Release
|
name: 🚀 Release
|
||||||
|
|
||||||
# Manual only — run this deliberately after build and sign are confirmed good.
|
# Manual only — run this deliberately after build and sign are confirmed good.
|
||||||
# Provide the 02-sign.yml run ID to pull artifacts from. The release tag is
|
# Provide the sign.yml run ID to pull artifacts from. The release tag is
|
||||||
# automatically passed to the tag input. Exports "inputs.version" to $TAG.
|
# generated automatically as release-YYYYMMDD-<short-sha> — no version input
|
||||||
|
# needed, no semver drift possible.
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
sign_run_id:
|
sign_run_id:
|
||||||
description: '02-sign.yml run ID to pull signatures and PDFs from'
|
description: 'sign.yml run ID to pull signatures and PDFs from'
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
prerelease:
|
prerelease:
|
||||||
@@ -15,10 +16,6 @@ on:
|
|||||||
required: false
|
required: false
|
||||||
default: false
|
default: false
|
||||||
type: boolean
|
type: boolean
|
||||||
version:
|
|
||||||
description: 'Version string to record (e.g. v1.2.4) — required'
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: write # create releases and tags
|
contents: write # create releases and tags
|
||||||
@@ -98,7 +95,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
SHORT_SHA=$(echo "${{ github.sha }}" | cut -c1-7)
|
SHORT_SHA=$(echo "${{ github.sha }}" | cut -c1-7)
|
||||||
DATE=$(date -u +'%Y%m%d')
|
DATE=$(date -u +'%Y%m%d')
|
||||||
TAG="${{ inputs.version }}"
|
TAG="release-${DATE}-${SHORT_SHA}"
|
||||||
NAME="Release ${DATE} (${SHORT_SHA})"
|
NAME="Release ${DATE} (${SHORT_SHA})"
|
||||||
echo "tag=$TAG" >> $GITHUB_OUTPUT
|
echo "tag=$TAG" >> $GITHUB_OUTPUT
|
||||||
echo "name=$NAME" >> $GITHUB_OUTPUT
|
echo "name=$NAME" >> $GITHUB_OUTPUT
|
||||||
@@ -111,12 +108,12 @@ jobs:
|
|||||||
tag_name: ${{ steps.tag.outputs.tag }}
|
tag_name: ${{ steps.tag.outputs.tag }}
|
||||||
name: ${{ steps.tag.outputs.name }}
|
name: ${{ steps.tag.outputs.name }}
|
||||||
prerelease: ${{ inputs.prerelease || false }}
|
prerelease: ${{ inputs.prerelease || false }}
|
||||||
draft: true
|
draft: false
|
||||||
fail_on_unmatched_files: false
|
fail_on_unmatched_files: false
|
||||||
body: |
|
body: |
|
||||||
## 📖 The Hitchhiker's Guide to Online Anonymity
|
## 📖 The Hitchhiker's Guide to Online Anonymity
|
||||||
|
|
||||||
Built from [`${{ inputs.version }}`](${{ github.server_url }}/${{ github.repository }}/releases/tag/${{ inputs.version }}).
|
Built from [`${{ github.sha }}`](${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }}) on `${{ github.ref_name }}`.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -142,7 +142,7 @@ jobs:
|
|||||||
git push origin main
|
git push origin main
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Upload artifacts for 03-release.yml and verify job to consume
|
# Upload artifacts for release.yml and verify job to consume
|
||||||
- name: 📤 Upload signatures artifact
|
- name: 📤 Upload signatures artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
@@ -12,5 +12,5 @@ This guide is an open-source non-profit initiative, [licensed](LICENSE.html) und
|
|||||||
|
|
||||||
**Ways to read or export the guide**
|
**Ways to read or export the guide**
|
||||||
|
|
||||||
- **In your browser:** [Hitchhiker's Guide](https://www.anonymousplanet.net/) (hosted site). After a local build you can also open `site/guide/index.html` directly.
|
- **In your browser:** [Hitchhiker's Guide](https://www.anonymousplanet.org/guide/) (hosted site). After a local build you can also open `site/guide/index.html` directly.
|
||||||
- **Local HTML preview:** from the repository root, with Python 3 and [MkDocs Material](https://squidfunk.github.io/mkdocs-material/getting-started/) installed (`pip install mkdocs-material`), run `mkdocs serve` and open the URL printed in the terminal (for example `http://127.0.0.1:8000`).
|
- **Local HTML preview:** from the repository root, with Python 3 and [MkDocs Material](https://squidfunk.github.io/mkdocs-material/getting-started/) installed (`pip install mkdocs-material`), run `mkdocs serve` and open the URL printed in the terminal (for example `http://127.0.0.1:8000`).
|
||||||
|
|||||||
+1
-1
@@ -1 +1 @@
|
|||||||
anonymousplanet.net
|
anonymousplanet.org
|
||||||
|
|||||||
+5
-5
@@ -4,9 +4,9 @@ description: We are the maintainers of the Hitchhiker's Guide and the PSA Matrix
|
|||||||
schema:
|
schema:
|
||||||
"@context": https://schema.org
|
"@context": https://schema.org
|
||||||
"@type": Organization
|
"@type": Organization
|
||||||
"@id": https://www.anonymousplanet.net/
|
"@id": https://www.anonymousplanet.org/
|
||||||
name: Anonymous Planet
|
name: Anonymous Planet
|
||||||
url: https://www.anonymousplanet.net/about/
|
url: https://www.anonymousplanet.org/about/
|
||||||
logo: ../media/profile.png
|
logo: ../media/profile.png
|
||||||
sameAs:
|
sameAs:
|
||||||
- https://github.com/Anon-Planet
|
- https://github.com/Anon-Planet
|
||||||
@@ -15,7 +15,7 @@ schema:
|
|||||||
---
|
---
|
||||||
{ align=right }
|
{ align=right }
|
||||||
|
|
||||||
**Anonymous Planet** are the maintainers of the [_Hitchhiker's Guide_](../guide/index.md) and the [_PSA Community_](https://psa.anonymousplanet.net). It is responsible for maintaining the projects and code repositories. This project is part of our ongoing efforts to provide open-source tools and resources for the community, with regular updates and improvements added to the changelog.
|
**Anonymous Planet** are the maintainers of the [_Hitchhiker's Guide_](../guide/index.md) and the [_PSA Community_](https://psa.anonymousplanet.org). It is responsible for maintaining the projects and code repositories. This project is part of our ongoing efforts to provide open-source tools and resources for the community, with regular updates and improvements added to the changelog.
|
||||||
|
|
||||||
The purpose: providing an introduction to various online tracking techniques, online ID verification techniques, and detailed guidance to creating and maintaining (truly) anonymous online identities. It is written with the hopes that good people (e.g., activists, journalists, scientists, lawyers, whistle-blowers, etc.) will be able to fight oppression, censorship and harassment! The website and projects are free (as in freedom) and not affiliated with any donor or projects discussed.
|
The purpose: providing an introduction to various online tracking techniques, online ID verification techniques, and detailed guidance to creating and maintaining (truly) anonymous online identities. It is written with the hopes that good people (e.g., activists, journalists, scientists, lawyers, whistle-blowers, etc.) will be able to fight oppression, censorship and harassment! The website and projects are free (as in freedom) and not affiliated with any donor or projects discussed.
|
||||||
|
|
||||||
@@ -43,7 +43,7 @@ Feel free to submit issues **(please do report anything wrong)** using GitHub Is
|
|||||||
|
|
||||||
We offer a Matrix.org hosted space of our own. Check it out!
|
We offer a Matrix.org hosted space of our own. Check it out!
|
||||||
|
|
||||||
- Read [the rules](https://psa.anonymousplanet.net/), please
|
- Read [the rules](https://psa.anonymousplanet.org/), please
|
||||||
- Matrix Room: https://matrix.to/#/#nth:anonymousplanet.net
|
- Matrix Room: https://matrix.to/#/#nth:anonymousplanet.net
|
||||||
- Matrix Space: https://matrix.to/#/#psa:anonymousplanet.net
|
- Matrix Space: https://matrix.to/#/#psa:anonymousplanet.net
|
||||||
- Admins: @daskolburn:thomcat.rocks and @thehidden:tchncs.de
|
- Admins: @daskolburn:thomcat.rocks and @thehidden:tchncs.de
|
||||||
@@ -53,7 +53,7 @@ Feel free to submit issues **(please do report anything wrong)** using GitHub Is
|
|||||||
- Twitter at <https://twitter.com/AnonyPla>
|
- Twitter at <https://twitter.com/AnonyPla>
|
||||||
- Mastodon at <https://mastodon.social/@anonymousplanet>
|
- Mastodon at <https://mastodon.social/@anonymousplanet>
|
||||||
|
|
||||||
To contact me, see the updated information on the website or send an e-mail to <contact@anonymousplanet.net>
|
To contact me, see the updated information on the website or send an e-mail to <contact@anonymousplanet.org>
|
||||||
|
|
||||||
**Please consider [donating](../guide/index.md#donations) if you enjoy the project and want to support the hosting fees or support the funding of initiatives like the hosting of Tor Exit Nodes.**
|
**Please consider [donating](../guide/index.md#donations) if you enjoy the project and want to support the hosting fees or support the funding of initiatives like the hosting of Tor Exit Nodes.**
|
||||||
|
|
||||||
|
|||||||
+7
-30
@@ -4,9 +4,9 @@ description: "Release Notes"
|
|||||||
schema:
|
schema:
|
||||||
"@context": https://schema.org
|
"@context": https://schema.org
|
||||||
"@type": Organization
|
"@type": Organization
|
||||||
"@id": https://www.anonymousplanet.net/
|
"@id": https://www.anonymousplanet.org/
|
||||||
name: Anonymous Planet
|
name: Anonymous Planet
|
||||||
url: https://www.anonymousplanet.net/authors/
|
url: https://www.anonymousplanet.org/authors/
|
||||||
logo: ../media/profile.png
|
logo: ../media/profile.png
|
||||||
sameAs:
|
sameAs:
|
||||||
- https://github.com/Anon-Planet
|
- https://github.com/Anon-Planet
|
||||||
@@ -20,28 +20,6 @@ Notable changes to the guide and its tooling. Follows [Keep a Changelog](https:/
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## [v1.2.4]
|
|
||||||
|
|
||||||
!!! Note "Meta"
|
|
||||||
|
|
||||||
- Rename workflows (GH - now we can know the order)
|
|
||||||
|
|
||||||
!!! Note "Changed"
|
|
||||||
|
|
||||||
- Change the repo URL for our tor mirror
|
|
||||||
- Fix recommended reading admonition
|
|
||||||
- Refactoring some things and removing others
|
|
||||||
- More meta changes to the pipeline
|
|
||||||
- Rewrite developer guide for current pipeline
|
|
||||||
|
|
||||||
!!! Note "Fixed"
|
|
||||||
|
|
||||||
- Fix an inline reference
|
|
||||||
- Use the Anonymous Planet RSK for releases (we used the MSK for testing)
|
|
||||||
- Prevent history dump and filter noise commits
|
|
||||||
- Actually save per-page PDFs for qpdf, not PNGs
|
|
||||||
- Fail fast with helpful message if pdftoppm or qpdf missing
|
|
||||||
|
|
||||||
## [v1.2.3]
|
## [v1.2.3]
|
||||||
|
|
||||||
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.
|
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.
|
||||||
@@ -50,17 +28,17 @@ CI/CD pipeline split into independent stages, dark PDF quality improved, release
|
|||||||
|
|
||||||
- **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.
|
- **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`:
|
- **Three independent CI workflows** replacing the old monolithic `build-sign-release.yml`:
|
||||||
- `01-build.yml`: builds PDFs and uploads them as an artifact; no secrets required, can be re-run freely.
|
- `build.yml`: builds PDFs and uploads them as an artifact; no secrets required, can be re-run freely.
|
||||||
- `02-sign.yml`: downloads the PDF artifact, computes SHA-256 and BLAKE2b hashes, GPG-signs all outputs, and uploads a `signatures` artifact. Can be re-run against any historical build.
|
- `sign.yml`: downloads the PDF artifact, computes SHA-256 and BLAKE2b hashes, GPG-signs all outputs, and uploads a `signatures` artifact. Can be re-run against any historical build.
|
||||||
- `03-release.yml`: downloads both artifacts, uploads to VirusTotal, and publishes a tagged GitHub Release with all 12 assets attached. Can be triggered manually against any previous sign run.
|
- `release.yml`: downloads both artifacts, uploads to VirusTotal, and publishes a tagged GitHub Release with all 12 assets attached. Can be triggered manually against any previous sign run.
|
||||||
- **`scripts/update_changelog.py`**: reads `git log` since the last version tag, categorises commits by conventional-commit prefix, and prepends a new entry to this file automatically after each successful build.
|
- **`scripts/update_changelog.py`**: reads `git log` since the last version tag, categorises commits by conventional-commit prefix, and prepends a new entry to this file automatically after each successful build.
|
||||||
- **`04-changelog.yml`** workflow: commits the auto-generated changelog entry back to `main` after every build, with `dry_run` and `manual_version` dispatch inputs for safe local testing.
|
- **`changelog.yml`** workflow: commits the auto-generated changelog entry back to `main` after every build, with `dry_run` and `manual_version` dispatch inputs for safe local testing.
|
||||||
- **`scripts/tag_release.py`**: interactive guided helper for maintainers to create GPG-signed annotated tags. Checks clean tree and branch, auto-increments the version, pulls the message from the changelog, resolves the release signing key, creates and verifies the tag, then prints the push command.
|
- **`scripts/tag_release.py`**: interactive guided helper for maintainers to create GPG-signed annotated tags. Checks clean tree and branch, auto-increments the version, pulls the message from the changelog, resolves the release signing key, creates and verifies the tag, then prints the push command.
|
||||||
- **`docs/code/develop.md`**: full developer reference covering prerequisites, local build instructions, the pipeline flow, all required GitHub Secrets, the release process, verification steps, and a troubleshooting section for every known CI failure mode.
|
- **`docs/code/develop.md`**: full developer reference covering prerequisites, local build instructions, the pipeline flow, all required GitHub Secrets, the release process, verification steps, and a troubleshooting section for every known CI failure mode.
|
||||||
|
|
||||||
!!! warning "Changed"
|
!!! warning "Changed"
|
||||||
|
|
||||||
- `build-sign-release.yml` deprecated (now removed) - push triggers removed, manual dispatch only. Will be deleted once in-flight runs complete.
|
- `build-sign-release.yml` deprecated - push triggers removed, manual dispatch only. Will be deleted once in-flight runs complete.
|
||||||
- The full pipeline (build → sign → release → changelog) now chains automatically via `workflow_run` on every push to `main`.
|
- The full pipeline (build → sign → release → changelog) now chains automatically via `workflow_run` on every push to `main`.
|
||||||
- GPG signing uses `--pinentry-mode loopback` and `--passphrase-fd 0` to avoid interactive prompts on headless runners.
|
- GPG signing uses `--pinentry-mode loopback` and `--passphrase-fd 0` to avoid interactive prompts on headless runners.
|
||||||
- VirusTotal scans moved to the release stage so they run once per release, not once per build.
|
- VirusTotal scans moved to the release stage so they run once per release, not once per build.
|
||||||
@@ -101,6 +79,5 @@ First automated PDF build and the start of the CI pipeline.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
[v1.2.4]: https://github.com/Anon-Planet/thgtoa/releases/tag/v1.2.4
|
|
||||||
[v1.2.3]: https://github.com/Anon-Planet/thgtoa/releases/tag/v1.2.3
|
[v1.2.3]: https://github.com/Anon-Planet/thgtoa/releases/tag/v1.2.3
|
||||||
[v1.2.1]: https://github.com/Anon-Planet/thgtoa/releases/tag/v1.2.1
|
[v1.2.1]: https://github.com/Anon-Planet/thgtoa/releases/tag/v1.2.1
|
||||||
|
|||||||
+43
-60
@@ -52,25 +52,26 @@ You also need **Google Chrome** or **Microsoft Edge** installed for the light-mo
|
|||||||
```
|
```
|
||||||
.github/
|
.github/
|
||||||
workflows/
|
workflows/
|
||||||
01-build.yml # builds PDFs, uploads artifact
|
build.yml # builds PDFs, uploads artifact
|
||||||
02-sign.yml # hashes + GPG signs, uploads signatures artifact
|
sign.yml # hashes + GPG signs, uploads signatures artifact
|
||||||
03-release.yml # publishes GitHub Release with all assets
|
release.yml # publishes GitHub Release with all assets
|
||||||
04-changelog.yml # prepends a new entry to docs/changelog/index.md
|
changelog.yml # prepends a new entry to docs/changelog/index.md
|
||||||
publish.yml # deploys MkDocs site to GitHub Pages
|
publish.yml # deploys MkDocs site to GitHub Pages
|
||||||
|
build-sign-release.yml # DEPRECATED - fails on trigger, kept for reference
|
||||||
docs/
|
docs/
|
||||||
guide/index.md # the guide (single Markdown file)
|
guide/index.md # the guide (single Markdown file)
|
||||||
changelog/ # release notes
|
changelog/ # release notes
|
||||||
code/ # this page
|
code/ # this page
|
||||||
export/ # PDF output (PDFs gitignored; .sha256, .b2sum, .asc tracked)
|
export/ # PDF output (PDFs gitignored; .sha256, .b2sum, .asc tracked)
|
||||||
pgp/ # public signing keys
|
pgp/ # public signing keys
|
||||||
scripts/
|
scripts/
|
||||||
build_guide_pdf.py # MkDocs + Chromium PDF builder
|
build_guide_pdf.py # MkDocs + Chromium PDF builder
|
||||||
convert.py # pixel-based dark mode PDF converter
|
convert.py # pixel-based dark mode PDF converter
|
||||||
update_changelog.py # auto-generates changelog entries from git log
|
update_changelog.py # auto-generates changelog entries from git log
|
||||||
setup_workflow.py # GitHub Secrets setup assistant
|
setup_workflow.py # GitHub Secrets setup assistant
|
||||||
verify_pdf.py # signature verification helper
|
verify_pdf.py # signature verification helper
|
||||||
archived/
|
archived/
|
||||||
tag_release.py # ARCHIVED - GPG tag helper (not used in current flow)
|
tag_release.py # ARCHIVED - GPG tag helper (not used in current flow)
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -119,39 +120,39 @@ Opens at `http://127.0.0.1:8000`.
|
|||||||
|
|
||||||
## CI/CD pipeline overview
|
## CI/CD pipeline overview
|
||||||
|
|
||||||
The pipeline is fully manual after the initial build - no step automatically triggers the next. This prevents version mismatches between what was built, what was signed, and what gets released. The workflows are numbered to help guide you.
|
The pipeline is fully manual after the initial build - no step automatically triggers the next. This prevents version mismatches between what was built, what was signed, and what gets released.
|
||||||
|
|
||||||
```
|
```
|
||||||
push to main (or manual trigger)
|
push to main (or manual trigger)
|
||||||
│
|
│
|
||||||
▼
|
▼
|
||||||
01-build.yml
|
build.yml
|
||||||
Builds thgtoa.pdf + thgtoa-dark.pdf.
|
Builds thgtoa.pdf + thgtoa-dark.pdf.
|
||||||
Uploads artifact: pdfs
|
Uploads artifact: pdfs
|
||||||
Note the run ID.
|
Note the run ID.
|
||||||
│
|
│
|
||||||
│ # manually trigger 02-sign.yml with the build run ID
|
│ # manually trigger sign.yml with the build run ID
|
||||||
▼
|
▼
|
||||||
02-sign.yml
|
sign.yml
|
||||||
Downloads pdfs artifact. Hashes (SHA-256 + BLAKE2b) and GPG-signs
|
Downloads pdfs artifact. Hashes (SHA-256 + BLAKE2b) and GPG-signs
|
||||||
all files. Commits export/ back to main. Uploads artifacts:
|
all files. Commits export/ back to main. Uploads artifacts:
|
||||||
signatures, pdfs-signed
|
signatures, pdfs-signed
|
||||||
Note the run ID.
|
Note the run ID.
|
||||||
│
|
│
|
||||||
│ # manually trigger 03-release.yml with the sign run ID
|
│ # manually trigger release.yml with the sign run ID
|
||||||
▼
|
▼
|
||||||
03-release.yml
|
release.yml
|
||||||
Downloads signatures + pdfs-signed artifacts. Runs VirusTotal.
|
Downloads signatures + pdfs-signed artifacts. Runs VirusTotal.
|
||||||
Creates GitHub Release tagged release-YYYYMMDD-<short-sha>.
|
Creates GitHub Release tagged release-YYYYMMDD-<short-sha>.
|
||||||
│
|
│
|
||||||
│ # manually trigger 04-changelog.yml with the version string
|
│ # manually trigger changelog.yml with the version string
|
||||||
▼
|
▼
|
||||||
04-changelog.yml
|
changelog.yml
|
||||||
Runs update_changelog.py, prepends a new ## [vX.Y.Z] entry,
|
Runs update_changelog.py, prepends a new ## [vX.Y.Z] entry,
|
||||||
commits back to main.
|
commits back to main.
|
||||||
```
|
```
|
||||||
|
|
||||||
Each stage is independent. If signing fails (e.g. an expired/revoked key, other problems in CI), re-run only `02-sign.yml` pointing at the existing build artifact - no need to rebuild the PDFs.
|
Each stage is independent. If signing fails (e.g. an expired key), re-run only `sign.yml` pointing at the existing build artifact - no need to rebuild the PDFs.
|
||||||
|
|
||||||
!!! warning "Before you push"
|
!!! warning "Before you push"
|
||||||
|
|
||||||
@@ -165,7 +166,7 @@ Each stage is independent. If signing fails (e.g. an expired/revoked key, other
|
|||||||
|
|
||||||
### 1. Trigger a build
|
### 1. Trigger a build
|
||||||
|
|
||||||
Push to `main` - `01-build.yml` runs automatically when `docs/`, `mkdocs.yml`, or `scripts/` change. You can also trigger it manually from **Actions → Build PDFs → Run workflow**.
|
Push to `main` - `build.yml` runs automatically when `docs/`, `mkdocs.yml`, or `scripts/` change. You can also trigger it manually from **Actions → Build PDFs → Run workflow**.
|
||||||
|
|
||||||
Once it completes successfully, **note the run ID** from the URL or the Actions list.
|
Once it completes successfully, **note the run ID** from the URL or the Actions list.
|
||||||
|
|
||||||
@@ -179,7 +180,7 @@ Go to **Actions → Sign PDFs → Run workflow**.
|
|||||||
|-------|-------|
|
|-------|-------|
|
||||||
| `build_run_id` | The run ID from step 1 |
|
| `build_run_id` | The run ID from step 1 |
|
||||||
|
|
||||||
`02-sign.yml` will:
|
`sign.yml` will:
|
||||||
|
|
||||||
- Download the PDFs artifact from the build run
|
- Download the PDFs artifact from the build run
|
||||||
- Compute SHA-256 and BLAKE2b hashes, writing `thgtoa.pdf.sha256`, `thgtoa.pdf.b2sum`, `sha256sums.txt`, `b2sums.txt`, and the dark equivalents
|
- Compute SHA-256 and BLAKE2b hashes, writing `thgtoa.pdf.sha256`, `thgtoa.pdf.b2sum`, `sha256sums.txt`, `b2sums.txt`, and the dark equivalents
|
||||||
@@ -200,7 +201,7 @@ Go to **Actions → Release → Run workflow**.
|
|||||||
| `sign_run_id` | The run ID from step 2 |
|
| `sign_run_id` | The run ID from step 2 |
|
||||||
| `prerelease` | `false` for a normal release |
|
| `prerelease` | `false` for a normal release |
|
||||||
|
|
||||||
`03-release.yml` will:
|
`release.yml` will:
|
||||||
|
|
||||||
- Download `signatures` and `pdfs-signed` artifacts from the sign run
|
- Download `signatures` and `pdfs-signed` artifacts from the sign run
|
||||||
- Upload both PDFs to VirusTotal
|
- Upload both PDFs to VirusTotal
|
||||||
@@ -220,7 +221,7 @@ Go to **Actions → Update Changelog → Run workflow**.
|
|||||||
| `version` | The human-readable version string, e.g. `v1.2.4` |
|
| `version` | The human-readable version string, e.g. `v1.2.4` |
|
||||||
| `dry_run` | `true` to preview without committing |
|
| `dry_run` | `true` to preview without committing |
|
||||||
|
|
||||||
`04-changelog.yml` runs `scripts/update_changelog.py`, which:
|
`changelog.yml` runs `scripts/update_changelog.py`, which:
|
||||||
|
|
||||||
- Reads git log since the last `## [vX.Y.Z]` heading in the changelog
|
- Reads git log since the last `## [vX.Y.Z]` heading in the changelog
|
||||||
- Categorises commits into Added / Changed / Fixed using conventional-commit prefixes
|
- Categorises commits into Added / Changed / Fixed using conventional-commit prefixes
|
||||||
@@ -248,7 +249,7 @@ This format is always unique, requires no version decision at release time, and
|
|||||||
|
|
||||||
## Commit message format
|
## Commit message format
|
||||||
|
|
||||||
All commits must follow the [Conventional Commits](https://www.conventionalcommits.org) format. This is enforced by the `commitizen` pre-commit hook. Not because we want to limit cooperation with others, but becasue it promotes a cleaner Changelog; we can avoid all the noise by doing this programatically.
|
All commits must follow the [Conventional Commits](https://www.conventionalcommits.org) format. This is enforced by the `commitizen` pre-commit hook.
|
||||||
|
|
||||||
```
|
```
|
||||||
<type>(<scope>): <description>
|
<type>(<scope>): <description>
|
||||||
@@ -296,7 +297,7 @@ The passphrase protecting the private key above. Must match exactly - no trailin
|
|||||||
|
|
||||||
### `ACTIONS_SSH_SIGNING_KEY`
|
### `ACTIONS_SSH_SIGNING_KEY`
|
||||||
|
|
||||||
An SSH private key used by `02-sign.yml` to sign the commit that pushes `export/` back to `main`. Generate a dedicated key for this:
|
An SSH private key used by `sign.yml` to sign the commit that pushes `export/` back to `main`. Generate a dedicated key for this:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ssh-keygen -t ed25519 -C "github-actions signing key" -f actions_signing_key
|
ssh-keygen -t ed25519 -C "github-actions signing key" -f actions_signing_key
|
||||||
@@ -306,11 +307,11 @@ Add the **private key** as the `ACTIONS_SSH_SIGNING_KEY` secret, and the **publi
|
|||||||
|
|
||||||
### `VT_API_KEY`
|
### `VT_API_KEY`
|
||||||
|
|
||||||
A [VirusTotal](https://www.virustotal.com) API key with file upload permissions. Used by `03-release.yml` to scan both PDFs before publishing. Get one by creating a free account at `virustotal.com` → API key under your profile. The free tier (4 lookups/minute, 500/day) is sufficient.
|
A [VirusTotal](https://www.virustotal.com) API key with file upload permissions. Used by `release.yml` to scan both PDFs before publishing. Get one by creating a free account at `virustotal.com` → API key under your profile. The free tier (4 lookups/minute, 500/day) is sufficient.
|
||||||
|
|
||||||
### `CHANGELOG_PAT`
|
### `CHANGELOG_PAT`
|
||||||
|
|
||||||
A GitHub Personal Access Token with `contents: write` scope on this repository. Needed because `04-changelog.yml` commits back to `main` - commits made with the default `GITHUB_TOKEN` do not trigger further workflow runs (GitHub loop-prevention). A PAT bypasses this. If absent, falls back to `GITHUB_TOKEN` - the commit still happens, it just won't trigger downstream workflows.
|
A GitHub Personal Access Token with `contents: write` scope on this repository. Needed because `changelog.yml` commits back to `main` - commits made with the default `GITHUB_TOKEN` do not trigger further workflow runs (GitHub loop-prevention). A PAT bypasses this. If absent, falls back to `GITHUB_TOKEN` - the commit still happens, it just won't trigger downstream workflows.
|
||||||
|
|
||||||
**Creating one:** GitHub → Settings → Developer settings → Personal access tokens → Fine-grained tokens → set Contents to Read and write for this repo only.
|
**Creating one:** GitHub → Settings → Developer settings → Personal access tokens → Fine-grained tokens → set Contents to Read and write for this repo only.
|
||||||
|
|
||||||
@@ -318,11 +319,11 @@ A GitHub Personal Access Token with `contents: write` scope on this repository.
|
|||||||
|
|
||||||
| Secret | Required by | What happens if missing |
|
| Secret | Required by | What happens if missing |
|
||||||
|--------|------------|------------------------|
|
|--------|------------|------------------------|
|
||||||
| `GPG_PRIVATE_KEY` | `02-sign.yml` | Signing step fails - no `.asc` files produced |
|
| `GPG_PRIVATE_KEY` | `sign.yml` | Signing step fails - no `.asc` files produced |
|
||||||
| `GPG_PASSPHRASE` | `02-sign.yml` | GPG import succeeds but signing fails |
|
| `GPG_PASSPHRASE` | `sign.yml` | GPG import succeeds but signing fails |
|
||||||
| `ACTIONS_SSH_SIGNING_KEY` | `02-sign.yml` | Export commit is unsigned (may fail if branch protection requires signed commits) |
|
| `ACTIONS_SSH_SIGNING_KEY` | `sign.yml` | Export commit is unsigned (may fail if branch protection requires signed commits) |
|
||||||
| `VT_API_KEY` | `03-release.yml` | VirusTotal step fails - release is not published |
|
| `VT_API_KEY` | `release.yml` | VirusTotal step fails - release is not published |
|
||||||
| `CHANGELOG_PAT` | `04-changelog.yml` | Falls back to `GITHUB_TOKEN` - changelog updates but commit won't trigger downstream workflows |
|
| `CHANGELOG_PAT` | `changelog.yml` | Falls back to `GITHUB_TOKEN` - changelog updates but commit won't trigger downstream workflows |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -349,27 +350,9 @@ b2sum -c b2sums.txt
|
|||||||
|
|
||||||
A successful verify looks like:
|
A successful verify looks like:
|
||||||
|
|
||||||
```txt
|
|
||||||
gpg: Signature made Sun 31 May 2026 03:23:26 AM EDT
|
|
||||||
gpg: using EDDSA key C3023DBEA3FB38C438BA1EEDCEC60AEDE8B992A2
|
|
||||||
gpg: Good signature from "Anonymous Planet Release Signing Key" [ultimate]
|
|
||||||
Primary key fingerprint: C302 3DBE A3FB 38C4 38BA 1EED CEC6 0AED E8B9 92A2
|
|
||||||
```
|
```
|
||||||
|
gpg: Signature made ...
|
||||||
You can safely ignore Github, Codeberg, etc. warnings like "The email in this signature doesn’t match the committer email."
|
gpg: Good signature from "Anonymous Planet (Release) ..."
|
||||||
|
|
||||||
```txt
|
|
||||||
λ > git tag -v v1.2.3
|
|
||||||
object cdc54d8b3bc2b286827b23921d8d4062f85295cf
|
|
||||||
type commit
|
|
||||||
tag v1.2.3
|
|
||||||
tagger nopeitsnothing <no@anonymousplanet.net> 1780212206 -0400
|
|
||||||
|
|
||||||
v1.2.3
|
|
||||||
gpg: Signature made Sun 31 May 2026 03:23:26 AM EDT
|
|
||||||
gpg: using EDDSA key C3023DBEA3FB38C438BA1EEDCEC60AEDE8B992A2
|
|
||||||
gpg: Good signature from "Anonymous Planet Release Signing Key" [ultimate]
|
|
||||||
Primary key fingerprint: C302 3DBE A3FB 38C4 38BA 1EED CEC6 0AED E8B9 92A2
|
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -391,10 +374,10 @@ The `GPG_PRIVATE_KEY` secret is missing or malformed. Re-export with `gpg --armo
|
|||||||
**GPG signing fails with `Bad passphrase`**
|
**GPG signing fails with `Bad passphrase`**
|
||||||
The `GPG_PASSPHRASE` secret has a trailing space or newline. Paste it again with no surrounding whitespace.
|
The `GPG_PASSPHRASE` secret has a trailing space or newline. Paste it again with no surrounding whitespace.
|
||||||
|
|
||||||
**`03-release.yml` fails on VirusTotal**
|
**`release.yml` fails on VirusTotal**
|
||||||
The `VT_API_KEY` is missing, invalid, or over the rate limit (500 requests/day on the free tier). Check the secret and re-run after a few minutes.
|
The `VT_API_KEY` is missing, invalid, or over the rate limit (500 requests/day on the free tier). Check the secret and re-run after a few minutes.
|
||||||
|
|
||||||
**`02-sign.yml` fails downloading PDF artifact**
|
**`sign.yml` fails downloading PDF artifact**
|
||||||
The `build_run_id` is wrong, or the artifact has expired (90-day retention). Trigger a new build and use the fresh run ID.
|
The `build_run_id` is wrong, or the artifact has expired (90-day retention). Trigger a new build and use the fresh run ID.
|
||||||
|
|
||||||
**Changelog already contains version X**
|
**Changelog already contains version X**
|
||||||
|
|||||||
+111
-111
@@ -1,111 +1,111 @@
|
|||||||
---
|
---
|
||||||
title: How to Get Involved
|
title: How to Get Involved
|
||||||
---
|
---
|
||||||
There are multiple ways you can add to the guide. Donations to support this project are welcome but are entirely optional. Those donations are mainly used to pay for Tor onion hosting (VPS), mail hosting, domain name registration, and to maintain/run Tor exit nodes. **No profit is ever being made**. All donations and spendings are being logged here below for transparency. Some costs for load balancer servers have been omitted for privacy reasons, but are not paid for with existing Anonymous Planet finances.
|
There are multiple ways you can add to the guide. Donations to support this project are welcome but are entirely optional. Those donations are mainly used to pay for Tor onion hosting (VPS), mail hosting, domain name registration, and to maintain/run Tor exit nodes. **No profit is ever being made**. All donations and spendings are being logged here below for transparency. Some costs for load balancer servers have been omitted for privacy reasons, but are not paid for with existing Anonymous Planet finances.
|
||||||
|
|
||||||
<span style="color: red">**Current project donation goals:**</span>
|
<span style="color: red">**Current project donation goals:**</span>
|
||||||
|
|
||||||
- <del>Funding for a VPS for hosting our .onion website</del>: **done**
|
- <del>Funding for a VPS for hosting our .onion website</del>: **done**
|
||||||
- <del>Funding for extending our domain name</del>: **Recovery of original domain secured until 2029**
|
- <del>Funding for extending our domain name</del>: **Recovery of original domain secured until 2029**
|
||||||
- Funding for a decent mail hosting
|
- Funding for a decent mail hosting
|
||||||
- Funding for a VPS for hosting various services
|
- Funding for a VPS for hosting various services
|
||||||
|
|
||||||
## Donate using Monero (XMR)
|
## Donate using Monero (XMR)
|
||||||
|
|
||||||
Total Monero donations received: **7.101317184263 XMR**
|
Total Monero donations received: **7.101317184263 XMR**
|
||||||
Total Monero remaining: **2.059336719397 XMR**
|
Total Monero remaining: **2.059336719397 XMR**
|
||||||
|
|
||||||
Here is the address for the main project:
|
Here is the address for the main project:
|
||||||
|
|
||||||
```46crzj54eL493BA68pPT4A1MZyKQxrpZu9tVNsfsoa5nT85QqCt8cDTfy1fcTH1oyjdtUbhmpZ4QcVtfEXB337Ng6PS21ML```
|
```46crzj54eL493BA68pPT4A1MZyKQxrpZu9tVNsfsoa5nT85QqCt8cDTfy1fcTH1oyjdtUbhmpZ4QcVtfEXB337Ng6PS21ML```
|
||||||
|
|
||||||
![][1]
|
![][1]
|
||||||
|
|
||||||
## Donate using Bitcoin (BTC)
|
## Donate using Bitcoin (BTC)
|
||||||
|
|
||||||
Total Bitcoin donations received: **1.89353 mBTC**
|
Total Bitcoin donations received: **1.89353 mBTC**
|
||||||
Total Bitcoin remaining: **0 mBTC**
|
Total Bitcoin remaining: **0 mBTC**
|
||||||
|
|
||||||
Here are the addresses for the main project:
|
Here are the addresses for the main project:
|
||||||
|
|
||||||
SegWit address: ```bc1qp9g2c6dquh5lnvft50esxsl97kupdpyqyd4kkv```
|
SegWit address: ```bc1qp9g2c6dquh5lnvft50esxsl97kupdpyqyd4kkv```
|
||||||
Legacy address: ```1BBgBSVe6w4DWq2BewUQhDEjsNovhfPswD```
|
Legacy address: ```1BBgBSVe6w4DWq2BewUQhDEjsNovhfPswD```
|
||||||
|
|
||||||
![][2]_____________________![][3]
|
![][2]_____________________![][3]
|
||||||
|
|
||||||
## Content Contributions
|
## Content Contributions
|
||||||
|
|
||||||
You can easily contribute code or information suggestions at our code repositories listed at the bottom of the website and on the [Mirrors](../mirrors/index.md) tab above. We have many options that are easily accessible. Please follow our [contributing guidelines](../code/index.md) and use good PR syntax.
|
You can easily contribute code or information suggestions at our code repositories listed at the bottom of the website and on the [Mirrors](../mirrors/index.md) tab above. We have many options that are easily accessible. Please follow our [contributing guidelines](../code/index.md) and use good PR syntax.
|
||||||
|
|
||||||
**Thank you for any contribution. All donations will be mentioned on this page.**
|
**Thank you for any contribution. All donations will be mentioned on this page.**
|
||||||
|
|
||||||
### Donations log
|
### Donations log
|
||||||
|
|
||||||
- 2021-02-06 16:48: 0.1 XMR
|
- 2021-02-06 16:48: 0.1 XMR
|
||||||
- 2021-03-15 00:09: 1.24869 mBTC
|
- 2021-03-15 00:09: 1.24869 mBTC
|
||||||
- 2021-03-15 08:41: 0.07896 mBTC
|
- 2021-03-15 08:41: 0.07896 mBTC
|
||||||
- 2021-03-31 16:28: 1 XMR (Special thanks for this very generous donation)
|
- 2021-03-31 16:28: 1 XMR (Special thanks for this very generous donation)
|
||||||
- 2021-04-03 22:31: 0.5 XMR (Special thanks for this very generous donation)
|
- 2021-04-03 22:31: 0.5 XMR (Special thanks for this very generous donation)
|
||||||
- 2021-05-07 06:22: 0.010433355105 XMR
|
- 2021-05-07 06:22: 0.010433355105 XMR
|
||||||
- 2021-06-16 03:05: 0.03 XMR
|
- 2021-06-16 03:05: 0.03 XMR
|
||||||
- 2021-06-27 18:39: 0.05 XMR
|
- 2021-06-27 18:39: 0.05 XMR
|
||||||
- 2021-07-12 07:24: 0.02 XMR
|
- 2021-07-12 07:24: 0.02 XMR
|
||||||
- 2021-07-16 14:31: 0.1 mBTC
|
- 2021-07-16 14:31: 0.1 mBTC
|
||||||
- 2021-07-20 21:01: 0.058981 XMR
|
- 2021-07-20 21:01: 0.058981 XMR
|
||||||
- 2021-07-24 15:16: 0.000000000001 XMR
|
- 2021-07-24 15:16: 0.000000000001 XMR
|
||||||
- 2021-07-25 02:37: 0.000000000001 XMR
|
- 2021-07-25 02:37: 0.000000000001 XMR
|
||||||
- 2021-08-03 00:17: 0.04119191113 XMR
|
- 2021-08-03 00:17: 0.04119191113 XMR
|
||||||
- 2021-08-07 15:05: 0.206328241262 XMR
|
- 2021-08-07 15:05: 0.206328241262 XMR
|
||||||
- 2021-08-10 11:42: 0.21 mBTC
|
- 2021-08-10 11:42: 0.21 mBTC
|
||||||
- 2021-08-13 00:25: 0.25 XMR
|
- 2021-08-13 00:25: 0.25 XMR
|
||||||
- 2021-08-14 04:58: 0.25588 mBTC
|
- 2021-08-14 04:58: 0.25588 mBTC
|
||||||
- 2021-08-30 17:32: 0.000000000001 XMR
|
- 2021-08-30 17:32: 0.000000000001 XMR
|
||||||
- 2021-09-17 14:34: 0.018 XMR
|
- 2021-09-17 14:34: 0.018 XMR
|
||||||
- 2021-10-01 06:23: 0.000000002137 XMR
|
- 2021-10-01 06:23: 0.000000002137 XMR
|
||||||
- 2021-10-02 19:16: 1 XMR (Special thanks for this very generous donation)
|
- 2021-10-02 19:16: 1 XMR (Special thanks for this very generous donation)
|
||||||
- 2021-10-17 15:40: 0.02 XMR
|
- 2021-10-17 15:40: 0.02 XMR
|
||||||
- 2021-10-18 16:06: 0.1958 XMR
|
- 2021-10-18 16:06: 0.1958 XMR
|
||||||
- 2021-11-12 20:42: 0.02 XMR
|
- 2021-11-12 20:42: 0.02 XMR
|
||||||
- 2021-11-14 18:28: 0.018 XMR
|
- 2021-11-14 18:28: 0.018 XMR
|
||||||
- 2021-12-03 21:38: 0.10134722595 XMR
|
- 2021-12-03 21:38: 0.10134722595 XMR
|
||||||
- 2021-12-16 01:16: 1 XMR (Special thanks for this very generous donation)
|
- 2021-12-16 01:16: 1 XMR (Special thanks for this very generous donation)
|
||||||
- 2021-12-16 18:06: 0.017 XMR
|
- 2021-12-16 18:06: 0.017 XMR
|
||||||
- 2022-01-09 17:54: 0.045918219893 XMR
|
- 2022-01-09 17:54: 0.045918219893 XMR
|
||||||
- 2022-01-15 17:35: 0.014 XMR
|
- 2022-01-15 17:35: 0.014 XMR
|
||||||
- 2022-01-24 21:08: 0.010786 XMR
|
- 2022-01-24 21:08: 0.010786 XMR
|
||||||
- 2022-01-26 12:07: 0.010391 XMR
|
- 2022-01-26 12:07: 0.010391 XMR
|
||||||
- 2022-02-03 19:59: 0.013013984 XMR
|
- 2022-02-03 19:59: 0.013013984 XMR
|
||||||
- 2022-02-18 17:27: 0.019 XMR
|
- 2022-02-18 17:27: 0.019 XMR
|
||||||
- 2022-03-14 10:25: 0.0139887 XMR
|
- 2022-03-14 10:25: 0.0139887 XMR
|
||||||
- 2022-07-30 03:51: 0.0222 XMR
|
- 2022-07-30 03:51: 0.0222 XMR
|
||||||
- 2022-09-28 05:13: 2 XMR
|
- 2022-09-28 05:13: 2 XMR
|
||||||
- 2022-08-19: SimpleLogin.io Lifetime Premium
|
- 2022-08-19: SimpleLogin.io Lifetime Premium
|
||||||
- 2022-09-19: 0.345024603905 XMR (Special thanks to a previous maintainer)
|
- 2022-09-19: 0.345024603905 XMR (Special thanks to a previous maintainer)
|
||||||
|
|
||||||
#### Spendings log
|
#### Spendings log
|
||||||
|
|
||||||
- 2021-03-12: 0.08181086 XMR (+fees) for domain anonymousplanet.net (1 year)
|
- 2021-03-12: 0.08181086 XMR (+fees) for domain anonymousplanet.org (1 year)
|
||||||
- 2021-03-16: 1.20179 mBTC (+fees) for domain anonymousplanet.net renewal (extension 3 years totalling 4 years)
|
- 2021-03-16: 1.20179 mBTC (+fees) for domain anonymousplanet.org renewal (extension 3 years totalling 4 years)
|
||||||
- 2021-04-01: 0.8317 XMR (+fees) for basic VPS for Tor Mirror hosting
|
- 2021-04-01: 0.8317 XMR (+fees) for basic VPS for Tor Mirror hosting
|
||||||
- <del>2021-04-05: 0.99367 mBTC (+fees +exchange from XMR to BTC) for Mail Hosting (1 year): <span style="color: red">**Lost**</span>
|
- <del>2021-04-05: 0.99367 mBTC (+fees +exchange from XMR to BTC) for Mail Hosting (1 year): <span style="color: red">**Lost**</span>
|
||||||
- <del>2021-04-13: 0.71895 mBTC (+fees +exchange from XMR to BTC) for Mail Hosting (extension to 2 years)</del>: <span style="color: red">**Lost**</span>
|
- <del>2021-04-13: 0.71895 mBTC (+fees +exchange from XMR to BTC) for Mail Hosting (extension to 2 years)</del>: <span style="color: red">**Lost**</span>
|
||||||
- 2021-04-25: 0.02892 mBTC (Wallet to Wallet transfer fee)
|
- 2021-04-25: 0.02892 mBTC (Wallet to Wallet transfer fee)
|
||||||
- 2021-07-13: 0.78463 mBTC (+fees +exchange from BTC to XMR) for consolidation
|
- 2021-07-13: 0.78463 mBTC (+fees +exchange from BTC to XMR) for consolidation
|
||||||
- <del>2021-07-13: 0.067261698061 XMR (+fees) for a Tor Exit Node (01) Hosting (3 months)</del>: <span style="color: red">**Lost**</span>
|
- <del>2021-07-13: 0.067261698061 XMR (+fees) for a Tor Exit Node (01) Hosting (3 months)</del>: <span style="color: red">**Lost**</span>
|
||||||
- <del>2021-07-15: 0.151959953047 XMR (+fees) for a Tor Exit Node (02) Hosting (6 months)</del>: <span style="color: red">**Lost**</span>
|
- <del>2021-07-15: 0.151959953047 XMR (+fees) for a Tor Exit Node (02) Hosting (6 months)</del>: <span style="color: red">**Lost**</span>
|
||||||
- <del>2021-08-16: 0.253331471239 XMR (+fees) for a Tor Exit Node (03) Hosting (12 months)</del>: <span style="color: red">**Lost**</span>
|
- <del>2021-08-16: 0.253331471239 XMR (+fees) for a Tor Exit Node (03) Hosting (12 months)</del>: <span style="color: red">**Lost**</span>
|
||||||
- 2021-08-18: AtomicSwap conversion from remaining mBTC (-0.56588) to XMR (+0.081904862179)
|
- 2021-08-18: AtomicSwap conversion from remaining mBTC (-0.56588) to XMR (+0.081904862179)
|
||||||
- <del>2021-08-19: 0.0644 XMR (+fees) for Mail Hosting extension</del>: <span style="color: red">**Lost**</span>
|
- <del>2021-08-19: 0.0644 XMR (+fees) for Mail Hosting extension</del>: <span style="color: red">**Lost**</span>
|
||||||
- <del>2021-09-18: 0.246971511836 XMR (+fees) for renewal 1 year of Tor Exit Node 01</del>: <span style="color: red">**Lost**</span>
|
- <del>2021-09-18: 0.246971511836 XMR (+fees) for renewal 1 year of Tor Exit Node 01</del>: <span style="color: red">**Lost**</span>
|
||||||
- 2021-10-04: 0.26954 XMR (+fees) for domain anonymousplanet.net extension until 2029
|
- 2021-10-04: 0.26954 XMR (+fees) for domain anonymousplanet.org extension until 2029
|
||||||
- <del>2021-10-06: 0.236073464623 XMR (+fees) for a Tor Exit Node (04) Hosting (12 months)</del>: <span style="color: red">**Lost**</span>
|
- <del>2021-10-06: 0.236073464623 XMR (+fees) for a Tor Exit Node (04) Hosting (12 months)</del>: <span style="color: red">**Lost**</span>
|
||||||
- <del>2021-10-18: 0.01952 XMR (+fees) for testing a new VPS hosting provider (Privex.io) for one month</del>: <span style="color: red">**Ended**</span>
|
- <del>2021-10-18: 0.01952 XMR (+fees) for testing a new VPS hosting provider (Privex.io) for one month</del>: <span style="color: red">**Ended**</span>
|
||||||
- <del>2021-10-30: 0.240787814495 XMR (+fees) for a Synapse Hosting VPS (12 months) with bots to help grow the community. This is a test program that will be converted into a Tor Exit Node in case of failure</del>: <span style="color: red">**Lost**</span>
|
- <del>2021-10-30: 0.240787814495 XMR (+fees) for a Synapse Hosting VPS (12 months) with bots to help grow the community. This is a test program that will be converted into a Tor Exit Node in case of failure</del>: <span style="color: red">**Lost**</span>
|
||||||
- <del>2022-01-01: 0.28055816111 XMR (+fees) for renewal 1 year of Tor Exit Node 02</del>: <span style="color: red">**Lost**</span>
|
- <del>2022-01-01: 0.28055816111 XMR (+fees) for renewal 1 year of Tor Exit Node 02</del>: <span style="color: red">**Lost**</span>
|
||||||
- <del>2022-02-02: 0.966793601024 XMR (+fees) to sponsor a special project (w/ Universal Declaration of Human Rights)</del>: <span style="color: red">**Lost**</span>
|
- <del>2022-02-02: 0.966793601024 XMR (+fees) to sponsor a special project (w/ Universal Declaration of Human Rights)</del>: <span style="color: red">**Lost**</span>
|
||||||
- <del>2022-07-11: 0.503232784687 XMR (+fees) for 1984.is VPS (12 months)</del>: <span style="color: red">**Ended**</span>
|
- <del>2022-07-11: 0.503232784687 XMR (+fees) for 1984.is VPS (12 months)</del>: <span style="color: red">**Ended**</span>
|
||||||
- <del>2022-09-19: 0.345024603905 XMR (+fees) for upgrading VPS RAM/Disk</del>: <span style="color: red">**Ended**</span>
|
- <del>2022-09-19: 0.345024603905 XMR (+fees) for upgrading VPS RAM/Disk</del>: <span style="color: red">**Ended**</span>
|
||||||
|
|
||||||
[1]: ../media/monero.png
|
[1]: ../media/monero.png
|
||||||
[2]: ../media/bitcoin-segwit.png
|
[2]: ../media/bitcoin-segwit.png
|
||||||
[3]: ../media/bitcoin-legacy.png
|
[3]: ../media/bitcoin-legacy.png
|
||||||
|
|||||||
+2
-2
@@ -4,9 +4,9 @@ description: We are the maintainers of the Hitchhiker's Guide and the PSA Matrix
|
|||||||
schema:
|
schema:
|
||||||
"@context": https://schema.org
|
"@context": https://schema.org
|
||||||
"@type": Organization
|
"@type": Organization
|
||||||
"@id": https://www.anonymousplanet.net/
|
"@id": https://www.anonymousplanet.org/
|
||||||
name: Anonymous Planet
|
name: Anonymous Planet
|
||||||
url: https://www.anonymousplanet.net/guide/
|
url: https://www.anonymousplanet.org/guide/
|
||||||
logo: ../media/profile.png
|
logo: ../media/profile.png
|
||||||
sameAs:
|
sameAs:
|
||||||
- https://github.com/Anon-Planet
|
- https://github.com/Anon-Planet
|
||||||
|
|||||||
+4
-4
@@ -4,9 +4,9 @@ description: We are the maintainers of the Hitchhiker's Guide and the PSA Matrix
|
|||||||
schema:
|
schema:
|
||||||
"@context": https://schema.org
|
"@context": https://schema.org
|
||||||
"@type": Organization
|
"@type": Organization
|
||||||
"@id": https://www.anonymousplanet.net/
|
"@id": https://www.anonymousplanet.org/
|
||||||
name: Anonymous Planet
|
name: Anonymous Planet
|
||||||
url: https://www.anonymousplanet.net/authors/
|
url: https://www.anonymousplanet.org/authors/
|
||||||
logo: ../media/profile.png
|
logo: ../media/profile.png
|
||||||
sameAs:
|
sameAs:
|
||||||
- https://github.com/Anon-Planet
|
- https://github.com/Anon-Planet
|
||||||
@@ -38,7 +38,7 @@ Anonymous Planet is a collective of volunteers.
|
|||||||
??? person "Das Kolburn"
|
??? person "Das Kolburn"
|
||||||
|
|
||||||
- [:simple-github: GitHub](https://github.com/NobodySpecial256 "@NobodySpecial256")
|
- [:simple-github: GitHub](https://github.com/NobodySpecial256 "@NobodySpecial256")
|
||||||
- [:fontawesome-solid-envelope: E-mail](mailto:contact@anonymousplanet.net)
|
- [:fontawesome-solid-envelope: E-mail](mailto:contact@anonymousplanet.org)
|
||||||
- [:simple-matrix: Personal Matrix](https://matrix.to/#/@daskolburn:thomcat.rocks "@daskolburn:thomcat.rocks"), [:simple-matrix: Org Matrix](https://matrix.to/#/@daskolburn:anonymousplanet.net "@daskolburn:anonymousplanet.net")
|
- [:simple-matrix: Personal Matrix](https://matrix.to/#/@daskolburn:thomcat.rocks "@daskolburn:thomcat.rocks"), [:simple-matrix: Org Matrix](https://matrix.to/#/@daskolburn:anonymousplanet.net "@daskolburn:anonymousplanet.net")
|
||||||
|
|
||||||
??? person "Nope"
|
??? person "Nope"
|
||||||
@@ -46,5 +46,5 @@ Anonymous Planet is a collective of volunteers.
|
|||||||
- [:simple-github: GitHub](https://github.com/nopeitsnothing "@nopeitsnothing")
|
- [:simple-github: GitHub](https://github.com/nopeitsnothing "@nopeitsnothing")
|
||||||
- [:simple-mastodon: Mastodon](https://ioc.exchange/@unknown "@unknown@ioc.exchange"){rel=me}
|
- [:simple-mastodon: Mastodon](https://ioc.exchange/@unknown "@unknown@ioc.exchange"){rel=me}
|
||||||
- [:fontawesome-solid-house: Homepage](https://www.itsnothing.net)
|
- [:fontawesome-solid-house: Homepage](https://www.itsnothing.net)
|
||||||
- [:fontawesome-solid-envelope: E-mail](mailto:contact@anonymousplanet.net)
|
- [:fontawesome-solid-envelope: E-mail](mailto:contact@anonymousplanet.org)
|
||||||
- [:simple-matrix: Personal Matrix](https://matrix.to/#/@thehidden:tchncs.de "@thehidden:tchncs.de"), [:simple-matrix: Org Matrix](https://matrix.to/#/@nope:anonymousplanet.net "@nope:anonymousplanet.net")
|
- [:simple-matrix: Personal Matrix](https://matrix.to/#/@thehidden:tchncs.de "@thehidden:tchncs.de"), [:simple-matrix: Org Matrix](https://matrix.to/#/@nope:anonymousplanet.net "@nope:anonymousplanet.net")
|
||||||
|
|||||||
@@ -4,9 +4,9 @@ description: Maintainers of the Hitchhiker's Guide and the PSA Community.
|
|||||||
schema:
|
schema:
|
||||||
"@context": https://schema.org
|
"@context": https://schema.org
|
||||||
"@type": Organization
|
"@type": Organization
|
||||||
"@id": https://www.anonymousplanet.net/
|
"@id": https://www.anonymousplanet.org/
|
||||||
name: Anonymous Planet
|
name: Anonymous Planet
|
||||||
url: https://www.anonymousplanet.net/mirrors/
|
url: https://www.anonymousplanet.org/mirrors/
|
||||||
logo: ../media/profile.png
|
logo: ../media/profile.png
|
||||||
sameAs:
|
sameAs:
|
||||||
- https://github.com/Anon-Planet
|
- https://github.com/Anon-Planet
|
||||||
@@ -19,11 +19,11 @@ schema:
|
|||||||
|
|
||||||
???+ tip "Where to find the Hitchhiker's Guide"
|
???+ tip "Where to find the Hitchhiker's Guide"
|
||||||
|
|
||||||
- [Original](https://anonymousplanet.net)
|
- [Original](https://anonymousplanet.org)
|
||||||
- [Tor v3](http://thgtoa3jzy3doku7hkna32htpghjijefscwvh4dyjgfydbbjkeiohgid.onion) **Down**
|
- [Tor v3](http://thgtoa3jzy3doku7hkna32htpghjijefscwvh4dyjgfydbbjkeiohgid.onion) **Down**
|
||||||
- [Archive.org](https://web.archive.org/web/https://anonymousplanet.net)
|
- [Archive.org](https://web.archive.org/web/https://anonymousplanet.org)
|
||||||
- [Archive.today](https://archive.fo/anonymousplanet.net)
|
- [Archive.today](https://archive.fo/anonymousplanet.org)
|
||||||
- [Archive.today over Tor](http://archiveiya74codqgiixo33q62qlrqtkgmcitqx5u2oeqnmn5bpcbiyd.onion/anonymousplanet.net)
|
- [Archive.today over Tor](http://archiveiya74codqgiixo33q62qlrqtkgmcitqx5u2oeqnmn5bpcbiyd.onion/anonymousplanet.org)
|
||||||
|
|
||||||
!!! Note "PDF export (single file)"
|
!!! Note "PDF export (single file)"
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -1,2 +1,2 @@
|
|||||||
39e7f8098d6c9511b98f83f4548ef8bac0d604fe820c4dbe1f731dbdff47676c0800872ba329492427cdfdf66734f55d03e3b4dd95b48e9e2ca2b3b4cd716213 thgtoa.pdf
|
7b9549543555e0da64175a3de010f50720a1d39d63d85da325433b03897ff0a1212b6c10467fec7c5cbe91dc7cab4f3ce17421be1e3dda8853d42ab5f1c34070 thgtoa.pdf
|
||||||
ba29fcd4ee9bd43a7ed96752bc372f7d374d69f3d37e33e04d07fd14fe4e62afccbc05471e8ad89632d31045a56eee9bde7c15a0c405f64c977e5e4ac30654fa thgtoa-dark.pdf
|
f0125984a62fb3776086230375d546e35459208cdccf1978007f92752b61274d66ef66694842668894db72bc3a39fd746b0579f264319f0b68ffdcfbe9e1ae1f thgtoa-dark.pdf
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
ad7b3e327559dd835755615103bb1c59ef6f41ba652f6ee40c8fcdd082914f49 thgtoa.pdf
|
54f44ad46d844bdfddb2579371059ef88cb56ff5eeba42644998e386a18d70ae thgtoa.pdf
|
||||||
1174ec6f1e074b6b0115cea54ee135e82e56771d7129dcf367037a7020d5b39c thgtoa-dark.pdf
|
c9a05d9fc09baa745099f029eab568dd1ed8fe36a9316a8919665629991a078c thgtoa-dark.pdf
|
||||||
|
|||||||
@@ -69302,7 +69302,7 @@ xref
|
|||||||
0021910912 00000 n
|
0021910912 00000 n
|
||||||
0022036117 00000 n
|
0022036117 00000 n
|
||||||
0022036228 00000 n
|
0022036228 00000 n
|
||||||
trailer << /Root 1 0 R /Size 723 /ID [<cd419da56268851842bfb9bf41343595><cd419da56268851842bfb9bf41343595>] >>
|
trailer << /Root 1 0 R /Size 723 /ID [<34966b1de2265041f3a7412e09160d59><34966b1de2265041f3a7412e09160d59>] >>
|
||||||
startxref
|
startxref
|
||||||
22147277
|
22147277
|
||||||
%%EOF
|
%%EOF
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
iHUEABYKAB0WIQTDAj2+o/s4xDi6Hu3Oxgrt6LmSogUCahwNewAKCRDOxgrt6LmS
|
iHUEABYKAB0WIQTDAj2+o/s4xDi6Hu3Oxgrt6LmSogUCahv3FQAKCRDOxgrt6LmS
|
||||||
opw7AQDdsg3JaS2vy2ZYCI4L1F+guKHF/zItJUSTj76DdOVzSAD+PKDCa4Io6OO9
|
orf3AP9xFUMGyki3135dZ9gm953aWNvRrLHjdcBz7pyh3e41awD/WFem/9WCLH1C
|
||||||
7v2odiJHOrbYNmte5FhhffUZL8Nz1A4=
|
2Q91cqnL1ysnnf1y6wpp0XtewWMnBQA=
|
||||||
=oBfF
|
=TLm3
|
||||||
-----END PGP SIGNATURE-----
|
-----END PGP SIGNATURE-----
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
ba29fcd4ee9bd43a7ed96752bc372f7d374d69f3d37e33e04d07fd14fe4e62afccbc05471e8ad89632d31045a56eee9bde7c15a0c405f64c977e5e4ac30654fa
|
f0125984a62fb3776086230375d546e35459208cdccf1978007f92752b61274d66ef66694842668894db72bc3a39fd746b0579f264319f0b68ffdcfbe9e1ae1f
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
iJEEABYKADkWIQTDAj2+o/s4xDi6Hu3Oxgrt6LmSogUCahwDIRsUgAAAAAAEAA5t
|
iJEEABYKADkWIQSfpUNtDuNgmFFXOCUX7KBfdo3t9gUCaeXaqxsUgAAAAAAEAA5t
|
||||||
YW51MiwyLjUrMS4xMiwyLDIACgkQzsYK7ei5kqJkrQD/etBsZk8BI71Dn0mgTDIQ
|
YW51MiwyLjUrMS4xMiwyLDIACgkQF+ygX3aN7fbdDgEAoSslLR47ydW/3r1wJOPY
|
||||||
HaYuAqtld5MmKaV9AxlniWABANt6V/0ivcXSsxajFdvpdu4TI9D4GR07ZeKFjYXV
|
X/waLkVbkGZpHqwd4RjywwcA/3B7Ci+jUg+yP5TRsuChagEhwyO5vw2DxSlUGoB4
|
||||||
EZsM
|
+ksH
|
||||||
=/p57
|
=2ja9
|
||||||
-----END PGP SIGNATURE-----
|
-----END PGP SIGNATURE-----
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
iJEEABYKADkWIQTDAj2+o/s4xDi6Hu3Oxgrt6LmSogUCahwDHxsUgAAAAAAEAA5t
|
iJEEABYKADkWIQSfpUNtDuNgmFFXOCUX7KBfdo3t9gUCaeXaqxsUgAAAAAAEAA5t
|
||||||
YW51MiwyLjUrMS4xMiwyLDIACgkQzsYK7ei5kqIsEgD+PNgOOJy7GPQUYuaDlxeh
|
YW51MiwyLjUrMS4xMiwyLDIACgkQF+ygX3aN7faErgD/Svj1G+B7gmrZQ6AsLZ5J
|
||||||
ldQWf58ivLfQ6zpgeSSTiqIA/19EDw+Un9AYuxikZGp39vcNFxEhnwD7dRWZo/Ie
|
HfeldxjmrXE99dig1iHtl5IBAMndZZb+95TO03IZ9eLGfYuyTz4GCUanmftsY9yv
|
||||||
ZyAE
|
LAIN
|
||||||
=OrTx
|
=MEd0
|
||||||
-----END PGP SIGNATURE-----
|
-----END PGP SIGNATURE-----
|
||||||
|
|||||||
Binary file not shown.
@@ -1,7 +1,7 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
iHUEABYKAB0WIQTDAj2+o/s4xDi6Hu3Oxgrt6LmSogUCahwNegAKCRDOxgrt6LmS
|
iHUEABYKAB0WIQTDAj2+o/s4xDi6Hu3Oxgrt6LmSogUCahv3FAAKCRDOxgrt6LmS
|
||||||
ov0tAQCNiaIONY2A6zRVXUcOolOOCJY1pi9SvuJ/yalbTQewawEAsi7bhFYAo6c0
|
otN3AQCAT+U5gzR11x2OiWq9xx0bCYYQc973rtabc/OB1RkwHgD+IUys8A9pAyf7
|
||||||
yAy/jBcGD5E5HzLlmjkGvYcwsvWPfQo=
|
5Npq+4SiPjhduZ7w82tMRffxdKAhWAU=
|
||||||
=lnwq
|
=K+IA
|
||||||
-----END PGP SIGNATURE-----
|
-----END PGP SIGNATURE-----
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
39e7f8098d6c9511b98f83f4548ef8bac0d604fe820c4dbe1f731dbdff47676c0800872ba329492427cdfdf66734f55d03e3b4dd95b48e9e2ca2b3b4cd716213
|
7b9549543555e0da64175a3de010f50720a1d39d63d85da325433b03897ff0a1212b6c10467fec7c5cbe91dc7cab4f3ce17421be1e3dda8853d42ab5f1c34070
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
iJEEABYKADkWIQTDAj2+o/s4xDi6Hu3Oxgrt6LmSogUCahwDIBsUgAAAAAAEAA5t
|
iJEEABYKADkWIQSfpUNtDuNgmFFXOCUX7KBfdo3t9gUCaeXaqxsUgAAAAAAEAA5t
|
||||||
YW51MiwyLjUrMS4xMiwyLDIACgkQzsYK7ei5kqJ6/QEAk2Ta0gygpWKSKstLjKwX
|
YW51MiwyLjUrMS4xMiwyLDIACgkQF+ygX3aN7fatsgEAixDzH+zTnKYMEx3sikWp
|
||||||
wmqIyrEza93Xk22owhYi3FAA/jQslZb0MahgPZyf3PQ8syUlBJS8gKQ8nBEpf5BO
|
dsNTiHTU6wJY/brVJIU879UBAJntBIq72vqwKtMb/ZlVvomdDvKVllZw8ZsYBz1n
|
||||||
Q/EK
|
aTkM
|
||||||
=Fvmv
|
=vkgy
|
||||||
-----END PGP SIGNATURE-----
|
-----END PGP SIGNATURE-----
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
iJEEABYKADkWIQTDAj2+o/s4xDi6Hu3Oxgrt6LmSogUCahwDHxsUgAAAAAAEAA5t
|
iJEEABYKADkWIQSfpUNtDuNgmFFXOCUX7KBfdo3t9gUCaeXaqxsUgAAAAAAEAA5t
|
||||||
YW51MiwyLjUrMS4xMiwyLDIACgkQzsYK7ei5kqIN4gEA2T011PhyNNqhGcj0uVTD
|
YW51MiwyLjUrMS4xMiwyLDIACgkQF+ygX3aN7faAGQEAyEhVKrRoXIsV3E5f1FZg
|
||||||
47AZKLxWhZXnLzD0sRUHY/oBAMWFfSXrKN5q8yml5dWLbvFqbcIpefgHD8smBd6v
|
8fcsmbxCnKBqxichCkf0dWYBAIvbI146mQLHaNqLDaTIqCUQbkq1aE/YMFDGykUG
|
||||||
fzUH
|
ngsJ
|
||||||
=3Cxi
|
=/0RY
|
||||||
-----END PGP SIGNATURE-----
|
-----END PGP SIGNATURE-----
|
||||||
|
|||||||
+2
-2
@@ -3,7 +3,7 @@ site_author: Anonymous Planet
|
|||||||
site_description: "The comprehensive guide for online #anonymity and #opsec."
|
site_description: "The comprehensive guide for online #anonymity and #opsec."
|
||||||
site_dir: '/site/'
|
site_dir: '/site/'
|
||||||
docs_dir: 'docs/'
|
docs_dir: 'docs/'
|
||||||
site_url: "https://www.anonymousplanet.net/"
|
site_url: "https://www.anonymousplanet.org/"
|
||||||
repo_url: "https://github.com/Anon-Planet/thgtoa"
|
repo_url: "https://github.com/Anon-Planet/thgtoa"
|
||||||
repo_name: ""
|
repo_name: ""
|
||||||
#edit_uri: ""
|
#edit_uri: ""
|
||||||
@@ -140,4 +140,4 @@ nav:
|
|||||||
- Releases: changelog/index.md
|
- Releases: changelog/index.md
|
||||||
|
|
||||||
copyright: |
|
copyright: |
|
||||||
<a href="https://anonymousplanet.net/">The Hitchhiker's Guide</a> ©2023-2026 by <a href="https://psa.anonymousplanet.net/">Anonymous Planet</a> is licensed under <a href="https://creativecommons.org/licenses/by-nc/4.0/">CC BY-NC 4.0</a><img src="https://mirrors.creativecommons.org/presskit/icons/cc.svg" alt="" style="max-width: 1em;max-height:1em;margin-left: .2em;"><img src="https://mirrors.creativecommons.org/presskit/icons/by.svg" alt="" style="max-width: 1em;max-height:1em;margin-left: .2em;"><img src="https://mirrors.creativecommons.org/presskit/icons/nc.svg" alt="" style="max-width: 1em;max-height:1em;margin-left: .2em;"></a>
|
<a href="https://anonymousplanet.org/">The Hitchhiker's Guide</a> ©2023-2026 by <a href="https://psa.anonymousplanet.org/">Anonymous Planet</a> is licensed under <a href="https://creativecommons.org/licenses/by-nc/4.0/">CC BY-NC 4.0</a><img src="https://mirrors.creativecommons.org/presskit/icons/cc.svg" alt="" style="max-width: 1em;max-height:1em;margin-left: .2em;"><img src="https://mirrors.creativecommons.org/presskit/icons/by.svg" alt="" style="max-width: 1em;max-height:1em;margin-left: .2em;"><img src="https://mirrors.creativecommons.org/presskit/icons/nc.svg" alt="" style="max-width: 1em;max-height:1em;margin-left: .2em;"></a>
|
||||||
|
|||||||
@@ -0,0 +1,69 @@
|
|||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
mQINBGNnDKYBEADEwpJcPVDJLJHlaRtBtVVJ2p2SaNwbZKgeI2zfpiLu4rTmpxUp
|
||||||
|
cbyW5S3mI++kGt4ljcKTzQM0+upr2hcdZi/rpwliHLOxsC32cvTy4YtPmoKdOalo
|
||||||
|
blJ9+llDbl0lBBvnqQcqFhnDMPXQPsaewWmCpGjwCwnQpxXLWmKhTYMxoQtzzZ8U
|
||||||
|
oagorLwASkb6+NZoha96ayDlE41KNErI51U8qiVxMR+8iN8pcJ1l3XA9bfMKBz45
|
||||||
|
TnlaoJ391CvJUgJ9535FjifmOyWTB0OYgJptMPz+n0K5jTOE7mvoqT6a/hqbAGDp
|
||||||
|
5i5LgSYVPfJqZsdrkQBMwO5pW9XymH7hNHPhaX6nPkDB8RLKexqso9pzLapG8WNC
|
||||||
|
sk+jxTC77TOFh9CniGks7UZoa0pRdhA5sGD0Wjh8eWgDRqdgYEmqviuulWnJDti0
|
||||||
|
dIQNixzh+TylEO8YNJyz49KUIr/ckapHfPI1BZWUyZZLpcvNvT/2IzcEeT3Tgmfr
|
||||||
|
IZsk2U91kA9z+BKEx8mJ7V5KZo7ku0uVgAtQn5oyluSIptUGwYu5DqhnZAqKXZok
|
||||||
|
S7i2NMghrPMM/Wf048VXuxO1Dx7CwP7Q1LCNhwL0jsLWtXIJVm7NtTt+1Vj/M4EH
|
||||||
|
Fl4g0B7iK6JiZEPYEp5YGSWpyhpSTKQaOOCHHKSCIjVx6VLm+/Xbaf6/TwARAQAB
|
||||||
|
tEtBbm9ueW1vdXMgUGxhbmV0IEVtYWlsIEVuY3J5cHRpb24vU2lnbmluZyBLZXkg
|
||||||
|
PGNvbnRhY3RAYW5vbnltb3VzcGxhbmV0Lm9yZz6JAk4EEwEKADgWIQS20XV2MqKA
|
||||||
|
+Z8ty/25q52Tr/BbnAUCY2cMpgIbAwULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAAK
|
||||||
|
CRC5q52Tr/BbnOA7EACeevkcNYbacvNJx+E8cAHyVRS7kuSWDfV0EvCeiCsZ3+sq
|
||||||
|
q9CFADbBn4wXuELdFcPSME5UGOMpZ3MVwWocHyRrU+axseO/OCgbl15nxgk3lsSK
|
||||||
|
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
|
||||||
|
J0nsuzwoKTRfhIDlYN7e
|
||||||
|
=Mkw3
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
mDMEY2cLxRYJKwYBBAHaRw8BAQdA1wWVN04/7B2thXG3Ppm9nj9BXOosgFUCq+6m
|
||||||
|
7q7jDUG0QUFub255bW91cyBQbGFuZXQgTWFzdGVyIFNpZ25pbmcgS2V5IChodHRw
|
||||||
|
czovL2Fub255bW91c3BsYW5ldC5vcmcpiJAEExYKADgWIQSeqYJ4Y58c2FPglsv/
|
||||||
|
lFB1h6apuQUCY2cLxQIbAwULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRD/lFB1
|
||||||
|
h6apuVvhAP0UTSY/QchH8LfHaw1inGaViik9rALbjdBeVRWofwyRSQD8DH2LRX3v
|
||||||
|
f/DgBOK7Li6OL05s9wsEYwoF+8B1qWJinQu4OARjZwvFEgorBgEEAZdVAQUBAQdA
|
||||||
|
xO3KbSonM28D2uTNHpXFRneFL3LqUO+8JW14eULOdxoDAQgHiHgEGBYKACAWIQSe
|
||||||
|
qYJ4Y58c2FPglsv/lFB1h6apuQUCY2cLxQIbDAAKCRD/lFB1h6apuZ32AQCiiR0d
|
||||||
|
bD29xEmQYf4b9F77jAdFFr2DoEGjeZBPoTrJywEA8m1dD5ZOS0qn1Yz3WkTgBflL
|
||||||
|
/0VkU6m06r/KxLL4fg0=
|
||||||
|
=4NMF
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
mDMEZc0J8xYJKwYBBAHaRw8BAQdAWIpOKf8GnTINRH7uW4oeGW4D4vfmK9xeQrnq
|
||||||
|
n/TMIMe0JEFub255bW91cyBQbGFuZXQgUmVsZWFzZSBTaWduaW5nIEtleYiTBBMW
|
||||||
|
CgA7FiEEwwI9vqP7OMQ4uh7tzsYK7ei5kqIFAmXNCfMCGwMFCwkIBwICIgIGFQoJ
|
||||||
|
CAsCBBYCAwECHgcCF4AACgkQzsYK7ei5kqJJVgD+NKdW7U/uMWl6Ov1Ye9PPy6Mb
|
||||||
|
IyyCYd2j5snO60e7msQA/0rxLaeLwzraevcE+WpdPMadxP2M8MxIKrKeAkKAe+IJ
|
||||||
|
iHUEEBYKAB0WIQSfpUNtDuNgmFFXOCUX7KBfdo3t9gUCZqRFIAAKCRAX7KBfdo3t
|
||||||
|
9o9LAP426yx71EP9sLKKpkkdAT19HJgsNBeA7SdR/DtMzWEbegD/f2oQYwVz3O1w
|
||||||
|
7xuUqJMHS6/bN1E8B78JSi576up9rA2IdQQQFgoAHRYhBJ+lQ20O42CYUVc4JRfs
|
||||||
|
oF92je32BQJp508bAAoJEBfsoF92je32TM8A/2j51Jc3owAx9STceeamG5GG7inq
|
||||||
|
5jRMyKlMG4Kw1y1lAQD2kKSR9tz/l4Yhvy96WOuQYb+uG0W78T12l2c61F/xBrg4
|
||||||
|
BGXNCfMSCisGAQQBl1UBBQEBB0DOf/mxiZClX/sJqtj7Ob+pCHbsMp9Wd4SHW7/P
|
||||||
|
FaUKHwMBCAeIeAQYFgoAIBYhBMMCPb6j+zjEOLoe7c7GCu3ouZKiBQJlzQnzAhsM
|
||||||
|
AAoJEM7GCu3ouZKie1EBAL5P2th3moOj4IDdXrP6KgdBB0kYweAHix0djG1jV/1+
|
||||||
|
AQDrgVyMPBbTEztpvc4cyyGAmI42SLM/jKbqO2yWqwVoAg==
|
||||||
|
=UoL3
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
||||||
@@ -1,89 +0,0 @@
|
|||||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
|
||||||
|
|
||||||
mDMEZc0QYxYJKwYBBAHaRw8BAQdAm8mOR8/0qWrm9Tqzfl9Ks5rjtIbQZLAR/qxH
|
|
||||||
HVGJsxi0LUFub255bW91cyBQbGFuZXQgRW1haWwgRW5jcnlwdGlvbi9TaWduaW5n
|
|
||||||
IEtleYiTBBMWCgA7FiEE/L0sq979H7ounnWRoags0t0s+JAFAmXNEGMCGwMFCwkI
|
|
||||||
BwICIgIGFQoJCAsCBBYCAwECHgcCF4AACgkQoags0t0s+JDbRAEAuZlBmMGgZ3bh
|
|
||||||
12Js9jjDcu+jhKqL4fJrJG5z9+KFkQwA/An1StA6EhcM7qlzZ5bzm2SZAbP9hQRZ
|
|
||||||
GmfaeU2P5KgHiHgEMBYKACAWIQSfpUNtDuNgmFFXOCUX7KBfdo3t9gUCaiCYTgId
|
|
||||||
AAAKCRAX7KBfdo3t9gNUAP9/SyGBYJ7s9YeqLHOJ+veQZjZYHvFGQ7yPn0Fetx0Z
|
|
||||||
LAD/UOQ8rP2QaldCMyVSG8SqfPd7n++SEAXWAl2gAo9mhg6IdQQQFgoAHRYhBJ+l
|
|
||||||
Q20O42CYUVc4JRfsoF92je32BQJmpEUQAAoJEBfsoF92je32tD8A/ir9hE8UjrJE
|
|
||||||
psG+PNfxYAwAagKUGbAMDUxQp3z+t81+AP45hYT4aR89zSQaankHLs3Lh7Cp5ael
|
|
||||||
NBe/BtfR9hCLAYkCMwQQAQgAHRYhBF7WeRgs0hkTAMDm6kyyELegkVLWBQJqIJiM
|
|
||||||
AAoJEEyyELegkVLWjZYP/j1k5vl+r0NDQXmE8hS9IKhaQPggP72iXc5RWeMQHuIv
|
|
||||||
b1laQZm64xerJNdAh0uk1bwfmJnVGfyxBUrlCgAIeVGRSlni2Rig4azaQ1IS0pqF
|
|
||||||
4sC1KzKEhEaNdkh3pJyGtP1cikcSjWeU2oYQou3/7VN3vNyW+n8OAVF+2fsC5d78
|
|
||||||
EvdpZgal+komb+J8Bt552uDbCCVI4TFIPBZmHWoXjaP6L+730YphbV7Aw0L5J6OO
|
|
||||||
ob0nzHn4X0dIvGE7Phdp2e1yNRUOSRLh8B/D5OiE9k7CaeYmJNPv5qOw/R+NgrrA
|
|
||||||
ZFnoOuwHo0D+aL9WT9q4aM/cDCEIbvhQ4l5ZhVGqZuQ9wxNCgPi3ZiZRTfk1PW4v
|
|
||||||
uMw1xGwXBKy7jDO12xWIWWv9MiwIQLw0OxSxKbr76rgucq7e7JrWr64rItu5Wm7F
|
|
||||||
8qxg2cwmDat6tFSRVWlEDy8oNkRMJNjdQJDu3ez9YOfJNnApAz94Of1XU7CUuYjY
|
|
||||||
PV88BaHdUBVtANEzy0iSDCcSj6auzLfv9dBN8cOdUxlVcrPf2jjK6JR/6qe6VWNp
|
|
||||||
wRg9VQW2fe8HJTMUt0o9qQBJUsF68KOHtIdoE4az9AyyBNKl67dKqLB9HoIItLzD
|
|
||||||
MJRcbS2p6plCTNagwPVvgtPRChll9JP3jLPVhRL2BixYVkbHUoJxsEfscTUl6Azt
|
|
||||||
tEtBbm9ueW1vdXMgUGxhbmV0IEVtYWlsIEVuY3J5cHRpb24vU2lnbmluZyBLZXkg
|
|
||||||
PGFub255bW91c3BsYW5ldEBkaXNyb290Lm9yZz6IkwQTFgoAOxYhBPy9LKve/R+6
|
|
||||||
Lp51kaGoLNLdLPiQBQJmhqXqAhsDBQsJCAcCAiICBhUKCQgLAgQWAgMBAh4HAheA
|
|
||||||
AAoJEKGoLNLdLPiQJ34A/RJT9Hyj7hT/0D1BbDU6s6YzD+/x7Pyq2+9kNSI0L77W
|
|
||||||
AQAAG+CfDrKDXJtBNKZVNFZpld3wUeoIOcAqLl7KpsVGCYh1BBAWCgAdFiEEn6VD
|
|
||||||
bQ7jYJhRVzglF+ygX3aN7fYFAmakRRAACgkQF+ygX3aN7fbypgEAnEg0IbWnpaLj
|
|
||||||
/4wU179vUZZu/Y0DE63GbJuZjj72hKUA/0xyzIgSvXByjoOkEwCn5w1+RPYXKw7Z
|
|
||||||
syERsDCUAAMIiQIzBBABCAAdFiEEXtZ5GCzSGRMAwObqTLIQt6CRUtYFAmogmIwA
|
|
||||||
CgkQTLIQt6CRUtafPQ/+LTWFU84tDZAM0Hp7bWB0dw8nP0JvNQ2WtZf0flh+r1tF
|
|
||||||
cmVnc9szZBh+zzSpY25iK5+Waa6+l1POYSQpkS67VR0Jrv9nL94YrRhqalSRWsjW
|
|
||||||
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
|
|
||||||
Eztpvc4cyyGAmI42SLM/jKbqO2yWqwVoAg==
|
|
||||||
=ww/S
|
|
||||||
-----END PGP PUBLIC KEY BLOCK-----
|
|
||||||
+23
-23
@@ -1,23 +1,23 @@
|
|||||||
# Import
|
# Import
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ gpg --import pgp/core-devs/*
|
$ gpg --import pgp/core-devs/*
|
||||||
```
|
```
|
||||||
|
|
||||||
# Verify
|
# Verify
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ gpg --verify pgp/core-devs/than/than-crypto.txt
|
$ gpg --verify pgp/core-devs/than/than-crypto.txt
|
||||||
|
|
||||||
|
|
||||||
gpg: Signature made Sat 19 Jul 2025 02:04:10 AM EDT
|
gpg: Signature made Sat 19 Jul 2025 02:04:10 AM EDT
|
||||||
gpg: using EDDSA key 8B3A74890536BAD50D9376EBF1CB32F67E3302A1
|
gpg: using EDDSA key 8B3A74890536BAD50D9376EBF1CB32F67E3302A1
|
||||||
gpg: Good signature from "nopenothinghere@proton.me <nopenothinghere@proton.me>" [ultimate]
|
gpg: Good signature from "nopenothinghere@proton.me <nopenothinghere@proton.me>" [ultimate]
|
||||||
gpg: aka "Nope Nothing (Anonymous Planet Contact) <no@anonymousplanet.net>" [ultimate]
|
gpg: aka "Nope Nothing (Anonymous Planet Contact) <no@anonymousplanet.org>" [ultimate]
|
||||||
gpg: aka "Nope Nothing (Systems Administrator) <admin@itsnothing.net>" [ultimate]
|
gpg: aka "Nope Nothing (Systems Administrator) <admin@itsnothing.net>" [ultimate]
|
||||||
Primary key fingerprint: 8B3A 7489 0536 BAD5 0D93 76EB F1CB 32F6 7E33 02A1
|
Primary key fingerprint: 8B3A 7489 0536 BAD5 0D93 76EB F1CB 32F6 7E33 02A1
|
||||||
```
|
```
|
||||||
|
|
||||||
## All signing keys are signed by the Master Signing Key
|
## All signing keys are signed by the Master Signing Key
|
||||||
|
|
||||||
TODO
|
TODO
|
||||||
|
|||||||
@@ -4,4 +4,4 @@ Scripts kept for reference but no longer part of the active pipeline.
|
|||||||
|
|
||||||
| Script | Why archived |
|
| Script | Why archived |
|
||||||
|--------|-------------|
|
|--------|-------------|
|
||||||
| `tag_release.py` | Created GPG-signed `vX.Y.Z` annotated tags. Superseded by the `release-YYYYMMDD-<sha>` timestamp tagging built into `03-release.yml`. Re-enable if semver release tagging is reintroduced. |
|
| `tag_release.py` | Created GPG-signed `vX.Y.Z` annotated tags. Superseded by the `release-YYYYMMDD-<sha>` timestamp tagging built into `release.yml`. Re-enable if semver release tagging is reintroduced. |
|
||||||
|
|||||||
@@ -396,7 +396,7 @@ def main() -> int:
|
|||||||
print("\n" + "=" * 70)
|
print("\n" + "=" * 70)
|
||||||
print(" ✓ All done. Push the tag with:")
|
print(" ✓ All done. Push the tag with:")
|
||||||
print(f"\n git push origin {version}\n")
|
print(f"\n git push origin {version}\n")
|
||||||
print(" The 03-release.yml workflow can then be triggered manually from")
|
print(" The release.yml workflow can then be triggered manually from")
|
||||||
print(" GitHub Actions to publish the GitHub Release for this tag.")
|
print(" GitHub Actions to publish the GitHub Release for this tag.")
|
||||||
print("=" * 70 + "\n")
|
print("=" * 70 + "\n")
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
"""Auto-generate and prepend a changelog entry to docs/changelog/index.md.
|
"""Auto-generate and prepend a changelog entry to docs/changelog/index.md.
|
||||||
|
|
||||||
Called by .github/workflows/04-changelog.yml. Reads git log since the last
|
Called by .github/workflows/changelog.yml. Reads git log since the last
|
||||||
changelog version, categorises commits by conventional-commit prefix,
|
changelog version, categorises commits by conventional-commit prefix,
|
||||||
and prepends a new ## [vX.Y.Z] section in the MkDocs admonition format used
|
and prepends a new ## [vX.Y.Z] section in the MkDocs admonition format used
|
||||||
by the rest of the file.
|
by the rest of the file.
|
||||||
|
|||||||
Reference in New Issue
Block a user