{"config":{"lang":["en"],"separator":"[\\s\\u200b\\-_,:!=\\[\\]()\"`/]+|\\.(?!\\d)|&[lg]t;|(?!\\b)(?=[A-Z][a-z])","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Hello, and welcome to the Hitchhiker's Guide.","text":"

You'll use these keys to verify the checksum and GPG signature of all files for authenticity. Please share this project if you enjoy it and you think it might be useful to others.

GPG Signing Keys for Verification

Anonymous Planet Master Signing Key (MSK):

9FA5 436D 0EE3 6098 5157 3825 17EC A05F 768D EDF6\n

Anonymous Planet Release Signing Key (RSK):

C302 3DBE A3FB 38C4 38BA 1EED CEC6 0AED E8B9 92A2\n

Anonymous Planet is a collective of volunteers.

Das Kolburn Nope "},{"location":"about/","title":"Anonymous Planet","text":"

Anonymous Planet are the maintainers of the Hitchhiker's Guide and the PSA Community. It is responsible for maintaining the projects and code repositories. This project is part of our ongoing efforts to provide open-source tools and resources for the community, with regular updates and improvements added to the changelog.

The purpose: providing an introduction to various online tracking techniques, online ID verification techniques, and detailed guidance to creating and maintaining (truly) anonymous online identities. It is written with the hopes that good people (e.g., activists, journalists, scientists, lawyers, whistle-blowers, etc.) will be able to fight oppression, censorship and harassment! The website and projects are free (as in freedom) and not affiliated with any donor or projects discussed.

Where do I start?

Start either by going to the beginning or using the search at top right of the page. It is also available at whatever point you are in your reading.

Notes on the journey

This guide is a work in progress. It will probably never be \"finished\". You may (will) find broken links when you click on some search results and during some navigation steps. Please report these. Otherwise, most of the search functionality is a great experience and can help you find linked topics. Try to search for something in one section of the reading. It will show up in many other places.

Disclaimer

There might be some wrong or outdated information in this guide because no one is perfect. Your experience may vary. Remember, check regularly for an updated version of this guide. Please do your own independent, well-thought research. There is no one resource online that can provide 100% security, anonymity, and/or privacy.

This guide is a non-profit open-source initiative, licensed under Creative Commons Attribution-NonCommercial 4.0 International (cc-by-nc-4.0 [Archive.org]).

Feel free to submit issues (please do report anything wrong) using GitHub Issues at: https://github.com/Anon-Planet/thgtoa/issues. We also accept Merge Requests (MR) from our Gitlab and many other places. Do not hesitate to report issues and suggestions!

Discuss ideas on Matrix for real-time chat

We offer a Matrix.org hosted space of our own. Check it out!

Follow us on

To contact me, see the updated information on the website or send an e-mail to contact@anonymousplanet.net

Please consider donating if you enjoy the project and want to support the hosting fees or support the funding of initiatives like the hosting of Tor Exit Nodes.

Recommended Reading

Some of those resources may, in order to sustain their project, contain or propose:

Note that these websites could contain affiliate/sponsored content and/or merchandising. This guide does not endorse and is not sponsored by any commercial entity in any way.

If you skipped those, you should really still consider viewing this YouTube playlist from the Techlore Go Incognito project (https://github.com/techlore-official/go-incognito [Archive.org]) as an introduction before going further: https://www.youtube.com/playlist?list=PL3KeV6Ui_4CayDGHw64OFXEPHgXLkrtJO [Invidious]. This guide will cover many of the topics in the videos of this playlist with more details and references as well as some added topics not covered within that series. This will just take you 2 or 3 hours to watch it all.

Anonymous Planet does not participate in any sponsoring, endorsement, advertising, or other affiliate programs for any entity. We only rely on anonymous donations in a closed, transparent loop system.

Privacy related Blogs and personal websites Useful resources We are not affiliated with Anonymous or Riseup

One or two of our community members uses or has used the resources of Riseup. We are not affiliated with Riseup in any manner.

We also hold no affiliation with the Anonymous [Wikiless] [Archive.org] hacker collective.

"},{"location":"about/#license","title":"License","text":"

This guide is an open-source non-profit initiative, licensed under Creative Commons Attribution-NonCommercial 4.0 International 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.

"},{"location":"changelog/","title":"Release Notes","text":"

Notable changes to the guide and its tooling. Follows Keep a Changelog and Semantic Versioning.

"},{"location":"changelog/#v124","title":"v1.2.4","text":"

Meta

Changed

Fixed

"},{"location":"changelog/#v123","title":"v1.2.3","text":"

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.

Added

Changed

Fixed

"},{"location":"changelog/#v121","title":"v1.2.1","text":"

First automated PDF build and the start of the CI pipeline.

Added

Changed

Fixed

"},{"location":"code/","title":"Content Contributions","text":"

You can submit bugs and feature requests with detailed information about your issue or idea:

For those of you who are looking to add content to the guide, include the following:

"},{"location":"code/#pull-requests","title":"Pull Requests","text":"

When reporting guide issues:

"},{"location":"code/#large-prs","title":"Large PRs","text":"

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.

"},{"location":"code/#updating-prs","title":"Updating PRs","text":"

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.

Thank you for taking the few moments to read this far! You're already way ahead of the curve, so keep it up!

"},{"location":"code/develop/","title":"Developer Guide","text":"

This page covers everything you need to contribute to the project, run the build pipeline locally, configure GitHub Secrets, and publish a release.

"},{"location":"code/develop/#prerequisites","title":"Prerequisites","text":"

Install these before anything else.

Linux / macOSWindows
# Python 3.11+\npython3 --version\n\n# poppler (pdftoppm) and qpdf\nsudo apt install poppler-utils qpdf # Debian/Ubuntu\nbrew install poppler qpdf           # macOS\n\n# GPG\nsudo apt install gnupg # Debian/Ubuntu\nbrew install gnupg     # macOS\n\n# Python dependencies\npip install \"mkdocs-material[imaging]\" pillow numpy\n
# Python 3.11+ from https://python.org\n\n# poppler: download from https://github.com/oschwartz10612/poppler-windows/releases\n# Extract and add the bin\\ folder to PATH\n\n# qpdf: download from https://github.com/qpdf/qpdf/releases\n# Extract and add the bin\\ folder to PATH\n\n# GPG: download Gpg4win from https://gpg4win.org\n\n# Python dependencies\npip install \"mkdocs-material[imaging]\" pillow numpy\n

You also need Google Chrome or Microsoft Edge installed for the light-mode PDF build (headless Chromium).

"},{"location":"code/develop/#repository-layout","title":"Repository layout","text":"
.github/\n  workflows/\n    01-build.yml      # builds PDFs, uploads artifact\n    02-sign.yml       # hashes + GPG signs, uploads signatures artifact\n    03-release.yml    # publishes GitHub Release with all assets\n    04-changelog.yml  # prepends a new entry to docs/changelog/index.md\n    publish.yml       # deploys MkDocs site to GitHub Pages\ndocs/\n  guide/index.md      # the guide (single Markdown file)\n  changelog/          # release notes\n  code/               # this page\nexport/               # PDF output (PDFs gitignored; .sha256, .b2sum, .asc tracked)\npgp/                  # public signing keys\nscripts/\n  build_guide_pdf.py  # MkDocs + Chromium PDF builder\n  convert.py          # pixel-based dark mode PDF converter\n  update_changelog.py # auto-generates changelog entries from git log\n  setup_workflow.py   # GitHub Secrets setup assistant\n  verify_pdf.py       # signature verification helper\n  archived/\n    tag_release.py    # ARCHIVED - GPG tag helper (not used in current flow)\n
"},{"location":"code/develop/#building-locally","title":"Building locally","text":""},{"location":"code/develop/#build-both-pdfs","title":"Build both PDFs","text":"
python scripts/build_guide_pdf.py --both\n

This builds the MkDocs site, renders it to export/thgtoa.pdf via headless Chromium, then calls scripts/convert.py to produce export/thgtoa-dark.pdf.

Flag Effect --both Light PDF then dark PDF (no flag) Light PDF only --dark Dark PDF only (light PDF must already exist)"},{"location":"code/develop/#build-only-the-dark-pdf-from-an-existing-light-pdf","title":"Build only the dark PDF from an existing light PDF","text":"
python scripts/convert.py export/thgtoa.pdf export/thgtoa-dark.pdf\n

Options:

Flag Default Description --dpi 200 Rasterization DPI. 150 = smaller file, 300 = sharper but slow --batch-size 50 Pages per batch. Reduce if you hit OOM --bg 1f1f31 Background colour (hex) --text e0e0e0 Body text colour (hex) --link 5e8bde Link / blue element colour (hex)"},{"location":"code/develop/#preview-the-mkdocs-site","title":"Preview the MkDocs site","text":"
mkdocs serve\n

Opens at http://127.0.0.1:8000.

"},{"location":"code/develop/#cicd-pipeline-overview","title":"CI/CD pipeline overview","text":"

The pipeline is fully manual after the initial build - no step automatically triggers the next. This prevents version mismatches between what was built, what was signed, and what gets released. The workflows are numbered to help guide you.

push to main  (or manual trigger)\n      \u2502\n      \u25bc\n  01-build.yml\n  Builds thgtoa.pdf + thgtoa-dark.pdf.\n  Uploads artifact: pdfs\n  Note the run ID.\n      \u2502\n      \u2502  # manually trigger 02-sign.yml with the build run ID\n      \u25bc\n  02-sign.yml\n  Downloads pdfs artifact. Hashes (SHA-256 + BLAKE2b) and GPG-signs\n  all files. Commits export/ back to main. Uploads artifacts:\n  signatures, pdfs-signed\n  Note the run ID.\n      \u2502\n      \u2502  # manually trigger 03-release.yml with the sign run ID\n      \u25bc\n  03-release.yml\n  Downloads signatures + pdfs-signed artifacts. Runs VirusTotal.\n  Creates GitHub Release tagged release-YYYYMMDD-<short-sha>.\n      \u2502\n      \u2502  # manually trigger 04-changelog.yml with the version string\n      \u25bc\n  04-changelog.yml\n  Runs update_changelog.py, prepends a new ## [vX.Y.Z] entry,\n  commits back to main.\n

Each stage is independent. If signing fails (e.g. an expired/revoked key, other problems in CI), re-run only 02-sign.yml pointing at the existing build artifact - no need to rebuild the PDFs.

Before you push

"},{"location":"code/develop/#release-process-step-by-step","title":"Release process (step by step)","text":""},{"location":"code/develop/#1-trigger-a-build","title":"1. Trigger a build","text":"

Push to main - 01-build.yml runs automatically when docs/, mkdocs.yml, or scripts/ change. You can also trigger it manually from Actions \u2192 Build PDFs \u2192 Run workflow.

Once it completes successfully, note the run ID from the URL or the Actions list.

"},{"location":"code/develop/#2-sign-the-pdfs","title":"2. Sign the PDFs","text":"

Go to Actions \u2192 Sign PDFs \u2192 Run workflow.

Input Value build_run_id The run ID from step 1

02-sign.yml will:

Once it completes successfully, note the run ID.

"},{"location":"code/develop/#3-publish-the-release","title":"3. Publish the release","text":"

Go to Actions \u2192 Release \u2192 Run workflow.

Input Value sign_run_id The run ID from step 2 prerelease false for a normal release

03-release.yml will:

No version number needs to be chosen at this step - the tag is derived from the date and commit SHA, so it is always unique and always traceable.

"},{"location":"code/develop/#4-update-the-changelog","title":"4. Update the changelog","text":"

Go to Actions \u2192 Update Changelog \u2192 Run workflow.

Input Value version The human-readable version string, e.g. v1.2.4 dry_run true to preview without committing

04-changelog.yml runs scripts/update_changelog.py, which:

The version string is the only human decision in the release process. It goes into the changelog only - it does not affect the release tag.

Previewing the changelog entry

Run with dry_run: true first to review the generated entry before it is committed.

"},{"location":"code/develop/#release-tag-format","title":"Release tag format","text":"

Release tags use the format release-YYYYMMDD-<short-sha>, for example:

release-20260527-abc1234\n

This format is always unique, requires no version decision at release time, and is directly traceable to the commit that was built. The version string (e.g. v1.2.4) is a separate, human-assigned label that lives only in the changelog.

"},{"location":"code/develop/#commit-message-format","title":"Commit message format","text":"

All commits must follow the Conventional Commits format. This is enforced by the commitizen pre-commit hook. Not because we want to limit cooperation with others, but becasue it promotes a cleaner Changelog; we can avoid all the noise by doing this programatically.

<type>(<scope>): <description>\n

Accepted types and their changelog bucket:

Type Bucket feat, feature, add Added fix, bugfix, revert, security Fixed perf, refactor, change, chore, ci, docs, style, test, build Changed

Examples:

feat: add dark-mode PDF export\nfix(scripts): handle locked PDF on Windows\ndocs: update developer workflow guide\nchore(ci): pin Chrome version to 120\n
"},{"location":"code/develop/#github-secrets","title":"GitHub Secrets","text":"

Configure these in Settings \u2192 Secrets and variables \u2192 Actions before the pipeline will fully work. The build step requires no secrets; signing and releasing require all of them.

"},{"location":"code/develop/#gpg_private_key","title":"GPG_PRIVATE_KEY","text":"

The ASCII-armored private key used to sign PDFs and hash files.

gpg --armor --export-secret-keys C3023DBEA3FB38C438BA1EEDCEC60AEDE8B992A2\n

Copy the entire output (including -----BEGIN PGP PRIVATE KEY BLOCK----- and the closing line) and paste it as the secret value.

Key security

This is the release signing key. Only repository admins should have access to it. Never commit it to the repository or share it outside of GitHub Secrets.

"},{"location":"code/develop/#gpg_passphrase","title":"GPG_PASSPHRASE","text":"

The passphrase protecting the private key above. Must match exactly - no trailing newline.

"},{"location":"code/develop/#actions_ssh_signing_key","title":"ACTIONS_SSH_SIGNING_KEY","text":"

An SSH private key used by 02-sign.yml to sign the commit that pushes export/ back to main. Generate a dedicated key for this:

ssh-keygen -t ed25519 -C \"github-actions signing key\" -f actions_signing_key\n

Add the private key as the ACTIONS_SSH_SIGNING_KEY secret, and the public key to the repository's Deploy Keys (Settings \u2192 Deploy Keys) with write access.

"},{"location":"code/develop/#vt_api_key","title":"VT_API_KEY","text":"

A VirusTotal API key with file upload permissions. Used by 03-release.yml to scan both PDFs before publishing. Get one by creating a free account at virustotal.com \u2192 API key under your profile. The free tier (4 lookups/minute, 500/day) is sufficient.

"},{"location":"code/develop/#changelog_pat","title":"CHANGELOG_PAT","text":"

A GitHub Personal Access Token with contents: write scope on this repository. Needed because 04-changelog.yml commits back to main - commits made with the default GITHUB_TOKEN do not trigger further workflow runs (GitHub loop-prevention). A PAT bypasses this. If absent, falls back to GITHUB_TOKEN - the commit still happens, it just won't trigger downstream workflows.

Creating one: GitHub \u2192 Settings \u2192 Developer settings \u2192 Personal access tokens \u2192 Fine-grained tokens \u2192 set Contents to Read and write for this repo only.

"},{"location":"code/develop/#secrets-summary","title":"Secrets summary","text":"Secret Required by What happens if missing GPG_PRIVATE_KEY 02-sign.yml Signing step fails - no .asc files produced GPG_PASSPHRASE 02-sign.yml GPG import succeeds but signing fails ACTIONS_SSH_SIGNING_KEY 02-sign.yml Export commit is unsigned (may fail if branch protection requires signed commits) VT_API_KEY 03-release.yml VirusTotal step fails - release is not published CHANGELOG_PAT 04-changelog.yml Falls back to GITHUB_TOKEN - changelog updates but commit won't trigger downstream workflows"},{"location":"code/develop/#verifying-a-release","title":"Verifying a release","text":"

Anyone can verify the authenticity of a release download.

# Import the release signing key\ngpg --import pgp/anonymousplanet-release.asc\n\n# Verify the PDFs\ngpg --verify thgtoa.pdf.asc      thgtoa.pdf\ngpg --verify thgtoa-dark.pdf.asc thgtoa-dark.pdf\n\n# Verify the hash files\ngpg --verify sha256sums.txt.asc sha256sums.txt\ngpg --verify b2sums.txt.asc     b2sums.txt\n\n# Check the PDF hashes match\nsha256sum -c sha256sums.txt\nb2sum     -c b2sums.txt\n

A successful verify looks like:

gpg: Signature made Sun 31 May 2026 03:23:26 AM EDT\ngpg:                using EDDSA key C3023DBEA3FB38C438BA1EEDCEC60AEDE8B992A2\ngpg: Good signature from \"Anonymous Planet Release Signing Key\" [ultimate]\nPrimary key fingerprint: C302 3DBE A3FB 38C4 38BA  1EED CEC6 0AED E8B9 92A2\n

You can safely ignore Github, Codeberg, etc. warnings like \"The email in this signature doesn\u2019t match the committer email.\"

\u03bb > git tag -v v1.2.3\nobject cdc54d8b3bc2b286827b23921d8d4062f85295cf\ntype commit\ntag v1.2.3\ntagger nopeitsnothing <no@anonymousplanet.net> 1780212206 -0400\n\nv1.2.3\ngpg: Signature made Sun 31 May 2026 03:23:26 AM EDT\ngpg:                using EDDSA key C3023DBEA3FB38C438BA1EEDCEC60AEDE8B992A2\ngpg: Good signature from \"Anonymous Planet Release Signing Key\" [ultimate]\nPrimary key fingerprint: C302 3DBE A3FB 38C4 38BA  1EED CEC6 0AED E8B9 92A2\n
"},{"location":"code/develop/#troubleshooting","title":"Troubleshooting","text":"

cairosvg missing during MkDocs build Install the imaging extras: pip install \"mkdocs-material[imaging]\". Required by the social plugin.

KeyError: 'JPEG' in convert.py Pillow needs libjpeg. Reinstall after installing the system lib: sudo apt install libjpeg-dev && pip install --force-reinstall pillow.

qpdf: can't find PDF header Ensure you are on the current version of convert.py - qpdf only accepts PDF inputs, not PNG.

GPG signing fails on CI with No secret key The GPG_PRIVATE_KEY secret is missing or malformed. Re-export with gpg --armor --export-secret-keys <fingerprint> and paste the full block including header and footer lines.

GPG signing fails with Bad passphrase The GPG_PASSPHRASE secret has a trailing space or newline. Paste it again with no surrounding whitespace.

03-release.yml fails on VirusTotal The VT_API_KEY is missing, invalid, or over the rate limit (500 requests/day on the free tier). Check the secret and re-run after a few minutes.

02-sign.yml fails downloading PDF artifact The build_run_id is wrong, or the artifact has expired (90-day retention). Trigger a new build and use the fresh run ID.

Changelog already contains version X update_changelog.py will error if MANUAL_VERSION is set to a version already in the changelog. Choose the next version string.

Footnote warnings from MkDocs (link '#fnref:N' has no anchor) A footnote definition [^N]: exists without a matching inline citation. Add the citation or remove the orphaned definition.

"},{"location":"constitution/","title":"A Constitution for an Anonymous Planet.","text":"

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.

"},{"location":"constitution/#requirements","title":"Requirements","text":"

Content is licensed under Creative Commons Attribution NonCommercial to prevent commercial usage.

"},{"location":"constitution/#anonymity-above-everything","title":"Anonymity above everything.","text":"

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.

"},{"location":"constitution/#independence","title":"Independence.","text":"

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.

"},{"location":"constitution/#accessibility","title":"Accessibility.","text":"

We will strive to always keep available the following methods of reading the Hitchhiker's Guide:

"},{"location":"constitution/#freedom","title":"Freedom.","text":"

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.

"},{"location":"constitution/#verifiability-falsifiability-and-reproducibility","title":"Verifiability, falsifiability and reproducibility.","text":"

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:

"},{"location":"constitution/#innocence","title":"Innocence.","text":"

Suspected offenders are innocent until proven guilty, with zero tolerance for abuse of power or position.

Any accusing/moderating member is:

Any offender has the right to:

"},{"location":"constitution/#freedom-of-thought","title":"Freedom of thought.","text":"

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).

"},{"location":"constitution/#we-do-not-tolerate-intolerance","title":"We do not tolerate intolerance.","text":"

See the Paradox of Tolerance, which includes hate speech.

"},{"location":"constitution/#no-analytics","title":"No analytics.","text":"

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.

"},{"location":"constitution/#no-profit","title":"No profit.","text":"

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:

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.

"},{"location":"constitution/#core-goals","title":"Core Goals.","text":"

Help people in need of anonymity to maintain both their physical and digital safety.

"},{"location":"constitution/#non-goals","title":"Non-Goals.","text":"

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

"},{"location":"contribute/","title":"How to Get Involved","text":"

There are multiple ways you can add to the guide. Donations to support this project are welcome but are entirely optional. Those donations are mainly used to pay for Tor onion hosting (VPS), mail hosting, domain name registration, and to maintain/run Tor exit nodes. No profit is ever being made. All donations and spendings are being logged here below for transparency. Some costs for load balancer servers have been omitted for privacy reasons, but are not paid for with existing Anonymous Planet finances.

Current project donation goals:

"},{"location":"contribute/#donate-using-monero-xmr","title":"Donate using Monero (XMR)","text":"

Total Monero donations received: 7.101317184263 XMR Total Monero remaining: 2.059336719397 XMR

Here is the address for the main project:

46crzj54eL493BA68pPT4A1MZyKQxrpZu9tVNsfsoa5nT85QqCt8cDTfy1fcTH1oyjdtUbhmpZ4QcVtfEXB337Ng6PS21ML

"},{"location":"contribute/#donate-using-bitcoin-btc","title":"Donate using Bitcoin (BTC)","text":"

Total Bitcoin donations received: 1.89353 mBTC Total Bitcoin remaining: 0 mBTC

Here are the addresses for the main project:

SegWit address: bc1qp9g2c6dquh5lnvft50esxsl97kupdpyqyd4kkv Legacy address: 1BBgBSVe6w4DWq2BewUQhDEjsNovhfPswD

___

"},{"location":"contribute/#content-contributions","title":"Content Contributions","text":"

You can easily contribute code or information suggestions at our code repositories listed at the bottom of the website and on the Mirrors tab above. We have many options that are easily accessible. Please follow our contributing guidelines and use good PR syntax.

Thank you for any contribution. All donations will be mentioned on this page.

"},{"location":"contribute/#donations-log","title":"Donations log","text":""},{"location":"contribute/#spendings-log","title":"Spendings log","text":"