00b3ddd217
Signed-off-by: Jonah Aragon <jonah@triplebit.net> Signed-off-by: Daniel Gray <dngray@privacyguides.org> |
||
---|---|---|
.cache/plugin/social | ||
.devcontainer | ||
.github | ||
.vscode | ||
docs | ||
includes | ||
modules | ||
theme | ||
.all-contributorsrc | ||
.allowed_signers | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.mailmap | ||
.markdownlint.yml | ||
.python-version | ||
CITATION.cff | ||
crowdin.yml | ||
Dockerfile | ||
LICENSE | ||
LICENSE-CODE | ||
mkdocs.yml | ||
Pipfile | ||
Pipfile.lock | ||
README.md | ||
run.sh |
About
Privacy Guides is a socially motivated website that provides information for protecting your data security and privacy. Our mission is to inform the public about the value of digital privacy, and global government initiatives which aim to monitor your online activity. We are a non-profit collective operated entirely by volunteer team members and contributors. Our website is free of advertisements and not affiliated with any of the listed providers.
The current list of team members can be found here. Additionally, many people have made contributions to the project, and you can too!
Featured on: Tweakers, The New York Times, and Wired
Contributing
- 💬 Start a discussion or suggest an idea
- 💖 Sponsor the project
- 🈴 Help translate the site [Matrix chat]
- 📝 Edit the site, everything's accessible in this repo
- Browse our open issues to see what needs to be updated
- View the list of approved topics waiting for a PR
- Read some writing tips in our style guide
All contributors to the site are listed here. If you have contributed to the website or project, please add yourself to the list or ask @jonaharagon to make the change.
Mirrors
- GitHub Pages: privacyguides.github.io/privacyguides.org
- Netlify (AWS): illustrious-bavarois-56cf30.netlify.app
- BunnyCDN: privacyguides-org-production.b-cdn.net
- Hetzner: direct.privacyguides.org (discouraged!)
Alternative Networks
Note
Most hidden service providers are not very extensively used or tested, which is why we strongly recommend Tor. Using other networks could be more likely to endanger your anonymity, so make sure you know what you're doing.
-
Tor/onion: xoe4vn5uwdztif6goazfbmogh6wh5jc4up35bqdflu6bkdc5cas5vjqd.onion
-
IPFS:
/ipns/ipfs.privacyguides.org
(not anonymous)- Please help us out by pinning a copy: Learn more
- via Cloudflare: cloudflare-ipfs.com/ipns/ipfs.privacyguides.org
- via 4everland: ipfs-privacyguides-org.ipns.4everland.io
- via @jonaharagon: ipfs.jonaharagon.net/ipns/ipfs.privacyguides.org
- via peer:
/dnsaddr/node-1.ipfs.jonaharagon.net/p2p/12D3KooWMwqzuApCKxYfo66zq5BrTjCoz9naJ1rrMEBCnwuGGqWB
-
I2P: privacyguides.i2p
-
Yggdrasil: http://[200:f3a6:4922:e067:770d:ac57:fcb1:8dbf] (not anonymous)
- via public peer:
tcp://5.161.245.8:45454
- via public peer:
Git Mirrors
License
Copyright © 2019 - 2024 Privacy Guides contributors.
Privacy Guides content is licensed under the Creative Commons Attribution-ShareAlike 4.0 International Public License, and the underlying source code used to format and display that content on www.privacyguides.org is licensed under the MIT License.
Generally speaking, content can be found in the /docs
, /theme/assets/img
and /includes
folders; and source code and configuration files can be found in the /config
and /theme
folders, and in the root of this repository. Any source code snippets contained within documentation files are MIT Licensed. Please contact us if you require clarification on any of these terms.
These licenses do not apply to any work where another license is otherwise noted.
Logos in the /theme/assets/img
folder may not be original works of Privacy Guides and therefore cannot be (re)licensed by us. We believe that these logos obtained from third-party providers are either in the public domain or fair use. In a nutshell, legal fair use doctrine allows the use of copyrighted images in order to identify the subject for purposes of public comment. However, these logos and other images may still be subject to trademark laws in one or more jurisdictions. Before using this content, please ensure that it is used to identify the entity or organization that owns the trademark and that you have the right to use it under the laws which apply in the circumstances of your intended use. When copying content from this website, you are solely responsible for ensuring that you do not infringe someone else's trademark or copyright.
You may comply with our license terms in any reasonable manner, but not in any way that suggests Privacy Guides endorses you or your use. You may not use the Privacy Guides branding in your own project without express approval from this project. Privacy Guides's brand trademarks include the "Privacy Guides" wordmark and shield logo.
When you contribute to this repository you are doing so under the above licenses, and you are granting Privacy Guides a perpetual, worldwide, non-exclusive, transferable, royalty-free, irrevocable license with the right to sublicense such rights through multiple tiers of sublicensees, to reproduce, modify, display, perform and distribute your contribution as part of our project.
Developing
Committing to this repository requires signing your commits (git config commit.gpgsign true
) unless you are making edits via the GitHub.com text editor interface. As of August 2022 the preferred signing method is SSH commit signatures, but GPG signing is also acceptable. You should add your signing key to your GitHub profile.
With mkdocs-material
- Install required packages:
pip install mkdocs-material
- Run a local preview of the English site:
./run.sh --cmd=mkdocs
With mkdocs-material-insiders
This website uses mkdocs-material-insiders
which offers additional functionality over the open-source mkdocs-material
project. For obvious reasons we cannot distribute access to the insiders repository.
Team members should clone the repository with mkdocs-material-insiders
directly. This method is identical to production:
- Clone this repository and submodules:
git clone --recurse-submodules https://github.com/privacyguides/privacyguides.org.git
- Enable SSH commit verification with our local
.allowed_signers
file:git config gpg.ssh.allowedSignersFile .allowed_signers
- Install Python 3.12.
- Install pipenv:
pip install pipenv
- Install dependencies:
pipenv install --dev
(install Pillow and CairoSVG as well to generate social cards) - Serve the site locally:
./run.sh --insiders
(setCARDS=true
to generate social cards)- The site will be available at
http://localhost:8000
- You can build the site locally with
./run.sh --insiders --build
- This version of the site should be identical to the live, production version
- The site will be available at
If you commit to main
with commits signed with your SSH key, you should add your SSH key to .allowed_signers
in this repo.
Local Translated Site Builds
- Install the Crowdin CLI Tool (
brew install crowdin
) - Set the
CROWDIN_PERSONAL_TOKEN
environment variable to your Crowdin personal access token - Run
crowdin download
in the root of this repo - Serve the site locally:
./run.sh --insiders --lang=fr
(replacing fr with the appropriate language in /config)
Translations downloaded from Crowdin are .gitignore'd, so any local changes to the translated site cannot be committed to this repo. Actual modifications need to be made on Crowdin. As an alternative to steps 1-3, you can copy the folders from privacyguides/i18n to the root of this repo to obtain the translated files.
Releasing
It is required to create a GitHub release to publish the current site to privacyguides.org. The current main
branch can be previewed at https://main.staging.privacyguides.dev prior to release.
- Create a new tag:
git tag -s YYYY.MM.DD -m 'Some message'
- Tag numbering:
YYYY.MM.DD
- if two+ releases are published on the same day, append short commit sha to next release, e.g.YYYY.MM.DD-6aa14e8
- Enable GPG tag signing by default (
git config tag.gpgSign true
) to avoid missing signatures
- Tag numbering:
- Push the tag to GitHub:
git push --tags
- A GitHub Release will be automatically created and deployed to the live site.
- You may wish to manually check or edit the release changelog/title after it is published for accuracy.
Contributors
Privacy Guides wouldn't be possible without these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome, including contributions to Privacy Guides outside of this repo, and contributions that aren't content related (like sharing ideas for Privacy Guides, promoting the project, answering questions on the forum, etc.).
CLI to generate this table:
npx --package all-contributors-cli -- npx all-contributors generate
CLI to add a contributor:
npx --package all-contributors-cli -- npx all-contributors add <username> <contribution>
See this table for valid contribution reasons, comma-separated. Do not use the content
code for contributors to the website, use docs
instead (this way it will automatically link to their commits). Example:
npx --package all-contributors-cli -- npx all-contributors add jonaharagon docs,research,question