Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
35cc075adc | ||
|
|
f2dc66e22e | ||
|
|
5a15f2615a | ||
|
|
8b4542f4d9 | ||
|
|
04f5036f3e | ||
|
|
f079b5aba8 | ||
|
|
fc3763f85c | ||
|
|
4e26ae486b | ||
|
|
9dee4c7691 | ||
|
|
4579c5f14e | ||
|
|
bf00272811 | ||
|
|
ae1c293c6b | ||
|
|
45a8539a9e | ||
|
|
cc5ad371a8 | ||
|
|
84a7ccbdd9 | ||
|
|
4eaca49a1c | ||
|
|
c5e5ae48e1 | ||
|
|
d1817e9049 | ||
|
|
ede2a53437 | ||
|
|
91a77ed552 | ||
|
|
1c3cf75cf0 | ||
|
|
121be79cd8 | ||
|
|
3b550119a8 | ||
|
|
c19389ce49 | ||
|
|
aabcbac3d9 | ||
|
|
e11a1eb1ce | ||
|
|
df6cfbc94b | ||
|
|
095bb0d8be | ||
|
|
8b81081089 | ||
|
|
ccc97461c9 | ||
|
|
8d74635d49 | ||
|
|
f71e5e2a28 | ||
|
|
3e28ec19ad | ||
|
|
192da89138 | ||
|
|
c658c354ee | ||
|
|
343ad7f037 | ||
|
|
85ea1fee66 | ||
|
|
cdc54d8b3b | ||
|
|
823edbf4af | ||
|
|
f9d4c17ac6 | ||
|
|
4fd0413f4b | ||
|
|
bb005772af | ||
|
|
77840d7d5c | ||
|
|
f02a15a07c | ||
|
|
c0aa6b8814 | ||
|
|
c6fd2891e0 | ||
|
|
11f88859bf | ||
|
|
68b2687b6b | ||
|
|
3184181fa8 | ||
|
|
f3cb57230f | ||
|
|
5e8057bb1f | ||
|
|
ac3d2ceb37 | ||
|
|
5eded0af38 | ||
|
|
1bb0acc3e8 | ||
|
|
25bc901ece | ||
|
|
78a0a37ee8 | ||
|
|
aeb63cd7ba | ||
|
|
64ddd18535 | ||
|
|
7c9847e7d1 | ||
|
|
1e8c90513f | ||
|
|
2d09d7c01c | ||
|
|
1938e031ee | ||
|
|
8483d6336b | ||
|
|
1c168691c5 | ||
|
|
ae50911375 | ||
|
|
df2dd61676 | ||
|
|
904fa24478 | ||
|
|
28556c016c | ||
|
|
7bc3ed6bb6 | ||
|
|
9a58ca1b7c | ||
|
|
655e47fb8d | ||
|
|
c0eb8aa6f3 | ||
|
|
90aa8b5442 | ||
|
|
85912692d2 | ||
|
|
6305e1fbbb | ||
|
|
0b71c3f49a | ||
|
|
468ff8f4a1 | ||
|
|
11c2882ba5 | ||
|
|
4c3ca7bfd7 | ||
|
|
5636291c8a | ||
|
|
41ac52de0a | ||
|
|
f100633632 | ||
|
|
062128732e | ||
|
|
e0d16797ed | ||
|
|
d5659af3f7 | ||
|
|
a2dbdd10e9 | ||
|
|
cd00fa79fd | ||
|
|
c49cc87390 | ||
|
|
a14191bc7b | ||
|
|
a47e02939d | ||
|
|
52a38f5deb | ||
|
|
206a6ff6b7 | ||
|
|
0e8de6ccc0 | ||
|
|
d0dfec95db | ||
|
|
783f02f404 | ||
|
|
6c8dba5d5f | ||
|
|
ee32450516 | ||
|
|
c7452ea796 | ||
|
|
3621967517 | ||
|
|
88896a4f15 | ||
|
|
14de26d77d | ||
|
|
3b430dc96a | ||
|
|
565f3b8516 | ||
|
|
fd60ef8460 | ||
|
|
fb5e1fca74 | ||
|
|
02764539f2 | ||
|
|
2e0b7a9716 | ||
|
|
239d1c632f | ||
|
|
c76ccd3e43 | ||
|
|
37068765cc | ||
|
|
2c3dea5f41 | ||
|
|
d623dda610 | ||
|
|
8e386addb8 | ||
|
|
7b3599df63 | ||
|
|
ac870b1497 | ||
|
|
88cee5a3c0 | ||
|
|
56678b3567 | ||
|
|
3b1c5946ae | ||
|
|
6448e2b786 | ||
|
|
957da7e2af | ||
|
|
6c4fd4a5c0 | ||
|
|
2f5254a9fb | ||
|
|
23f2acb788 | ||
|
|
2bfa84de28 | ||
|
|
9b98497ed3 | ||
|
|
d212e86012 | ||
|
|
621a6ae3d0 | ||
|
|
377e8ecad7 | ||
|
|
2c35d7ced8 | ||
|
|
6caa68cca6 | ||
|
|
516eeb7177 | ||
|
|
500c3baa7f | ||
|
|
7dd6442f20 | ||
|
|
580a499841 | ||
|
|
dc786a2bcd | ||
|
|
75568fc90f | ||
|
|
7cc0ba2a1b | ||
|
|
1a934baede | ||
|
|
dadade4cc1 | ||
|
|
041e2937aa | ||
|
|
b8c265c929 | ||
|
|
11b6004bba | ||
|
|
ec6ff4f3e4 | ||
|
|
9bdff50575 | ||
|
|
6cb0883f83 | ||
|
|
061d1a544a | ||
|
|
2abc03f8bb | ||
|
|
4162aa5f50 | ||
|
|
bc4fea42a4 | ||
|
|
57698e248d | ||
|
|
c23dd99036 | ||
|
|
1273f7acc8 | ||
|
|
c73c3e446c | ||
|
|
2639e35f09 | ||
|
|
76e6bea50c | ||
|
|
1c7ea25ef9 | ||
|
|
993987c6ae | ||
|
|
148f30a9c9 | ||
|
|
983bd463c1 | ||
|
|
f0b66574d9 | ||
|
|
2d331680c0 | ||
|
|
f248363832 | ||
|
|
7c5f9c5290 | ||
|
|
cd0b6cd830 | ||
|
|
00bd59da91 | ||
|
|
9f4ae5158e | ||
|
|
80fc552f0c | ||
|
|
d65f9e65ea | ||
|
|
01c303df2f | ||
|
|
34a718db77 | ||
|
|
034d7cf0eb | ||
|
|
e7d22c6a78 | ||
|
|
a7bebf2cff | ||
|
|
c43ab1cecd | ||
|
|
15cb74186c | ||
|
|
7ecb5699da | ||
|
|
f7c43db799 | ||
|
|
87c70c37c8 | ||
|
|
fc5fc7f74f | ||
|
|
6f1362bd40 | ||
|
|
5636b005bb | ||
|
|
3ae7548f82 | ||
|
|
5f7d123736 | ||
|
|
6211e69168 | ||
|
|
506c941261 | ||
|
|
76ceebf1eb | ||
|
|
0ddd743812 | ||
|
|
1213b96488 | ||
|
|
91e34eff56 | ||
|
|
81d536b3c4 | ||
|
|
917052c1d3 | ||
|
|
8b926f28c1 | ||
|
|
862e1fffd0 | ||
|
|
df9bc408a1 | ||
|
|
7324c48e1c | ||
|
|
3b9f9d8a7c | ||
|
|
518ca98896 | ||
|
|
7ad1772b59 | ||
|
|
7800b012a2 | ||
|
|
2dc4b592a7 | ||
|
|
99bd1eb0cc | ||
|
|
df1d4e2bfc | ||
|
|
2c50757792 | ||
|
|
6b7d5cc8e5 | ||
|
|
33160ccc38 | ||
|
|
a61b106e55 | ||
|
|
3a0b52a99e | ||
|
|
eb97bbfa78 | ||
|
|
11b88c8349 | ||
|
|
7235fef327 | ||
|
|
fdf5c49afd | ||
|
|
c8bfb2ef7a | ||
|
|
5b95f8adc0 | ||
|
|
b2df270c20 | ||
|
|
7f3985ce53 | ||
|
|
e2bc642b9a | ||
|
|
6495449c4c | ||
|
|
c3237d9bfc | ||
|
|
b44f4a0db7 | ||
|
|
510330d061 | ||
|
|
be66fef4fb | ||
|
|
ae06351a02 | ||
|
|
b36c796b18 |
@@ -0,0 +1,9 @@
|
|||||||
|
[tool.commitizen]
|
||||||
|
name = "cz_conventional_commits"
|
||||||
|
|
||||||
|
# enforce sign-off below as well
|
||||||
|
extra_arguments = ["-S", "--signoff"]
|
||||||
|
|
||||||
|
# harmless redundancy
|
||||||
|
[tool.commitizen.customize]
|
||||||
|
schema_pattern = '^(feat|add|fix|bugfix|revert|security|perf|refactor|change|chore|ci|docs|style|test|build)(\(.+\))?(!)?: .{1,72}(\n.*)*\nSigned-off-by: .+ <.+@.+>'
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
# These are supported funding model platforms
|
|
||||||
|
|
||||||
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
|
||||||
patreon: # Replace with a single Patreon username
|
|
||||||
open_collective: # Replace with a single Open Collective username
|
|
||||||
ko_fi: # Replace with a single Ko-fi username
|
|
||||||
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
|
||||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
|
||||||
liberapay: # Replace with a single Liberapay username
|
|
||||||
issuehunt: # Replace with a single IssueHunt username
|
|
||||||
otechie: # Replace with a single Otechie username
|
|
||||||
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
|
|
||||||
custom: https://anonymousplanet.org/donations.html
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
---
|
|
||||||
name: Suggestion
|
|
||||||
about: Suggest something for the guide
|
|
||||||
title: ""
|
|
||||||
labels: "T: doc"
|
|
||||||
assignees: ""
|
|
||||||
---
|
|
||||||
|
|
||||||
**Please describe the scope.**
|
|
||||||
|
|
||||||
<!-- A clear and concise description of what the problem is,
|
|
||||||
e.g. something that is outdated or needs additional info.
|
|
||||||
Limit this to about 60-70 chars. -->
|
|
||||||
|
|
||||||
**Please describe the solution.**
|
|
||||||
|
|
||||||
<!-- A clear and concise description of what you want to happen
|
|
||||||
or see changed. You're welcome to ask for changes regarding
|
|
||||||
anything as long as it is in scope. -->
|
|
||||||
|
|
||||||
**Please describe alternatives.**
|
|
||||||
|
|
||||||
<!-- A clear and concise description of any alternative solutions
|
|
||||||
or features you've considered. e.g. "This could instead be
|
|
||||||
replaced by <some other program> or <other link>." Make sure it's
|
|
||||||
in scope. -->
|
|
||||||
|
|
||||||
**Give any additional relevant context.**
|
|
||||||
|
|
||||||
<!-- Add any other links and related imagery or data here. We
|
|
||||||
will not entertain any sort of suggestion that doesn't fit in the
|
|
||||||
threat model described in the guide. It is aimed at protecting
|
|
||||||
journalists, whistleblowers and activists, and any suggestion will
|
|
||||||
require research on the behalf of the person writing the issue. -->
|
|
||||||
@@ -0,0 +1,85 @@
|
|||||||
|
# 1. Push to main → 01-build.yml runs automatically → note the run ID
|
||||||
|
# 2. Manually trigger 02-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>
|
||||||
|
# 4. Manually trigger 04-changelog.yml with: version=v1.2.5
|
||||||
|
|
||||||
|
name: 📖 Build PDFs
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
build_mode:
|
||||||
|
description: 'PDF build mode'
|
||||||
|
required: true
|
||||||
|
default: 'both'
|
||||||
|
type: choice
|
||||||
|
options:
|
||||||
|
- light
|
||||||
|
- dark
|
||||||
|
- both
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- "docs/**"
|
||||||
|
- "mkdocs.yml"
|
||||||
|
- "scripts/**"
|
||||||
|
- ".github/workflows/01-build.yml"
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build PDFs
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
build_mode: ${{ steps.mode.outputs.build_mode }}
|
||||||
|
run_id: ${{ github.run_id }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: 🛠️ Checkout
|
||||||
|
uses: actions/checkout@v7
|
||||||
|
|
||||||
|
- name: 🐍 Set up Python
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: "3.13"
|
||||||
|
|
||||||
|
- name: 📦 Install Python dependencies
|
||||||
|
run: pip install "mkdocs-material[imaging]" pillow numpy
|
||||||
|
|
||||||
|
- name: 🖼️ Install poppler and qpdf
|
||||||
|
run: |
|
||||||
|
sudo apt-get update -qq
|
||||||
|
sudo apt-get install -y poppler-utils qpdf
|
||||||
|
|
||||||
|
- name: Setup Chrome
|
||||||
|
uses: browser-actions/setup-chrome@v2
|
||||||
|
with:
|
||||||
|
chrome-version: 120
|
||||||
|
install-dependencies: true
|
||||||
|
install-chromedriver: true
|
||||||
|
|
||||||
|
- name: 🖨️ Resolve build mode
|
||||||
|
id: mode
|
||||||
|
run: |
|
||||||
|
MODE="${{ inputs.build_mode || 'both' }}"
|
||||||
|
echo "build_mode=$MODE" >> $GITHUB_OUTPUT
|
||||||
|
echo "Building in mode: $MODE"
|
||||||
|
|
||||||
|
- name: 🖨️ Build PDFs
|
||||||
|
env:
|
||||||
|
CI: true
|
||||||
|
run: python scripts/build_guide_pdf.py --${{ steps.mode.outputs.build_mode }}
|
||||||
|
|
||||||
|
- name: 📤 Upload PDF artifacts
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: pdfs
|
||||||
|
path: |
|
||||||
|
export/thgtoa.pdf
|
||||||
|
export/thgtoa-dark.pdf
|
||||||
|
if-no-files-found: warn
|
||||||
|
retention-days: 90
|
||||||
|
compression-level: 0
|
||||||
@@ -0,0 +1,261 @@
|
|||||||
|
name: 🔏 Sign PDFs
|
||||||
|
|
||||||
|
# Can be triggered:
|
||||||
|
# 1. Automatically after build.yml completes on main
|
||||||
|
# 2. Manually, pointing at a specific build run to pull PDFs from
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
build_run_id:
|
||||||
|
description: 'build.yml run ID to download PDFs from'
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
|
||||||
|
# Download artifacts from other runs + commit export/ files back to the repo
|
||||||
|
permissions:
|
||||||
|
actions: read
|
||||||
|
contents: write
|
||||||
|
pull-requests: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
sign:
|
||||||
|
name: Hash & Sign PDFs
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
light_sha256: ${{ steps.hashes.outputs.light_sha256 }}
|
||||||
|
dark_sha256: ${{ steps.hashes.outputs.dark_sha256 }}
|
||||||
|
light_b2: ${{ steps.hashes.outputs.light_b2 }}
|
||||||
|
dark_b2: ${{ steps.hashes.outputs.dark_b2 }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: 🛠️ Checkout (for pgp/ key reference only)
|
||||||
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
sparse-checkout: pgp
|
||||||
|
sparse-checkout-cone-mode: true
|
||||||
|
|
||||||
|
- name: 📥 Download PDF artifacts
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: pdfs
|
||||||
|
path: export/
|
||||||
|
run-id: ${{ inputs.build_run_id }}
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: 📋 List downloaded files
|
||||||
|
run: ls -lh export/
|
||||||
|
|
||||||
|
- name: "#️⃣ Hash PDFs"
|
||||||
|
id: hashes
|
||||||
|
run: |
|
||||||
|
cd export
|
||||||
|
|
||||||
|
for f in thgtoa.pdf thgtoa-dark.pdf; do
|
||||||
|
[ -f "$f" ] || continue
|
||||||
|
sha256sum "$f" | awk '{print $1}' > "${f}.sha256"
|
||||||
|
b2sum "$f" | awk '{print $1}' > "${f}.b2sum"
|
||||||
|
done
|
||||||
|
|
||||||
|
# Combined summary files
|
||||||
|
sha256sum thgtoa.pdf thgtoa-dark.pdf 2>/dev/null > sha256sums.txt || \
|
||||||
|
sha256sum thgtoa.pdf 2>/dev/null > sha256sums.txt
|
||||||
|
b2sum thgtoa.pdf thgtoa-dark.pdf 2>/dev/null > b2sums.txt || \
|
||||||
|
b2sum thgtoa.pdf 2>/dev/null > b2sums.txt
|
||||||
|
|
||||||
|
light_sha256=$(cat thgtoa.pdf.sha256 2>/dev/null || echo "")
|
||||||
|
dark_sha256=$(cat thgtoa-dark.pdf.sha256 2>/dev/null || echo "")
|
||||||
|
light_b2=$(cat thgtoa.pdf.b2sum 2>/dev/null || echo "")
|
||||||
|
dark_b2=$(cat thgtoa-dark.pdf.b2sum 2>/dev/null || echo "")
|
||||||
|
|
||||||
|
echo "light_sha256=$light_sha256" >> $GITHUB_OUTPUT
|
||||||
|
echo "dark_sha256=$dark_sha256" >> $GITHUB_OUTPUT
|
||||||
|
echo "light_b2=$light_b2" >> $GITHUB_OUTPUT
|
||||||
|
echo "dark_b2=$dark_b2" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
echo "--- SHA-256 ---"
|
||||||
|
cat sha256sums.txt
|
||||||
|
echo "--- BLAKE2b ---"
|
||||||
|
cat b2sums.txt
|
||||||
|
|
||||||
|
# GPG sign — detached ASCII-armor signatures use .asc extension
|
||||||
|
- name: 🔑 Install GPG
|
||||||
|
run: |
|
||||||
|
sudo apt-get update -qq
|
||||||
|
sudo apt-get install -y gnupg
|
||||||
|
|
||||||
|
- name: 🔏 Import GPG signing key
|
||||||
|
env:
|
||||||
|
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
|
||||||
|
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
|
||||||
|
run: |
|
||||||
|
echo "$GPG_PRIVATE_KEY" | gpg --batch --import
|
||||||
|
echo "$GPG_PASSPHRASE" | gpg --batch --yes --passphrase-fd 0 \
|
||||||
|
--pinentry-mode loopback --list-secret-keys
|
||||||
|
|
||||||
|
- name: 🔏 Sign PDFs and hash files
|
||||||
|
env:
|
||||||
|
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
|
||||||
|
run: |
|
||||||
|
sign() {
|
||||||
|
local file="$1"
|
||||||
|
[ -f "$file" ] || return 0
|
||||||
|
echo "$GPG_PASSPHRASE" | gpg --batch --yes --passphrase-fd 0 \
|
||||||
|
--pinentry-mode loopback \
|
||||||
|
--detach-sign --armor --output "${file}.asc" "$file"
|
||||||
|
echo "Signed: $file → ${file}.asc"
|
||||||
|
}
|
||||||
|
sign export/thgtoa.pdf
|
||||||
|
sign export/thgtoa-dark.pdf
|
||||||
|
sign export/sha256sums.txt
|
||||||
|
sign export/b2sums.txt
|
||||||
|
|
||||||
|
# Commit export/ back to main
|
||||||
|
- name: 📦 Checkout full repo for commit
|
||||||
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
ref: main
|
||||||
|
fetch-depth: 0
|
||||||
|
path: repo
|
||||||
|
|
||||||
|
- name: 📂 Copy export files into repo
|
||||||
|
run: cp -v export/* repo/export/
|
||||||
|
|
||||||
|
- name: 🔏 Configure GPG commit signing
|
||||||
|
env:
|
||||||
|
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
|
||||||
|
run: |
|
||||||
|
mkdir -p ~/.gnupg
|
||||||
|
echo "$GPG_PRIVATE_KEY" | gpg --batch --quiet --import > /dev/null 2>&1 || true
|
||||||
|
git config --global commit.gpgSign true
|
||||||
|
git config --global gpg.program gpg
|
||||||
|
git config --global gpg.exectimeout 180
|
||||||
|
git config --global user.name "github-actions[bot]"
|
||||||
|
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
||||||
|
|
||||||
|
# If no change in git diff, do nothing
|
||||||
|
- name: 📤 Commit and push export/ to main
|
||||||
|
working-directory: repo
|
||||||
|
run: |
|
||||||
|
git add export/
|
||||||
|
if git diff --cached --quiet; then
|
||||||
|
echo "Nothing to commit — export/ is already up to date."
|
||||||
|
else
|
||||||
|
export GNUPGHOME=~/.gnupg
|
||||||
|
gpg --list-secret-keys --with-colons > /dev/null 2>&1 || true
|
||||||
|
git commit -S -m "chore(export): update PDFs, hashes and signatures [skip ci]"
|
||||||
|
git config --global credential.helper 'cache --timeout=600'
|
||||||
|
git push origin main
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Upload artifacts for 03-release.yml and verify job to consume
|
||||||
|
- name: 📤 Upload signatures artifact
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: signatures
|
||||||
|
path: |
|
||||||
|
export/sha256sums.txt
|
||||||
|
export/b2sums.txt
|
||||||
|
export/thgtoa.pdf.sha256
|
||||||
|
export/thgtoa-dark.pdf.sha256
|
||||||
|
export/thgtoa.pdf.b2sum
|
||||||
|
export/thgtoa-dark.pdf.b2sum
|
||||||
|
export/thgtoa.pdf.asc
|
||||||
|
export/thgtoa-dark.pdf.asc
|
||||||
|
export/sha256sums.txt.asc
|
||||||
|
export/b2sums.txt.asc
|
||||||
|
if-no-files-found: error
|
||||||
|
retention-days: 90
|
||||||
|
compression-level: 0
|
||||||
|
|
||||||
|
- name: 📤 Upload signed PDFs artifact
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: pdfs-signed
|
||||||
|
path: |
|
||||||
|
export/thgtoa.pdf
|
||||||
|
export/thgtoa-dark.pdf
|
||||||
|
if-no-files-found: warn
|
||||||
|
retention-days: 90
|
||||||
|
compression-level: 0
|
||||||
|
|
||||||
|
# Verify — runs after sign, surfaces results as a job summary
|
||||||
|
verify:
|
||||||
|
name: Verify hashes & signatures
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: sign
|
||||||
|
# Always run so the summary is visible even if sign partially failed
|
||||||
|
if: always()
|
||||||
|
# Do a sparse checkout on given patterns. Each pattern should be separated with new lines
|
||||||
|
steps:
|
||||||
|
- name: 🛠️ Checkout scripts and public key
|
||||||
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
sparse-checkout: |
|
||||||
|
scripts/verify_pdf.py
|
||||||
|
pgp
|
||||||
|
|
||||||
|
- name: 📥 Download signatures artifact
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: signatures
|
||||||
|
path: export/
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: 📥 Download signed PDFs artifact
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: pdfs-signed
|
||||||
|
path: export/
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: 🔑 Install GPG and import public key
|
||||||
|
run: |
|
||||||
|
sudo apt-get update -qq
|
||||||
|
sudo apt-get install -y gnupg
|
||||||
|
gpg --import pgp/anonymousplanet-release.asc
|
||||||
|
|
||||||
|
- name: 🐍 Set up Python
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: "3.13"
|
||||||
|
|
||||||
|
- name: 🔍 Run verify_pdf.py
|
||||||
|
id: verify
|
||||||
|
run: |
|
||||||
|
# Capture output and exit code separately so we can write the
|
||||||
|
# summary regardless of whether verification passed or failed.
|
||||||
|
set +e
|
||||||
|
output=$(python scripts/verify_pdf.py --hashes --signatures --export-dir export 2>&1)
|
||||||
|
exit_code=$?
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echo "exit_code=$exit_code" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
# ── Job summary ──────────────────────────────────────────────
|
||||||
|
{
|
||||||
|
if [ "$exit_code" -eq 0 ]; then
|
||||||
|
echo "## ✅ Verification passed"
|
||||||
|
else
|
||||||
|
echo "## ❌ Verification failed"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "**Run:** [\`${{ github.run_id }}\`](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) · **Commit:** [\`${GITHUB_SHA::7}\`](${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }}) · **By:** \`${{ github.actor }}\`"
|
||||||
|
echo ""
|
||||||
|
echo "### Script output"
|
||||||
|
echo '```'
|
||||||
|
echo "$output"
|
||||||
|
echo '```'
|
||||||
|
echo ""
|
||||||
|
echo "### Hashes"
|
||||||
|
echo '```'
|
||||||
|
echo "── SHA-256 ──────────────────────────────────────────────────────"
|
||||||
|
cat export/sha256sums.txt 2>/dev/null || echo "(not found)"
|
||||||
|
echo ""
|
||||||
|
echo "── BLAKE2b ──────────────────────────────────────────────────────"
|
||||||
|
cat export/b2sums.txt 2>/dev/null || echo "(not found)"
|
||||||
|
echo '```'
|
||||||
|
} >> $GITHUB_STEP_SUMMARY
|
||||||
|
|
||||||
|
# Propagate failure so the job is marked red if verification fails
|
||||||
|
exit $exit_code
|
||||||
@@ -0,0 +1,192 @@
|
|||||||
|
name: 🚀 Release
|
||||||
|
|
||||||
|
# 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
|
||||||
|
# automatically passed to the tag input. Exports "inputs.version" to $TAG.
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
sign_run_id:
|
||||||
|
description: '02-sign.yml run ID to pull signatures and PDFs from'
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
prerelease:
|
||||||
|
description: 'Mark as pre-release?'
|
||||||
|
required: false
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
version:
|
||||||
|
description: 'Version string to record (e.g. v1.2.4) — required'
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write # create releases and tags
|
||||||
|
actions: read # download artifacts from other runs
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
release:
|
||||||
|
name: Publish GitHub Release
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: 🛠️ Checkout (for pgp/)
|
||||||
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
sparse-checkout: pgp
|
||||||
|
sparse-checkout-cone-mode: true
|
||||||
|
|
||||||
|
# Download artifacts from the specified sign run
|
||||||
|
- name: 📥 Download signatures artifact
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: signatures
|
||||||
|
path: release/
|
||||||
|
run-id: ${{ inputs.sign_run_id }}
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: 📥 Download signed PDFs artifact
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: pdfs-signed
|
||||||
|
path: release/
|
||||||
|
run-id: ${{ inputs.sign_run_id }}
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: 📋 List release assets
|
||||||
|
run: ls -lh release/
|
||||||
|
|
||||||
|
# Read hashes for the release body
|
||||||
|
- name: "#️⃣ Read hashes"
|
||||||
|
id: hashes
|
||||||
|
run: |
|
||||||
|
read_hash() { cat "release/$1" 2>/dev/null || echo "(not built)"; }
|
||||||
|
echo "light_sha256=$(read_hash thgtoa.pdf.sha256)" >> $GITHUB_OUTPUT
|
||||||
|
echo "dark_sha256=$(read_hash thgtoa-dark.pdf.sha256)" >> $GITHUB_OUTPUT
|
||||||
|
echo "light_b2=$(read_hash thgtoa.pdf.b2sum)" >> $GITHUB_OUTPUT
|
||||||
|
echo "dark_b2=$(read_hash thgtoa-dark.pdf.b2sum)" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
# VirusTotal
|
||||||
|
- name: 🦠 Upload PDFs to VirusTotal
|
||||||
|
id: vt
|
||||||
|
uses: crazy-max/ghaction-virustotal@v5
|
||||||
|
with:
|
||||||
|
vt_api_key: ${{ secrets.VT_API_KEY }}
|
||||||
|
files: |
|
||||||
|
release/thgtoa.pdf
|
||||||
|
release/thgtoa-dark.pdf
|
||||||
|
|
||||||
|
- name: 🔗 Build VT report URLs
|
||||||
|
id: vt_urls
|
||||||
|
run: |
|
||||||
|
light_hash=$(cat release/thgtoa.pdf.sha256 2>/dev/null || echo "")
|
||||||
|
dark_hash=$(cat release/thgtoa-dark.pdf.sha256 2>/dev/null || echo "")
|
||||||
|
if [ -n "$light_hash" ]; then
|
||||||
|
echo "light_vt=https://www.virustotal.com/gui/file/${light_hash}" >> $GITHUB_OUTPUT
|
||||||
|
else
|
||||||
|
echo "light_vt=(not built)" >> $GITHUB_OUTPUT
|
||||||
|
fi
|
||||||
|
if [ -n "$dark_hash" ]; then
|
||||||
|
echo "dark_vt=https://www.virustotal.com/gui/file/${dark_hash}" >> $GITHUB_OUTPUT
|
||||||
|
else
|
||||||
|
echo "dark_vt=(not built)" >> $GITHUB_OUTPUT
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Generate release tag — timestamp + short SHA, always unique
|
||||||
|
- name: 🏷️ Generate release tag
|
||||||
|
id: tag
|
||||||
|
run: |
|
||||||
|
SHORT_SHA=$(echo "${{ github.sha }}" | cut -c1-7)
|
||||||
|
DATE=$(date -u +'%Y%m%d')
|
||||||
|
TAG="${{ inputs.version }}"
|
||||||
|
NAME="Release ${DATE} (${SHORT_SHA})"
|
||||||
|
echo "tag=$TAG" >> $GITHUB_OUTPUT
|
||||||
|
echo "name=$NAME" >> $GITHUB_OUTPUT
|
||||||
|
echo "Tag: $TAG"
|
||||||
|
|
||||||
|
# Create GitHub Release
|
||||||
|
- name: 🚀 Create GitHub Release
|
||||||
|
uses: softprops/action-gh-release@v2
|
||||||
|
with:
|
||||||
|
tag_name: ${{ steps.tag.outputs.tag }}
|
||||||
|
name: ${{ steps.tag.outputs.name }}
|
||||||
|
prerelease: ${{ inputs.prerelease || false }}
|
||||||
|
draft: true
|
||||||
|
fail_on_unmatched_files: false
|
||||||
|
body: |
|
||||||
|
## 📖 The Hitchhiker's Guide to Online Anonymity
|
||||||
|
|
||||||
|
Built from [`${{ inputs.version }}`](${{ github.server_url }}/${{ github.repository }}/releases/tag/${{ inputs.version }}).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 📄 Release assets
|
||||||
|
|
||||||
|
| File | Description |
|
||||||
|
|------|-------------|
|
||||||
|
| `thgtoa.pdf` | Light mode PDF |
|
||||||
|
| `thgtoa-dark.pdf` | Dark mode PDF (hacker theme) |
|
||||||
|
| `sha256sums.txt` | SHA-256 checksums (both files) |
|
||||||
|
| `b2sums.txt` | BLAKE2b checksums (both files) |
|
||||||
|
| `thgtoa.pdf.sha256` | SHA-256 — light PDF |
|
||||||
|
| `thgtoa-dark.pdf.sha256` | SHA-256 — dark PDF |
|
||||||
|
| `thgtoa.pdf.b2sum` | BLAKE2b — light PDF |
|
||||||
|
| `thgtoa-dark.pdf.b2sum` | BLAKE2b — dark PDF |
|
||||||
|
| `*.asc` | GPG detached signatures (ASCII armor) |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### #️⃣ Hashes
|
||||||
|
|
||||||
|
**thgtoa.pdf** (light)
|
||||||
|
```text
|
||||||
|
SHA-256 ${{ steps.hashes.outputs.light_sha256 }}
|
||||||
|
BLAKE2b ${{ steps.hashes.outputs.light_b2 }}
|
||||||
|
```
|
||||||
|
|
||||||
|
**thgtoa-dark.pdf** (dark)
|
||||||
|
```text
|
||||||
|
SHA-256 ${{ steps.hashes.outputs.dark_sha256 }}
|
||||||
|
BLAKE2b ${{ steps.hashes.outputs.dark_b2 }}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 🔏 Verifying GPG signatures
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# Import the release signing key
|
||||||
|
gpg --import pgp/anonymousplanet-release.asc
|
||||||
|
|
||||||
|
# Verify PDFs
|
||||||
|
gpg --verify thgtoa.pdf.asc thgtoa.pdf
|
||||||
|
gpg --verify thgtoa-dark.pdf.asc thgtoa-dark.pdf
|
||||||
|
|
||||||
|
# Verify hash files
|
||||||
|
gpg --verify sha256sums.txt.asc sha256sums.txt
|
||||||
|
gpg --verify b2sums.txt.asc b2sums.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 🦠 VirusTotal scans
|
||||||
|
|
||||||
|
| File | Report |
|
||||||
|
|------|--------|
|
||||||
|
| `thgtoa.pdf` | ${{ steps.vt_urls.outputs.light_vt }} |
|
||||||
|
| `thgtoa-dark.pdf` | ${{ steps.vt_urls.outputs.dark_vt }} |
|
||||||
|
|
||||||
|
files: |
|
||||||
|
release/thgtoa.pdf
|
||||||
|
release/thgtoa-dark.pdf
|
||||||
|
release/sha256sums.txt
|
||||||
|
release/b2sums.txt
|
||||||
|
release/thgtoa.pdf.sha256
|
||||||
|
release/thgtoa-dark.pdf.sha256
|
||||||
|
release/thgtoa.pdf.b2sum
|
||||||
|
release/thgtoa-dark.pdf.b2sum
|
||||||
|
release/thgtoa.pdf.asc
|
||||||
|
release/thgtoa-dark.pdf.asc
|
||||||
|
release/sha256sums.txt.asc
|
||||||
|
release/b2sums.txt.asc
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
name: 📝 Update Changelog
|
||||||
|
|
||||||
|
# Manual only — run after a release is published. Provide the exact version
|
||||||
|
# string (e.g. v1.2.4) to prepend to the changelog. Version is required to
|
||||||
|
# prevent silent auto-increment drift from release tags.
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
version:
|
||||||
|
description: 'Version string to record (e.g. v1.2.4) — required'
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
dry_run:
|
||||||
|
description: 'Dry run — print entry without committing'
|
||||||
|
required: false
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write # commit changelog back to main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
changelog:
|
||||||
|
name: Prepend changelog entry
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: 🛠️ Checkout
|
||||||
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
# Use a PAT so the commit triggers downstream workflows (GITHUB_TOKEN won't)
|
||||||
|
token: ${{ secrets.CHANGELOG_PAT || secrets.GITHUB_TOKEN }}
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: 🐍 Set up Python
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: "3.13"
|
||||||
|
|
||||||
|
- name: 📝 Generate and prepend changelog entry
|
||||||
|
env:
|
||||||
|
DRY_RUN: ${{ inputs.dry_run || 'false' }}
|
||||||
|
MANUAL_VERSION: ${{ inputs.version }}
|
||||||
|
GH_SHA: ${{ github.sha }}
|
||||||
|
GH_REF: ${{ github.ref_name }}
|
||||||
|
TRIGGERING_SHA: ${{ github.event.workflow_run.head_sha || github.sha }}
|
||||||
|
run: python scripts/update_changelog.py
|
||||||
|
|
||||||
|
- name: 📤 Commit changelog
|
||||||
|
if: ${{ inputs.dry_run != 'true' }}
|
||||||
|
run: |
|
||||||
|
git config user.name "github-actions[bot]"
|
||||||
|
git config user.email "github-actions[bot]@users.noreply.github.com"
|
||||||
|
git add docs/changelog/index.md
|
||||||
|
# Only commit if there's actually a change
|
||||||
|
git diff --cached --quiet && echo "No changelog change to commit." || \
|
||||||
|
git commit -m "docs: update changelog [skip ci]"
|
||||||
|
git push
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
name: Push to Mirrors
|
|
||||||
|
|
||||||
on: [ push, delete, create ]
|
|
||||||
|
|
||||||
# Ensures that only one mirror task will run at a time.
|
|
||||||
concurrency:
|
|
||||||
group: git-mirror
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
gitlab:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Official GitLab Mirror
|
|
||||||
uses: wearerequired/git-mirror-action@v1
|
|
||||||
env:
|
|
||||||
SSH_PRIVATE_KEY: ${{ SSH_PRIVATE_KEY }}
|
|
||||||
with:
|
|
||||||
source-repo: "git@github.com:Anon-Planet/thgtoa.git"
|
|
||||||
destination-repo: "git@gitlab.com:anonymousplanetorg/thgtoa.git"
|
|
||||||
|
|
||||||
codeberg:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Official Codeberg Mirror
|
|
||||||
uses: wearerequired/git-mirror-action@v1
|
|
||||||
env:
|
|
||||||
SSH_PRIVATE_KEY: ${{ SSH_PRIVATE_KEY }}
|
|
||||||
with:
|
|
||||||
source-repo: "git@github.com:Anon-Planet/thgtoa.git"
|
|
||||||
destination-repo: "git@codeberg.org:anonypla/thgtoa.git"
|
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
name: 🚀 Publish docs via GitHub Pages
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Publish the Hitchhiker's Guide
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout main
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Deploy docs
|
||||||
|
uses: mhausenblas/mkdocs-deploy-gh-pages@master
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
CUSTOM_DOMAIN: anonymousplanet.net
|
||||||
@@ -1,4 +1,29 @@
|
|||||||
# Minimize global Ruby .gitignore
|
# Visual Studio (Windows) solution metadata
|
||||||
Gemfile
|
.vs/
|
||||||
Gemfile.lock
|
.vscode/
|
||||||
_site/
|
|
||||||
|
# Python (MkDocs, scripts/build_guide_pdf.py)
|
||||||
|
__pycache__/
|
||||||
|
*.py[cod]
|
||||||
|
*$py.class
|
||||||
|
.venv/
|
||||||
|
venv/
|
||||||
|
env/
|
||||||
|
ENV/
|
||||||
|
.env
|
||||||
|
|
||||||
|
# Cache
|
||||||
|
.cache/
|
||||||
|
|
||||||
|
# MkDocs build output and local PDF export
|
||||||
|
site/
|
||||||
|
_site/
|
||||||
|
_site_test/
|
||||||
|
build/
|
||||||
|
|
||||||
|
# Export directory — track only hashes and signatures, not the PDFs themselves
|
||||||
|
export/thgtoa.pdf.sha256
|
||||||
|
export/thgtoa-dark.pdf.sha256
|
||||||
|
export/thgtoa.pdf.b2sum
|
||||||
|
export/thgtoa-dark.pdf.b2sum
|
||||||
|
export/*.asc
|
||||||
|
|||||||
@@ -0,0 +1,182 @@
|
|||||||
|
---
|
||||||
|
# Documentation:
|
||||||
|
# https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md
|
||||||
|
|
||||||
|
# Default state for all rules
|
||||||
|
default: false
|
||||||
|
|
||||||
|
# MD001/heading-increment/header-increment - Heading levels should only increment by one level at a time
|
||||||
|
MD001: true
|
||||||
|
|
||||||
|
# MD002/first-heading-h1/first-header-h1 - First heading should be a top-level heading
|
||||||
|
MD002:
|
||||||
|
# Heading level
|
||||||
|
level: 1
|
||||||
|
|
||||||
|
# MD003/heading-style/header-style - Heading style
|
||||||
|
|
||||||
|
MD003:
|
||||||
|
# Heading style
|
||||||
|
# # ATX style H1
|
||||||
|
style: "atx"
|
||||||
|
|
||||||
|
# MD004/ul-style - Unordered list style
|
||||||
|
MD004:
|
||||||
|
# List style
|
||||||
|
style: "sublist"
|
||||||
|
|
||||||
|
# MD005/list-indent - Inconsistent indentation for list items at the same level
|
||||||
|
MD005: true
|
||||||
|
|
||||||
|
# MD006/ul-start-left - Consider starting bulleted lists at the beginning of the line
|
||||||
|
MD006: true
|
||||||
|
|
||||||
|
# MD007/ul-indent - Unordered list indentation
|
||||||
|
MD007:
|
||||||
|
# Spaces for indent
|
||||||
|
indent: 4
|
||||||
|
# Whether to indent the first level of the list
|
||||||
|
start_indented: false
|
||||||
|
|
||||||
|
# MD009/no-trailing-spaces - Trailing spaces
|
||||||
|
MD009:
|
||||||
|
# Spaces for line break
|
||||||
|
br_spaces: 2
|
||||||
|
# Allow spaces for empty lines in list items
|
||||||
|
list_item_empty_lines: false
|
||||||
|
# Include unnecessary breaks
|
||||||
|
strict: false
|
||||||
|
|
||||||
|
# MD010/no-hard-tabs - Hard tabs
|
||||||
|
MD010:
|
||||||
|
# Include code blocks
|
||||||
|
code_blocks: false
|
||||||
|
# Number of spaces for each hard tab
|
||||||
|
spaces_per_tab: 1
|
||||||
|
|
||||||
|
# MD011/no-reversed-links - Reversed link syntax
|
||||||
|
MD011: true
|
||||||
|
|
||||||
|
# MD012/no-multiple-blanks - Multiple consecutive blank lines
|
||||||
|
MD012:
|
||||||
|
# Consecutive blank lines
|
||||||
|
maximum: 1
|
||||||
|
# MD013/line-length - Line length
|
||||||
|
MD013: false
|
||||||
|
|
||||||
|
# MD014/commands-show-output - Dollar signs used before commands without showing output
|
||||||
|
# TODO: set false for now but we should consider enabling it
|
||||||
|
# https://cirosantilli.com/markdown-style-guide#dollar-signs-in-shell-code
|
||||||
|
MD014: false
|
||||||
|
|
||||||
|
# MD018/no-missing-space-atx - No space after hash on atx style heading
|
||||||
|
MD018: true
|
||||||
|
|
||||||
|
# MD019/no-multiple-space-atx - Multiple spaces after hash on atx style heading
|
||||||
|
MD019: true
|
||||||
|
|
||||||
|
# MD022/blanks-around-headings/blanks-around-headers - Headings should be surrounded by blank lines
|
||||||
|
MD022:
|
||||||
|
# Blank lines above heading
|
||||||
|
lines_above: 1
|
||||||
|
# Blank lines below heading
|
||||||
|
lines_below: 1
|
||||||
|
|
||||||
|
# MD023/heading-start-left/header-start-left - Headings must start at the beginning of the line
|
||||||
|
MD023: true
|
||||||
|
|
||||||
|
# MD025/single-title/single-h1 - Multiple top-level headings in the same document
|
||||||
|
# TODO: consider enabling it
|
||||||
|
|
||||||
|
# MD026/no-trailing-punctuation - Trailing punctuation in heading
|
||||||
|
MD026:
|
||||||
|
# Punctuation characters
|
||||||
|
punctuation: ".,;:!。,;:!"
|
||||||
|
|
||||||
|
# MD027/no-multiple-space-blockquote - Multiple spaces after blockquote symbol
|
||||||
|
MD027: true
|
||||||
|
|
||||||
|
# MD028/no-blanks-blockquote - Blank line inside blockquote
|
||||||
|
MD028: true
|
||||||
|
|
||||||
|
# MD029/ol-prefix - Ordered list item prefix
|
||||||
|
MD029:
|
||||||
|
# List style
|
||||||
|
style: "one_or_ordered"
|
||||||
|
|
||||||
|
# MD030/list-marker-space - Spaces after list markers
|
||||||
|
MD030:
|
||||||
|
# Spaces for single-line unordered list items
|
||||||
|
ul_single: 1
|
||||||
|
# Spaces for single-line ordered list items
|
||||||
|
ol_single: 1
|
||||||
|
# Spaces for multi-line unordered list items
|
||||||
|
ul_multi: 1
|
||||||
|
# Spaces for multi-line ordered list items
|
||||||
|
ol_multi: 1
|
||||||
|
|
||||||
|
# MD031/blanks-around-fences - Fenced code blocks should be surrounded by blank lines
|
||||||
|
MD031:
|
||||||
|
# Include list items
|
||||||
|
list_items: true
|
||||||
|
|
||||||
|
# MD033/no-inline-html - Inline HTML
|
||||||
|
# MD033:before uncomment, update docs/dasharo-tools-suite/documentation.md:18:1
|
||||||
|
# and docs/variants/msi_z690/initial-deployment.md:14:1
|
||||||
|
# Allowed elements
|
||||||
|
# allowed_elements: ["br", "center", "img", "script", "form", "input", "iframe"]
|
||||||
|
|
||||||
|
# MD034/no-bare-urls - Bare URL used
|
||||||
|
MD034: false
|
||||||
|
|
||||||
|
# MD035/hr-style - Horizontal rule style
|
||||||
|
MD035:
|
||||||
|
# Horizontal rule style
|
||||||
|
style: "---"
|
||||||
|
|
||||||
|
# MD037/no-space-in-emphasis - Spaces inside emphasis markers
|
||||||
|
MD037: true
|
||||||
|
|
||||||
|
# MD038/no-space-in-code - Spaces inside code span elements
|
||||||
|
# MD038: true - Rule temporarily disabled, it prevents new tabs from being
|
||||||
|
# formatted correctly - eg. docs/unified/novacustom/building-manual.md:46
|
||||||
|
|
||||||
|
# MD039/no-space-in-links - Spaces inside link text
|
||||||
|
MD039: true
|
||||||
|
|
||||||
|
# MD040/fenced-code-language - Fenced code blocks should have a language specified
|
||||||
|
MD040: true
|
||||||
|
|
||||||
|
# MD041/first-line-heading/first-line-h1 - First line in a file should be a top-level heading
|
||||||
|
MD041:
|
||||||
|
# Heading level
|
||||||
|
level: 1
|
||||||
|
# RegExp for matching title in front matter
|
||||||
|
front_matter_title: "^\\s*title\\s*[:=]"
|
||||||
|
|
||||||
|
# MD042/no-empty-links - No empty links
|
||||||
|
MD042: true
|
||||||
|
|
||||||
|
# MD046/code-block-style - Code block style
|
||||||
|
# MD046: Rule temporarily disabled, it prevents new tabs from being formatted
|
||||||
|
# correctly - eg. docs/unified/novacustom/overview.md:9
|
||||||
|
# Block style
|
||||||
|
# style: "fenced"
|
||||||
|
|
||||||
|
# MD047/single-trailing-newline - Files should end with a single newline character
|
||||||
|
MD047: true
|
||||||
|
|
||||||
|
# MD048/code-fence-style - Code fence style
|
||||||
|
MD048:
|
||||||
|
# Code fence style
|
||||||
|
style: "backtick"
|
||||||
|
|
||||||
|
# MD049/emphasis-style - Emphasis style should be consistent
|
||||||
|
MD049:
|
||||||
|
# Emphasis style should be consistent
|
||||||
|
style: "underscore"
|
||||||
|
|
||||||
|
# MD050/strong-style - Strong style should be consistent
|
||||||
|
MD050:
|
||||||
|
# Strong style should be consistent
|
||||||
|
style: "asterisk"
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
---
|
||||||
|
default_stages: [pre-commit]
|
||||||
|
|
||||||
|
default_install_hook_types: [pre-commit, commit-msg]
|
||||||
|
|
||||||
|
repos:
|
||||||
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||||
|
rev: v5.0.0
|
||||||
|
hooks:
|
||||||
|
- id: check-added-large-files
|
||||||
|
- id: check-merge-conflict
|
||||||
|
- id: check-symlinks
|
||||||
|
- id: end-of-file-fixer
|
||||||
|
- id: trailing-whitespace
|
||||||
|
- id: mixed-line-ending
|
||||||
|
args: [--fix=lf]
|
||||||
|
|
||||||
|
- repo: https://github.com/commitizen-tools/commitizen
|
||||||
|
rev: v4.8.3
|
||||||
|
hooks:
|
||||||
|
- id: commitizen
|
||||||
|
stages: [commit-msg]
|
||||||
|
|
||||||
|
- repo: local
|
||||||
|
hooks:
|
||||||
|
- id: require-commit-body
|
||||||
|
name: Avoid bad commits
|
||||||
|
language: script
|
||||||
|
entry: scripts/hooks/require-commit-body.sh
|
||||||
|
stages: [commit-msg]
|
||||||
@@ -1,857 +0,0 @@
|
|||||||
v1.1.6 "The one where the documents all build."
|
|
||||||
|
|
||||||
The thing works now.
|
|
||||||
|
|
||||||
- Fixed the errors in pandoc (Tex2PDF) build
|
|
||||||
- Updated Tor .onion links
|
|
||||||
- Drank a boat load of espresso
|
|
||||||
|
|
||||||
v1.1.6-pre2
|
|
||||||
- I know, I know. Pre-release? Again??! v1.1.6 coming **very** soon.
|
|
||||||
- Update to $OXEN staking prices in Session section
|
|
||||||
- Small grammar/spelling fixes
|
|
||||||
- Fix image inline linking issue (stop using dual linking)
|
|
||||||
- Re-order hardlinks to make it easy to manage
|
|
||||||
|
|
||||||
v1.1.6-pre1
|
|
||||||
- Update on Tor Browser route due to major changes
|
|
||||||
- Tor Project has condensed their settings and it is no longer
|
|
||||||
necessary to manually configure bridges.
|
|
||||||
- Fix out of date options/settings for Tor on Android
|
|
||||||
- Small grammar/spelling fixes
|
|
||||||
- Removal and fix of some bad links
|
|
||||||
- Removal of AnonArchive (down)
|
|
||||||
- "How to spot if someone has been searching your stuff" fixed
|
|
||||||
- PDF and ODT builds disabled temporarily
|
|
||||||
- Update to social links for SEO plugin
|
|
||||||
- Link to Qubes tutorial for installing Windows VMs
|
|
||||||
- Added link to Arkenfox/user.js
|
|
||||||
- Remove unnecessary addons
|
|
||||||
|
|
||||||
v1.1.5
|
|
||||||
- Various spelling and grammar fixes
|
|
||||||
- Fixed several numbering errors in references
|
|
||||||
- Updated and fixed many broken URLs and saved them in the Wayback Machine
|
|
||||||
- Noted that https://mastodon.social/@anonypla is gone? added strike-through
|
|
||||||
- Adapted Qubes OS hardware requirements that were too low for a decent experience (RAM) according to their recommendation
|
|
||||||
- Put more incentive to use Tor Browser Safest mode as long as it does not break anything and switch to Safer if necessary and with precautions linked in an appendix
|
|
||||||
- Precision that Anti-Evil Maid on Qubes OS is only available on Intel CPUs
|
|
||||||
- Removed dead link of Centry Fork project
|
|
||||||
- Added Windows 11 support to the guide
|
|
||||||
- Partial additions of partial Qubes 4.1.X support but needs completion and testing (coming soon)
|
|
||||||
- Added link to official guide to upgrade from Qubes 4.0.X to 4.1.X (fresh or in-place)
|
|
||||||
- Fixed issue in Qubes OS Tor over VPN and VPN over Tor Networking cases that were just plain wrong
|
|
||||||
- Added guidance to run Windows 11 within Virtualbox + link to official guide from Oracle
|
|
||||||
- Added recommendation to install/use Safing PortMaster and added a link for some compatibility issues between Portmaster and some VPNs
|
|
||||||
- Removed Windows AME completely from the guide
|
|
||||||
- Replaced the "I would" by a "We would" since it is now a group effort and project
|
|
||||||
- Added a safest recommendation for more paranoid people in security level choices in Tor
|
|
||||||
|
|
||||||
v1.1.4-pre2
|
|
||||||
- Fixed some spelling/grammar
|
|
||||||
- Update to contributing guidelines
|
|
||||||
- Update of modern-crypto room rules
|
|
||||||
- Addition of chatroom-rules for the PSA community
|
|
||||||
- Update of verification guide (removed outdated content, fixed links, updates)
|
|
||||||
- Removal of CTemplar references since it was shutdown
|
|
||||||
- Fixed links to Proton services, references, onion URL, and archives
|
|
||||||
- Removal of BTC Wasabi recommedation in favor of Coinjoin alternative and wallet recommendations
|
|
||||||
- Re-phrasing of some confusing sentences
|
|
||||||
- LibRedirect extension is recommended again
|
|
||||||
- Fixed many links formatting
|
|
||||||
- Removal of removed content (dark pdf)
|
|
||||||
- Fixed links to ODT file
|
|
||||||
- Added recommendation to <https://z0ccc.github.io/extension-fingerprints/#> and <https://www.deviceinfo.me/>
|
|
||||||
- Removed links to non-existant mirrors
|
|
||||||
- Updated some outdated references(old project)
|
|
||||||
|
|
||||||
v1.1.4-pre1
|
|
||||||
- Addition of a legacy resources page for the old archives
|
|
||||||
- Changes in the about page to reflect the current situation
|
|
||||||
- Changes in the donation page to reflect the current situation
|
|
||||||
- Fix link to video "How to Hack a Turned-Off Computer, [..]"
|
|
||||||
- Misspelling and grammar mistakes fixed
|
|
||||||
- Fix formatting
|
|
||||||
- Garbage removal
|
|
||||||
- Inline linking fixes
|
|
||||||
- Privacyguides changed their URL scheme
|
|
||||||
- Almost all archive.org links fixed
|
|
||||||
- Annotated some links to make them more descriptive
|
|
||||||
- Got rid of dupes and empty refs
|
|
||||||
- Renew links for researchgate articles that were removed
|
|
||||||
- Removed mobile wikipedia links
|
|
||||||
- Fix a couple patent links & Rubber-hose cryptanalysis wiki
|
|
||||||
- Update PDF archivals so they are direct links but not downloaded
|
|
||||||
- Some scientific articles were removed or replaced
|
|
||||||
- IEEExplore, Spread-spectrum watermarking of audio signals
|
|
||||||
- ScienceDirect, Robust audio watermarking using perceptual masking
|
|
||||||
- SSRN, The Cryptocurrency Tumblers: Risks, Legality and Oversight
|
|
||||||
- Property of the People, Lawful Access to Secure Messaging Apps Data
|
|
||||||
- Arxiv url fixes
|
|
||||||
- s/grayshirt/grayshift/gi
|
|
||||||
- Trailing parentheses and commas removed
|
|
||||||
- Fixed all broken links
|
|
||||||
- Removed uMatrix from the guide (use uBlock Origin)
|
|
||||||
- Removal of https://xchange.me/ (abandoned)
|
|
||||||
- Removal of https://swap.lightning-network.ro/ (abandoned)
|
|
||||||
- Removal of https://privacyguides.org/providers/hosting/ (category removed from website)
|
|
||||||
- Added a warning about the privacy redirect extension stating it might be abandoned/unmaintained
|
|
||||||
- Added Anonymouth for linguistic antiforensics & related links
|
|
||||||
|
|
||||||
v1.1.3
|
|
||||||
- Added dedicated section about gait recognition and other long-range biometric techniques
|
|
||||||
- Updated PDF toolchain to allow embedding images in the PDF guide
|
|
||||||
|
|
||||||
v1.1.3-pre1
|
|
||||||
- Updating info to reflect the new identity being used to publich the guide
|
|
||||||
- Attempted to reconstruct toolchain to generate PDF and ODT guides
|
|
||||||
|
|
||||||
v1.1.2
|
|
||||||
- Removed SIM/Virtual Numbers providers not accepting at least XMR from the guide as there are sufficient providers accepting XMR
|
|
||||||
- Added some more free SMS providers in the guide
|
|
||||||
- Added links to Scribe.rip front-end to Medium.com for Medium.com links
|
|
||||||
- Considerable work was done in relation to the community aspects of this project and other related projects with the creation of a Matrix space (PSA) regrouping several efforts.
|
|
||||||
- Added link to <https://psa.anonymousplanet.org/> containing the community rules for our chatrooms on Matrix and Discord
|
|
||||||
- Added reference to <https://en.wikipedia.org/wiki/Sybil_attack> to the attacks against anonymized Tor traffic section
|
|
||||||
- Added reference to <https://arstechnica.com/information-technology/2014/07/active-attack-on-tor-network-tried-to-decloak-users-for-five-months/> in the attacks against anonymized Tor traffic section
|
|
||||||
- Added reference to <https://www.whonix.org/wiki/Anbox> for running Android Apps within the Whonix Workstation
|
|
||||||
- Added reference to <https://www.wikigain.com/install-macos-monterey-on-virtualbox/> to the macOS VM section
|
|
||||||
- Added reference to <https://blog.kraken.com/post/11905/your-fingerprint-can-be-hacked-for-5-heres-how/> to the biometrics section
|
|
||||||
- Added reference to <https://propertyofthepeople.org/document-detail/?doc-id=21114562>
|
|
||||||
- Added reference to <https://12ft.io/> in the introduction section
|
|
||||||
- Added reference to <https://www.bleepingcomputer.com/news/security/firmware-attack-can-drop-persistent-malware-in-hidden-ssd-area/> to the SSD wiping conclusions
|
|
||||||
- Added reference to <https://www.welivesecurity.com/wp-content/uploads/2021/12/eset_jumping_the_air_gap_wp.pdf> to the advanced targeted techniques section
|
|
||||||
- Small grammar/spelling fixes
|
|
||||||
- **Special thanks to the anonymous donator of 1 XMR**
|
|
||||||
|
|
||||||
v1.1.1
|
|
||||||
- Added reference to <https://www.youtube.com/watch?v=H33ggs7bh8M> as an intro video to Monero in the Monero Disclaimer section
|
|
||||||
- Added reference to <https://www.youtube.com/watch?v=qkJGF3syQy4> in the Guest VM Browser section about Brave
|
|
||||||
- Added reference to <https://www.vice.com/en/article/m7vqkv/how-fbi-gets-phone-data-att-tmobile-verizon> in the metadata/geo-location section
|
|
||||||
- Added reference to <https://fingerprintjs.com/blog/disabling-javascript-wont-stop-fingerprinting/> in several sections about JavaScript
|
|
||||||
- Added reference to <https://qua3k.github.io/ungoogled/> in the sections about Ungoogled-Chromium
|
|
||||||
- Re-Added Privacytools.io in the Links section
|
|
||||||
- Added a general disclaimer on the Links page about websites possibly using sponsorships, affiliate links, paid services, premium offers, and merchandising...
|
|
||||||
- Re-Added a Discord server to provide easier access to the community through <https://discord.gg/V8dmd9y7mt> with all the rooms bridged to Matrix rooms
|
|
||||||
- Changed the Matrix/Discord communities from being room focused (#anonymity) to a broader "Privacy Security Anonymity" space with a new #security focused room and an off-topic room.
|
|
||||||
- Creation of a Matrix space at ```#privacy-security-anonymity:matrix.org``` <https://matrix.to/#/#privacy-security-anonymity:matrix.org>
|
|
||||||
- Added an RSS bot to those rooms relaying some relevant security and anonymity news within those rooms.
|
|
||||||
- Started the test hosting of a small Synapse server with the domain anonymousplanet.org
|
|
||||||
|
|
||||||
v1.1.0
|
|
||||||
- Removed SHA-3 from recommended methods for password storage
|
|
||||||
- Added reference to <https://docs.securedrop.org/en/stable/source.html> in the section about communicating sensitive information to various organizations
|
|
||||||
- **Pending review** removal of privacytools.io from the guide after discovering sponsored recommendations within the lists on their website. Disclaimer added on the links page.
|
|
||||||
- Added reference to <https://web.archive.org/web/20181125133942/https://www.cs.drexel.edu/~sa499/papers/adversarial_stylometry.pdf> in the Stylometry section
|
|
||||||
- Added reference to <https://www.whonix.org/wiki/Surfing_Posting_Blogging#Stylometry> in the Stylometry section
|
|
||||||
- Added reference to <https://www.whonix.org/wiki/Surfing_Posting_Blogging#Anonymous_File_Sharing> in the appendix checklist of things to check before sharing information
|
|
||||||
- Added reference to <https://web.archive.org/web/20181125133942/https://www.cs.drexel.edu/~sa499/papers/adversarial_stylometry.pdf> in the section about countering stylometry using translators
|
|
||||||
- Changed the fonts of the website to improve readability (now using "Helvetica", "Calibri",and "Times New Roman")
|
|
||||||
- Removed some unnecessary information from the main page and the donations page to reduce their size
|
|
||||||
- Added a new Tor Exit node (Tor-Exit-05)
|
|
||||||
- Various spelling/grammar fixes
|
|
||||||
|
|
||||||
v1.0.9
|
|
||||||
- Re-Added Privacytools.io (along Privacyguides.org) as a good source of information and recommendations for various services/products/platforms within the guide.
|
|
||||||
- Added a Links page to the website with a small collection of recommended projects to visit.
|
|
||||||
- Changed the layout of the website to make the buttons a bit smaller
|
|
||||||
- Added reference to <https://medium.com/@c5/darkweb-vendors-and-the-basic-opsec-mistakes-they-keep-making-e54c285a488c> in the OPSEC section.
|
|
||||||
- Added reference to <https://kycnot.me/> which lists non-KYC cryptocurrencies exchange services
|
|
||||||
- Fixed some mistakes in the cryptocurrency swapping section
|
|
||||||
|
|
||||||
v1.0.8-hotfix
|
|
||||||
- Added a reference to <https://privacytests.org/> in the section about picking a browser in a guest VM
|
|
||||||
- Fixed not-working Nitter links by changing the Nitter instance to Nitter.net
|
|
||||||
- Added Minisign signatures for the PDFs and the ODT file
|
|
||||||
- **Hotfix** Added a reference to <https://qua3k.github.io/ungoogled/> and now strongly recommends **against** using Ungoogled-Chromium due to them lagging behind in security patches
|
|
||||||
|
|
||||||
v1.0.8
|
|
||||||
- Added a reference to <https://www.websiteplanet.com/blog/gethealth-leak-report/> in the Smart Devices section
|
|
||||||
- Added several academic references to the Tor Correlation Fingerprinting attack: <https://homes.esat.kuleuven.be/~mjuarezm/index_files/pdf/ccs18.pdf>, <https://www.internetsociety.org/sites/default/files/blogs-media/website-fingerprinting-internet-scale.pdf>, and <https://www.esat.kuleuven.be/cosic/publications/article-2456.pdf>
|
|
||||||
- Added a reference to <https://blog.torproject.org/new-low-cost-traffic-analysis-attacks-mitigations> in the same section
|
|
||||||
- Added an important precision/correction that Tor Correlation Fingerprinting attacks references papers were done in a limited closed-world testing environment and their efficiency in a real open-world situation has not been demonstrated other than theoretically
|
|
||||||
- Added two VPS hosting providers to the list of possible providers: <https://cryptoho.st/> and <https://www.privex.io/>
|
|
||||||
- Added reference to <https://about.fb.com/news/2021/10/end-to-end-encrypted-backups-on-whatsapp/> announcing e2ee backups on WhatsApp
|
|
||||||
|
|
||||||
v1.0.7
|
|
||||||
- Added reference to <https://www.scientificamerican.com/article/a-blank-wall-can-show-how-many-people-are-in-a-room-and-what-theyre-doing/> in the targeted techniques section
|
|
||||||
- Added reference to <https://www.scientificamerican.com/article/a-shiny-snack-bags-reflections-can-reconstruct-the-room-around-it/> in the targeted techniques section
|
|
||||||
- Added reference to <https://www.scientificamerican.com/article/footstep-sensors-identify-people-by-gait/> in the targeted techniques section
|
|
||||||
- Switched various links from PrivacyTools.io to PrivacyGuides.org that were forgotten in a previous update
|
|
||||||
- Added guidance to share information and files publicly including IPFS
|
|
||||||
- Added an appendix containing a checklist of things to verify before sharing any information or file (metadata...)
|
|
||||||
- Complete reworking of the Introduction and Prologue for better readability (there was way too much text in there)
|
|
||||||
- Added references to <https://thenewoil.org>, <https://privacyguides.org>, and the YouTube Techlore channel <https://www.youtube.com/c/Techlore> as bonus introduction reads on privacy and security
|
|
||||||
- Various grammar/spelling fixes
|
|
||||||
|
|
||||||
v1.0.6
|
|
||||||
- Added reference to <https://www.forbes.com/sites/thomasbrewster/2021/10/04/google-keyword-warrants-give-us-government-data-on-search-users> in the digital fingerprint section
|
|
||||||
- Added the fourth Tor Exit node in the donation page listing
|
|
||||||
- Added recommendation for considering Minisign (<https://jedisct1.github.io/minisign/>) as an alternative to PGP/GPG for file signing
|
|
||||||
- Added new archive of the guide on anonarchive.org
|
|
||||||
- Added Content-Security-Policy and X-XSS-Protection metatags to the HTML headers of the website
|
|
||||||
- Added reference to <https://latacora.singles/2019/07/16/the-pgp-problem.html> to justify the recommendation to use Minisign over PGP/GPG for signing
|
|
||||||
- Added <https://mobilesms.io> to the list of online phone number providers
|
|
||||||
- Added an "extra paranoid" route using Zcash in addition to Monero if you want even more safety than just relying on Monero alone for anonymous crypto transactions
|
|
||||||
- Added instructions to install a Zcash wallet on various OSes including the Whonix Workstation
|
|
||||||
- Refined the VPN over Tor sections with more information about using a self-hosted VPN/Proxy instead of a VPN provider
|
|
||||||
- Added guidance to upgrade Whonix from version 15 to version 16 on Qubes OS
|
|
||||||
- Added disclaimer about Windows 11 not being supported (yet) by the guide
|
|
||||||
- Some grammar/spelling fixes
|
|
||||||
- Various broken links fixes
|
|
||||||
|
|
||||||
v1.0.5
|
|
||||||
- Added reference to <https://www.theguardian.com/australia-news/2021/sep/11/inside-story-most-daring-surveillance-sting-in-history> in the smartphone warnings section
|
|
||||||
- Made main website available through IPv6
|
|
||||||
- Endnotes are now also supported on the repository MD file through <https://github.com/AnonymousPlanet/thgtoa/blob/main/guide.md> thanks to markdown update from GitHub. Previously, those were only working on the rendered Jekyll HTML
|
|
||||||
- Added link to <https://oksms.org> as an option if you cannot afford a dedicated number. More will be added soon.
|
|
||||||
- Added reference to <https://www.vice.com/en/article/93ypke/the-nsa-and-cia-use-ad-blockers-because-online-advertising-is-so-dangerous> as an argument to recommend adding uBlock to Tor Browser
|
|
||||||
- Added reference to <http://0pointer.net/blog/authenticated-boot-and-disk-encryption-on-linux.html> in the in-depth Linux hardening resources
|
|
||||||
- Added reference to <https://www.usenix.org/system/files/sec21-hoang.pdf> and <https://gfwatch.org/> in the section about hostile environments
|
|
||||||
- Added reference to <https://www.d-id.com/talkingheads/> in the creating new identities section
|
|
||||||
- Added reference to <https://twitter.com/SecurityJon/status/1445020885472235524> and <https://labs.f-secure.com/blog/sniff-there-leaks-my-bitlocker-key/> into the Windows Host OS section of the Whonix route
|
|
||||||
- Added reference to <https://www.wired.com/story/clearview-ai-new-tools-identify-you-photos/> in the biometrics section
|
|
||||||
- Added reference to <https://www.coindesk.com/business/2021/09/21/leaked-slides-show-how-chainalysis-flags-crypto-suspects-for-cops/> in the Cryptocurrencies Transaction section
|
|
||||||
- Added Cwtch <https://cwtch.im> to the messaging apps lists and recommendations
|
|
||||||
- Added a new fourth Tor Exit node using donations funds
|
|
||||||
- Some grammar/spelling fixes
|
|
||||||
|
|
||||||
v1.0.4
|
|
||||||
- Added reference to <https://therecord.media/malware-found-preinstalled-in-classic-push-button-phones-sold-in-russia/> in the burner phone section
|
|
||||||
- Added reference to <https://sourceforge.net/p/veracrypt/discussion/technical/thread/3961542951/> in the Veracrypt settings sections
|
|
||||||
- Changed Privacytools.io to Privacyguides.org after name change
|
|
||||||
- Added reference to <https://github.com/iperov/DeepFaceLive> in the Face recognition section
|
|
||||||
- Added reference to <https://www.news.ucsb.edu/2021/020392/dont-fidget-wifi-will-count-you> within the Wi-Fi around you section
|
|
||||||
- Matrix room change from #online-anonymity:matrix.org to #anonymity:matrix.org (old alias remains valid)
|
|
||||||
- Renewed hosting of Tor-Exit-01 for 1 year using funding from donations
|
|
||||||
|
|
||||||
v1.0.3
|
|
||||||
- Added reference to ProtonMail IP logging case <https://techcrunch.com/2021/09/06/protonmail-logged-ip-address-of-french-activist-after-order-by-swiss-authorities/>
|
|
||||||
- Added more information regarding Firefox hardening settings
|
|
||||||
- Added reference to <https://www.privateinternetaccess.com/blog/internet-freedom-around-the-world-in-50-stats/>
|
|
||||||
- Fixed several broken links
|
|
||||||
- Some grammar fixes
|
|
||||||
|
|
||||||
v1.0.2
|
|
||||||
- Minor layout fixes
|
|
||||||
- Added BLAKE2 hash to the list of hashes and clarified the hashes recommendations
|
|
||||||
- Added Twofish and Serpent to the recommended section in the File Encryption section
|
|
||||||
- Added reference to <https://justdeleteme.xyz/> and <https://inteltechniques.com/workbook.html> in the Removing traces section
|
|
||||||
- Added references to <https://techcrunch.com/2021/08/19/google-geofence-warrants/> and <https://www.techdirt.com/articles/20210821/10494847401/google-report-shows-reverse-warrants-are-swiftly-becoming-law-enforcements-go-to-investigative-tool.shtml> about the expanding trend of Geofencing warrants
|
|
||||||
- Added reference to <https://edwardsnowden.substack.com/p/all-seeing-i> in reference to Apple Privacy
|
|
||||||
- Added various references and information about setting up plausible deniability on Linux
|
|
||||||
- Added reference and information about setting up plausible deniability on Qubes OS
|
|
||||||
- Improved the section about countering linguistic forensics
|
|
||||||
- Updated Archive.today onion v2 address to v3
|
|
||||||
- Full (self) proofreading resulting in a large amount of spelling/grammar fixes and some shame about those
|
|
||||||
|
|
||||||
v1.0.1
|
|
||||||
- Added information about Monero Atomic Swap for converting from BTC to Monero instead of a swapping service (Monero Rules!)
|
|
||||||
- Added link to <https://www.useapassphrase.com/> in the password/passphrase guidelines appendix
|
|
||||||
- Added an appendix about Crypto Swapping services with some recommendations
|
|
||||||
- Added OnlyFans, Binance and Kraken to the list of tested online services
|
|
||||||
- Added Information on how to check if your Tor Exit node is in few or many blocklists to avoid issues when signing-up to various services
|
|
||||||
- Various spelling/grammar fixes
|
|
||||||
|
|
||||||
v1.0.0 Codename "Deal With It" (because it's not perfect, so deal with it)
|
|
||||||
- Various spelling/grammar fixes to the Countering Forensic Linguistics section
|
|
||||||
- Added guidance on how to compare older PDFs with newer releases using some online tools
|
|
||||||
- Added guidance on how to compare older ODTs with newer releases using LibreWriter
|
|
||||||
- Removed the attribution to Mark Twain from the quote in the final editorial notes
|
|
||||||
- Added some references in the list of threats to anonymity to the proposed mitigations in the guide
|
|
||||||
- Various grammar/spelling fixes
|
|
||||||
- Slightly changed the Light theme header color
|
|
||||||
|
|
||||||
v1.0.0-rc3-hotfix (unpublished release)
|
|
||||||
- Modified the Countering Forensic Linguistics section to remove the AutoCorrect usage recommendation in favor of "Search and Replace" to avoid unintended mistakes.
|
|
||||||
- Removed hybrid-analysis checks from the files as I think VirusTotal is enough
|
|
||||||
|
|
||||||
v1.0.0-rc3
|
|
||||||
- Added recommendation to use the Privacy Redirect extension on the Guest VMs browsers: <https://github.com/SimonBrazell/privacy-redirect>
|
|
||||||
- Added a section to emphasize some precautions when using a Browser with JavaScript enabled (including Tor Browser up to the "Safer Level") in every route
|
|
||||||
- Added more information and recommendations related to using Tor Browser at the "Safer" level.
|
|
||||||
- Added some more crypto disclaimers to avoid some services such as Mixers/Tumblers
|
|
||||||
- Re-ordered and re-linked many sections in a more logical way
|
|
||||||
- Removed some duplicate information in some sections
|
|
||||||
- Fixed some bad hyperlinks
|
|
||||||
- Added a release of the guide in the ODT format in addition to PDFs
|
|
||||||
|
|
||||||
v1.0.0-rc2
|
|
||||||
- Many grammar/spelling changes after some proofreading
|
|
||||||
|
|
||||||
v1.0.0-rc1 (Release Candidate 1)
|
|
||||||
- Small grammar/spelling fixes
|
|
||||||
- Small layout fixes
|
|
||||||
- Added some information about Safari in the Guest VM Browser selection/hardening sections
|
|
||||||
- Removed DREAD in the threat modeling references as it is deprecated
|
|
||||||
- Added link to <https://arstechnica.com/gadgets/2021/07/vpn-servers-seized-by-ukrainian-authorities-werent-encrypted/> in the No Logging but Logging anyway section of VPN providers
|
|
||||||
- Added Session Messenger as a possible "last resort" recommendation for iOS users because well there is no better option it seems despite their lack of PFS and Deniability
|
|
||||||
- Corrected the Session Messenger information as not using Tor Natively but using LokiNet Onion Routing natively
|
|
||||||
- Added a new Tor Browser route for the simplest, easiest way to access the web anonymously with appropriate security warnings
|
|
||||||
- Added additional information on attack mitigations on Bitlocker encrypted drives and reference to <https://dolosgroup.io/blog/2021/7/9/from-stolen-laptop-to-inside-the-company-network>
|
|
||||||
- Changed the recommendations about the state of your real phone while using a burner phone. You should never bring it with you and leave it on at home.
|
|
||||||
- Changed the route picking UML to only show options depending on your skills/resources/availability without considering threats/adversaries
|
|
||||||
- Expanded the threat modeling section (after the previous UML) with adversaries/threats and picking the adequate route in consequence
|
|
||||||
- Added reference to <https://arxiv.org/pdf/2107.04940.pdf> to the Bad Cryptography section
|
|
||||||
- Added reference to <https://edition.cnn.com/2021/07/23/tech/idme-unemployment-facial-recognition/index.html> to the Face Recognition section
|
|
||||||
- Lowered recommendation for RiseUP as a free mail service as they now require invitation for registration
|
|
||||||
- Added reference to <https://gitlab.com/FG-01/fg-01> as a possible mitigation to gait recognition systems as well as 2 more journalistic references to gait recognition
|
|
||||||
- Changed information about China/Russia "will block" ECH/eSNI to "might block" as it hasn't been verified/confirmed
|
|
||||||
- Added a whole appendix on Counteracting Forensic Linguistics (Writeprint) with your anonymous identities
|
|
||||||
- Added IPFS mirror of the whole website at <https://ipfs.anonymousplanet.org>
|
|
||||||
|
|
||||||
v0.9.9h
|
|
||||||
- Fixed bad and missing linking about browser selection and install in guest VMs setup sections
|
|
||||||
- Added ShutUp10 to the list of tools to improve Privacy on Windows 10
|
|
||||||
- Removed Windows AME from the recommendations/possibilities within guest VMs and advising against it instead
|
|
||||||
|
|
||||||
v0.9.9g
|
|
||||||
- Added Safing.io to the recommended VPN providers list (provisional)
|
|
||||||
- Many links fixed/updated/replaced/removed (dead links check on the whole document)
|
|
||||||
- Updated most of the .onion v2 addresses to .onion v3 addresses (except for Archive.today which is still on v2)
|
|
||||||
- Added .onion addresses to some publication links having a Tor mirror such as The Intercept
|
|
||||||
- Decided to switch the licensing of the project to add NonCommercial (cc-by-nc-4.0), prior releases are not affected
|
|
||||||
|
|
||||||
v0.9.9f
|
|
||||||
- Added section on search engines
|
|
||||||
- Added some more information on Brave source of adblocking
|
|
||||||
- Added separator between the text and the references to the online HTML version
|
|
||||||
- Added a ToC entry of the references to the online HTML version
|
|
||||||
- Added a bit more information on eventual physical destruction of HDDs and SSDs
|
|
||||||
|
|
||||||
v0.9.9e
|
|
||||||
- Added more information on why I recommend Brave within guests VMs and more information about other choices (mainly Firefox)
|
|
||||||
- Added Browser Hardening guidelines for Brave, Ungoogled-Chromium, Edge, and Firefox
|
|
||||||
|
|
||||||
v0.9.9d
|
|
||||||
- Changed wording from all incorrect "TAILS" instances to the correct "Tails"
|
|
||||||
- Changed wording from some incorrect "Qube OS" instances to the correct "Qubes OS"
|
|
||||||
- Added header to the PDFs with the title
|
|
||||||
- Added footer to the PDFs with the page numbers
|
|
||||||
- Changed the PDFs from having all references in the endnotes to having them in the footnotes of each page for better readability
|
|
||||||
|
|
||||||
v0.9.9c
|
|
||||||
- Improved the password/passphrase recommendation section
|
|
||||||
- Added a new Tor Exit node to the project <https://metrics.torproject.org/rs.html#details/F535BA067A776457083141688C7FE781B6DFB24E>
|
|
||||||
- Added ChaCha20 to the recommended file/disk encryption algorithms
|
|
||||||
- Various fixes in the README/Index
|
|
||||||
|
|
||||||
v0.9.9b
|
|
||||||
- Changed recommendation from Veracrypt to Bitlocker for Windows simple encryption route to prevent rubber-hose cryptanalysis
|
|
||||||
- Started running a Tor exit-node using project funds <https://metrics.torproject.org/rs.html#details/970814F267BF3DE9DFF2A0F8D4019F80C68AEE26>. I was only able to buy 3 months with the remaining funds. Please donate if you want this to continue.
|
|
||||||
- Changed slightly the donations requests so that they appear sooner including in the README/index.html and earlier in the guide in a lighter way
|
|
||||||
- Small grammar/spelling fixes
|
|
||||||
|
|
||||||
v0.9.9a
|
|
||||||
- Added Wikiless links to all Wikipedia articles for enhanced privacy (see <https://codeberg.org/orenom/wikiless>)
|
|
||||||
- Added message to inform users with JavaScript disabled that JavaScript is needed to toggle the themes on the website
|
|
||||||
- Removed underline of every hyperlink in the PDF format guide for better readability
|
|
||||||
- Added small section about helping others staying anonymous by running a Tor entry/relay node
|
|
||||||
- Shortened the Index/README to make it more readable and creating a sub-page with the safety/integrity/authentication information
|
|
||||||
- Added new hosting provider to the list (<https://1984.is>) and created a small appendix dedicated to recommended hosting providers
|
|
||||||
- Small grammar/spelling fixes
|
|
||||||
- Small fixes on the website layout (thanks to LiJu09 again)
|
|
||||||
|
|
||||||
v0.9.9
|
|
||||||
- Added toggle switch from dark to light theme for the website (requires Javascript) to improve general UX (very special thanks to LiJu09 for the great help)
|
|
||||||
- Fixed layout issues in the OSX section about Gatekeeper and XProtect
|
|
||||||
- Small fix in the malware section "higher level" changed to "lower level"
|
|
||||||
- Added reference to <https://www.inteltechniques.com/podcast.html> as an OSINT resource
|
|
||||||
- Added reference to <https://github.com/Qubes-Community/Contents/blob/master/docs/privacy/anonymizing-your-mac-address.md> in the Qubes Route section
|
|
||||||
- Various spelling/grammar fixes
|
|
||||||
|
|
||||||
v0.9.8
|
|
||||||
- Added reference to <https://github.com/insight-decentralized-consensus-lab/post-quantum-monero/blob/master/writeups/technical_note.pdf> in the Monero Disclaimer section
|
|
||||||
- Added cars in the Smart Devices section because obviously cars are also issues
|
|
||||||
- Added reference to <https://www.washingtonpost.com/technology/2019/12/17/what-does-your-car-know-about-you-we-hacked-chevy-find-out/> in the Smart Devices section
|
|
||||||
- Added more OSINT links: <https://osintframework.com/>, <https://recontool.org>, and <https://github.com/jivoi/awesome-osint>
|
|
||||||
- Added more information about crafting your legend for your anonymous identities in a consistent manner in the creating new identities section
|
|
||||||
- Added more OPSEC information and a reference to <https://www.youtube.com/watch?v=IqZZU9lFlF4>
|
|
||||||
- Added more references to Hardening Linux: <https://wiki.archlinux.org/title/Security> and <https://codeberg.org/SalamanderSecurity/PARSEC>
|
|
||||||
- Added references to AppArmor usage on Whonix VMs: <https://www.whonix.org/wiki/AppArmor>
|
|
||||||
- Added AppArmor/SELinux references within the Qubes OS section for Hardening VMs
|
|
||||||
- Added light introduction video references for hardening Linux/Windows/MacOS by the nice people at Techlore.
|
|
||||||
- Switched from Mastodon.online to Mastodon.social <https://mastodon.social/@anonypla>
|
|
||||||
- Fixed duplicate notations on GPG key
|
|
||||||
- Added Nitter links to Twitter links
|
|
||||||
- Various spelling/grammar fixes
|
|
||||||
|
|
||||||
v0.9.7b
|
|
||||||
- Added disclaimer about Monero usage and its long-term security relative to KYC regulations
|
|
||||||
- Added a bonus step within the BTC anonymizing section to reference Wasabi Wallet <https://wasabiwallet.io/> as an added efficient obfuscation measure
|
|
||||||
- Fixed layout issue at the very end of the guide (wrong tabulation)
|
|
||||||
- Added reference to RiseUp, Disroot, and Autistici for e-mail creation if you need an e-mail verification for creating for instance a ProtonMail or a MailFence account
|
|
||||||
- Removed <http://keys.gnupg.net/> from README because it's dead it seems
|
|
||||||
|
|
||||||
v0.9.7a
|
|
||||||
- Fixed wrong information about Session messenger and presence of Forward Secrecy and removed from recommendations due to that and the absence of deniability
|
|
||||||
- Added information about how to get/use BTC anonymously using Monero swapping
|
|
||||||
- Removed the THGTOA subreddit and the discord server (due to being mostly unused) to leave only the Matrix room and GitHub for discussions
|
|
||||||
- Made the README slightly more user-friendly
|
|
||||||
- Various spelling/grammar fixes
|
|
||||||
|
|
||||||
v0.9.7
|
|
||||||
- Fixed DNS section stating that ECH/eSNI leaks DNS when in fact it leaks only DN (Domain Name)
|
|
||||||
- Fixed DNS section stating that Firefox enforces OCSP stapling when it does not
|
|
||||||
- Added information in DNS section that Chromium based browsers do not rely on OCSP but CRLSets
|
|
||||||
- Fixed DNS illustration according to above fixes
|
|
||||||
- Renamed DNS section into DNS and IP and added information about IP correlation with various websites despite having encrypted DNS
|
|
||||||
- Added reference to <https://www.hackerfactor.com/blog/index.php?/archives/906-Tor-0day-The-Management-Vulnerability.html> in the anonymize Tor/VPN traffic section
|
|
||||||
- Added section about rootkits and backdoors in the malware in the malware, exploits and viruses section
|
|
||||||
- Added information about rootkits and firmware malware/backdoors
|
|
||||||
- Added Session in the messengers table and recommendations
|
|
||||||
- Added disclaimer to be extra cautious when using Tails (always use the last version and be extremely careful with bundled apps)
|
|
||||||
- Various spelling/grammar fixes
|
|
||||||
|
|
||||||
v0.9.6b
|
|
||||||
- Added emphasis and disclaimer on the threat model of this guide to clarify strongly that this guide is a DRAFT and may contain inaccuracies. This guide should not be considered a definitive truth.
|
|
||||||
- Added reference to the new Tutanota incident forcing them to monitor users
|
|
||||||
- Added reference to the RSA Conference 2020, When Cybercriminals with Good OpSec Attack <https://www.youtube.com/watch?v=zXmZnU2GdVk> video in the OPSEC section
|
|
||||||
|
|
||||||
v0.9.6a
|
|
||||||
- Added the USB Wi-Fi dongle option within the section to block Host OS network access while allowing VM network access
|
|
||||||
- Small spelling/grammar fixes
|
|
||||||
|
|
||||||
v0.9.6
|
|
||||||
- Added references to AnonAddy and Simplelogin e-mail aliasing services in the e-mail verification section of creating new online identities. Could be useful.
|
|
||||||
- Fixed the word SSD that was somehow spelled SDD all over the place (/shame)
|
|
||||||
- Added section to explain how to disable/prevent Internet Access on the Host OS while allowing VMs (specifically the Whonix Gateway) to access the internet in the Whonix Route
|
|
||||||
- Added further password recommendation based on Bruce Schneier recommendations <https://www.schneier.com/blog/archives/2014/03/choosing_secure_1.html>
|
|
||||||
- Removed telegram channel because is was unused and empty in favor of keeping only the Matrix channel (Primary) and the Discord channel (Secondary) but linked
|
|
||||||
- Added information about AMD PSP not having remote management capabilities unlike IME
|
|
||||||
- Various spelling/grammar fixes
|
|
||||||
|
|
||||||
v0.9.5
|
|
||||||
- Added some small disclaimer for Coreboot containing some proprietary software
|
|
||||||
- Added reference to Tempora surveillance program
|
|
||||||
- Small correction to the text relating to the Tutanota court order to avoid misunderstandings
|
|
||||||
- Added <https://censys.io/> and <https://www.zoomeye.org/> in addition to Shodan as IoT search engines options
|
|
||||||
- Removed SHA3 from the "avoid" list because it was incorrect
|
|
||||||
- Added more information in the Online Backups section
|
|
||||||
- Added more references to people caught due to their fingerprints appearing on shared pictures online in the biometrics section
|
|
||||||
- Added link to <https://stegcloak.surge.sh/> in the Hidden communications in plain sight section
|
|
||||||
- Various small spelling/grammar fixing
|
|
||||||
|
|
||||||
v0.9.4
|
|
||||||
- Added reference to <https://www.youtube.com/watch?v=FDZ39h-kCS8> in the Smart Devices around you section
|
|
||||||
- Added reference to TypingDNA (<https://www.typingdna.com/>) in the Online Behavior section
|
|
||||||
- Various small spelling fixes
|
|
||||||
- Added reference to SORM (Russia) along PRISM,XKEYSCORE...
|
|
||||||
- Added reference to smarttags (Apple AirTags, Samsung Smarttags, Tile...) in the smart devices section
|
|
||||||
- Added reference to Michael Bazzell's interesting OSINT Techniques book <https://inteltechniques.com/book1.html> in the bonus resources section
|
|
||||||
- Added reference to LibGen in the Introduction section in addition to Sci-Hub
|
|
||||||
- Fixed some ordering issues in the various sections that were re-ordered in previous updates
|
|
||||||
|
|
||||||
v0.9.3
|
|
||||||
- Added reference to <https://disable-gatekeeper.github.io/> and how to disable MacOS Gatekeeper on Big Sur
|
|
||||||
- Various grammar/spelling/layout fixes
|
|
||||||
- Transifex translations are now possible and open for any volunteer. Currently some are working on Russian/Ukrainian
|
|
||||||
- Added https://crypton.sh/ to the list of Monero accepting phone number providers
|
|
||||||
- Added reference to e-mail tracking in the Malware section
|
|
||||||
- Updated DNS section to reflect change from eSNI to ECH
|
|
||||||
- Added more OSINT video tutorials references from Bellingcat
|
|
||||||
- Added information about OCSP stapling in the DNS section
|
|
||||||
- Added illustration for comparing simple OCSP vs OCSP stapling
|
|
||||||
- Added illustration for comparing DNS encryption with and without ECH
|
|
||||||
|
|
||||||
v0.9.2a
|
|
||||||
- Multiple small punctuation fixes for better readability/translation of markdown format
|
|
||||||
- Small reference fix from BBC to The Guardian
|
|
||||||
|
|
||||||
v0.9.2
|
|
||||||
- Added reference to <https://mattw.io/youtube-geofind/location> for Video geolocation (YouTube)
|
|
||||||
- Added reference to <https://jakecreps.com/tag/osint-tools/> for various OSINT tools to try on yourself
|
|
||||||
- Fixed some bad links between a bunch of cross-references
|
|
||||||
- Some font color fixing in the dark themed PDF
|
|
||||||
- Added various attribution references for some external illustrations
|
|
||||||
- Various spelling/grammar fixes
|
|
||||||
- Re-organized some of the de-anonymization methods into grouped sub-sections for readability
|
|
||||||
|
|
||||||
v0.9.1
|
|
||||||
- Fixed Messaging table inaccuracies regarding metadata leaks and e2e for Element/Matrix and Zoom
|
|
||||||
- Added reference/guidance to Windows AME (<https://ameliorated.info/>)for use in guest VMs in place of Standard Windows 10 Pro
|
|
||||||
- Added Tor Mirror into the HTML header for discoverability
|
|
||||||
- Added reference to <https://arxiv.org/pdf/1906.05754.pdf> in the crypto transactions section
|
|
||||||
- Added references to NEC NeoFace and Clearview AI face recognition systems in the Face/Biometrics section
|
|
||||||
- Added FLoC opt-out and no-referrer policies into the HTML header
|
|
||||||
- Added reference to <https://arxiv.org/abs/1512.05616> in the Smart Devices warning section
|
|
||||||
- Added reference to <https://people.eecs.berkeley.edu/~dawnsong/papers/2012%20On%20the%20Feasibility%20of%20Internet-Scale%20Author%20Identification.pdf> in the digital fingerprint section
|
|
||||||
- Added reference to <https://www.gwern.net/Death-Note-Anonymity> in the Bonus section
|
|
||||||
- Fixed the Qubes OS section implying that Qubes OS is a Linux distribution when it is not
|
|
||||||
- Fixed LICENSE file missing on the website
|
|
||||||
- Various spelling/grammar fixes
|
|
||||||
|
|
||||||
v0.9.0
|
|
||||||
- Various layout, spelling, and grammar fixes
|
|
||||||
- Added new discussion channel on matrix ```#online-anonymity:matrix.org```
|
|
||||||
- Fixed connectivity methods table recommendations (VPN over Tor over VPN)
|
|
||||||
- Removed the shark meme because it was a bit much
|
|
||||||
- Added reference to the recent Spotify AI voice recognition patent <https://patents.justia.com/patent/10891948>
|
|
||||||
- Added more information and illustration about Tor Bridges and especially Meek bridges for users in hostile environments
|
|
||||||
- Added some more information about hash collisions
|
|
||||||
- Moved Requirements section up before Introduction
|
|
||||||
- Fixed DNS privacy illustration DoHoT that was spelled wrong
|
|
||||||
- Fixed Appendixes names that were out of order
|
|
||||||
- Added guidance to create a Proxy VPS in addition to a VPN VPS in the case of the now VPN/Proxy over Tor route
|
|
||||||
- Added more guidance to the "No Tor/VPN" option in a hostile environment
|
|
||||||
|
|
||||||
v0.8.9a
|
|
||||||
- Moved the donations section to the bottom of the guide
|
|
||||||
|
|
||||||
v0.8.9
|
|
||||||
- Added reference to <https://www.freehaven.net/anonbib/date.html> in the bonus resources section
|
|
||||||
- Many small fixes in the README
|
|
||||||
- Various small layout and grammar fixes
|
|
||||||
- Removed some parts about unblockable telemetry on MacOS Big Sur since this issue is no longer relevant it seems (and the telemetry can be blocked)
|
|
||||||
- Erratum: removed a quote from a user on his request
|
|
||||||
|
|
||||||
v0.8.8
|
|
||||||
- Fixed QR codes pointing to old addresses (but still valid)
|
|
||||||
- Added Keyoxide proofs to the README
|
|
||||||
- Various small fixes
|
|
||||||
- Huge thanks to the generous donator of 1 XMR
|
|
||||||
- Added proper native Tor mirror on <http://thgtoa7imksbg7rit4grgijl2ef6kc7b56bp56pmtta4g354lydlzkqd.onion>
|
|
||||||
|
|
||||||
v0.8.7
|
|
||||||
- Added reference to <https://www.scss.tcd.ie/doug.leith/apple_google.pdf> in the Smart Devices section and the OS Telemetry section.
|
|
||||||
- Moved/rephrased small introduction paragraph about Apple being among the best choices for Privacy in the OS and Telemetry section.
|
|
||||||
- Changed recommendation for Android VM to Androix-x86 CyanogenMod releases (14.1 r5 at the time of this writing)
|
|
||||||
- Several small spelling/grammar/layout fixes
|
|
||||||
- Added more explanation and illustration to the basic concept of Virtualization through a new Appendix
|
|
||||||
- Fixed illustration to mention Tor Stream Isolation possibilities
|
|
||||||
- Added a couple easter eggs because why not
|
|
||||||
|
|
||||||
v0.8.6
|
|
||||||
- Small layout fixes due to regex errors in pandoc conversion
|
|
||||||
- Small re-write of the instant messaging section that should make more sense now
|
|
||||||
- Changed the Briar information to reflect that they do now provide a Desktop option (with limited features) in addition to the Android client (emulator no longer strictly required)
|
|
||||||
- Updated the messaging table to include qTox (Tox) and Gajim (XMPP)
|
|
||||||
- Added reference to IDF famous tweet <https://twitter.com/idf/status/1125066395010699264>
|
|
||||||
- Added some references to Zero-Trust security models
|
|
||||||
- Added some references to Bad Opsec resources (<https://www.youtube.com/watch?v=eQ2OZKitRwc> and <https://www.youtube.com/watch?v=eQ2OZKitRwc>)
|
|
||||||
- Added several tools to check an IP or your own IP for various things in the "Your IP Address" section
|
|
||||||
- Added references to Hybrid Analysis for PDFs in addition to VirusTotal
|
|
||||||
- Added small additional illustration about threat models in the Introduction
|
|
||||||
- Added small additional illustration about Privacy vs Anonymity in the Introduction
|
|
||||||
- Removed the password protected PDF file from the project because it was never used and creaitng more compatibilities issues than necessary on my side
|
|
||||||
- Replaced donations QR codes with better ones
|
|
||||||
|
|
||||||
v0.8.5
|
|
||||||
- Changed donations QR codes with better ones with logos
|
|
||||||
- Many small fixes in grammar/spelling/layout
|
|
||||||
- Fixed many unnecessary escaping backslashes in front of special characters because pandoc does that
|
|
||||||
- Changed all lines containing code lines into inline code for better readability on the online version
|
|
||||||
- Migrated my Mastodon account to <https://mastodon.online/@anonypla> (old one redirected automatically)
|
|
||||||
- Fixed Tor over VPN section that was clearly missing emphasis on it being a viable option with good use cases
|
|
||||||
- Added more information in the Pick your Connectivity conclusions for a better overview
|
|
||||||
- Added section about Online file Syncing in the Online Backup section
|
|
||||||
- Added more information about messaging apps and a rather detailed table comparing their privacy/security/anonymity features
|
|
||||||
- Added disclaimer on reddit/discord to not discuss sensitive topics on those platforms
|
|
||||||
|
|
||||||
v0.8.4
|
|
||||||
- Added more information regarding Tor stream isolation and VPNs
|
|
||||||
- Added reference to <https://clickclickclick.click> in the Behavior analysis section
|
|
||||||
- Added project website mirror at <https://mirror.anonymousplanet.org> (hosted at GitLab)
|
|
||||||
- Added PDFs mirror at CryptPad.from
|
|
||||||
- Added reference to recently released list of data collected by Google Chrome
|
|
||||||
- Added reference to <https://www.bbc.com/news/technology-55573802> about Facial recognition defeating Face Masks in the biometrics section
|
|
||||||
- Added reference to Microsoft Azure Facial Cognitive Services Demo <https://azure.microsoft.com/en-us/services/cognitive-services/face/#demo> in the biometrics section
|
|
||||||
- Added reference to <https://www.bellingcat.com/news/2021/03/19/berlin-assassination-new-evidence-on-suspected-fsb-hitman-passed-to-german-investigators/> in the biometrics section
|
|
||||||
|
|
||||||
v0.8.3
|
|
||||||
- Added reference to <https://www.reflectacles.com/> glasses to interfere with CCTV surveillance.
|
|
||||||
- Added "enhance" example to the deblurring section
|
|
||||||
- Thanks to the anonymous donators. Their donations were spent to renew the domain for 3 more years (4 years total).
|
|
||||||
- Added information about risks/drawbacks related to Tor Stream Isolation when using VPN over Tor and for which use cases this method is recommended
|
|
||||||
- Added QR code for BTC legacy address in the donations section
|
|
||||||
|
|
||||||
v0.8.2
|
|
||||||
- Brighter fonts on some headers for better readability in dark mode
|
|
||||||
- Added reference to Sci-Hub in the introduction
|
|
||||||
- Added reference to deniable encryption on Linux and why it is not (yet) in the current routes
|
|
||||||
- Added reference to EncroChat and Sky ECC and warning against using such commercial devices/services for anonymity
|
|
||||||
- Small fixes in some URLs that were not properly changed after domain switch to anonymousplanet.org
|
|
||||||
- Added Bitcoin legacy address in addition to Segwit for donations
|
|
||||||
- Various spelling/grammar issues
|
|
||||||
|
|
||||||
v0.8.1
|
|
||||||
- Fixed many various small layout/spelling/grammar issues
|
|
||||||
- Fixed 2 shortened URLs (t.me and bit.ly) from the guide with correct destination URLs
|
|
||||||
- Added some references to "roll your own crypto" cases (Telegram, Zoom)
|
|
||||||
- Added reference to <https://www.vice.com/en/article/y3g97x/location-data-apps-drone-strikes-iowa-national-guard> in the Metadata/Geolocation section
|
|
||||||
- Removed archive.today PDF links to replace them with Archive.org links (because archive.today doesn't actually save PDFs)
|
|
||||||
- Added reference to a MAC tracking device <https://amsignalinc.com/data-sheets/Acyclica/Acyclica-RoadTrend-Product-Sheet.pdf> in the MAC address section
|
|
||||||
- Added disclaimer about not endorsing Cloudflare in the DNS section by mentioning them several times for technical reasons.
|
|
||||||
- Added references to Ungoogled-Chromium as an alternative to Tor Browser, Firefox and Brave.
|
|
||||||
- Added some results of Browser fingerprinting testing by the EFF coveryourtracks project.
|
|
||||||
- Added reference to Tor Browser security levels which I realized are not known by most people.
|
|
||||||
- Added Archive.org links to all documents/pages hyperlinks for people willing to avoid direct links to various websites
|
|
||||||
- Added Invidious (through yewtu.be invidious instance hosted in the NL) links to all YouTube videos hyperlinks for people wanting more privacy on Youtube videos
|
|
||||||
- Added reference to AMD PSP security analysis (and how it is not as bad as IME) in the "Your CPU" section <https://www.youtube.com/watch?v=bKH5nGLgi08&t=2834s> and the laptop recommendation section.
|
|
||||||
- Moved the Safe Browser part of Guest OSes into an Appendix to avoid duplication
|
|
||||||
- Added domain for project <https://anonymousplanet.org/> with donation funds
|
|
||||||
|
|
||||||
v0.8.0
|
|
||||||
- Changed mat2 VM appendix to debian testing (instead of stable) to get latest version of mat2
|
|
||||||
- Fixed mat2 VM appendix as the network was not working properly with the previous guidance
|
|
||||||
- Added reference to <https://en.wikipedia.org/wiki/Stylometry>
|
|
||||||
- Added references to various threat modeling methodologies (LUNDDUN, STRIFE, DREAD, PASTA) and some more in-depth resources for those willing to go further
|
|
||||||
- Added reference to <https://geekfeminism.wikia.org/wiki/Who_is_harmed_by_a_%22Real_Names%22_policy%3F> in the introduction
|
|
||||||
- Added reference to <https://gendersec.tacticaltech.org/wiki/index.php/Complete_manual#.22Real.22_names> in the creating identities section
|
|
||||||
- Multiple spelling/grammar fixes (including email into e-mail, and wifi into wi-fi)
|
|
||||||
- Added reference to <https://www.whonix.org/wiki/Data_Collection_Techniques> as bonus resources in de-anonymization methods
|
|
||||||
- Added reference to <https://www.whonix.org/wiki/DoNot> in the OPSEC section because it should be there
|
|
||||||
- Added reference to <https://www.whonix.org/wiki/Printing_and_Scanning> in the Printing Watermarking section
|
|
||||||
- Added reference to MIT project SeeingYellow <http://seeingyellow.com/> in the Printing Watermarking section
|
|
||||||
- Re-Wrote the malware section in the de-anonymization methods for better readability
|
|
||||||
- Added a specific Anti-Virus section in the Malware checks section with various references and arguments for some selective/limited use.
|
|
||||||
- Added reference to EFF security scenarios (<https://ssd.eff.org/en/module-categories/security-scenarios>) in the Introduction as examples of threat models for various people.
|
|
||||||
- Added new section with guidance for safe document publishing including various tool recommendations.
|
|
||||||
- Added a bit more guidance on malware removal for Pictures and Documents (PDFs, Office Documents...)
|
|
||||||
- Added Bad Cryptography in the de-anonymization threats with some examples
|
|
||||||
- Added several Behavior Analysis references in the renamed "Your Digital Fingerprint, Footprint, and Online Behavior" section
|
|
||||||
|
|
||||||
v0.7.9
|
|
||||||
- Updated GitHub Transparency report
|
|
||||||
- Added information to make animated online identities pictures for increased plausibility
|
|
||||||
- Added references to the list of services blocking Tor (<https://gitlab.torproject.org/legacy/trac/-/wikis/org/doc/ListOfServicesBlockingTor>)
|
|
||||||
- Added reference to <https://haveibeenpwned.com/> in the Identities maintenance section
|
|
||||||
- Added automatic archival and links of the project to Archive.today (through Archive.fo)
|
|
||||||
|
|
||||||
v0.7.8
|
|
||||||
- Various small layout/spelling/grammar fixes
|
|
||||||
- Added reference to Financial transactions and KYC in the real-name system section
|
|
||||||
- Added guidance to bypass some local restrictions on supervised computers safely (Appendix Q)
|
|
||||||
- Added guidance to run Tails without using Tor in a hostile environment
|
|
||||||
- Updated UML diagram of various routes to include a non-dedicated laptop
|
|
||||||
- Changed the whole document to a more formal/cleared grammar for better readability and compatibility with translation engines
|
|
||||||
- Changed table colors for better readability in dark modes (PDF and Online)
|
|
||||||
|
|
||||||
v0.7.7
|
|
||||||
- Added some acknowledgements to various added Projects
|
|
||||||
- Changed and improved the "Picking your route" section with the new option (Tails+Whonix)
|
|
||||||
- Added basic threat model illustration in the Introduction
|
|
||||||
- Added basic UML diagram to pick your route
|
|
||||||
- Added basic UML diagrams for picking your connectivity methods
|
|
||||||
- Added illustration of the Tails with HiddenVM option
|
|
||||||
- Rescaled some images that were way too big
|
|
||||||
- Added a whole bunch of platforms to the Online Identities section
|
|
||||||
- Added more references to German law in the Online Identities section
|
|
||||||
- Added a legend to the Online Identities overview table
|
|
||||||
|
|
||||||
v0.7.6
|
|
||||||
- Added reference to video visually explaining DNS
|
|
||||||
- Added some information related to the anonymous use of Bitcoin (vs Monero).
|
|
||||||
- Added reference to risks of using Crypto Tumblers and Mixers.
|
|
||||||
- Added reference to the Go Incognito project (<https://github.com/techlore-official/go-incognito>) and their informative YouTube videos for optional introduction before reading this guide.
|
|
||||||
- Added reference to ExifTool and ExifCleaner to Metadata removal sections for documents (because they also work on those formats)
|
|
||||||
- Added reference to picture recognition cloaking tools (Fawkes, Adverserial.io, LowKey) for preventing picture recognition algorithms from various platforms.
|
|
||||||
- Added detailed guidance to create Android guest VMs in the Whonix Route
|
|
||||||
- Added detailed guidance to create Android Qubes in the Qubes Route
|
|
||||||
- Added detailed guidance to use Persistent Plausible Deniability with Whonix within Tails (using HiddenVM project)
|
|
||||||
- Added Briar, GitLab to the online identities sections
|
|
||||||
- Added recommended Apps for sharing and communicating anonymously
|
|
||||||
- Added some acknowledgements to various added Projects
|
|
||||||
|
|
||||||
v0.7.5
|
|
||||||
- Added reference to <https://github.com/rshipp/awesome-malware-analysis> in the Malware analysis appendix
|
|
||||||
- Many small fixes in layout/spelling/grammar
|
|
||||||
- Added quotes around VirusTotal "privacy policy"
|
|
||||||
- Changed "Exploits in your Apps" to "Malware and Exploits in your Apps"
|
|
||||||
- Added references to State surveillance using "mandatory" apps such as WeChat.
|
|
||||||
- Added Wikipedia reference to <https://en.wikipedia.org/wiki/List_of_government_mass_surveillance_projects>
|
|
||||||
- Added guidance and references to check files for integrity and authenticity in the "Checking files for malware" section.
|
|
||||||
- Added emphasis on recommendation of using Tor Browser on the Host OS if Tor is available.
|
|
||||||
- Removed GPG signatures from markdown and text files to instead sign the whole release for convenience in Contribution workflow.
|
|
||||||
- Adapted the README to the new signatures
|
|
||||||
- Added Bitcoin donation option
|
|
||||||
|
|
||||||
v0.7.4
|
|
||||||
- Added reference to Whonix Live mode if you don't want persistence when shutting down the VMs as an added possible safety measure
|
|
||||||
- Added reference to harden Linux from <https://madaidans-insecurities.github.io/guides/linux-hardening.html>
|
|
||||||
- Added reference to Linux security issues from <https://madaidans-insecurities.github.io/linux.html>
|
|
||||||
- Added reference to PDF listing malware analysis tools <https://www.winitor.com/pdf/Malware-Analysis-Fundamentals-Files-Tools.pdf>
|
|
||||||
- Added reference to SANS Malware Analysis cheat sheet <https://digital-forensics.sans.org/media/analyzing-malicious-document-files.pdf>
|
|
||||||
- Added reference to the DoHoT project in the DNS section <https://github.com/alecmuffett/dohot> and updated the DNS illustration with this possibility
|
|
||||||
- Various spelling/grammar fixes
|
|
||||||
- Started adding some proper code blocks in the online Markdown version and will slowly adopt this in the whole guide in the future
|
|
||||||
- Fixed the Title missing a T
|
|
||||||
- Fixed a an hyperlink issue causing PDFID to detect an Automatic Action on guide.pdf
|
|
||||||
- Added warning in README concerning VirusTotal "privacy policy"
|
|
||||||
- Changed the PDFID warnings in the README to better explain their meaning for checking the PDFs published here
|
|
||||||
- Started fixing some accessibility issues in the guide (bad indents, empty spaces...)
|
|
||||||
- Fixed some bad links in cross-references
|
|
||||||
- Changed link from <https://panopticlick.eff.org/> to <https://coveryourtracks.eff.org/>
|
|
||||||
|
|
||||||
v0.7.3
|
|
||||||
- Added extra-security measures and references for sending cash to a VPN provider safely
|
|
||||||
- Added reference to sim-swapping in TOTP recommendation (and why SMS 2FA is bad)
|
|
||||||
- Added VirusTotal scans to all PDFs in the repository (while not endorsing/recommending VirusTotal at all for anything sensitive)
|
|
||||||
- Added Disclaimer about VirusTotal and their privacy policy in the guide and README
|
|
||||||
- Added QR code for Monero donations within the guide itself
|
|
||||||
- Added references in the Phishing section
|
|
||||||
- Added reference to <https://archive.flossmanuals.net/bypassing-censorship/index.html> in the Safe Access without Tor/VPN appendix
|
|
||||||
- Added guidance to communicate sensitive information safely to various organization (such as the press)
|
|
||||||
- Various grammar/spelling/layout fixes
|
|
||||||
|
|
||||||
v0.7.2
|
|
||||||
- Small layout/spelling/grammar fixes
|
|
||||||
- Added methods to check your surveillance and censorship levels on your Network using various resources.
|
|
||||||
- Changed site font to Helvetica
|
|
||||||
- Changed paragraph spacing on PDFs for better readability
|
|
||||||
|
|
||||||
v0.7.1
|
|
||||||
- Switched Github Pages Jekyll theme to Hacker because I prefer dark themes and this one doesn't rely on external fonts (Google).
|
|
||||||
- Added some references to voice deepfake tech in the Biometrics section
|
|
||||||
- Slightly changed the styles/colors of the PDFs
|
|
||||||
|
|
||||||
v0.7.0
|
|
||||||
- Added recommendations to consider leaving your smartphone at home online instead of just leaving it powered off or within a faraday bag.
|
|
||||||
- Added disclaimer stating that this guide is not sponsored by any commercial entity such as VPN providers
|
|
||||||
- Added specific sections and guidance about the various connectivity schemes (Tor, VPN over Tor, Tor Over VPN, VPN only, VPN over VPN and No Tor/VPN) with various references.
|
|
||||||
- Added guidance for using Tor Bridges with Tor Browser, Tails, Whonix and Qubes OS.
|
|
||||||
- Added last resort guidance for situations where Tor and/or VPN might not be possible options.
|
|
||||||
- Added guidance to use Long Range Antennas (Yagi type) for connecting to Public Wi-Fis from a safe distance
|
|
||||||
- Added new face recognition reference and gait recognition reference
|
|
||||||
- Added dark themed PDF
|
|
||||||
- Fixed error in Windows VM installation behind Whonix (missing Network setting)
|
|
||||||
- Various grammar/spelling fixes
|
|
||||||
|
|
||||||
v0.6.9
|
|
||||||
- Fixes/Adds to the online phone numbers sections. Recommendations based on identification requirements.
|
|
||||||
- Grammar/Spelling fixes.
|
|
||||||
|
|
||||||
v0.6.8
|
|
||||||
- Added security disclaimer concerning online phone providers using Monero.
|
|
||||||
|
|
||||||
v0.6.7
|
|
||||||
- Added guidance to possibly get online phone numbers using Monero (less recommended than a Physical Burner Phone with a Pre-paid SIM paid by cash).
|
|
||||||
- Adapted the various sections of the guide to reflect the above change.
|
|
||||||
|
|
||||||
v0.6.6
|
|
||||||
- Added reference to PornHub biometrics identification statement
|
|
||||||
- Small various spelling/layout fixes
|
|
||||||
- Added reference to Project Snowflake from Tor at the end of the guide if you wish you help others evade censorship
|
|
||||||
- Removed bad link to <https://www.blackbagtech.com/blog/2017/01/13/windows-10-jump-list-forensics/> (no archive available)
|
|
||||||
- Fixed bad inline reference
|
|
||||||
- As from now on, all new references in this guide will also be saved to the Internet Archive in case of article removal
|
|
||||||
- Added privacy vs anonymity in the Introduction
|
|
||||||
- Added more references to legitimate use of Anonymity from the Whonix and Tor projects
|
|
||||||
|
|
||||||
v0.6.5
|
|
||||||
- Passive automated mirror setup at GitLab <https://gitlab.com/AnonymousPlanet/thgtoa>
|
|
||||||
- Added Donation Monero address within the guide
|
|
||||||
- Added README/Guide mention to the GitLab mirror
|
|
||||||
- Changed CHANGELOG/LICENSE to CHANGELOG.md/LICENSE.md for GitHub Pages integration
|
|
||||||
- Updated GPG key with GitLab noreply e-mail for commit verification
|
|
||||||
- Added sitemap on GitHub Pages for SEO
|
|
||||||
- Added latest version, changelog and alternative pdf download links on Github Pages
|
|
||||||
- Verified site on Keybase
|
|
||||||
|
|
||||||
v0.6.4
|
|
||||||
- Improved HTML layouts for better readability and SEO
|
|
||||||
- Added redirect from <https://anonymousplanet.github.io> to the guide page
|
|
||||||
- Fixed README to to include hyperlinks
|
|
||||||
|
|
||||||
v0.6.3
|
|
||||||
- Added Table of Contents to PDF formats for better readability
|
|
||||||
- Fixed Appendixes/Sections references in the Markdown/HTML format
|
|
||||||
- Moved target-audience disclaimer from introduction to start of document
|
|
||||||
- Small layout fixes
|
|
||||||
|
|
||||||
v0.6.2
|
|
||||||
- Various little kramdown glitches fixed in HTML format
|
|
||||||
- Small fixes in spelling/grammar
|
|
||||||
- Added a small disclaimer in the introduction to let people know they can just read the first 26 pages to learn about the various threats without the need for practical applications
|
|
||||||
|
|
||||||
v0.6.1
|
|
||||||
- Various endnotes layout fixes
|
|
||||||
- Added OSINT YouTube Playlist reference
|
|
||||||
- Added reference to Whonix Live Host OS documentation (Similar to HiddenVM project)
|
|
||||||
- Added Twitter account (If it lasts, it was already suspended three times) <https://twitter.com/AnonyPla>. I'd be grateful if you share/like my tweet about this guide.
|
|
||||||
|
|
||||||
v0.6.0
|
|
||||||
- Various small spelling/grammar/layout fixes
|
|
||||||
- Added various references to Whonix Documentation (Hardening, Anti-Forensics, Anti-Evil Maid...)
|
|
||||||
- Added one Bellingcat reference to a recent case
|
|
||||||
- Added some Qubes OS references (Anti-Evil Maid and Hardening)
|
|
||||||
- Added new sub-route to the Tails route using the HiddenVM project <https://github.com/aforensics/HiddenVM> for providing Plausible Deniability within Tails
|
|
||||||
|
|
||||||
v0.5.9
|
|
||||||
- Added Monero accepting VPS providers as options for self-hosting cloud services and self-hosting VPN services
|
|
||||||
|
|
||||||
v0.5.8
|
|
||||||
- Added various references to Whonix documentation (anti-forensics, cold boot attack defenses, full disk encryption)
|
|
||||||
- Small various fixes
|
|
||||||
- Added reasoning for not supporting M1 Macs
|
|
||||||
- Added Acknowledgements at the end of the guide
|
|
||||||
- Added some resources to cold-boot, evil-maid defenses
|
|
||||||
|
|
||||||
v0.5.7
|
|
||||||
- Added methods to check Trim/ATA/NVMe operations on external SSDs
|
|
||||||
- Added methods to securely delete data on Qubes OS
|
|
||||||
|
|
||||||
v0.5.6
|
|
||||||
- Added donations/sponsorship support to this project using Monero
|
|
||||||
- Added reference to Law Enforcement surveillance capabilities (CCC video)
|
|
||||||
- Added guidance to remove some forensic traces from MacOS
|
|
||||||
- Added guidance to remove some forensic traces from Linux (log deletion and trim)
|
|
||||||
- Added variants for securely erasing SSD drives (only ATA drives were mentioned, added specific info for NVMe drives).
|
|
||||||
- Added lists of laptop brands supporting Secure Erase (SSD) from BIOS/UEFI.
|
|
||||||
- Changed recommendation from GParted to System Rescue instead due to GParted not providing nvme-cli by default.
|
|
||||||
- Fix: Multiple fixes in SDD/HDD sections (layout, duplicate data...)
|
|
||||||
- Fix: Multiple fixes in SDD secure erasing section and added various warnings for various methods
|
|
||||||
- Fix: Removed blkdiscard from wrong section and from MacOS as it's not supported on MacOS by Homebrew
|
|
||||||
- Various spelling/grammar fixes
|
|
||||||
|
|
||||||
v0.5.5
|
|
||||||
- Added passphrase recommendations (xkcd.com) in the OPSEC section and other sections.
|
|
||||||
|
|
||||||
v0.5.4
|
|
||||||
- Added more information and mitigation possibilities for CPU exploits on Virtual Machines (Spectre, Meltdown...)
|
|
||||||
|
|
||||||
v0.5.3
|
|
||||||
- Added guidance to hidden containers with plausible deniability in the backup section
|
|
||||||
- Added guidance for online backups
|
|
||||||
- Added information for VPN kill switches for Whonix, MacOS and Linux
|
|
||||||
|
|
||||||
v0.5.2
|
|
||||||
- Update of GPG key (added no-reply e-mail) to get verified commits
|
|
||||||
|
|
||||||
v0.5.1
|
|
||||||
- Small various fixes
|
|
||||||
|
|
||||||
v0.5.0
|
|
||||||
- Added Watermarking section in threats with pictures/videos/audios watermarks and printer watermarks within
|
|
||||||
|
|
||||||
v0.4.9
|
|
||||||
- Various small spelling/grammar/layout fixes
|
|
||||||
- Added some Laptop recommendations and more info about Libreboot and Coreboot
|
|
||||||
- Added various references to key disclosure laws
|
|
||||||
- Added guidance to create a mat2-web guest Debian VM for removing metadata from files conveniently
|
|
||||||
- Changed CHANGELOG to markdown for integrating into GitHub Pages
|
|
||||||
|
|
||||||
v0.4.8
|
|
||||||
- Various fixes on spelling/grammar and layout
|
|
||||||
- Various fixes on KeepassXC sections for Linux/MacOS
|
|
||||||
- Added hardening recommendations for Virtualbox
|
|
||||||
- Added VPN installation tutorials for Linux/MacOS
|
|
||||||
|
|
||||||
v0.4.7
|
|
||||||
- added Virtualbox workaround for Spectre/Meltdown issue mitigation
|
|
||||||
- added section and guidance to remove metadata from various files and tools
|
|
||||||
- added reference to Haven app for physical security in OPSEC section
|
|
||||||
- added recommendation to use systematic TOTP 2FA for online identities when possible
|
|
||||||
- added references to Deepfakes, facial recognition and fingerprint recognition in biometric threats
|
|
||||||
|
|
||||||
v0.4.6 Added link to Shodan to Smart Devices Section, Full rewrite of data wipe sections (especially SSDs)
|
|
||||||
|
|
||||||
v0.4.5 Improved SSD/HDD erasure section and some spelling fixes.
|
|
||||||
|
|
||||||
v0.4.x Added Backup methods, OPSec tricks, Malicious USB, Printers and various fixes
|
|
||||||
|
|
||||||
v0.3.x Added MacOS information and various fixes
|
|
||||||
|
|
||||||
v0.2.x Added Qubes OS information and various fixes
|
|
||||||
|
|
||||||
v0.1.x Initial Release (missing Qubes OS details and MacOS support)
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iHUEABYKAB0WIQSDps+e9XrCW1x/XSkoXmBIoSMhsgUCZCfhzQAKCRAoXmBIoSMh
|
|
||||||
sqY5AQCs+ZCRXQ7pZicBbcTL9vMgPzhZ6JfRo/G8gDm7DaH6tAD+LGgr/CPwZu/A
|
|
||||||
OAD359iFDRjnYm0dsY6afy5ToB22lQk=
|
|
||||||
=WFn/
|
|
||||||
-----END PGP SIGNATURE-----
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
untrusted comment: signature from minisign secret key
|
|
||||||
RUSn9xivowlq/mCtsLz0C8AL4OHqPmwd8DBbUm0TIRGI5INu2VCC8rheuaVBqJX/F+fgZ8E3gSNOo0+jviz+qAoMoVF3weqt/AQ=
|
|
||||||
trusted comment: timestamp:1680335310 file:CHANGELOG.md hashed
|
|
||||||
3Hm06tbf5yvdy38TdnGZU6Rzxj89Fzaa9XO/e0g69bvKJNpcQ21U0yNyuv/9V6Lal8/q4tOfUSNtWpSko4RrAA==
|
|
||||||
@@ -0,0 +1,81 @@
|
|||||||
|
# Contributor License Agreement
|
||||||
|
|
||||||
|
This project is licensed under the **Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA 4.0)**.
|
||||||
|
|
||||||
|
By submitting a contribution to this repository, you agree to the terms described in this document.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## What Is a CLA?
|
||||||
|
|
||||||
|
A Contributor License Agreement (CLA) clarifies the terms under which you contribute to this project. It does not transfer ownership of your work—you keep all rights to what you create. It establishes that your contribution can be distributed under this project's license, and that you understand and accept the obligations that come with it.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Our License: CC BY-SA 4.0
|
||||||
|
|
||||||
|
This repository uses the [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/).
|
||||||
|
|
||||||
|
> **Note on license history:** This project previously used CC BY-NC 4.0 (non-commercial). The switch to CC BY-SA 4.0 removes the non-commercial restriction and replaces it with a share-alike requirement. Contributions submitted before this change were made under the prior license; all new contributions fall under CC BY-SA 4.0.
|
||||||
|
|
||||||
|
In plain terms, CC BY-SA 4.0 means:
|
||||||
|
|
||||||
|
- **Attribution (BY):** Anyone who uses, adapts, or redistributes this work must give appropriate credit to the original authors, provide a link to the license, and indicate if changes were made.
|
||||||
|
- **ShareAlike (SA):** Anyone who distributes adapted versions of this work must do so under the same license—CC BY-SA 4.0—or a compatible one. Derivative works cannot be relicensed under more restrictive terms.
|
||||||
|
|
||||||
|
The full legal text is available at: <https://creativecommons.org/licenses/by-sa/4.0/legalcode>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## What Counts as a Contribution
|
||||||
|
|
||||||
|
A "contribution" is any material you intentionally submit to this repository for inclusion in the project. This includes but is not limited to:
|
||||||
|
|
||||||
|
- Written content (guides, documentation, articles, explanations)
|
||||||
|
- Edits, corrections, or translations of existing content
|
||||||
|
- Code, scripts, configuration files, or tooling
|
||||||
|
- Issues, bug reports, and feature requests that include original written content
|
||||||
|
- Pull requests and their descriptions
|
||||||
|
- Comments that substantively add to the project's content
|
||||||
|
|
||||||
|
Minor factual corrections, typo fixes, and purely mechanical formatting changes are contributed in good faith and treated as submitted under the same terms.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Your Rights as a Contributor
|
||||||
|
|
||||||
|
Contributing to this project does **not** transfer copyright ownership of your work to the project maintainers or the Anonymous Planet collective. You retain full copyright over your original contributions.
|
||||||
|
|
||||||
|
By contributing, you grant the project a perpetual, worldwide, non-exclusive, royalty-free license to use, reproduce, adapt, and distribute your contribution under CC BY-SA 4.0—consistent with the license terms the entire project operates under.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Your Obligations as a Contributor
|
||||||
|
|
||||||
|
When you submit a contribution, you confirm that:
|
||||||
|
|
||||||
|
1. **You have the right to submit it.** The contribution is your own original work, or you have the necessary rights to submit it under CC BY-SA 4.0. You are not submitting material that is proprietary, confidential, or owned by a third party without their permission.
|
||||||
|
|
||||||
|
2. **It is compatible with CC BY-SA 4.0.** If your contribution incorporates third-party material, that material must already be licensed under CC BY-SA 4.0 or a [compatible license](https://creativecommons.org/share-your-work/licensing-considerations/compatible-licenses/). Do not submit content under CC BY-NC 4.0 or any other license that conflicts with CC BY-SA 4.0.
|
||||||
|
|
||||||
|
3. **Attribution will carry forward.** You understand that your contribution—along with your credit as a contributor—may be included in redistributed or adapted versions of this project, and that downstream users will be required to attribute the project and preserve the CC BY-SA 4.0 license.
|
||||||
|
|
||||||
|
4. **Derivative works stay open.** You understand that anyone who builds on this project's content (including your contributions) must release their adaptations under CC BY-SA 4.0 or a compatible license. This is the core share-alike obligation.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## How Acceptance Works
|
||||||
|
|
||||||
|
This project does not use a formal CLA signature process. Acceptance is implicit:
|
||||||
|
|
||||||
|
> **By opening a pull request, submitting an issue with original content, or otherwise contributing material to this repository, you indicate that you have read this document and agree to its terms.**
|
||||||
|
|
||||||
|
If you are contributing on behalf of an organization or employer, you confirm that you are authorized to submit contributions under these terms on their behalf.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Questions
|
||||||
|
|
||||||
|
If you are unsure whether your contribution is compatible with CC BY-SA 4.0, or have questions about these terms, open an issue before submitting. Maintainers will do their best to clarify.
|
||||||
|
|
||||||
|
For the full license text: <https://creativecommons.org/licenses/by-sa/4.0/legalcode>
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
# Contributor Code of Conduct
|
|
||||||
|
|
||||||
This project adheres to No Code of Conduct. We are all adults. We accept anyone's contributions. Nothing else matters.
|
|
||||||
|
|
||||||
For more information please visit the [No Code of Conduct](https://github.com/domgetter/NCoC) homepage.
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iHUEABYKAB0WIQSDps+e9XrCW1x/XSkoXmBIoSMhsgUCZCfhzgAKCRAoXmBIoSMh
|
|
||||||
sul0AP96LS75EXGqeCq5ic2YIG5A+emICYi8qCePtz+OR3LwBAD+O6OqfGYDhjwB
|
|
||||||
beUmiF1IveuoP+fVsaavvLqaUifnBwM=
|
|
||||||
=926r
|
|
||||||
-----END PGP SIGNATURE-----
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
untrusted comment: signature from minisign secret key
|
|
||||||
RUSn9xivowlq/gD5vCC8/YFdUVxQVvGfr4Far0rKgyq8NvpyWOyv7OniMR0H1cROxjbaNwDGKi40AIpnb4DxlLhGLB9vXxAk4Qo=
|
|
||||||
trusted comment: timestamp:1680335312 file:CODE_OF_CONDUCT.md hashed
|
|
||||||
8ZCh3j5OFCt1TrJjRqhMaw35omLWqEkt9iPoiRamKLSZ7bHQtjxYLUkVzzywci3rqYSH5J/foTuuBGPBZOU2BQ==
|
|
||||||
@@ -1,75 +0,0 @@
|
|||||||
##### Any opinion is welcome.
|
|
||||||
##### Feel free to discuss in the [discussions] section.
|
|
||||||
##### Feel free report issues in the [issues] section.
|
|
||||||
|
|
||||||
### Code Free Contributions
|
|
||||||
|
|
||||||
#### There are multiple ways you can add to the guide:
|
|
||||||
|
|
||||||
- You can [submit bugs and feature requests](https://github.com/AnonyPla-ng/thgtoa/issues/new) with detailed information about your issue or idea:
|
|
||||||
- If you'd like to propose an addition, please follow the standards outlined here.
|
|
||||||
- If you're reporting an issue, please be sure to include the expected behaviour, the observed behaviour, and steps to reproduce the problem.
|
|
||||||
- This can require technical knowledge, but you can also get involved in conversations about bug reports and feature requests. This is a great way to get involved without getting too overwhelmed!
|
|
||||||
- [Help fellow committers test recently submitted pull requests](https://github.com/AnonyPla-ng/thgtoa/pulls). Simply by pulling down a pull request and testing it, you can help ensure our new code contributions for stability and quality.
|
|
||||||
|
|
||||||
### Content Contributions
|
|
||||||
|
|
||||||
For those of you who are looking to add content to the guide, include the following:
|
|
||||||
|
|
||||||
##### <u>Pull Requests</u>
|
|
||||||
|
|
||||||
- **Do** create a [topic branch] to work on instead of working directly on `master`. This helps to:
|
|
||||||
- Protect the process.
|
|
||||||
- Ensures users are aware of commits on the branch being considered for merge.
|
|
||||||
- Allows for a location for more commits to be offered without mingling with other contributor changes.
|
|
||||||
- Allows contributors to make progress while a PR is still being reviewed.
|
|
||||||
- **Do** follow the [50/72 rule] for Git commit messages.
|
|
||||||
- **Do** write "WIP" on your PR and/or open a [draft PR] if submitting unfinished changes..
|
|
||||||
- **Do** make sure the title of a draft PR makes it immediately clear that it's a draft
|
|
||||||
- **Do** target your pull request to the **master branch**.
|
|
||||||
- **Do** specify a descriptive title to make searching for your pull request easier.
|
|
||||||
- **Don't** leave your pull request description blank.
|
|
||||||
- **Don't** abandon your pull request. Being responsive helps us land your changes faster.
|
|
||||||
- **Don't** post questions in older closed PRs.
|
|
||||||
- **Do** stick to the guide to find common style issues.
|
|
||||||
- **Don't** make mass changes (such as replacing "I" with "we") using automated serach/replace functionality.
|
|
||||||
- Search/replace doesn't understand context, and as such, will inevitably cause inconsistencies and make the guide harder to read.
|
|
||||||
- If it's part of a larger PR, it'll also make the reviewer's life harder, as they'll have to go through manually and undo everything by hand.
|
|
||||||
- *If you're going to make mass changes, take the time to do it properly*. Otherwise I'll just have to undo it anyway.
|
|
||||||
- If your change contains backslashes (`\`), wither escape them with another backslash (`\\`) or put them in a ```code block```.
|
|
||||||
|
|
||||||
When reporting guide issues:
|
|
||||||
|
|
||||||
- **Do** write a detailed description of your issue and use a descriptive title.
|
|
||||||
- **Do** make it as detailed as possible and don't just submit 50 line changes without explaining.
|
|
||||||
- **Don't** file duplicate reports; search for your bug before filing a new report.
|
|
||||||
- **Don't** attempt to report issues on a closed PR.
|
|
||||||
|
|
||||||
### Large PRs
|
|
||||||
|
|
||||||
Please split large sets of changes into multiple PRs. For example, a PR that adds Windows 11 support, removes Windows AME references, and fixes typos can be split into 3 PRs. This makes PRs easier to review prior to merging.
|
|
||||||
|
|
||||||
For an example of what *not* to do, see: <https://github.com/Anon-Planet/thgtoa/pull/51>. This PR contains enough changes to split into multiple smaller and individually-reviewable PRs.
|
|
||||||
|
|
||||||
### Updating PRs
|
|
||||||
|
|
||||||
While a PR is being reviewed, modifications may be made to it by the reviewer prior to merging. If this is the case, a new branch will be created for the PR's review. If you would like to submit a change to a PR that is in the process of being reviewed, *do not update the PR directly*. This will only cause merge conflicts and delay the PR from being merged. Instead, submit your changes to the PR's review branch.
|
|
||||||
|
|
||||||
For an example of what *not* to do, see: <https://github.com/Anon-Planet/thgtoa/pull/51>. Instead of submitting changes to the PR directly, they should have been submitted as changes to the [PR's associated review branch](https://github.com/NobodySpecial256/thgtoa/tree/pr/51).
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**Thank you** for taking the few moments to read this far! You're already way ahead of the
|
|
||||||
curve, so keep it up!
|
|
||||||
|
|
||||||
[discussions]: https://github.com/AnonyPla-ng/thgtoa/discussions
|
|
||||||
[issues]: https://github.com/AnonyPla-ng/thgtoa/issues
|
|
||||||
[help fellow users with open issues]: https://github.com/AnonyPla-ng/thgtoa/issues
|
|
||||||
[topic branch]: http://git-scm.com/book/en/Git-Branching-Branching-Workflows#Topic-Branches
|
|
||||||
[Qubes#7457]: https://github.com/QubesOS/qubes-issues/issues/7457
|
|
||||||
[50/72 rule]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
|
|
||||||
[draft pr]: https://help.github.com/en/articles/about-pull-requests#draft-pull-requests
|
|
||||||
[console output]: https://docs.github.com/en/free-pro-team@latest/github/writing-on-github/creating-and-highlighting-code-blocks#fenced-code-blocks
|
|
||||||
[verification steps]: https://docs.github.com/en/free-pro-team@latest/github/writing-on-github/basic-writing-and-formatting-syntax#task-lists
|
|
||||||
[reference associated issues]: https://github.com/blog/1506-closing-issues-via-pull-requests
|
|
||||||
[help fellow committers test recently submitted pull requests]: https://github.com/AnonyPla-ng/thgtoa/pulls
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iHUEABYKAB0WIQSDps+e9XrCW1x/XSkoXmBIoSMhsgUCZCfh0AAKCRAoXmBIoSMh
|
|
||||||
sqsRAP9FYsTS4eOVpTuhk90U8gV/5J+LguFtsPO3z2IQcVKgPgEAkqYbyrzgu0Ls
|
|
||||||
XFAS01F8e1by+2qZoBsu8nuEnih8NAo=
|
|
||||||
=Kdf7
|
|
||||||
-----END PGP SIGNATURE-----
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
untrusted comment: signature from minisign secret key
|
|
||||||
RUSn9xivowlq/tV9Fy2nTvAb4k8umjfk+y6Bpi6z4nOEGBCAm1VfwbmjJF5Kpe9aU0bZtncMMN7vZXi+kYrvUuVG18ZECx8pRg4=
|
|
||||||
trusted comment: timestamp:1680335313 file:CONTRIBUTING.md hashed
|
|
||||||
DA9AId6tgXMrNVoyrrscYw+WG/BvVEdmVaKJKbcRV3z7yM7H0FE9wx//x+m9VgaDyq0mgDkd44Fvjt7TxgG/CQ==
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
PGP/GPG key ID `7DFFD7471FB76E2A8ABBBCDDD769B3749E933B8A` is no longer active
|
|
||||||
PGP/GPG key ID `42FF35DB9DE7C088AB0FD4A70C216A52F6DF4920` is no longer active
|
|
||||||
|
|
||||||
This project now uses separate master, release signing, and email keys.
|
|
||||||
|
|
||||||
Current master key fingerprint: `9EA98278639F1CD853E096CBFF94507587A6A9B9`
|
|
||||||
Current release key fingerprint: `83A6CF9EF57AC25B5C7F5D29285E6048A12321B2`
|
|
||||||
Current email key fingerprint: `B6D1757632A280F99F2DCBFDB9AB9D93AFF05B9C`
|
|
||||||
|
|
||||||
The email and release keys should be signed by the master key.
|
|
||||||
The master key takes precedence over all other project keys.
|
|
||||||
------------------------------------------------------------------------------------
|
|
||||||
Minisign key
|
|
||||||
```
|
|
||||||
untrusted comment: minisign public key 902835EC74825934
|
|
||||||
RWQ0WYJ07DUokK8V/6LNJ9bf/O/QM9k4FSlDmzgEeXm7lEpw3ecYjXDM
|
|
||||||
```
|
|
||||||
is no longer active
|
|
||||||
|
|
||||||
Use
|
|
||||||
```
|
|
||||||
untrusted comment: minisign public key FE6A09A3AF18F7A7
|
|
||||||
RWSn9xivowlq/ihAzclDBxhCxbYz4bLkC8E645lHgSUlQNlDvoTxO5Fv
|
|
||||||
```
|
|
||||||
instead
|
|
||||||
|
|
||||||
Files signed using this key pair can be verified with the following command:
|
|
||||||
|
|
||||||
```
|
|
||||||
minisign -Vm <file> -P RWSn9xivowlq/ihAzclDBxhCxbYz4bLkC8E645lHgSUlQNlDvoTxO5Fv
|
|
||||||
```
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iHUEABYKAB0WIQSDps+e9XrCW1x/XSkoXmBIoSMhsgUCZCfh0QAKCRAoXmBIoSMh
|
|
||||||
sln0AP92N6DWLW1Le7UPMtdxY7+qITMdFoYXgn9gj4J2jBRLQAEAhP37VhQIdVXg
|
|
||||||
B9yFEOEQw3kIls55JlRkQ3hrPxPVfw0=
|
|
||||||
=VTt0
|
|
||||||
-----END PGP SIGNATURE-----
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
untrusted comment: signature from minisign secret key
|
|
||||||
RUSn9xivowlq/gEdIFDRsGwF2xuLoX64+PcxRZHg0mT+M3d5ZBNe4iv6jUdYpoFpY6Ba2Ny2jTxhLq8lbu4IsvRsBxMSvCdipQE=
|
|
||||||
trusted comment: timestamp:1680335315 file:KEY_ROTATION.md hashed
|
|
||||||
mpcXR7nKMEl8oBGdZM+F35/fRIpZoaBMxK8Z1PvaxXGpnZW2K7MQZvHeJs6BqJmodABPUggd/Ovy74XSQ+AwDQ==
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
Attribution-NonCommercial 4.0 International
|
Attribution-ShareAlike 4.0 International
|
||||||
|
|
||||||
=======================================================================
|
=======================================================================
|
||||||
|
|
||||||
@@ -54,12 +54,12 @@ exhaustive, and do not form part of our licenses.
|
|||||||
|
|
||||||
=======================================================================
|
=======================================================================
|
||||||
|
|
||||||
Creative Commons Attribution-NonCommercial 4.0 International Public
|
Creative Commons Attribution-ShareAlike 4.0 International Public
|
||||||
License
|
License
|
||||||
|
|
||||||
By exercising the Licensed Rights (defined below), You accept and agree
|
By exercising the Licensed Rights (defined below), You accept and agree
|
||||||
to be bound by the terms and conditions of this Creative Commons
|
to be bound by the terms and conditions of this Creative Commons
|
||||||
Attribution-NonCommercial 4.0 International Public License ("Public
|
Attribution-ShareAlike 4.0 International Public License ("Public
|
||||||
License"). To the extent this Public License may be interpreted as a
|
License"). To the extent this Public License may be interpreted as a
|
||||||
contract, You are granted the Licensed Rights in consideration of Your
|
contract, You are granted the Licensed Rights in consideration of Your
|
||||||
acceptance of these terms and conditions, and the Licensor grants You
|
acceptance of these terms and conditions, and the Licensor grants You
|
||||||
@@ -84,44 +84,45 @@ Section 1 -- Definitions.
|
|||||||
and Similar Rights in Your contributions to Adapted Material in
|
and Similar Rights in Your contributions to Adapted Material in
|
||||||
accordance with the terms and conditions of this Public License.
|
accordance with the terms and conditions of this Public License.
|
||||||
|
|
||||||
c. Copyright and Similar Rights means copyright and/or similar rights
|
c. BY-SA Compatible License means a license listed at
|
||||||
|
creativecommons.org/compatiblelicenses, approved by Creative
|
||||||
|
Commons as essentially the equivalent of this Public License.
|
||||||
|
|
||||||
|
d. Copyright and Similar Rights means copyright and/or similar rights
|
||||||
closely related to copyright including, without limitation,
|
closely related to copyright including, without limitation,
|
||||||
performance, broadcast, sound recording, and Sui Generis Database
|
performance, broadcast, sound recording, and Sui Generis Database
|
||||||
Rights, without regard to how the rights are labeled or
|
Rights, without regard to how the rights are labeled or
|
||||||
categorized. For purposes of this Public License, the rights
|
categorized. For purposes of this Public License, the rights
|
||||||
specified in Section 2(b)(1)-(2) are not Copyright and Similar
|
specified in Section 2(b)(1)-(2) are not Copyright and Similar
|
||||||
Rights.
|
Rights.
|
||||||
d. Effective Technological Measures means those measures that, in the
|
|
||||||
|
e. Effective Technological Measures means those measures that, in the
|
||||||
absence of proper authority, may not be circumvented under laws
|
absence of proper authority, may not be circumvented under laws
|
||||||
fulfilling obligations under Article 11 of the WIPO Copyright
|
fulfilling obligations under Article 11 of the WIPO Copyright
|
||||||
Treaty adopted on December 20, 1996, and/or similar international
|
Treaty adopted on December 20, 1996, and/or similar international
|
||||||
agreements.
|
agreements.
|
||||||
|
|
||||||
e. Exceptions and Limitations means fair use, fair dealing, and/or
|
f. Exceptions and Limitations means fair use, fair dealing, and/or
|
||||||
any other exception or limitation to Copyright and Similar Rights
|
any other exception or limitation to Copyright and Similar Rights
|
||||||
that applies to Your use of the Licensed Material.
|
that applies to Your use of the Licensed Material.
|
||||||
|
|
||||||
f. Licensed Material means the artistic or literary work, database,
|
g. License Elements means the license attributes listed in the name
|
||||||
|
of a Creative Commons Public License. The License Elements of this
|
||||||
|
Public License are Attribution and ShareAlike.
|
||||||
|
|
||||||
|
h. Licensed Material means the artistic or literary work, database,
|
||||||
or other material to which the Licensor applied this Public
|
or other material to which the Licensor applied this Public
|
||||||
License.
|
License.
|
||||||
|
|
||||||
g. Licensed Rights means the rights granted to You subject to the
|
i. Licensed Rights means the rights granted to You subject to the
|
||||||
terms and conditions of this Public License, which are limited to
|
terms and conditions of this Public License, which are limited to
|
||||||
all Copyright and Similar Rights that apply to Your use of the
|
all Copyright and Similar Rights that apply to Your use of the
|
||||||
Licensed Material and that the Licensor has authority to license.
|
Licensed Material and that the Licensor has authority to license.
|
||||||
|
|
||||||
h. Licensor means the individual(s) or entity(ies) granting rights
|
j. Licensor means the individual(s) or entity(ies) granting rights
|
||||||
under this Public License.
|
under this Public License.
|
||||||
|
|
||||||
i. NonCommercial means not primarily intended for or directed towards
|
k. Share means to provide material to the public by any means or
|
||||||
commercial advantage or monetary compensation. For purposes of
|
|
||||||
this Public License, the exchange of the Licensed Material for
|
|
||||||
other material subject to Copyright and Similar Rights by digital
|
|
||||||
file-sharing or similar means is NonCommercial provided there is
|
|
||||||
no payment of monetary compensation in connection with the
|
|
||||||
exchange.
|
|
||||||
|
|
||||||
j. Share means to provide material to the public by any means or
|
|
||||||
process that requires permission under the Licensed Rights, such
|
process that requires permission under the Licensed Rights, such
|
||||||
as reproduction, public display, public performance, distribution,
|
as reproduction, public display, public performance, distribution,
|
||||||
dissemination, communication, or importation, and to make material
|
dissemination, communication, or importation, and to make material
|
||||||
@@ -129,13 +130,13 @@ Section 1 -- Definitions.
|
|||||||
public may access the material from a place and at a time
|
public may access the material from a place and at a time
|
||||||
individually chosen by them.
|
individually chosen by them.
|
||||||
|
|
||||||
k. Sui Generis Database Rights means rights other than copyright
|
l. Sui Generis Database Rights means rights other than copyright
|
||||||
resulting from Directive 96/9/EC of the European Parliament and of
|
resulting from Directive 96/9/EC of the European Parliament and of
|
||||||
the Council of 11 March 1996 on the legal protection of databases,
|
the Council of 11 March 1996 on the legal protection of databases,
|
||||||
as amended and/or succeeded, as well as other essentially
|
as amended and/or succeeded, as well as other essentially
|
||||||
equivalent rights anywhere in the world.
|
equivalent rights anywhere in the world.
|
||||||
|
|
||||||
l. You means the individual or entity exercising the Licensed Rights
|
m. You means the individual or entity exercising the Licensed Rights
|
||||||
under this Public License. Your has a corresponding meaning.
|
under this Public License. Your has a corresponding meaning.
|
||||||
|
|
||||||
|
|
||||||
@@ -149,10 +150,9 @@ Section 2 -- Scope.
|
|||||||
exercise the Licensed Rights in the Licensed Material to:
|
exercise the Licensed Rights in the Licensed Material to:
|
||||||
|
|
||||||
a. reproduce and Share the Licensed Material, in whole or
|
a. reproduce and Share the Licensed Material, in whole or
|
||||||
in part, for NonCommercial purposes only; and
|
in part; and
|
||||||
|
|
||||||
b. produce, reproduce, and Share Adapted Material for
|
b. produce, reproduce, and Share Adapted Material.
|
||||||
NonCommercial purposes only.
|
|
||||||
|
|
||||||
2. Exceptions and Limitations. For the avoidance of doubt, where
|
2. Exceptions and Limitations. For the avoidance of doubt, where
|
||||||
Exceptions and Limitations apply to Your use, this Public
|
Exceptions and Limitations apply to Your use, this Public
|
||||||
@@ -182,7 +182,13 @@ Section 2 -- Scope.
|
|||||||
Licensed Rights under the terms and conditions of this
|
Licensed Rights under the terms and conditions of this
|
||||||
Public License.
|
Public License.
|
||||||
|
|
||||||
b. No downstream restrictions. You may not offer or impose
|
b. Additional offer from the Licensor -- Adapted Material.
|
||||||
|
Every recipient of Adapted Material from You
|
||||||
|
automatically receives an offer from the Licensor to
|
||||||
|
exercise the Licensed Rights in the Adapted Material
|
||||||
|
under the conditions of the Adapter's License You apply.
|
||||||
|
|
||||||
|
c. No downstream restrictions. You may not offer or impose
|
||||||
any additional or different terms or conditions on, or
|
any additional or different terms or conditions on, or
|
||||||
apply any Effective Technological Measures to, the
|
apply any Effective Technological Measures to, the
|
||||||
Licensed Material if doing so restricts exercise of the
|
Licensed Material if doing so restricts exercise of the
|
||||||
@@ -214,9 +220,7 @@ Section 2 -- Scope.
|
|||||||
Rights, whether directly or through a collecting society
|
Rights, whether directly or through a collecting society
|
||||||
under any voluntary or waivable statutory or compulsory
|
under any voluntary or waivable statutory or compulsory
|
||||||
licensing scheme. In all other cases the Licensor expressly
|
licensing scheme. In all other cases the Licensor expressly
|
||||||
reserves any right to collect such royalties, including when
|
reserves any right to collect such royalties.
|
||||||
the Licensed Material is used other than for NonCommercial
|
|
||||||
purposes.
|
|
||||||
|
|
||||||
|
|
||||||
Section 3 -- License Conditions.
|
Section 3 -- License Conditions.
|
||||||
@@ -266,9 +270,24 @@ following conditions.
|
|||||||
information required by Section 3(a)(1)(A) to the extent
|
information required by Section 3(a)(1)(A) to the extent
|
||||||
reasonably practicable.
|
reasonably practicable.
|
||||||
|
|
||||||
4. If You Share Adapted Material You produce, the Adapter's
|
b. ShareAlike.
|
||||||
License You apply must not prevent recipients of the Adapted
|
|
||||||
Material from complying with this Public License.
|
In addition to the conditions in Section 3(a), if You Share
|
||||||
|
Adapted Material You produce, the following conditions also apply.
|
||||||
|
|
||||||
|
1. The Adapter's License You apply must be a Creative Commons
|
||||||
|
license with the same License Elements, this version or
|
||||||
|
later, or a BY-SA Compatible License.
|
||||||
|
|
||||||
|
2. You must include the text of, or the URI or hyperlink to, the
|
||||||
|
Adapter's License You apply. You may satisfy this condition
|
||||||
|
in any reasonable manner based on the medium, means, and
|
||||||
|
context in which You Share Adapted Material.
|
||||||
|
|
||||||
|
3. You may not offer or impose any additional or different terms
|
||||||
|
or conditions on, or apply any Effective Technological
|
||||||
|
Measures to, Adapted Material that restrict exercise of the
|
||||||
|
rights granted under the Adapter's License You apply.
|
||||||
|
|
||||||
|
|
||||||
Section 4 -- Sui Generis Database Rights.
|
Section 4 -- Sui Generis Database Rights.
|
||||||
@@ -278,13 +297,13 @@ apply to Your use of the Licensed Material:
|
|||||||
|
|
||||||
a. for the avoidance of doubt, Section 2(a)(1) grants You the right
|
a. for the avoidance of doubt, Section 2(a)(1) grants You the right
|
||||||
to extract, reuse, reproduce, and Share all or a substantial
|
to extract, reuse, reproduce, and Share all or a substantial
|
||||||
portion of the contents of the database for NonCommercial purposes
|
portion of the contents of the database;
|
||||||
only;
|
|
||||||
|
|
||||||
b. if You include all or a substantial portion of the database
|
b. if You include all or a substantial portion of the database
|
||||||
contents in a database in which You have Sui Generis Database
|
contents in a database in which You have Sui Generis Database
|
||||||
Rights, then the database in which You have Sui Generis Database
|
Rights, then the database in which You have Sui Generis Database
|
||||||
Rights (but not its individual contents) is Adapted Material; and
|
Rights (but not its individual contents) is Adapted Material,
|
||||||
|
including for purposes of Section 3(b); and
|
||||||
|
|
||||||
c. You must comply with the conditions in Section 3(a) if You Share
|
c. You must comply with the conditions in Section 3(a) if You Share
|
||||||
all or a substantial portion of the contents of the database.
|
all or a substantial portion of the contents of the database.
|
||||||
@@ -385,6 +404,7 @@ Section 8 -- Interpretation.
|
|||||||
that apply to the Licensor or You, including from the legal
|
that apply to the Licensor or You, including from the legal
|
||||||
processes of any jurisdiction or authority.
|
processes of any jurisdiction or authority.
|
||||||
|
|
||||||
|
|
||||||
=======================================================================
|
=======================================================================
|
||||||
|
|
||||||
Creative Commons is not a party to its public
|
Creative Commons is not a party to its public
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iHUEABYKAB0WIQSDps+e9XrCW1x/XSkoXmBIoSMhsgUCZCfh0wAKCRAoXmBIoSMh
|
|
||||||
suCEAP9HosFzj8/w9w+EzKM+XJBXDZc3beZkVJ4Kf4yOlMgUBwEA97aOiHyzYwmp
|
|
||||||
/PRYhgK8zUUYxOIRfkDtl1ekb8ahrw0=
|
|
||||||
=nF54
|
|
||||||
-----END PGP SIGNATURE-----
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
untrusted comment: signature from minisign secret key
|
|
||||||
RUSn9xivowlq/gAzBQtyzCamju84eebs9pmkibZyZu3dRxd3LrTgZgknkRyjTMx8clMYRpHl1l7XCqCROtQU8r+zSXd79xFgFQc=
|
|
||||||
trusted comment: timestamp:1680335316 file:LICENSE.md hashed
|
|
||||||
WVZeiBuCi5Vje4LQJgOIehfYUWjVkDWtOEtct/eZwkEDbDf9vVdYLkpk5MuEvy6zbbSG7lChoxAyAXQHnixMCw==
|
|
||||||
@@ -1,51 +1,26 @@
|
|||||||
|
<div align="center">
|
||||||
|
<a href="https://anonymousplanet.net">
|
||||||
|
<img src="https://anonymousplanet.net/media/profile.png"></a>
|
||||||
|
|
||||||
|
<p><em>The comprehensive guide for online anonymity and OpSec.</em></p>
|
||||||
|
|
||||||
|
<a href="https://github.com/Anon-Planet/thgtoa/stargazers">
|
||||||
|
<img src="https://img.shields.io/github/stars/Anon-Planet?style=social"></a>
|
||||||
|
<a href="https://github.com/Anon-Planet/thgtoa/releases/latest">
|
||||||
|
<img src="https://img.shields.io/badge/MkDocs_Material-526CFE?logo=MaterialForMkDocs&logoColor=green"></a>
|
||||||
|
<a href="https://github.com/Anon-Planet/thgtoa/actions/workflows/release.yml">
|
||||||
|
<img src="https://img.shields.io/github/actions/workflow/status/Anon-Planet/thgtoa/release.yml?label=release"></a></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
Welcome.
|
Welcome.
|
||||||
|
|
||||||
**[IMPORTANT RECOMMENDATION FOR UKRAINIANS. ВАЖЛИВА РЕКОМЕНДАЦІЯ ДЛЯ УКРАЇНЦІВ](briar.html)**
|
This is a guide with the aim of providing an introduction to various online tracking techniques, online ID verification techniques, and detailed guidance to creating and maintaining (truly) anonymous online identities. <span style="color: red">**It is written with hope for activists, journalists, scientists, lawyers, whistle-blowers, and good people being oppressed, censored, harassed anywhere!**</span> This guide has no affiliation with the [Anonymous](https://en.wikipedia.org/wiki/Anonymous_(hacker_group)) <sup>[[Wikiless]](https://wikiless.com/wiki/Anonymous_(hacker_group))</sup> <sup>[[Archive.org]](https://web.archive.org/web/https://en.wikipedia.org/wiki/Anonymous_(hacker_group))</sup> collective/movement.
|
||||||
|
|
||||||
This is a maintained guide with the aim of providing an introduction to various online tracking techniques, online ID verification techniques, and detailed guidance to creating and maintaining (truly) anonymous online identities. <span style="color: red">**It is written with hope for activists, journalists, scientists, lawyers, whistle-blowers, and good people being oppressed, censored, harassed anywhere!**</span> This guide has no affiliation with the [Anonymous](https://en.wikipedia.org/wiki/Anonymous_(hacker_group)) <sup>[[Wikiless]](https://wikiless.org/wiki/Anonymous_(hacker_group))</sup> <sup>[[Archive.org]](https://web.archive.org/web/https://en.wikipedia.org/wiki/Anonymous_(hacker_group))</sup> collective/movement.
|
This guide is an open-source non-profit initiative, [licensed](LICENSE.html) under **Creative Commons Attribution-ShareAlike 4.0 International** ([cc-by-sa-4.0](https://creativecommons.org/licenses/by-sa/4.0/) <sup>[[Archive.org]](https://web.archive.org/web/https://creativecommons.org/licenses/by-sa/4.0/)</sup>) and is **not sponsored/endorsed by any commercial/governmental entity**. This means that you are free to use our guide for pretty much any purpose **excluding commercially** as long as you do attribute it. There are no ads or any affiliate links.
|
||||||
|
|
||||||
This guide is an open-source non-profit initiative, [licensed](LICENSE.html) under **Creative Commons Attribution-NonCommercial 4.0 International** ([cc-by-nc-4.0](https://creativecommons.org/licenses/by-nc/4.0/) <sup>[[Archive.org]](https://web.archive.org/web/https://creativecommons.org/licenses/by-nc/4.0/)</sup>) and is **not sponsored/endorsed by any commercial/governmental entity**. This means that you are free to use our guide for pretty much any purpose **excluding commercially** as long as you do attribute it. There are no ads or any affiliate links.
|
|
||||||
|
|
||||||
**If you would like to make a donation to help this project, you can do so from [here](donations.html) where you will also find the project goals. All the donations will be strictly used within the context of this project. All donations and spendings are logged on the donations page.**
|
**If you would like to make a donation to help this project, you can do so from [here](donations.html) where you will also find the project goals. All the donations will be strictly used within the context of this project. All donations and spendings are logged on the donations page.**
|
||||||
|
|
||||||
**Direct downloads alternatives:**
|
**Ways to read or export the guide**
|
||||||
- **Coming soon**
|
|
||||||
|
|
||||||
**View the guide:**
|
- **In your browser:** [Hitchhiker's Guide](https://anonymousplanet.net/) (hosted site). After a local build you can also open `site/guide/index.html` directly.
|
||||||
- [In your browser](guide.html)
|
- **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`).
|
||||||
- [PDF](export/guide.pdf)
|
|
||||||
- [OpenDocument (ODT)](export/guide.odt)
|
|
||||||
- Raw [Markdown](https://github.com/Anon-Planet/thgtoa/raw/master/guide.md) text.
|
|
||||||
|
|
||||||
Mirrors:
|
|
||||||
- Tor Onion Mirror: <http://thgtoa27ujspeqxasrfvcf5aozqdczvgmwgorrmblh6jn4nino3spcqd.onion/>
|
|
||||||
|
|
||||||
The guide and all the files are also readily available on Archive.org and Archive.today:
|
|
||||||
|
|
||||||
- Archive.org: <https://web.archive.org/web/https://anonymousplanet.org/>
|
|
||||||
- Archive.today: <https://archive.ph/anonymousplanet.org/>
|
|
||||||
- Archive.today over Tor: <http://archiveiya74codqgiixo33q62qlrqtkgmcitqx5u2oeqnmn5bpcbiyd.onion/anonymousplanet.org/>
|
|
||||||
|
|
||||||
If you want to access/see the original/legacy project, please see the [legacy resources](legacy.html) page.
|
|
||||||
|
|
||||||
If you want to see the changes between your PDF and the latest PDF, you could use one of these tools (we do not endorse those):
|
|
||||||
|
|
||||||
- <https://tools.pdf24.org/en/compare-pdf>
|
|
||||||
- <https://products.aspose.app/pdf/comparison>
|
|
||||||
- <https://draftable.com/compare>
|
|
||||||
|
|
||||||
If you want to compare an older ODT file with a newer one, use the LibreWriter compare features as explained here: <https://help.libreoffice.org/7.1/en-US/text/shared/guide/redlining_doccompare.html> <sup>[[Archive.org]](https://web.archive.org/wen/https://help.libreoffice.org/7.1/en-US/text/shared/guide/redlining_doccompare.html)</sup>)
|
|
||||||
|
|
||||||
**If you want to check the files for integrity, safety, authenticity, please refer to this ["How To"](verify.html).**
|
|
||||||
|
|
||||||
Feel free to submit issues using Github Issues with the repository link above. Criticism, opinions, and ideas are welcome!
|
|
||||||
|
|
||||||
Follow or contact us on:
|
|
||||||
|
|
||||||
Discussion Channels:
|
|
||||||
- Matrix room: ```#anonymity:matrix.org``` <https://matrix.to/#/#anonymity:matrix.org>
|
|
||||||
- Matrix space: ```#privacy-security-anonymity:matrix.org``` <https://matrix.to/#/#privacy-security-anonymity:matrix.org>
|
|
||||||
- Twitter at https://twitter.com/AnonyPla
|
|
||||||
- Mastodon at https://mastodon.social/@anonymousplanet
|
|
||||||
|
|
||||||
Have a good read and feel free to share and/or recommend it!
|
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iHUEABYKAB0WIQSDps+e9XrCW1x/XSkoXmBIoSMhsgUCZCfh1AAKCRAoXmBIoSMh
|
|
||||||
siunAQC2DT2qJEjvosnRz+eT7xPCPqJVF9ou4WVLJeJ1F5MVuQEA+Sr1ogWLT83F
|
|
||||||
Gl7Gw5nAo1VoEy+QoXfVvjCpW8PLFwk=
|
|
||||||
=SzD0
|
|
||||||
-----END PGP SIGNATURE-----
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
untrusted comment: signature from minisign secret key
|
|
||||||
RUSn9xivowlq/khaN6RZfM31d2qqisqStlc6eQx4EzeEUkv9fXpl1oJ2+lAC4r3voqLTkAKLSpfXhgh26HBsa6HSNrA4ySYYAwk=
|
|
||||||
trusted comment: timestamp:1680335318 file:README.md hashed
|
|
||||||
Dix3k+roD19I7GwhfjremcvHpUhHa6EUSBFX4Pxubgk+pRWMEobtF1vQDiergJRyBLcOY3amj76WBf5rhMILDQ==
|
|
||||||
@@ -1,59 +0,0 @@
|
|||||||
markdown: kramdown
|
|
||||||
kramdown:
|
|
||||||
hard_wrap: false
|
|
||||||
plugins:
|
|
||||||
- jekyll-relative-links
|
|
||||||
- jekyll-sitemap
|
|
||||||
- jekyll-seo-tag
|
|
||||||
relative_links:
|
|
||||||
enabled: true
|
|
||||||
collections: true
|
|
||||||
title: The Hitchhiker's Guide to Online Anonymity
|
|
||||||
description: The Hitchhiker's Guide to Online Anonymity
|
|
||||||
tagline: The Hitchhiker's Guide to Online Anonymity
|
|
||||||
author: AnonymousPlanet
|
|
||||||
theme: jekyll-theme-hacker
|
|
||||||
github:
|
|
||||||
home_url: index.html
|
|
||||||
pdf_url: export/guide.pdf
|
|
||||||
odt_url: export/guide.odt
|
|
||||||
guide_url: guide.html
|
|
||||||
donations_url: donations.html
|
|
||||||
changelog_url: CHANGELOG.html
|
|
||||||
license_url: LICENSE.html
|
|
||||||
about_url: about.html
|
|
||||||
minisign_url: minisign.pub
|
|
||||||
links_url: links.html
|
|
||||||
twitter_url: https://anonymousplanet.org/twitter.html
|
|
||||||
mastodon_url: https://mastodon.social/@anonymousplanet
|
|
||||||
constitution_url: constitution.html
|
|
||||||
tor_mirror_url: http://thgtoa27ujspeqxasrfvcf5aozqdczvgmwgorrmblh6jn4nino3spcqd.onion
|
|
||||||
defaults:
|
|
||||||
-
|
|
||||||
scope:
|
|
||||||
path: ""
|
|
||||||
values:
|
|
||||||
layout: default
|
|
||||||
sitemap: true
|
|
||||||
locale: "en-US"
|
|
||||||
author:
|
|
||||||
name: AnonymousPlanet
|
|
||||||
twitter: AnonyPla
|
|
||||||
social:
|
|
||||||
name: AnonymousPlanet
|
|
||||||
links:
|
|
||||||
- https://twitter.com/AnonyPla
|
|
||||||
- https://github.com/Anon-Planet
|
|
||||||
- https://matrix.to/#/#privacy-security-anonymity:matrix.org
|
|
||||||
- https://mastodon.social/@anonymousplanet
|
|
||||||
exclude:
|
|
||||||
- Gemfile
|
|
||||||
- Gemfile.lock
|
|
||||||
- .github
|
|
||||||
- .gitignore
|
|
||||||
include:
|
|
||||||
- LICENSE.md
|
|
||||||
- about.md
|
|
||||||
- legacy.md
|
|
||||||
- briar.md
|
|
||||||
- .well-known
|
|
||||||
@@ -1,196 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="{{ site.lang | default: "en-US" }}">
|
|
||||||
<head>
|
|
||||||
<meta charset='utf-8'>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta http-equiv="onion-location" content="{{ site.github.tor_mirror_url }}{{ page.url }}" />
|
|
||||||
<meta http-equiv="Content-Security-Policy" content="default-src 'self' 'unsafe-inline'; base-uri 'self'; form-action 'self'; object-src 'self'; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline'">
|
|
||||||
<meta http-equiv=”X-XSS-Protection” content=”1">
|
|
||||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()"/>
|
|
||||||
<meta name="referrer" content="no-referrer">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
||||||
<link rel="stylesheet" href="{{ 'assets/css/style.css' }}" id="dark">
|
|
||||||
<link rel="stylesheet" href="{{ 'assets/css/light_style.css' }}" media="none" id="light">
|
|
||||||
<link rel="shortcut icon" type="image/x-icon" href="media/favicon.ico">
|
|
||||||
<script>
|
|
||||||
function SetDark() {
|
|
||||||
document.getElementById('dark').media = "";
|
|
||||||
document.getElementById('light').media = "none";
|
|
||||||
themeicon.innerHTML = '<svg height="24px" viewBox="0 0 24 24" width="24px" fill="#FFF"><path d="M0 0h24v24H0z" fill="none"/><path d="M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69zM12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6 6 2.69 6 6-2.69 6-6 6zm0-10c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4z"/></svg>';
|
|
||||||
}
|
|
||||||
|
|
||||||
function SetLight() {
|
|
||||||
document.getElementById('light').media = "";
|
|
||||||
document.getElementById('dark').media = "none";
|
|
||||||
themeicon.innerHTML = '<svg enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><rect fill="none" height="24" width="24"/><path d="M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36c-0.98,1.37-2.58,2.26-4.4,2.26 c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"/></svg>';
|
|
||||||
}
|
|
||||||
|
|
||||||
window.addEventListener('load',
|
|
||||||
function() {
|
|
||||||
if (window.matchMedia("(prefers-color-scheme: dark)").matches) {
|
|
||||||
if (localStorage.getItem("theme") == "light") {
|
|
||||||
SetLight();
|
|
||||||
document.getElementById('switch').checked = true;
|
|
||||||
} else {
|
|
||||||
SetDark();
|
|
||||||
document.getElementById('switch').checked = false;
|
|
||||||
}
|
|
||||||
} else if (window.matchMedia("(prefers-color-scheme: light)").matches) {
|
|
||||||
if (localStorage.getItem("theme") == "dark") {
|
|
||||||
SetDark();
|
|
||||||
document.getElementById('switch').checked = false;
|
|
||||||
} else {
|
|
||||||
SetLight();
|
|
||||||
document.getElementById('switch').checked = true;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
SetDark();
|
|
||||||
document.getElementById('switch').checked = false;
|
|
||||||
}
|
|
||||||
}, false);
|
|
||||||
|
|
||||||
function switch_theme(state) {
|
|
||||||
if (state) {
|
|
||||||
SetLight();
|
|
||||||
localStorage.setItem("theme", "light");
|
|
||||||
} else {
|
|
||||||
SetDark();
|
|
||||||
localStorage.setItem("theme", "dark");
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
<style>
|
|
||||||
.theme-switch-wrapper {
|
|
||||||
display: inline-block;
|
|
||||||
z-index: 100;
|
|
||||||
position: absolute;
|
|
||||||
right: 0;
|
|
||||||
top: -10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.jswarning {
|
|
||||||
display: inline-block;
|
|
||||||
border: 1px solid green;
|
|
||||||
}
|
|
||||||
|
|
||||||
.theme-switch-wrapper span {
|
|
||||||
margin-right: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.theme-switch {
|
|
||||||
display: inline-block;
|
|
||||||
height: 25px;
|
|
||||||
position: relative;
|
|
||||||
width: 40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.theme-switch input {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.slider {
|
|
||||||
background: #696969;
|
|
||||||
cursor: pointer;
|
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
transition: 0.5s;
|
|
||||||
}
|
|
||||||
|
|
||||||
.slider::before {
|
|
||||||
background: #fff;
|
|
||||||
bottom: 4px;
|
|
||||||
content: '';
|
|
||||||
height: 17px;
|
|
||||||
left: 4px;
|
|
||||||
position: absolute;
|
|
||||||
transition: 0.5s;
|
|
||||||
width: 17px;
|
|
||||||
}
|
|
||||||
|
|
||||||
input:checked + .slider {
|
|
||||||
background: #151515;
|
|
||||||
}
|
|
||||||
|
|
||||||
input:checked + .slider::before {
|
|
||||||
transform: translateX(15px);
|
|
||||||
}
|
|
||||||
|
|
||||||
.slider.round {
|
|
||||||
border-radius: 34px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.slider.round::before {
|
|
||||||
border-radius: 50%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fas {
|
|
||||||
font-size: 30px;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<noscript>
|
|
||||||
<style>.theme-switch-wrapper {display:none;}</style>
|
|
||||||
</noscript>
|
|
||||||
|
|
||||||
{% seo %}
|
|
||||||
</head>
|
|
||||||
<body style="transition: all 0.5s ease;">
|
|
||||||
<header>
|
|
||||||
<div class="container" style="position: relative;">
|
|
||||||
<div class="theme-switch-wrapper">
|
|
||||||
<!-- Icon -->
|
|
||||||
<span id="toggle-icon">
|
|
||||||
<i id="themeicon" class="fas fa-sun"></i>
|
|
||||||
</span>
|
|
||||||
<!-- Switch -->
|
|
||||||
<label class="theme-switch">
|
|
||||||
<input type="checkbox" id="switch" onclick="switch_theme(this.checked)">
|
|
||||||
<div class="slider round"></div>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
<a id="a-title">
|
|
||||||
<h1>The Hitchhiker’s Guide to Online Anonymity</h1>
|
|
||||||
</a>
|
|
||||||
<h2>How I learned to start worrying and love <del>privacy</del> anonymity</h2>
|
|
||||||
<h4 class="project-version">The latest Version is v1.1.6. See the <a href="{{ site.github.changelog_url }}" style="color:#ff4700">changelog.</a></h4>
|
|
||||||
<section id="downloads">
|
|
||||||
{% if page.url != "/" %}
|
|
||||||
<a href="{{ site.github.home_url }}" class="btn_small">Home</a>
|
|
||||||
{% endif %}
|
|
||||||
{% if page.url != "/guide.html" %}
|
|
||||||
<a href="{{ site.github.guide_url }}" class="btn_small" style="color:#FF0000">View Online</a>
|
|
||||||
{% endif %}
|
|
||||||
<a href="{{ site.github.pdf_url }}" class="btn_small">PDF</a>
|
|
||||||
<!--<a href="{{ site.github.pdf_dark_url }}" class="btn_small">PDF (Dark)</a>-->
|
|
||||||
<a href="{{ site.github.odt_url }}" class="btn_small">OpenDocument</a>
|
|
||||||
{% if page.url != "/donations.html" %}
|
|
||||||
<a href="{{ site.github.donations_url }}" class="btn_small">Donate</a>
|
|
||||||
{% endif %}
|
|
||||||
{% if page.url != "/constitution.html" %}
|
|
||||||
<a href="{{ site.github.constitution_url }}" class="btn_small">Constitution</a>
|
|
||||||
{% endif %}
|
|
||||||
<a href="{{ site.github.repository_url }}" target="_blank" class="btn_small">Repository</a>
|
|
||||||
<!--<a href="{{ site.github.keyoxide_url }}" target="_blank" class="btn_small">Keyoxide</a>-->
|
|
||||||
<a rel="me" href="{{ site.github.mastodon_url }}" target="_blank" class="btn_small">Mastodon</a>
|
|
||||||
<a rel="me" href="{{ site.github.twitter_url }}" target="_blank" class="btn_small">Twitter</a>
|
|
||||||
<!--<a rel="me" href="{{ site.github.mastodon_url }}" target="_blank" class="btn_small">Mastodon</a>-->
|
|
||||||
{% if page.url != "/links.html" %}
|
|
||||||
<a href="{{ site.github.links_url }}" class="btn_small">Links</a>
|
|
||||||
{% endif %}
|
|
||||||
{% if page.url != "/about.html" %}
|
|
||||||
<a href="{{ site.github.about_url }}" class="btn_small">About</a>
|
|
||||||
{% endif %}
|
|
||||||
</section>
|
|
||||||
<h5>GPG Key Fingerprint: 9EA9 8278 639F 1CD8 53E0 96CB FF94 5075 87A6 A9B9 / Minisign public key: <a href="{{ site.github.minisign_url }}" style="color:#ff4700">minisign.pub</a></h5>
|
|
||||||
<noscript><p class="jswarning">JavaScript is required to toggle light mode. JavaScript is not used for any other purpose.</p></noscript>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<div class="container">
|
|
||||||
<section id="main_content">
|
|
||||||
{{ content }}
|
|
||||||
</section>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
The current maintainers of this project are Alex (they/them) and The Hidden (aka No).
|
|
||||||
|
|
||||||
After unfortunate events, we have picked up maintenance of this guide in order to continue the project the original founder, Lena, started. Lena faked her death, then returned later. Before her <del>death</del>, she gave me access to her accounts to maintain the guide. I will be maintaining her guide, as well as running her Matrix space, from this point. As we've said before, we cannot guarantee we'll do everything right, or how she would have done it, but we're trying our best.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
Please share this project if you enjoy it and think it might be useful to others.
|
|
||||||
|
|
||||||
Follow or contact us on:
|
|
||||||
- Twitter: <https://twitter.com/AnonyPla>
|
|
||||||
- Mastodon: <https://mastodon.social/@anonymousplanet>
|
|
||||||
- E-Mail: <contact@anonymousplanet.org> (You may use our [PGP public key](https://anonymousplanet.org/pgp/AnonymousPlanet-Email-Key_B6D1757632A280F99F2DCBFDB9AB9D93AFF05B9C.asc) to encrypt e-mails. Do not forget to attach your PGP public key if you want an encrypted answer)
|
|
||||||
|
|
||||||
Discussion Channels:
|
|
||||||
- Matrix room: ```#anonymity:matrix.org``` <https://matrix.to/#/#anonymity:matrix.org>
|
|
||||||
- Matrix space: ```#privacy-security-anonymity:matrix.org``` <https://matrix.to/#/#privacy-security-anonymity:matrix.org>
|
|
||||||
- Github Discussions: <https://github.com/Anon-Planet/thgtoa/discussions/>
|
|
||||||
|
|
||||||
**Below you'll find the original about text from the initial founder, Lena, of this guide before she went missing, most links are invalid.**
|
|
||||||
|
|
||||||
This text will remain here in memoriam of her legacy and the incredible work she did vastly alone without any contributors.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
Hello I'm back,
|
|
||||||
|
|
||||||
**First I'll thank you immensely Alex for salvaging this and helping me. Thank you. Thank you so much.**
|
|
||||||
|
|
||||||
My name is Lena, I'm 22 years old, I'm Ukrainian from Kyiv. Online, I'm I'm just a simple anonymity and privacy activist.
|
|
||||||
I also used to be an activist in real life for various causes and did my share of protests. I was forced to flee the country like many others, and for the moment reside in Germany.
|
|
||||||
|
|
||||||
I'm a firm supporter of human rights, equality, repect, I hate corruption, and now ... sorry but not sorry ... I seriously dislike Russians who still support Putin but in particular, I really hate pro-russian Chechnians who came to Ukraine for the sport as they are just savages to my eyes. This is my sole personal opinion.
|
|
||||||
|
|
||||||
I also strongly believe privacy should be a universal right and that anonymity should never become illegal. I don't want our lives to turn into Gattaca, Minority Report, Black Mirror, or 1984 (Too late for that one, I'm afraid). I do not want our laws and rights to become terms of services.
|
|
||||||
|
|
||||||
My goal is to bring accessible knowledge on these topics to the many and hopefully reach the few good people who really need it. In this specific case, I think the needs of the few outweigh the needs of the many.
|
|
||||||
|
|
||||||
Some facts about me:
|
|
||||||
- I am not rich.
|
|
||||||
- I enjoy good memes, movies, series, and books (and I'm sure some of you will spot some of the many references to those in my project).
|
|
||||||
|
|
||||||
Please share this project if you enjoy it and think it might be useful to others.
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iHUEABYKAB0WIQSDps+e9XrCW1x/XSkoXmBIoSMhsgUCZCfh1gAKCRAoXmBIoSMh
|
|
||||||
sspYAP94KlEc8j6agyeq3l2zoOvV0OcR67gSJ+UJKBwqwX+4YQD/ah3YgXnqSsBS
|
|
||||||
CRyoFmwwrJvKDoDj9lPpae47IiXR0gs=
|
|
||||||
=Ylsy
|
|
||||||
-----END PGP SIGNATURE-----
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
untrusted comment: signature from minisign secret key
|
|
||||||
RUSn9xivowlq/jPGLG4VcZ5au6he/dAI4GTaWrTiWJEdqbaCxJHxOsczmmoIPZyrXjl8lSwWc+cQ4Lh5wh/OWuK79IY/6lGhVws=
|
|
||||||
trusted comment: timestamp:1680335319 file:about.md hashed
|
|
||||||
iljjU44BMSi/pC1dqnoS0sQDojgcL80y85alEF9h75MPIexjFv+Zu25YlTmK5TDTLbXdissqRyMRwO43LNxJBg==
|
|
||||||
@@ -1,87 +0,0 @@
|
|||||||
---
|
|
||||||
---
|
|
||||||
|
|
||||||
@import 'jekyll-theme-hacker';
|
|
||||||
|
|
||||||
body {
|
|
||||||
font-family: "Helvetica", "Bitstream Vera Sans Mono", "Lucida Console", Terminal;
|
|
||||||
background: #FFFFFF;
|
|
||||||
color: #252525;
|
|
||||||
}
|
|
||||||
|
|
||||||
table {
|
|
||||||
border-collapse: collapse;
|
|
||||||
}
|
|
||||||
|
|
||||||
th {
|
|
||||||
border: 2px solid orange;
|
|
||||||
background-color: dimgray;
|
|
||||||
}
|
|
||||||
|
|
||||||
td {
|
|
||||||
border: 1px solid orange;
|
|
||||||
}
|
|
||||||
|
|
||||||
td:nth-child(1) {
|
|
||||||
border: 2px solid orange;
|
|
||||||
font-weight: bold
|
|
||||||
}
|
|
||||||
|
|
||||||
header {
|
|
||||||
border-bottom: 1px dashed #669114;
|
|
||||||
background: #F5F5F5;
|
|
||||||
}
|
|
||||||
|
|
||||||
header h1 {
|
|
||||||
color: #669114;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1, h2, h3, h4, h5, h6 {
|
|
||||||
color: #669114;
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
|
||||||
color: #132935;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn {
|
|
||||||
background:#DCDCDC;
|
|
||||||
color: #111;
|
|
||||||
|
|
||||||
border: 1px solid rgba(0, 0, 0, 0.3);
|
|
||||||
border-bottom: 1px solid rgba(0, 0, 0, 0.25);
|
|
||||||
border-top: 1px solid rgba(0, 0, 0, 0.35);
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn_small {
|
|
||||||
display: inline-block; background: -webkit-linear-gradient(top, rgba(40, 40, 40, 0.3), rgba(35, 35, 35, 0.3) 50%, rgba(10, 10, 10, 0.3) 50%, rgba(0, 0, 0, 0.3));
|
|
||||||
font-family: Helvetica, Arial, sans-serif; font-weight: bold;
|
|
||||||
font-size: 13px;
|
|
||||||
text-decoration: none; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.75);
|
|
||||||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
|
|
||||||
background:#DCDCDC;
|
|
||||||
color: #111;
|
|
||||||
|
|
||||||
border: 1px solid rgba(0, 0, 0, 0.3);
|
|
||||||
border-bottom: 1px solid rgba(0, 0, 0, 0.25);
|
|
||||||
border-top: 1px solid rgba(0, 0, 0, 0.35);
|
|
||||||
padding: 1px 5px;
|
|
||||||
border-radius: 25px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn:hover {
|
|
||||||
background: -webkit-linear-gradient(top, rgba(40,40,40,0.4), rgba(35,35,35,0.4) 50%, rgba(10,10,10,0.4) 50%, rgba(0,0,0,0.4));
|
|
||||||
}
|
|
||||||
|
|
||||||
code.highlighter-rouge {
|
|
||||||
background:#DCDCDC;
|
|
||||||
color: #000000
|
|
||||||
}
|
|
||||||
|
|
||||||
.highlight {
|
|
||||||
background:#DCDCDC;
|
|
||||||
color: #000000
|
|
||||||
}
|
|
||||||
|
|
||||||
ul li { list-style-image: url("../images/bullet_light.png"); }
|
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
---
|
|
||||||
---
|
|
||||||
|
|
||||||
@import 'jekyll-theme-hacker';
|
|
||||||
|
|
||||||
body {
|
|
||||||
font-family: "Helvetica", "Bitstream Vera Sans Mono", "Lucida Console", Terminal;
|
|
||||||
background: #151515;
|
|
||||||
}
|
|
||||||
|
|
||||||
table {
|
|
||||||
border-collapse: collapse;
|
|
||||||
}
|
|
||||||
|
|
||||||
th {
|
|
||||||
border: 2px solid orange;
|
|
||||||
background-color: dimgray;
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
td {
|
|
||||||
border: 1px solid orange;
|
|
||||||
}
|
|
||||||
|
|
||||||
td:nth-child(1) {
|
|
||||||
border: 2px solid orange;
|
|
||||||
font-weight: bold
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn {
|
|
||||||
border: 1px solid rgba(0, 0, 0, 0.3);
|
|
||||||
border-bottom: 1px solid rgba(0, 0, 0, 0.25);
|
|
||||||
border-top: 1px solid rgba(0, 0, 0, 0.35);
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn_small {
|
|
||||||
display: inline-block; background: -webkit-linear-gradient(top, rgba(40, 40, 40, 0.3), rgba(35, 35, 35, 0.3) 50%, rgba(10, 10, 10, 0.3) 50%, rgba(0, 0, 0, 0.3));
|
|
||||||
font-family: Helvetica, Arial, sans-serif; font-weight: bold;
|
|
||||||
font-size: 13px;
|
|
||||||
text-decoration: none; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.75);
|
|
||||||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
|
|
||||||
border: 1px solid rgba(0, 0, 0, 0.3);
|
|
||||||
border-bottom: 1px solid rgba(0, 0, 0, 0.25);
|
|
||||||
border-top: 1px solid rgba(0, 0, 0, 0.35);
|
|
||||||
padding: 1px 5px;
|
|
||||||
border-radius: 25px;
|
|
||||||
color: rgba(255, 255, 255, 0.8);
|
|
||||||
}
|
|
||||||
|
Before Width: | Height: | Size: 7.7 KiB |
@@ -1,17 +0,0 @@
|
|||||||
b61bf2e353177b802423cf7ace080d92e90dd58db0ae3cab292b3df9722d67735174954fd8939c8ef9f337dd33a3f7ac4c59b681f7030fad5a1a659226ab271f CHANGELOG.md
|
|
||||||
13a500b51aaaab394f40d459c722f25c94fdb92c0488a45caa67b5ef5c4d8ea1d5a9e303879cb04fbe61fb756a0b0e713533178cac66310d1f6d227c7a1b9bc7 CODE_OF_CONDUCT.md
|
|
||||||
57930e368db74237e225d57fb277dd30d68b75ce76567f5d608b2cd43ca547ac1f83ec04d3ba54e332e710ac3d641ec51c83fd92dd702d50e34d09d59a167ebb CONTRIBUTING.md
|
|
||||||
51b88600d8c32dc6189bace5786e7dc4c4c9e6b40a106b12e349307757e4d8aa4df6cf5cac1e06200664dd385cb35e4db84d7e7992fd9c3c9cea05fca28a27bb KEY_ROTATION.md
|
|
||||||
be4c0b66dbdca9446079753dc3fcf2fb3eec55e8061c23ebcb20242458319a44120397d825b621fe6a59940204a05689bbb1a23bdd69120f775913f5c08d40dc LICENSE.md
|
|
||||||
33efc63a406a5eebe89217bfb6a3e99641fc63226c146c6ef11dec186d90c93324e285ce8f0c0c973f2c7ab5a781e77f5d8b39154dd46f1aa9971ea457092df2 README.md
|
|
||||||
51f8fb376233f1c8930a0540bcd169c389e8ef35aff8bc1fee98ac41811dd27be9897e81887ded7fc83f139e78bb6842dc1acc8b3d1214a4a49ca88c1e48abac about.md
|
|
||||||
26196d7b81bb79c8dc290a98204e3d416e887552ec68b0de4bbe2f17bcc11fe8e3dfccc7f210a72ddecba2eecfa2e33ceaf57f4b0c3061230d62b805e8228f79 briar.md
|
|
||||||
891592dbb81e072fbce58e5772a3a2c9194f1eece192ac24c590c82d1446abfc6b35962ccf5b3e5b52c1a4ec685416f25737a9cca210b558a1bc43d3afa1384e chatrooms-rules.md
|
|
||||||
0f1ade686710eae78be9d2ac09f8249399994b4e73d37e8d0893cff9d58ba93dc38eb5ffb912744aa1318508449ed7a11661af99e778f0d800f5b11ced4fbd2c constitution.md
|
|
||||||
5a0a6f7e1df8e6965606d12e6763c86c96adb023df120c0a71e631f2ad44fcd9057c84f793411f71e6b5366a84fe583def86729f0863d0e3a0f083d228f37850 donations.md
|
|
||||||
aee1b15060dbe02ef64b165d8039f0211eda3a3cb1435ae75fd0eeccbc220400b7ae1f6d189b8f2d83f402f52d3995e43e31abc00d7bfd20dedc36266563ed84 guide.md
|
|
||||||
046a52e53005963dd38343505aa43e51b5d750f0891c0a20a675c80ef9a254077db98b15165641a5f7ea33cc19f035e2aa7dbec4504a95c32b63911e3c7a8046 legacy.md
|
|
||||||
66ff213a8a0ec7fe0540858153b799343ce35cc0e9f541d3ea241160758096e278496f85260e6a26ede7f7a30744398b3aaf6b7a15265f3cb6ecc91a09771fe0 links.md
|
|
||||||
32b57ea09d576ce73f74352e9fe1baef19ed6c3808a9e3fa4716ec881f57a579861fa22b95e56dc729048c27e242fbbc15866cb2c36411c9e49173c00c126647 moderncrypto-rules.md
|
|
||||||
28ee0d22dd1f3ad583eeae49d459b8bafcafbb094912342afa628f015c89f1c296769a66bdd5d1c98b5c56a2351ffb9eb15f38ad34fae9f765bfa584d31003bc twitter.md
|
|
||||||
b95e9fa16a93a07c1eae64b2ec6f180c23b8d005d3c0cd682700d04a767205095670524225ed5810bf4eeb3d7b4c7fc3e08d161ea5dcefc70b36cac6776d662c verify.md
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iHUEABYKAB0WIQSDps+e9XrCW1x/XSkoXmBIoSMhsgUCZCfh6AAKCRAoXmBIoSMh
|
|
||||||
srN2AP0TmruDkqDjwAZ/U93ijF2QhBHP5g49cHRplkDWo5LUBwEAuE+iyAqVCpSW
|
|
||||||
nkqhdgdInT2qRe+G4Ml5jRRxM/l1QA4=
|
|
||||||
=ANo3
|
|
||||||
-----END PGP SIGNATURE-----
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
untrusted comment: signature from minisign secret key
|
|
||||||
RUSn9xivowlq/rtm3Vs83OEudyQPQZe2ajhVBIw9wkSw7KjPi/MqBMC2pQf+1qe/zBH+KDLaHmjgHWPK0wrp9Kgh7+Z4yDjLWwM=
|
|
||||||
trusted comment: timestamp:1680335337 file:b2sum.txt hashed
|
|
||||||
iuibRpqWVqMC+3S4IgNlpVS+KATxngRplfPcjTCGdoLsVD8R+pFTqVRNvvocWRfBkLSw9Q80wi7Rm7USubzNAA==
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
## спілкування / Communication:
|
|
||||||
|
|
||||||
Це послання до народу України. Ми настійно рекомендуємо вам використовувати Briar для спілкування. Ви можете знайти його тут: <https://briarproject.org/ .
|
|
||||||
За допомогою цієї програми ви можете спілкуватися, навіть коли немає Інтернету.
|
|
||||||
Посібник тут: <https://briarproject.org/manual/uk/> , Швидкий початок: <https://briarproject.org/quick-start/uk/>
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------
|
|
||||||
|
|
||||||
This is a message for the people of Ukraine. We strongly recommend that you use Briar for communicating. You can find it here: <https://briarproject.org/>
|
|
||||||
With this application, you can communicate even when there is no internet.
|
|
||||||
The manual is here: <https://briarproject.org/manual/> , quick-start guie here: <https://briarproject.org/quick-start/>
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iHUEABYKAB0WIQSDps+e9XrCW1x/XSkoXmBIoSMhsgUCZCfh2AAKCRAoXmBIoSMh
|
|
||||||
sp60AQCcvJrgWFAPqDUQMt0CaF4e6Tsg4BLNDirQ/nW46Usc4wEA2RPtAN6n8vjP
|
|
||||||
F834c6ojvbeZJgMsJNGHJAazzHMGrgk=
|
|
||||||
=yg0z
|
|
||||||
-----END PGP SIGNATURE-----
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
untrusted comment: signature from minisign secret key
|
|
||||||
RUSn9xivowlq/mjhwPVty4ZNYfjn4Gx8rNfbI0b+wd4o32ZIPOV/tWquVnu0QA3tLFvn+UODOdV+MYvFsknKZ37H9BAgqPt0CQc=
|
|
||||||
trusted comment: timestamp:1680335321 file:briar.md hashed
|
|
||||||
TLAQ4Ergf7NvqnCuCU7oxTYKrRgeernN0NVzYfJ0fowLHaBXjPEqTZXtxMAwhZJ3HttFcmYdft1q6a4eYOxWCQ==
|
|
||||||
@@ -1,76 +0,0 @@
|
|||||||
### Privacy Security Anonymity Community Matrix/Discord chatrooms rules:
|
|
||||||
|
|
||||||
You will find here the rules for the rooms part of the PSA Community. These rules are valid on Matrix and/or Discord if applicable.
|
|
||||||
|
|
||||||
**Note that rooms part of the PSA community keep their sovereignty and can apply their own local rules, with their own local moderation. Some of the rooms are following the general rules. Some are not.**
|
|
||||||
|
|
||||||
- [General Rules](#general)
|
|
||||||
- [Nothing To Hide Privacy Room Rules](#nth)
|
|
||||||
- [Modern Cryprography Room Rules](#moderncrypto)
|
|
||||||
- [OS Security Room Rules](#ossecurity)
|
|
||||||
- [Bnonymity Room Rules](#bnonymity)
|
|
||||||
- [Exceptions](#exceptions)
|
|
||||||
- [PSA Bans](#psabans)
|
|
||||||
- [Ban Appeals](#appeals)
|
|
||||||
|
|
||||||
#### General default rules for PSA rooms **unless specific rules are mentioned below**:<a name="general"></a>
|
|
||||||
These are currently enforced on **```#anonymity:matrix.org```**, **```#security:matrix.org```**, **```#OSINT:matrix.org```**, and not applied on rooms with their own ruleset below.
|
|
||||||
|
|
||||||
- Keep it legal
|
|
||||||
- English only
|
|
||||||
- Be respectful to each other
|
|
||||||
- Avoid FUD and/or disinformation
|
|
||||||
- Avoid gatekeeping and try to remain welcoming to new users
|
|
||||||
- No hate speech (No racism, no homophobia, no transphobia...)
|
|
||||||
- No spam
|
|
||||||
- No doxxing
|
|
||||||
- No trolling (this doesn't mean sarcasm is forbidden)
|
|
||||||
- No NSFW content (no Porn, no Gore, no Hentai...)
|
|
||||||
- No upload of any non-media files (binaries, executables, compressed files...)
|
|
||||||
- No voice messages (these will be auto-deleted by the bots)
|
|
||||||
- **Avoid drifting too much off-topic or move to an off-topic room like #bnonymity**
|
|
||||||
- **Any discussion about AnonyPla / Lena whereabouts is only tolerated, to an extent, in the ```#Bnonymity:matrix.org``` room.**
|
|
||||||
|
|
||||||
Some exceptions can apply, see the [exceptions](#exceptions) section at the bottom of this page. Violations will be handled at the discretion of the acting moderator.
|
|
||||||
|
|
||||||
#### Rules for Nothing To Hide Privacy (```#privacy:matrix.org```):<a name="nth"></a>
|
|
||||||
- Zero tolerance for discussion of how to commit illicit acts
|
|
||||||
- LIMIT POLITICAL DISCUSSION TO PRIVACY-RELATED TOPICS ONLY
|
|
||||||
- Do not dox others
|
|
||||||
- No suspicious links or uploading of non-image binary files
|
|
||||||
- Be respectful
|
|
||||||
|
|
||||||
#### Rules for Modern Cryptography (```#moderncrypto:gnuradio.org```):<a name="moderncrypto"></a>
|
|
||||||
See <https://anonymousplanet.org/moderncrypto-rules.html>
|
|
||||||
|
|
||||||
#### Rules for OS Security:<a name="ossecurity"></a>
|
|
||||||
See <https://artemislena.eu/coc.html>
|
|
||||||
|
|
||||||
#### Rules for Bnonymity (```#bnonymity:matrix.org```):<a name="bnonymity"></a>
|
|
||||||
- Keep it legal (seriously)
|
|
||||||
- English only (no Russian, no Chinese, English only)
|
|
||||||
- Be "somewhat" respectful to each other
|
|
||||||
- No hate speech (No racism, no homophobia, no transphobia...)
|
|
||||||
- No spammerino (scams, ads, flooding...)
|
|
||||||
- No doxxing
|
|
||||||
- No NSFW content (no Porn, no Gore, no Hentai...)
|
|
||||||
- All of the above can result in an insta-ban depending on the severity
|
|
||||||
|
|
||||||
#### Exceptions:<a name="exceptions"></a>
|
|
||||||
|
|
||||||
##### Exceptions for #Anonymity, #Security, and #Bnonymity rooms:
|
|
||||||
- Talks about Sci-Hub and/or LibGen are allowed
|
|
||||||
- Talks about torrenting anonymously are allowed unless the purpose is blatantly illegal
|
|
||||||
|
|
||||||
#### PSA Bans:<a name="psabans"></a>
|
|
||||||
Currently, the following rooms are sharing a common PSA banlist for serious offenders:
|
|
||||||
- ```#Anonymity:matrix.org```
|
|
||||||
- ```#Security:matrix.org```
|
|
||||||
- ```#Bnonymity:matrix.org```
|
|
||||||
- ```#OSINT:matrix.org```
|
|
||||||
- ```#ModernCrypto:gnuradio.org```
|
|
||||||
|
|
||||||
This means that those PSA bans are effectively applied on all those rooms and can be issued by admins of these rooms. See the next section for information about appeals.
|
|
||||||
|
|
||||||
#### Ban Appeals:<a name="appeals"></a>
|
|
||||||
- **Please contact the mods or admins of the room in question to state your case for appealing.**
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iHUEABYKAB0WIQSDps+e9XrCW1x/XSkoXmBIoSMhsgUCZCfh2QAKCRAoXmBIoSMh
|
|
||||||
smEGAPwNjkYsGth+1FiICXg+ncbD+SomKVlotyB6hYLazy6zQwD+IN3BBQ0omcSL
|
|
||||||
oeHp01espcU/iXTx8OddiNnXU5CilAI=
|
|
||||||
=fmPE
|
|
||||||
-----END PGP SIGNATURE-----
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
untrusted comment: signature from minisign secret key
|
|
||||||
RUSn9xivowlq/rSnaMOsbp2MHC3YZeQh4vjs31ikY7gGEkSUNHfwrdw2qr/ebmHBXTVxAYkN22cocTayR08gYCJuGMQceINFUgc=
|
|
||||||
trusted comment: timestamp:1680335322 file:chatrooms-rules.md hashed
|
|
||||||
/acSaW2PnzFb18JNs0aj9G2W3K8RRrT0p93b7fvQklOzaulb84DA40FJFP/uIKaypLUrLTj2nksftABl7yB8BA==
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
rm *.pdf &> /dev/null
|
|
||||||
rm *.html &> /dev/null
|
|
||||||
rm *.odt &> /dev/null
|
|
||||||
rm *.minisig &> /dev/null
|
|
||||||
rm *.asc &> /dev/null
|
|
||||||
rm sha256sum.txt &> /dev/null
|
|
||||||
rm b2sum.txt &> /dev/null
|
|
||||||
rm -r export/{.,}* &> /dev/null
|
|
||||||
|
|
||||||
true
|
|
||||||
@@ -1,80 +0,0 @@
|
|||||||
# A Constitution for an Anonymous Planet.
|
|
||||||
|
|
||||||
To amend the rules and regulations of the network and of the PSA community, this constitution is hereby set forth. It is applicable to all the projects of the initiative, especially the Hitchhiker's Guide to Online Anonymity. All members/collaborators must abide by these lines when contributing within the context of the initiative.
|
|
||||||
|
|
||||||
## Requirements
|
|
||||||
|
|
||||||
> Our content is licensed under **[Creative Commons Attribution NonCommercial](https://creativecommons.org/licenses/by-nc/3.0/)** to prevent commercial usage.
|
|
||||||
|
|
||||||
### 1. Anonymity above everything
|
|
||||||
Anonymity is necessary to maintain the balance of power, specifically to help journalists, whistleblowers, lawyers, scientists, and victims of oppression. Anonymity first, even if that means using non-free and/or proprietary means. Security and privacy are second, again, even if using non-free or non-open-source and/or proprietary means. In this sense, the ends may at times justify proprietary means.
|
|
||||||
|
|
||||||
### 2. Independence
|
|
||||||
The Anonymous Planet initiative has no affiliation with the "Anonymous" collective and does not endorse their activities.
|
|
||||||
Any overlap of their activities and our guide are purely coincidental.
|
|
||||||
|
|
||||||
### 3. Accessibility
|
|
||||||
We will strive to always keep available the following methods of reading the Hitchhiker's Guide:
|
|
||||||
* online;
|
|
||||||
* offline (e.g., PDF, ODT, EPUB (in the future));
|
|
||||||
* via the Tor network
|
|
||||||
|
|
||||||
### 4. Freedom
|
|
||||||
Maintain free, open-source, and non-commercial nature of all our projects. This does not mean proprietary and/or closed-source tools won't be recommendeded. All scientific knowledge should be free for anyone and we support and encourage Sci-Hub and LibGen. Any attempt to erode the freedom of information and flow of knowledge of our projects, in any manner, is hostile.
|
|
||||||
|
|
||||||
### 5. Verifiability, falsifiability and reproducibility
|
|
||||||
We will make every effort to be transparent about any and all bias we have.
|
|
||||||
Anyone claiming to be unbiased is lying, therefore we will not falsely claim to be.
|
|
||||||
|
|
||||||
All our content shall be verifiable, reproducible and fact-checked:
|
|
||||||
- academic references (e.g., studies, papers, and peer reviewed publications);
|
|
||||||
- reputable media references (e.g., articles, videos, and documentaries);
|
|
||||||
- official documentation (e.g., manuals, field guides, and technical documents);
|
|
||||||
- renowned and reputable expert review;
|
|
||||||
- direct testing by our own collaborators for falsifiablity
|
|
||||||
|
|
||||||
### 6. Innocence
|
|
||||||
Suspected offenders are innocent until proven guilty, with zero tolerance for abuse of power or position.
|
|
||||||
|
|
||||||
Any accusing/moderating member is:
|
|
||||||
- Subject to the burden of proving the wrong-doing of the offender.
|
|
||||||
- Required to motivate any sanction.
|
|
||||||
|
|
||||||
Any offender has the right to:
|
|
||||||
- Face their accuser (know who is accusing them).
|
|
||||||
- Appeal sanctions to an uninvolved third party.
|
|
||||||
- Participate in their own incrimination (the burden of proof lies with the accuser).
|
|
||||||
- Due process of the above.
|
|
||||||
|
|
||||||
### 7. Freedom of thought
|
|
||||||
Open-minded and pragmatic - with no tolerance for gatekeeping.
|
|
||||||
|
|
||||||
Critical thinking and fact-checking are strongly encouraged; we welcome criticism including of a harsh nature (excluding ad-hominem and slurs).
|
|
||||||
|
|
||||||
### 8. We do not tolerate intolerance
|
|
||||||
See the [Paradox of Tolerance](https://en.wikipedia.org/wiki/Paradox_of_tolerance), which includes hate speech.
|
|
||||||
|
|
||||||
### 9. No analytics
|
|
||||||
Note that, while we will never use analytics, the (now free) platforms hosting our content might be gathering such analytics outside of our control, such as Github pages. As the initiative progresses, we will strive to avoid these as soon as possible.
|
|
||||||
|
|
||||||
### 10. No profit
|
|
||||||
Any excess donations will only be used to support our main projects first and possibly support other intitiatives (like hosting Tor exit nodes). In all cases, we abide by the following principles:
|
|
||||||
|
|
||||||
- Funding transparency (i.e., all donations, spendings, source code, and future goals will be public).
|
|
||||||
- Acceptance of donations from any entity anonymously or acknowledged (opt-in) will not have any influence on our content.
|
|
||||||
- No sponsored content.
|
|
||||||
- No affiliate links.
|
|
||||||
- No product placements.
|
|
||||||
- No advertising.
|
|
||||||
|
|
||||||
**Disclaimer: it is possible that, coincidentally, a donation could correlate with a recommendation. It will then be clearly stated that while the donation was welcome, the donating entity will not be gaining visibility/coverage/endorsement/recommendations due to such a donation.**
|
|
||||||
|
|
||||||
## Core Goals.
|
|
||||||
|
|
||||||
0. Help people in need of anonymity to maintain both their physical and digital safety.
|
|
||||||
|
|
||||||
## Non-Goals:
|
|
||||||
|
|
||||||
0. Help any people who are using this knowledge for bad purposes. Helping people takes precedence and we know our content can be used nefariously. Our initiative believes in having one good person given an anonymous voice, safely, is worth the risk of having several using our content for evil. As we do adhere to a fair "rule of law" system which, having 9 criminals and 1 innocent person free, is much better than having one innocent person in prison among 9 criminals.
|
|
||||||
|
|
||||||
**Yours faithfully, Anonymous Planet**
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iHUEABYKAB0WIQSDps+e9XrCW1x/XSkoXmBIoSMhsgUCZCfh2gAKCRAoXmBIoSMh
|
|
||||||
sgEEAP99oYgC1CWkGgX2u66Q7/pOl0MaTt/yTFcgY9izyJlUjwEAjWBuaEHTMp7L
|
|
||||||
SjO8Ws3mnms0BOnpiGp5pBzxoBAzfgE=
|
|
||||||
=A6Zz
|
|
||||||
-----END PGP SIGNATURE-----
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
untrusted comment: signature from minisign secret key
|
|
||||||
RUSn9xivowlq/pTBVjkP4uv5unHZNWMoXS1e0g8frI16Z7Oo13E5kkaSDRQfNY5ljVzaYTS87i+qGp2f/rajz3CFZ+hZK4XmEAs=
|
|
||||||
trusted comment: timestamp:1680335324 file:constitution.md hashed
|
|
||||||
Cj/NU4FFzb+euI7nMXsXTLJ/izkWQaFCQ9DeMDWESkBfSkg8MXOh//ip43hyALx6stZ1BcB+MM3McWZvRHVBDA==
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
anonymousplanet.net
|
||||||
@@ -0,0 +1,124 @@
|
|||||||
|
---
|
||||||
|
title: "Anonymous Planet"
|
||||||
|
description: "We are the maintainers of the Hitchhiker's Guide and the PSA Matrix space."
|
||||||
|
hide:
|
||||||
|
- toc
|
||||||
|
schema:
|
||||||
|
"@context": https://schema.org
|
||||||
|
"@type": Organization
|
||||||
|
"@id": https://anonymousplanet.net/
|
||||||
|
name: Anonymous Planet
|
||||||
|
url: https://anonymousplanet.net/about/
|
||||||
|
logo: ../media/profile.png
|
||||||
|
sameAs:
|
||||||
|
- https://github.com/Anon-Planet
|
||||||
|
- https://opencollective.com/anonymousplanetorg
|
||||||
|
- https://mastodon.social/@anonymousplanet
|
||||||
|
---
|
||||||
|
|
||||||
|
<div class="hero-block">
|
||||||
|
<div class="hero-eyebrow">Made by people with skin in the game.</div>
|
||||||
|
<h1 class="hero-title">Anonymous Planet<span class="hero-subtitle">Open source. No ads. No affiliates. No profit.</span></h1>
|
||||||
|
<p class="hero-tagline">
|
||||||
|
Written by people with backgrounds in signals intelligence, forensics, and Linux systems,
|
||||||
|
not influencers with affiliate links.
|
||||||
|
</p>
|
||||||
|
<div class="hero-cta-row">
|
||||||
|
<a href="../guide/" class="hero-cta hero-cta--primary">Read the Guide</a>
|
||||||
|
<a href="../contribute/" class="hero-cta hero-cta--secondary">Support the Project</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Who We Are { #who }
|
||||||
|
|
||||||
|
Anonymous Planet are the maintainers of [_The Hitchhiker's Guide_](../guide/index.md) and the [_PSA Community_](https://psa.anonymousplanet.net). The project exists to provide open-source tools and resources for people who need them: activists, journalists, scientists, lawyers, whistleblowers, and anyone facing oppression, censorship, or harassment.
|
||||||
|
|
||||||
|
We have extensive backgrounds in signals intelligence, forensics, and various Linux distributions. We are not a privacy influencer operation with a bunch of recommendations and affiliate links. Everything here is compiled into a single, cohesive set of instructions and sub-guides — free as in freedom.
|
||||||
|
|
||||||
|
We are high-risk individuals. We do this because it matters.
|
||||||
|
|
||||||
|
!!! note "Disclaimer"
|
||||||
|
This guide is a work in progress and will probably never be "finished". Some information may be outdated. Always cross-reference independently and check for updated versions regularly. No single resource can provide 100% security, anonymity, or privacy.
|
||||||
|
|
||||||
|
!!! tip "Where to start"
|
||||||
|
Go to [the beginning of the guide](../guide/index.md) or use the search at the top right. The [Techlore Go Incognito playlist](https://www.youtube.com/playlist?list=PL3KeV6Ui_4CayDGHw64OFXEPHgXLkrtJO) is also a good 2–3 hour introduction before diving in.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Community { #community }
|
||||||
|
|
||||||
|
<div class="index-grid">
|
||||||
|
|
||||||
|
<!-- <div class="index-card">
|
||||||
|
<h3 class="index-card__title">Matrix Space</h3>
|
||||||
|
<p class="index-card__body">Our Matrix.org hosted community space. Read the rules before joining. Admins: <code>@daskolburn:thomcat.rocks</code> and <code>@thehidden:tchncs.de</code>.</p>
|
||||||
|
<a href="https://matrix.to/#/#psa:anonymousplanet.net" class="index-card__link">Join the Space</a>
|
||||||
|
<a href="https://matrix.to/#/#nth:anonymousplanet.net" class="index-card__link" style="margin-top:0.4em;">Join the Room</a>
|
||||||
|
<a href="https://psa.anonymousplanet.net/" class="index-card__link" style="margin-top:0.4em;">Read the Rules</a>
|
||||||
|
</div> -->
|
||||||
|
|
||||||
|
<div class="index-card">
|
||||||
|
<h3 class="index-card__title">Mastodon</h3>
|
||||||
|
<p class="index-card__body">Follow us for announcements on the Fediverse.</p>
|
||||||
|
<a href="https://ioc.exchange/@anonymousplanet" class="index-card__link" rel="me">@anonymousplanet@ioc.exchange</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="index-card">
|
||||||
|
<h3 class="index-card__title">X / Twitter</h3>
|
||||||
|
<p class="index-card__body">Announcements also cross-posted to X.</p>
|
||||||
|
<a href="https://x.com/anonplanetorg" class="index-card__link">@anonplanetorg</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="index-card">
|
||||||
|
<h3 class="index-card__title">GitHub Issues</h3>
|
||||||
|
<p class="index-card__body">Report errors, broken links, or outdated content. Pull requests welcome across all our mirrors.</p>
|
||||||
|
<a href="https://github.com/Anon-Planet/thgtoa/issues" class="index-card__link">Open an issue</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Contact { #contact }
|
||||||
|
|
||||||
|
Email: <contact@anonymousplanet.net>
|
||||||
|
|
||||||
|
For mirrors, see the [Mirrors](../mirrors/index.md) page and the links in the site footer.
|
||||||
|
For version comparison, see [Comparing Guide Versions](../guide/index.md#comparing-versions).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Recommended Reading { #reading }
|
||||||
|
|
||||||
|
!!! warning "Disclosure"
|
||||||
|
Some linked resources may contain sponsored content, affiliate links, paid services, or monetized content. Anonymous Planet does not endorse and is not sponsored by any commercial entity. We do not participate in any affiliate programs.
|
||||||
|
|
||||||
|
??? tip "Privacy & security"
|
||||||
|
- [AnarSec](https://www.anarsec.guide/)
|
||||||
|
- [EFF Surveillance Self-Defense](https://ssd.eff.org/)
|
||||||
|
- [Prism-Break](https://prism-break.org/)
|
||||||
|
- [Privacy Guides](https://privacyguides.org)
|
||||||
|
- [Techlore](https://techlore.tech)
|
||||||
|
- [The New Oil](https://thenewoil.org)
|
||||||
|
- [PrivacyTools.io](https://privacytools.io)
|
||||||
|
|
||||||
|
??? tip "Blogs"
|
||||||
|
- [CIA Officer's Blog](https://officercia.mirror.xyz/)
|
||||||
|
- [Edward Snowden — Continuing Ed](https://edwardsnowden.substack.com/)
|
||||||
|
- [Madaidan's Insecurities](https://madaidans-insecurities.github.io/)
|
||||||
|
- [Seirdy's Home](https://seirdy.one/)
|
||||||
|
|
||||||
|
??? tip "Useful resources"
|
||||||
|
- [KYC? Not me](https://kycnot.me/)
|
||||||
|
- [Library Genesis](https://en.wikipedia.org/wiki/Library_Genesis)
|
||||||
|
- [Real World Onion Sites](https://github.com/alecmuffett/real-world-onion-sites)
|
||||||
|
- [Sci-Hub](https://en.wikipedia.org/wiki/Sci-Hub)
|
||||||
|
- [Terms of Service, Didn't Read](https://tosdr.org)
|
||||||
|
- [Whonix Documentation](https://www.whonix.org/wiki/Documentation)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
!!! note "We are not affiliated with Anonymous or Riseup"
|
||||||
|
We hold no affiliation with the [Anonymous](https://en.wikipedia.org/wiki/Anonymous_(hacker_group)) hacker collective or with Riseup. One or two community members uses Riseup resources personally — that is the full extent of any connection.
|
||||||
@@ -0,0 +1,154 @@
|
|||||||
|
---
|
||||||
|
title: "Changelog"
|
||||||
|
description: "Release notes for the Hitchhiker's Guide to Online Anonymity."
|
||||||
|
schema:
|
||||||
|
"@context": https://schema.org
|
||||||
|
"@type": Organization
|
||||||
|
"@id": https://anonymousplanet.net/
|
||||||
|
name: Anonymous Planet
|
||||||
|
url: https://anonymousplanet.net/changelog/
|
||||||
|
logo: ../media/profile.png
|
||||||
|
sameAs:
|
||||||
|
- https://github.com/Anon-Planet
|
||||||
|
- https://opencollective.com/anonymousplanetorg
|
||||||
|
- https://mastodon.social/@anonymousplanet
|
||||||
|
---
|
||||||
|
|
||||||
|
<div class="hero-block">
|
||||||
|
<div class="hero-eyebrow">Auto-generated after every release.</div>
|
||||||
|
<h1 class="hero-title">Changelog<span class="hero-subtitle">What changed, and when.</span></h1>
|
||||||
|
<p class="hero-tagline">
|
||||||
|
Follows <a href="https://keepachangelog.com/en/1.1.0/">Keep a Changelog</a> and
|
||||||
|
<a href="https://semver.org/spec/v2.0.0.html">Semantic Versioning</a>.
|
||||||
|
Generated from conventional commits by machine, only.
|
||||||
|
</p>
|
||||||
|
<div class="hero-cta-row">
|
||||||
|
<a href="https://github.com/Anon-Planet/thgtoa/releases" class="hero-cta hero-cta--primary">GitHub Releases</a>
|
||||||
|
<a href="../verify/" class="hero-cta hero-cta--secondary">Verify a Release</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Change nothing below this line, please. -->
|
||||||
|
---
|
||||||
|
|
||||||
|
## [v1.2.5]
|
||||||
|
|
||||||
|
!!! Note "Meta"
|
||||||
|
|
||||||
|
- Website theme customization
|
||||||
|
- License change to accomodate our fiscal host Open Source Collective
|
||||||
|
|
||||||
|
!!! Note "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
|
||||||
|
- Updated Virtualbox hardening instructions (e.g., network time desync offsets, Spectre/Meltdown mitigations)
|
||||||
|
- Added AppArmor enabling guidance for Debian-based Whonix 18.x Workstation VMs
|
||||||
|
- Upgraded download instructions to use GitHub Releases as primary source with Archive.org fallback
|
||||||
|
- Added new "Whonix Improvements" section documenting key changes from 17.x to 18.x (automated release upgrade, improved Qubes integration)
|
||||||
|
- Updated Qubes OS compatibility notes: Whonix 18.x officially supported on R4.3+, Whonix 17.x compatible with R4.2+
|
||||||
|
- Enhanced system verification instructions after upgrades (checkvm, tor --verify)
|
||||||
|
- Improved documentation links to use clean markdown format with Archive.org mirrors for resilience
|
||||||
|
- Added comprehensive upgrade path guidance with backup procedures
|
||||||
|
- Updated 196! Wikipedia reference links throughout the entire guide
|
||||||
|
|
||||||
|
!!! Note "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"
|
||||||
|
|
||||||
|
- Virtualbox hardening section reorganized
|
||||||
|
- AppArmor configuration guidance added where applicable (Whonix 18.x)
|
||||||
|
- KVM alternative documented in Appendix N for Linux users seeking better security than VirtualBox
|
||||||
|
- Whonix Improvements subsection added before "Pick your guest workstation" VMs section
|
||||||
|
- Removed appendix-style writing
|
||||||
|
|
||||||
|
## [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]
|
||||||
|
|
||||||
|
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"
|
||||||
|
|
||||||
|
- **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`:
|
||||||
|
- `01-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.
|
||||||
|
- `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.
|
||||||
|
- **`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.
|
||||||
|
- **`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.
|
||||||
|
|
||||||
|
!!! warning "Changed"
|
||||||
|
|
||||||
|
- `build-sign-release.yml` deprecated (now removed) - 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`.
|
||||||
|
- 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.
|
||||||
|
- `.gitignore` updated to track `.b2` per-file hash files alongside existing `.sha256` and `.sig` entries.
|
||||||
|
- Stale information removed from the guide; deprecated ODT section in Appendix A6 commented out.
|
||||||
|
- Footer copyright information corrected.
|
||||||
|
|
||||||
|
!!! bug "Fixed"
|
||||||
|
|
||||||
|
- `_save_images_as_pdf` in `convert.py` was passing raw PNG files to `qpdf --pages`, which only accepts PDF inputs. Fixed by quantizing each page to palette mode (256 colours, FASTOCTREE) and saving as a single-page PDF before merging.
|
||||||
|
- `convert.py` now fails immediately with install instructions if `pdftoppm` or `qpdf` are missing, instead of crashing with an unhelpful `FileNotFoundError`.
|
||||||
|
- Pillow `KeyError: 'JPEG'` on CI resolved by installing `mkdocs-material[imaging]` and using palette-mode PDF encoding instead of RGB+JPEG.
|
||||||
|
- Orphaned footnote citations `[^536]` and `[^537]` (Australian privacy law and the Identify and Disrupt Act) restored at the key disclosure law paragraph in the guide.
|
||||||
|
- Broken internal links and mismatched cross-references throughout the guide corrected.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## [v1.2.1]
|
||||||
|
|
||||||
|
First automated PDF build and the start of the CI pipeline.
|
||||||
|
|
||||||
|
???+ 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.
|
||||||
|
- `docs/stylesheets/extra.css` for shared site styling.
|
||||||
|
- This changelog.
|
||||||
|
|
||||||
|
!!! warning "Changed"
|
||||||
|
|
||||||
|
- `README.md` updated with instructions for local PDF export and a note about the GitHub Actions artifact.
|
||||||
|
- `.gitignore` updated to exclude local build outputs (`export/`, `site/`, `_site_test/`).
|
||||||
|
|
||||||
|
!!! bug "Fixed"
|
||||||
|
|
||||||
|
- Broken reference-style internal links throughout `docs/guide/index.md` replaced with correct fragment links.
|
||||||
|
- Broken footnote marker on the "free (unallocated) space" list item in the guide.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
[v1.2.5]: https://github.com/Anon-Planet/thgtoa/releases/tag/v1.2.5
|
||||||
|
[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.1]: https://github.com/Anon-Planet/thgtoa/releases/tag/v1.2.1
|
||||||
@@ -0,0 +1,309 @@
|
|||||||
|
---
|
||||||
|
title: "Content Contributions"
|
||||||
|
description: "How to contribute to the Hitchhiker's Guide — building, signing, releasing, and writing."
|
||||||
|
hide:
|
||||||
|
- toc
|
||||||
|
schema:
|
||||||
|
"@context": https://schema.org
|
||||||
|
"@type": Organization
|
||||||
|
"@id": https://anonymousplanet.net/
|
||||||
|
name: Anonymous Planet
|
||||||
|
url: https://anonymousplanet.net/code/
|
||||||
|
logo: ../media/profile.png
|
||||||
|
sameAs:
|
||||||
|
- https://github.com/Anon-Planet
|
||||||
|
- https://opencollective.com/anonymousplanetorg
|
||||||
|
---
|
||||||
|
|
||||||
|
<div class="hero-block">
|
||||||
|
<div class="hero-eyebrow">Open source. Every PR matters.</div>
|
||||||
|
<h1 class="hero-title">Contribute<span class="hero-subtitle">Help us improve the Hitchhiker's Guide..</span></h1>
|
||||||
|
<p class="hero-tagline">
|
||||||
|
Contributions range from fixing a typo to writing entire new sections.
|
||||||
|
</p>
|
||||||
|
<div class="hero-cta-row">
|
||||||
|
<a href="https://github.com/Anon-Planet/thgtoa/issues/new" class="hero-cta hero-cta--primary">Open an Issue</a>
|
||||||
|
<a href="#pipeline" class="hero-cta hero-cta--secondary">Release Pipeline</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Setup { #setup }
|
||||||
|
|
||||||
|
Install these before anything else.
|
||||||
|
|
||||||
|
=== "Linux / macOS"
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# Python 3.11+
|
||||||
|
python3 --version
|
||||||
|
|
||||||
|
# poppler (pdftoppm) and qpdf
|
||||||
|
sudo apt install poppler-utils qpdf # Debian/Ubuntu
|
||||||
|
brew install poppler qpdf # macOS
|
||||||
|
|
||||||
|
# GPG
|
||||||
|
sudo apt install gnupg # Debian/Ubuntu
|
||||||
|
brew install gnupg # macOS
|
||||||
|
|
||||||
|
# Python dependencies
|
||||||
|
pip install "mkdocs-material[imaging]" pillow numpy
|
||||||
|
```
|
||||||
|
|
||||||
|
=== "Windows"
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
# Python 3.11+ from https://python.org
|
||||||
|
|
||||||
|
# poppler: https://github.com/oschwartz10612/poppler-windows/releases
|
||||||
|
# Extract and add the bin\ folder to PATH
|
||||||
|
|
||||||
|
# qpdf: https://github.com/qpdf/qpdf/releases
|
||||||
|
# Extract and add the bin\ folder to PATH
|
||||||
|
|
||||||
|
# GPG: https://gpg4win.org
|
||||||
|
|
||||||
|
# Python dependencies
|
||||||
|
pip install "mkdocs-material[imaging]" pillow numpy
|
||||||
|
```
|
||||||
|
|
||||||
|
You also need **Google Chrome** or **Microsoft Edge** installed for the light-mode PDF build (headless Chromium).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Repository Layout { #layout }
|
||||||
|
|
||||||
|
```txt
|
||||||
|
.github/
|
||||||
|
workflows/
|
||||||
|
01-build.yml # builds PDFs, uploads artifact
|
||||||
|
02-sign.yml # hashes + GPG signs, uploads signatures artifact
|
||||||
|
03-release.yml # publishes GitHub Release with all assets
|
||||||
|
04-changelog.yml # prepends a new entry to docs/changelog/index.md
|
||||||
|
publish.yml # deploys MkDocs site to GitHub Pages
|
||||||
|
docs/
|
||||||
|
guide/index.md # the guide (single Markdown file)
|
||||||
|
changelog/ # release notes
|
||||||
|
code/ # this page
|
||||||
|
export/ # PDF output (PDFs gitignored; .sha256, .b2sum, .asc tracked)
|
||||||
|
pgp/ # public signing keys
|
||||||
|
scripts/
|
||||||
|
build_guide_pdf.py # MkDocs + Chromium PDF builder
|
||||||
|
convert.py # pixel-based dark mode PDF converter
|
||||||
|
install_fonts.py # install fonts locally
|
||||||
|
update_changelog.py # auto-generates changelog entries from git log
|
||||||
|
setup_workflow.py # GitHub Secrets setup assistant
|
||||||
|
verify_pdf.py # signature verification helper
|
||||||
|
archived/
|
||||||
|
tag_release.py # ARCHIVED — GPG tag helper (not used in current flow)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Building Locally { #build }
|
||||||
|
|
||||||
|
```sh
|
||||||
|
python scripts/build_guide_pdf.py --both
|
||||||
|
```
|
||||||
|
|
||||||
|
Builds the MkDocs site, renders it to `export/thgtoa.pdf` via headless Chromium, then produces `export/thgtoa-dark.pdf`.
|
||||||
|
|
||||||
|
| Flag | Effect |
|
||||||
|
|------|--------|
|
||||||
|
| `--both` | Light PDF then dark PDF |
|
||||||
|
| _(none)_ | Light PDF only |
|
||||||
|
| `--dark` | Dark PDF only (light PDF must already exist) |
|
||||||
|
|
||||||
|
Build only the dark PDF from an existing light:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
python scripts/convert.py export/thgtoa.pdf export/thgtoa-dark.pdf
|
||||||
|
```
|
||||||
|
|
||||||
|
| Flag | Default | Description |
|
||||||
|
|------|---------|-------------|
|
||||||
|
| `--dpi` | `200` | Rasterization DPI |
|
||||||
|
| `--batch-size` | `50` | Pages per batch — reduce if OOM |
|
||||||
|
| `--bg` | `1f1f31` | Background colour (hex) |
|
||||||
|
| `--text` | `e0e0e0` | Body text colour (hex) |
|
||||||
|
| `--link` | `5e8bde` | Link colour (hex) |
|
||||||
|
|
||||||
|
Preview the site:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
mkdocs serve
|
||||||
|
# Opens at http://127.0.0.1:8000
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Contributing Content { #contributing }
|
||||||
|
|
||||||
|
<div class="index-grid">
|
||||||
|
|
||||||
|
<div class="index-card">
|
||||||
|
<h3 class="index-card__title">Use a Topic Branch</h3>
|
||||||
|
<p class="index-card__body">Never commit directly to <code>main</code>. Use a topic branch per change so PRs stay reviewable and independent.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="index-card">
|
||||||
|
<h3 class="index-card__title">Small PRs</h3>
|
||||||
|
<p class="index-card__body">Split large changes into multiple PRs — one for new content, one for fixes, one for style. Big PRs block merges and create review debt.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="index-card">
|
||||||
|
<h3 class="index-card__title">Conventional Commits</h3>
|
||||||
|
<p class="index-card__body">All commits must follow <code><type>(<scope>): <description></code> format. Enforced by the <code>commitizen</code> pre-commit hook.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="index-card">
|
||||||
|
<h3 class="index-card__title">Describe Your Changes</h3>
|
||||||
|
<p class="index-card__body">Never leave a PR description blank. Include what changed, why, and any context a reviewer needs. Link related issues.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
### Commit Types
|
||||||
|
|
||||||
|
| Type | Changelog bucket |
|
||||||
|
|------|-----------------|
|
||||||
|
| `feat`, `feature`, `add` | Added |
|
||||||
|
| `fix`, `bugfix`, `revert`, `security` | Fixed |
|
||||||
|
| `perf`, `refactor`, `change`, `chore`, `ci`, `docs`, `style`, `test`, `build` | Changed |
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
feat: add dark-mode PDF export
|
||||||
|
fix(scripts): handle locked PDF on Windows
|
||||||
|
docs: update developer workflow guide
|
||||||
|
chore(ci): pin Chrome version to 120
|
||||||
|
```
|
||||||
|
|
||||||
|
### Rules
|
||||||
|
|
||||||
|
- **Do** target PRs at the `main` branch
|
||||||
|
- **Do** write "WIP" or open a draft PR for unfinished work
|
||||||
|
- **Do** follow the [50/72 rule](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) for commit messages
|
||||||
|
- **Don't** make mass search/replace changes without context-checking every instance
|
||||||
|
- **Don't** abandon a PR mid-review — stay responsive
|
||||||
|
- **Don't** modify a PR directly while it's under active review — submit changes to the review branch instead
|
||||||
|
|
||||||
|
For an example of what _not_ to do, see [PR #51](https://github.com/Anon-Planet/thgtoa/pull/51).
|
||||||
|
|
||||||
|
!!! warning "Before you push"
|
||||||
|
- Make sure the working tree is clean (`git status`)
|
||||||
|
- Run `mkdocs build` locally if you changed `docs/` to catch broken links
|
||||||
|
- If you added footnotes, verify each has both a definition `[^N]:` and at least one inline citation `[^N]`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Release Pipeline { #pipeline }
|
||||||
|
|
||||||
|
The pipeline is fully manual after the initial build — no step triggers the next automatically. This prevents version mismatches between what was built, what was signed, and what gets released.
|
||||||
|
|
||||||
|
```txt
|
||||||
|
push to main (or manual trigger)
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
01-build.yml
|
||||||
|
Builds thgtoa.pdf + thgtoa-dark.pdf.
|
||||||
|
Uploads artifact: pdfs — note the run ID.
|
||||||
|
│
|
||||||
|
│ manually trigger 02-sign.yml with the build run ID
|
||||||
|
▼
|
||||||
|
02-sign.yml
|
||||||
|
Hashes (SHA-256 + BLAKE2b) and GPG-signs all files.
|
||||||
|
Commits export/ back to main.
|
||||||
|
Uploads: signatures, pdfs-signed — note the run ID.
|
||||||
|
│
|
||||||
|
│ manually trigger 03-release.yml with the sign run ID
|
||||||
|
▼
|
||||||
|
03-release.yml
|
||||||
|
Runs VirusTotal. Creates GitHub Release tagged release-YYYYMMDD-<short-sha>.
|
||||||
|
│
|
||||||
|
│ manually trigger 04-changelog.yml with the version string
|
||||||
|
▼
|
||||||
|
04-changelog.yml
|
||||||
|
Prepends a new ## [vX.Y.Z] entry to docs/changelog/index.md and commits.
|
||||||
|
```
|
||||||
|
|
||||||
|
### Release Tags
|
||||||
|
|
||||||
|
Tags use the format `release-YYYYMMDD-<short-sha>`, e.g. `release-20260527-abc1234`. No version decision is needed at release time — the tag is always unique and traceable to the exact commit.
|
||||||
|
|
||||||
|
The version string (e.g. `v1.2.4`) is a separate, human-assigned label that lives only in the changelog.
|
||||||
|
|
||||||
|
### Triggering Each Step
|
||||||
|
|
||||||
|
**Build:** Push to `main` or go to **Actions → Build PDFs → Run workflow**. Note the run ID.
|
||||||
|
|
||||||
|
**Sign:** **Actions → Sign PDFs → Run workflow**, enter the build run ID. Note the run ID.
|
||||||
|
|
||||||
|
**Release:** **Actions → Release → Run workflow**, enter the sign run ID.
|
||||||
|
|
||||||
|
**Changelog:** **Actions → Update Changelog → Run workflow**, enter the version string. Use `dry_run: true` to preview.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Verifying a Release { #verify }
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# Import the release signing key
|
||||||
|
gpg --import pgp/anonymousplanet.asc
|
||||||
|
|
||||||
|
# Verify the PDFs
|
||||||
|
gpg --verify thgtoa.pdf.asc thgtoa.pdf
|
||||||
|
gpg --verify thgtoa-dark.pdf.asc thgtoa-dark.pdf
|
||||||
|
|
||||||
|
# Verify the hash files
|
||||||
|
gpg --verify sha256sums.txt.asc sha256sums.txt
|
||||||
|
gpg --verify b2sums.txt.asc b2sums.txt
|
||||||
|
|
||||||
|
# Check the PDF hashes match
|
||||||
|
sha256sum -c sha256sums.txt
|
||||||
|
b2sum -c b2sums.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
Expected output:
|
||||||
|
|
||||||
|
```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
|
||||||
|
```
|
||||||
|
|
||||||
|
You can safely ignore GitHub/Codeberg warnings like "The email in this signature doesn't match the committer email."
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Troubleshooting { #troubleshooting }
|
||||||
|
|
||||||
|
**`cairosvg` missing during MkDocs build**
|
||||||
|
`pip install "mkdocs-material[imaging]"` — required by the `social` plugin.
|
||||||
|
|
||||||
|
**`KeyError: 'JPEG'` in convert.py**
|
||||||
|
`sudo apt install libjpeg-dev && pip install --force-reinstall pillow`
|
||||||
|
|
||||||
|
**`qpdf: can't find PDF header`**
|
||||||
|
qpdf only accepts PDF inputs — ensure you are on the current version of `convert.py`.
|
||||||
|
|
||||||
|
**GPG signing fails — `No secret key`**
|
||||||
|
Re-export: `gpg --armor --export-secret-keys <fingerprint>` and re-paste the full block including headers into the `GPG_PRIVATE_KEY` secret.
|
||||||
|
|
||||||
|
**GPG signing fails — `Bad passphrase`**
|
||||||
|
The `GPG_PASSPHRASE` secret has a trailing space or newline. Re-paste without surrounding whitespace.
|
||||||
|
|
||||||
|
**`03-release.yml` fails on VirusTotal**
|
||||||
|
`VT_API_KEY` is missing, invalid, or over the 500 req/day free-tier limit. Re-run after a few minutes.
|
||||||
|
|
||||||
|
**`02-sign.yml` fails downloading PDF artifact**
|
||||||
|
Wrong `build_run_id`, or the artifact expired (90-day retention). Trigger a new build.
|
||||||
|
|
||||||
|
**Changelog already contains version X**
|
||||||
|
`update_changelog.py` errors if the version is already present. Choose the next version string.
|
||||||
|
|
||||||
|
**Footnote warnings — `link '#fnref:N' has no anchor`**
|
||||||
|
A definition `[^N]:` exists without a matching inline citation. Add the citation or remove the orphaned definition.
|
||||||
@@ -0,0 +1,89 @@
|
|||||||
|
---
|
||||||
|
title: "A Constitution"
|
||||||
|
description: "The rules, values, and principles governing the Anonymous Planet initiative and PSA community."
|
||||||
|
hide:
|
||||||
|
- toc
|
||||||
|
---
|
||||||
|
|
||||||
|
<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">
|
||||||
|
<h3 class="index-card__title">Anonymity Above Everything</h3>
|
||||||
|
<p class="index-card__body">Anonymity is necessary to maintain the balance of power — for journalists, whistleblowers, lawyers, scientists, and victims of oppression. Anonymity first, even if that means using proprietary means. Security and privacy are second. The ends may at times justify proprietary means.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="index-card">
|
||||||
|
<h3 class="index-card__title">Independence</h3>
|
||||||
|
<p class="index-card__body">Anonymous Planet has no affiliation with the "Anonymous" collective and does not endorse their activities. Any overlap between their activities and this guide is purely coincidental.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="index-card">
|
||||||
|
<h3 class="index-card__title">Accessibility</h3>
|
||||||
|
<p class="index-card__body">The Hitchhiker's Guide will always be available online, offline (PDF, ODT), and via the Tor network. Removing any of these access methods is hostile to the mission.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="index-card">
|
||||||
|
<h3 class="index-card__title">Freedom</h3>
|
||||||
|
<p class="index-card__body">All projects are and will remain free, open-source, and non-commercial. Proprietary tools may be recommended where they serve anonymity. All scientific knowledge should be free — we support Sci-Hub and LibGen. Any attempt to erode the freedom of information in our projects is hostile.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="index-card">
|
||||||
|
<h3 class="index-card__title">Verifiability & Reproducibility</h3>
|
||||||
|
<p class="index-card__body">We will be transparent about our biases — anyone claiming to be unbiased is lying. All content shall be verifiable and fact-checked via academic references, reputable media, official documentation, expert review, and direct testing by collaborators.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="index-card">
|
||||||
|
<h3 class="index-card__title">Innocence</h3>
|
||||||
|
<p class="index-card__body">Suspected offenders are innocent until proven guilty. Zero tolerance for abuse of power. Accusers bear the burden of proof. Offenders have the right to face their accuser, appeal to an uninvolved third party, and receive due process.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="index-card">
|
||||||
|
<h3 class="index-card__title">Freedom of Thought</h3>
|
||||||
|
<p class="index-card__body">Open-minded and pragmatic — no gatekeeping. Critical thinking and harsh criticism are welcome. Ad-hominem attacks and slurs are not.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="index-card">
|
||||||
|
<h3 class="index-card__title">No Tolerance for Intolerance</h3>
|
||||||
|
<p class="index-card__body">See the <a href="https://en.wikipedia.org/wiki/Paradox_of_tolerance">Paradox of Tolerance</a>. Hate speech is included.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="index-card">
|
||||||
|
<h3 class="index-card__title">No Analytics</h3>
|
||||||
|
<p class="index-card__body">We will never use analytics. Hosting platforms (e.g. GitHub Pages) may gather analytics outside our control. As the initiative grows, we will move away from these platforms where possible.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="index-card">
|
||||||
|
<h3 class="index-card__title">No Profit</h3>
|
||||||
|
<p class="index-card__body">Excess donations fund our projects first, then initiatives like Tor exit nodes. All donations, spendings, source code, and goals are public. No sponsored content, no affiliate links, no product placements, no advertising. Donations never influence recommendations.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
It is possible that, coincidentally, a donation could correlate with a recommendation. Where this occurs it will be clearly stated that the donation was welcome, but confers no visibility, coverage, endorsement, or preferential recommendation.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Goals { #goals }
|
||||||
|
|
||||||
|
**Core goal:** Help people who need anonymity maintain their physical and digital safety.
|
||||||
|
|
||||||
|
**Non-goal:** Help people use this knowledge for harmful purposes.
|
||||||
|
|
||||||
|
We know our content can be misused. We believe that giving one good person a safe, anonymous voice is worth the risk of a few using it for ill — in the same way that a fair rule of law accepts that freeing nine criminals is better than imprisoning one innocent person.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
_Yours faithfully, Anonymous Planet_
|
||||||
@@ -0,0 +1,176 @@
|
|||||||
|
---
|
||||||
|
title: Contribute & Donate
|
||||||
|
description: "Support the Anonymous Planet project through crypto donations or content contributions. No fiat. No tracking. No profit."
|
||||||
|
hide:
|
||||||
|
- toc
|
||||||
|
---
|
||||||
|
|
||||||
|
<div class="hero-block">
|
||||||
|
<div class="hero-eyebrow">Support the project if you can!</div>
|
||||||
|
<h1 class="hero-title">No ads. No grants.<br><span class="hero-subtitle">Anonymous donations welcome.</span></h1>
|
||||||
|
<p class="hero-tagline">
|
||||||
|
Donations fund Tor .onion hosting, domain registration, bulletproof mail hosting, and exit node operations.
|
||||||
|
Every cent is logged below. No profit is ever made.
|
||||||
|
</p>
|
||||||
|
<div class="hero-cta-row">
|
||||||
|
<a href="#xmr" class="hero-cta hero-cta--primary">Donate with Monero (XMR)</a>
|
||||||
|
<a href="#btc" class="hero-cta hero-cta--secondary">Donate with Bitcoin (BTC)</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="donate-goals-block">
|
||||||
|
<h2 class="donate-goals-title">Current Goals</h2>
|
||||||
|
<ul class="donate-goals-list">
|
||||||
|
<li class="donate-goal donate-goal--done"><span class="donate-goal-icon">✓</span> VPS for .onion hosting <strong>funded</strong></li>
|
||||||
|
<li class="donate-goal donate-goal--done"><span class="donate-goal-icon">✓</span> Domain <code>anonymousplanet.net</code> — <strong>secured until 2029</strong></li>
|
||||||
|
<li class="donate-goal donate-goal--open"><span class="donate-goal-icon">○</span> Decent mail hosting</li>
|
||||||
|
<li class="donate-goal donate-goal--open"><span class="donate-goal-icon">○</span> VPS for general project services</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Donate with Monero (XMR) { #xmr }
|
||||||
|
|
||||||
|
Monero is the preferred donation method. Transactions are private by default.
|
||||||
|
|
||||||
|
<div class="donate-stat-row">
|
||||||
|
<div class="donate-stat"><span class="donate-stat-label">Total received</span><span class="donate-stat-value">7.101317 XMR</span></div>
|
||||||
|
<div class="donate-stat"><span class="donate-stat-label">Remaining balance</span><span class="donate-stat-value">0 XMR</span></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="donate-address-block">
|
||||||
|
<div class="donate-address-label">XMR address</div>
|
||||||
|
<code class="donate-address">46crzj54eL493BA68pPT4A1MZyKQxrpZu9tVNsfsoa5nT85QqCt8cDTfy1fcTH1oyjdtUbhmpZ4QcVtfEXB337Ng6PS21ML</code>
|
||||||
|
<div class="donate-qr">
|
||||||
|
<img src="../media/monero.png" alt="Monero QR code" loading="lazy">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Donate with Bitcoin (BTC) { #btc }
|
||||||
|
|
||||||
|
Bitcoin donations are accepted on both SegWit and legacy addresses.
|
||||||
|
|
||||||
|
<div class="donate-stat-row">
|
||||||
|
<div class="donate-stat"><span class="donate-stat-label">Total received</span><span class="donate-stat-value">1.89353 mBTC</span></div>
|
||||||
|
<div class="donate-stat"><span class="donate-stat-label">Remaining balance</span><span class="donate-stat-value">0 mBTC</span></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="donate-address-block">
|
||||||
|
<div class="donate-address-label">SegWit address</div>
|
||||||
|
<code class="donate-address">bc1qp9g2c6dquh5lnvft50esxsl97kupdpyqyd4kkv</code>
|
||||||
|
<div class="donate-address-label" style="margin-top:1em;">Legacy address</div>
|
||||||
|
<code class="donate-address">1BBgBSVe6w4DWq2BewUQhDEjsNovhfPswD</code>
|
||||||
|
<div class="donate-qr donate-qr--row">
|
||||||
|
<figure>
|
||||||
|
<img src="../media/bitcoin-segwit.png" alt="Bitcoin SegWit QR code" loading="lazy">
|
||||||
|
<figcaption>SegWit</figcaption>
|
||||||
|
</figure>
|
||||||
|
<figure>
|
||||||
|
<img src="../media/bitcoin-legacy.png" alt="Bitcoin Legacy QR code" loading="lazy">
|
||||||
|
<figcaption>Legacy</figcaption>
|
||||||
|
</figure>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Contribute Content { #contribute }
|
||||||
|
|
||||||
|
<div class="index-grid">
|
||||||
|
|
||||||
|
<div class="index-card">
|
||||||
|
<h3 class="index-card__title">Submit a PR</h3>
|
||||||
|
<p class="index-card__body">Fix errors, add sections, or update outdated advice. Follow the contributing guidelines and use conventional commit syntax.</p>
|
||||||
|
<a href="../code/" class="index-card__link">Developer guide</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="index-card">
|
||||||
|
<h3 class="index-card__title">Use a Mirror</h3>
|
||||||
|
<p class="index-card__body">GitHub, Codeberg, GitLab, Disroot, and a Tor onion. Pick the one that fits your threat model.</p>
|
||||||
|
<a href="../mirrors/" class="index-card__link">View mirrors</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Transparency Log
|
||||||
|
|
||||||
|
All donations and spendings are recorded here. <span style="color:var(--status-error)">Red entries</span> indicate funds tied to services that were lost.
|
||||||
|
|
||||||
|
### Donations
|
||||||
|
|
||||||
|
| Date / Time | Amount | Note |
|
||||||
|
|---|---|---|
|
||||||
|
| 2021-02-06 16:48 | 0.1 XMR | |
|
||||||
|
| 2021-03-15 00:09 | 1.24869 mBTC | |
|
||||||
|
| 2021-03-15 08:41 | 0.07896 mBTC | |
|
||||||
|
| 2021-03-31 16:28 | 1 XMR | :heart: Generous donation |
|
||||||
|
| 2021-04-03 22:31 | 0.5 XMR | :heart: Generous donation |
|
||||||
|
| 2021-05-07 06:22 | 0.010433 XMR | |
|
||||||
|
| 2021-06-16 03:05 | 0.03 XMR | |
|
||||||
|
| 2021-06-27 18:39 | 0.05 XMR | |
|
||||||
|
| 2021-07-12 07:24 | 0.02 XMR | |
|
||||||
|
| 2021-07-16 14:31 | 0.1 mBTC | |
|
||||||
|
| 2021-07-20 21:01 | 0.058981 XMR | |
|
||||||
|
| 2021-07-24 15:16 | 0.000000000001 XMR | |
|
||||||
|
| 2021-07-25 02:37 | 0.000000000001 XMR | |
|
||||||
|
| 2021-08-03 00:17 | 0.04119 XMR | |
|
||||||
|
| 2021-08-07 15:05 | 0.206328 XMR | |
|
||||||
|
| 2021-08-10 11:42 | 0.21 mBTC | |
|
||||||
|
| 2021-08-13 00:25 | 0.25 XMR | |
|
||||||
|
| 2021-08-14 04:58 | 0.25588 mBTC | |
|
||||||
|
| 2021-08-30 17:32 | 0.000000000001 XMR | |
|
||||||
|
| 2021-09-17 14:34 | 0.018 XMR | |
|
||||||
|
| 2021-10-01 06:23 | 0.000000002137 XMR | |
|
||||||
|
| 2021-10-02 19:16 | 1 XMR | :heart: Generous donation |
|
||||||
|
| 2021-10-17 15:40 | 0.02 XMR | |
|
||||||
|
| 2021-10-18 16:06 | 0.1958 XMR | |
|
||||||
|
| 2021-11-12 20:42 | 0.02 XMR | |
|
||||||
|
| 2021-11-14 18:28 | 0.018 XMR | |
|
||||||
|
| 2021-12-03 21:38 | 0.10134 XMR | |
|
||||||
|
| 2021-12-16 01:16 | 1 XMR | :heart: Generous donation |
|
||||||
|
| 2021-12-16 18:06 | 0.017 XMR | |
|
||||||
|
| 2022-01-09 17:54 | 0.045918 XMR | |
|
||||||
|
| 2022-01-15 17:35 | 0.014 XMR | |
|
||||||
|
| 2022-01-24 21:08 | 0.010786 XMR | |
|
||||||
|
| 2022-01-26 12:07 | 0.010391 XMR | |
|
||||||
|
| 2022-02-03 19:59 | 0.013013 XMR | |
|
||||||
|
| 2022-02-18 17:27 | 0.019 XMR | |
|
||||||
|
| 2022-03-14 10:25 | 0.0139887 XMR | |
|
||||||
|
| 2022-07-30 03:51 | 0.0222 XMR | |
|
||||||
|
| 2022-09-28 05:13 | 2 XMR | |
|
||||||
|
| 2022-08-19 | SimpleLogin Lifetime Premium | In-kind |
|
||||||
|
| 2022-09-19 | 0.345024 XMR | :heart: From a previous maintainer |
|
||||||
|
|
||||||
|
### Spendings
|
||||||
|
|
||||||
|
| Date | Amount | Purpose | Status |
|
||||||
|
|---|---|---|---|
|
||||||
|
| 2021-03-12 | 0.08181 XMR | Domain `anonymousplanet.net` (1 yr) | Active |
|
||||||
|
| 2021-03-16 | 1.20179 mBTC | Domain renewal (+3 yr, 4 yr total) | Active |
|
||||||
|
| 2021-04-01 | 0.8317 XMR | VPS for Tor mirror hosting | Active |
|
||||||
|
| 2021-04-05 | 0.99367 mBTC | Mail hosting (1 yr) | <span class="status-indicator status-error">Lost</span> |
|
||||||
|
| 2021-04-13 | 0.71895 mBTC | Mail hosting (ext. to 2 yr) | <span class="status-indicator status-error">Lost</span> |
|
||||||
|
| 2021-04-25 | 0.02892 mBTC | Wallet transfer fee | — |
|
||||||
|
| 2021-07-13 | 0.78463 mBTC | BTC→XMR consolidation swap | — |
|
||||||
|
| 2021-07-13 | 0.067261 XMR | Tor exit node 01 (3 mo) | <span class="status-indicator status-error">Lost</span> |
|
||||||
|
| 2021-07-15 | 0.151959 XMR | Tor exit node 02 (6 mo) | <span class="status-indicator status-error">Lost</span> |
|
||||||
|
| 2021-08-16 | 0.253331 XMR | Tor exit node 03 (12 mo) | <span class="status-indicator status-error">Lost</span> |
|
||||||
|
| 2021-08-18 | −0.56588 mBTC / +0.081904 XMR | AtomicSwap BTC→XMR | — |
|
||||||
|
| 2021-08-19 | 0.0644 XMR | Mail hosting extension | <span class="status-indicator status-error">Lost</span> |
|
||||||
|
| 2021-09-18 | 0.246971 XMR | Tor exit node 01 renewal (1 yr) | <span class="status-indicator status-error">Lost</span> |
|
||||||
|
| 2021-10-04 | 0.26954 XMR | Domain ext. to 2029 | Active |
|
||||||
|
| 2021-10-06 | 0.236073 XMR | Tor exit node 04 (12 mo) | <span class="status-indicator status-error">Lost</span> |
|
||||||
|
| 2021-10-18 | 0.01952 XMR | Privex.io VPS test (1 mo) | <span class="status-indicator status-warning">Ended</span> |
|
||||||
|
| 2021-10-30 | 0.240787 XMR | Synapse hosting VPS (12 mo) | <span class="status-indicator status-error">Lost</span> |
|
||||||
|
| 2022-01-01 | 0.28055 XMR | Tor exit node 02 renewal (1 yr) | <span class="status-indicator status-error">Lost</span> |
|
||||||
|
| 2022-02-02 | 0.966793 XMR | Special project sponsorship (UDHR) | <span class="status-indicator status-error">Lost</span> |
|
||||||
|
| 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.
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
---
|
||||||
|
title: "Home"
|
||||||
|
description: "The Hitchhiker's Guide to Online Anonymity"
|
||||||
|
schema:
|
||||||
|
"@context": https://schema.org
|
||||||
|
"@type": WebPage
|
||||||
|
"@id": https://anonymousplanet.net/
|
||||||
|
name: Anonymous Planet
|
||||||
|
url: https://anonymousplanet.net/
|
||||||
|
logo: media/profile.png
|
||||||
|
sameAs:
|
||||||
|
- https://github.com/Anon-Planet
|
||||||
|
- https://opencollective.com/anonymousplanetorg
|
||||||
|
- https://mastodon.social/@anonymousplanet
|
||||||
|
---
|
||||||
|
|
||||||
|
<div class="hero-block">
|
||||||
|
<div class="hero-eyebrow">Anonymous Planet presents</div>
|
||||||
|
<h1 class="hero-title">The Hitchhiker's Guide<br><span class="hero-subtitle">to Online Anonymity (and Privacy)</span></h1>
|
||||||
|
<p class="hero-tagline">
|
||||||
|
You are being tracked. Your metadata is being sold. Your identity is a product. This guide is your manual out.
|
||||||
|
</p>
|
||||||
|
<div class="hero-cta-row">
|
||||||
|
<a href="guide/" class="hero-cta hero-cta--primary">Read the Guide</a>
|
||||||
|
<a href="verify/" class="hero-cta hero-cta--secondary">Verify & Download</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="principles-strip">
|
||||||
|
<span class="principle"><span class="principle-no">No ads.</span></span>
|
||||||
|
<span class="principle-sep">/</span>
|
||||||
|
<span class="principle"><span class="principle-no">No affiliate links.</span></span>
|
||||||
|
<span class="principle-sep">/</span>
|
||||||
|
<span class="principle"><span class="principle-no">No bullshit.</span></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="index-grid">
|
||||||
|
|
||||||
|
<div class="index-card">
|
||||||
|
<h3 class="index-card__title">Read Online</h3>
|
||||||
|
<p class="index-card__body">The full guide — tracking techniques, ID verification, anonymous identity creation, and operational security from first principles.</p>
|
||||||
|
<a href="guide/" class="index-card__link">Open guide</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="index-card">
|
||||||
|
<h3 class="index-card__title">Download PDF</h3>
|
||||||
|
<p class="index-card__body">Offline copy as PDF or ODT. Verify the file's integrity with the provided SHA256 checksum and GPG signature before trusting it.</p>
|
||||||
|
<a href="export/thgtoa.pdf" class="index-card__link">Get the files</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="index-card">
|
||||||
|
<h3 class="index-card__title">Tor Mirror</h3>
|
||||||
|
<p class="index-card__body">Access over the Tor network. The .onion address means your IP and destination stay private — no exit node exposure.</p>
|
||||||
|
<a href="mirrors/" class="index-card__link">View mirrors</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="index-card">
|
||||||
|
<h3 class="index-card__title">Verify Authenticity</h3>
|
||||||
|
<p class="index-card__body">Check GPG signatures, SHA256 hashes, and fetch our public keyring. Never trust a download you haven't verified.</p>
|
||||||
|
<a href="verify/" class="index-card__link">How to verify</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
Before Width: | Height: | Size: 15 MiB After Width: | Height: | Size: 15 MiB |
|
Before Width: | Height: | Size: 936 B After Width: | Height: | Size: 936 B |
|
Before Width: | Height: | Size: 949 B After Width: | Height: | Size: 949 B |
|
After Width: | Height: | Size: 113 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
|
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 88 KiB |
|
Before Width: | Height: | Size: 401 KiB After Width: | Height: | Size: 401 KiB |
|
Before Width: | Height: | Size: 220 KiB After Width: | Height: | Size: 220 KiB |
|
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 108 KiB |
|
Before Width: | Height: | Size: 453 KiB After Width: | Height: | Size: 453 KiB |
|
Before Width: | Height: | Size: 209 KiB After Width: | Height: | Size: 209 KiB |
|
Before Width: | Height: | Size: 243 KiB After Width: | Height: | Size: 243 KiB |
|
Before Width: | Height: | Size: 237 KiB After Width: | Height: | Size: 237 KiB |
|
Before Width: | Height: | Size: 235 KiB After Width: | Height: | Size: 235 KiB |
|
Before Width: | Height: | Size: 471 KiB After Width: | Height: | Size: 471 KiB |
|
Before Width: | Height: | Size: 706 KiB After Width: | Height: | Size: 706 KiB |
|
Before Width: | Height: | Size: 100 KiB After Width: | Height: | Size: 100 KiB |
|
Before Width: | Height: | Size: 144 KiB After Width: | Height: | Size: 144 KiB |
|
Before Width: | Height: | Size: 113 KiB After Width: | Height: | Size: 113 KiB |
|
Before Width: | Height: | Size: 105 KiB After Width: | Height: | Size: 105 KiB |
|
Before Width: | Height: | Size: 187 KiB After Width: | Height: | Size: 187 KiB |
|
Before Width: | Height: | Size: 112 KiB After Width: | Height: | Size: 112 KiB |
|
Before Width: | Height: | Size: 246 KiB After Width: | Height: | Size: 246 KiB |
|
Before Width: | Height: | Size: 197 KiB After Width: | Height: | Size: 197 KiB |
|
Before Width: | Height: | Size: 203 KiB After Width: | Height: | Size: 203 KiB |
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 89 KiB |