Merge 5217776d10d237a42f8abe973dd16fc6a7ad6f21 into 2703d466142f07479ff6faff6f13c3299519a05f

This commit is contained in:
redoomed1 2025-03-23 02:28:29 +00:00 committed by GitHub
commit 53d7bcd1de
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
26 changed files with 646 additions and 293 deletions

View File

@ -17,7 +17,7 @@ If these alternatives do not fit your needs, we suggest you look into using encr
<details class="admonition info" markdown>
<summary>Looking for Nextcloud?</summary>
Nextcloud is [still a recommended tool](document-collaboration.md#nextcloud) for self-hosting a file management suite, however we do not recommend third-party Nextcloud storage providers at the moment, because we do [not recommend](https://discuss.privacyguides.net/t/dont-recommend-nextcloud-e2ee/10352/29) Nextcloud's built-in E2EE functionality for home users.
For more technical readers, Nextcloud is [still a recommended tool](self-hosted.md#nextcloud) for self-hosting a file management suite, however we do not recommend third-party Nextcloud storage providers at the moment, because we do [not recommend](https://discuss.privacyguides.net/t/dont-recommend-nextcloud-e2ee/10352/29) Nextcloud's built-in E2EE functionality for home users.
</details>
@ -114,10 +114,6 @@ They have also received the Digital Trust Label, a certification from the [Swiss
</div>
Peergos is primarily a web app, but you can self-host the server either as a local cache for your remote Peergos account, or as a standalone storage server which negates the need to register for a remote account and subscription. The Peergos server is a `.jar` file, which means the Java 17+ Runtime Environment ([OpenJDK download](https://azul.com/downloads)) should be installed on your machine to get it working.
Running a local version of Peergos alongside a registered account on their paid, hosted service allows you to access your Peergos storage without any reliance on DNS or TLS certificate authorities, and keep a copy of your data backed up to their cloud. The user experience should be the same whether you run their desktop server or just use their hosted web interface.
Peergos was [audited](https://peergos.org/posts/security-audit-2024) in November 2024 by Radically Open Security and all issues were fixed. They were previously [audited](https://cure53.de/pentest-report_peergos.pdf) by Cure53 in June 2019, and all found issues were subsequently fixed.
An Android app is not available, but it is [in the works](https://discuss.privacyguides.net/t/peergos-private-storage-sharing-social-media-and-application-platform/11825/25). The current workaround is to use the mobile [PWA](https://peergos.net) instead.

View File

@ -34,52 +34,9 @@ These are our favorite public DNS resolvers based on their privacy and security
[^5]: Mullvad's DNS service is available to both subscribers and non-subscribers of Mullvad VPN. Their privacy policy explicitly claims they do not log DNS requests in any way. [https://mullvad.net/en/help/no-logging-data-policy/](https://mullvad.net/en/help/no-logging-data-policy)
[^6]: Quad9 collects some data for the purposes of threat monitoring and response. That data may then be remixed and shared, such as for the purpose of security research. Quad9 does not collect or record IP addresses or other data they deem personally identifiable. [https://quad9.net/privacy/policy](https://quad9.net/privacy/policy)
## Self-Hosted DNS Filtering
A self-hosted DNS solution is useful for providing filtering on controlled platforms, such as Smart TVs and other IoT devices, as no client-side software is needed.
### Pi-hole
<div class="admonition recommendation" markdown>
![Pi-hole logo](assets/img/dns/pi-hole.svg){ align=right }
**Pi-hole** is an open-source [DNS-sinkhole](https://en.wikipedia.org/wiki/DNS_sinkhole) which uses [DNS filtering](https://cloudflare.com/learning/access-management/what-is-dns-filtering) to block unwanted web content, such as advertisements.
Pi-hole is designed to be hosted on a Raspberry Pi, but it is not limited to such hardware. The software features a friendly web interface to view insights and manage blocked content.
[:octicons-home-16: Homepage](https://pi-hole.net){ .md-button .md-button--primary }
[:octicons-eye-16:](https://pi-hole.net/privacy){ .card-link title="Privacy Policy" }
[:octicons-info-16:](https://docs.pi-hole.net){ .card-link title=Documentation}
[:octicons-code-16:](https://github.com/pi-hole/pi-hole){ .card-link title="Source Code" }
[:octicons-heart-16:](https://pi-hole.net/donate){ .card-link title=Contribute }
</details>
</div>
### AdGuard Home
<div class="admonition recommendation" markdown>
![AdGuard Home logo](assets/img/dns/adguard-home.svg){ align=right }
**AdGuard Home** is an open-source [DNS-sinkhole](https://en.wikipedia.org/wiki/DNS_sinkhole) which uses [DNS filtering](https://cloudflare.com/learning/access-management/what-is-dns-filtering) to block unwanted web content, such as advertisements.
AdGuard Home features a polished web interface to view insights and manage blocked content.
[:octicons-home-16: Homepage](https://adguard.com/adguard-home/overview.html){ .md-button .md-button--primary }
[:octicons-eye-16:](https://adguard.com/privacy/home.html){ .card-link title="Privacy Policy" }
[:octicons-info-16:](https://github.com/AdguardTeam/AdGuardHome/wiki){ .card-link title=Documentation}
[:octicons-code-16:](https://github.com/AdguardTeam/AdGuardHome){ .card-link title="Source Code" }
</details>
</div>
## Cloud-Based DNS Filtering
These DNS filtering solutions offer a web dashboard where you can customize the block lists to your exact needs, similarly to a Pi-hole. These services are usually easier to set up and configure than self-hosted services like the ones above, and can be used more easily across multiple networks (self-hosted solutions are typically restricted to your home/local network unless you set up a more advanced configuration).
These DNS filtering solutions offer a web dashboard where you can customize the block lists to your exact needs. These services can be used more easily across multiple networks.
### Control D

View File

@ -12,41 +12,6 @@ Most online office suites do not support E2EE, meaning the cloud provider has ac
## Collaboration Platforms
### Nextcloud
<div class="admonition recommendation" markdown>
![Nextcloud logo](assets/img/document-collaboration/nextcloud.svg){ align=right }
**Nextcloud** is a suite of free and open-source client-server software for creating your own file hosting services on a private server you control.
[:octicons-home-16: Homepage](https://nextcloud.com){ .md-button .md-button--primary }
[:octicons-eye-16:](https://nextcloud.com/privacy){ .card-link title="Privacy Policy" }
[:octicons-info-16:](https://nextcloud.com/support){ .card-link title=Documentation}
[:octicons-code-16:](https://github.com/nextcloud){ .card-link title="Source Code" }
[:octicons-heart-16:](https://nextcloud.com/contribute){ .card-link title=Contribute }
<details class="downloads" markdown>
<summary>Downloads</summary>
- [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=com.nextcloud.client)
- [:simple-appstore: App Store](https://apps.apple.com/app/id1125420102)
- [:simple-github: GitHub](https://github.com/nextcloud/android/releases)
- [:fontawesome-brands-windows: Windows](https://nextcloud.com/install/#install-clients)
- [:simple-apple: macOS](https://nextcloud.com/install/#install-clients)
- [:simple-linux: Linux](https://nextcloud.com/install/#install-clients)
</details>
</div>
<div class="admonition danger" markdown>
<p class="admonition-title">Danger</p>
We don't recommend using the [E2EE App](https://apps.nextcloud.com/apps/end_to_end_encryption) for Nextcloud as it may lead to data loss; it is highly experimental and not production quality. For this reason, we don't recommend third-party Nextcloud providers.
</div>
### CryptPad
<div class="admonition recommendation" markdown>

View File

@ -31,7 +31,7 @@ They also have a number of benefits over "temporary email" services:
- Emails are sent to your trusted mailbox rather than stored by the alias provider.
- Temporary email services typically have public mailboxes which can be accessed by anyone who knows the address, while aliases are private to you.
Our email aliasing recommendations are providers that allow you to create aliases on domains they control, as well as on your own custom domain(s) for a modest yearly fee. They can also be self-hosted if you want maximum control. However, using a custom domain can have privacy-related drawbacks: If you are the only person using your custom domain, your actions can be easily tracked across websites simply by looking at the domain name in the email address and ignoring everything before the at (@) sign.
Our email aliasing recommendations are providers that allow you to create aliases on domains they control, as well as on your own custom domain(s) for a modest yearly fee. However, using a custom domain can have privacy-related drawbacks: If you are the only person using your custom domain, your actions can be easily tracked across websites simply by looking at the domain name in the email address and ignoring everything before the at (@) sign.
Using an aliasing service requires trusting both your email provider and your aliasing provider with your unencrypted messages. Some providers mitigate this slightly with automatic PGP encryption[^1], which reduces the number of parties you need to trust from two to one by encrypting incoming emails before they are delivered to your final mailbox provider.

View File

@ -247,61 +247,6 @@ Tuta offers the business version of [Tuta to non-profit organizations](https://t
Tuta doesn't offer a digital legacy feature.
## Self-Hosting Email
Advanced system administrators may consider setting up their own email server. Mail servers require attention and continuous maintenance in order to keep things secure and mail delivery reliable. In addition to the "all-in-one" solutions below, we've picked out a few articles that cover a more manual approach:
- [Setting up a mail server with OpenSMTPD, Dovecot and Rspamd](https://poolp.org/posts/2019-09-14/setting-up-a-mail-server-with-opensmtpd-dovecot-and-rspamd) (2019)
- [How To Run Your Own Mail Server](https://www.c0ffee.net/blog/mail-server-guide) (August 2017)
### Stalwart
<div class="admonition recommendation" markdown>
![Stalwart logo](assets/img/email/stalwart.svg){ align=right }
**Stalwart** is a newer mail server written in Rust which supports JMAP in addition to the standard IMAP, POP3, and SMTP. It has a wide variety of configuration options, but it also defaults to very reasonable settings (in terms of both security and features) making it easy to use immediately. It has web-based administration with TOTP 2FA support, and it allows you to enter your public PGP key to encrypt **all** incoming messages.
[:octicons-home-16: Homepage](https://stalw.art){ .md-button .md-button--primary }
[:octicons-info-16:](https://stalw.art/docs/get-started){ .card-link title="Documentation" }
[:octicons-code-16:](https://github.com/stalwartlabs){ .card-link title="Source Code" }
[:octicons-heart-16:](https://github.com/sponsors/stalwartlabs){ .card-link title="Contribute" }
</div>
Stalwart's [PGP implementation](https://stalw.art/docs/encryption/overview) is unique among our self-hosted recommendations, and allows you to operate your own mail server with zero-knowledge message storage. If you additionally configure Web Key Directory on your domain, and if you use an email client which supports PGP and Web Key Directory for outgoing mail (like Thunderbird), then this is the easiest way to get self-hosted E2EE compatibility with all [Proton Mail](#proton-mail) users.
Stalwart does **not** have an integrated webmail, so you will need to use it with a [dedicated email client](email-clients.md) (or find an open-source webmail to self-host, like Nextcloud's Mail app). We use Stalwart for our own internal email at *Privacy Guides*.
### Mailcow
<div class="admonition recommendation" markdown>
![Mailcow logo](assets/img/email/mailcow.svg){ align=right }
**Mailcow** is a more advanced mail server perfect for those with a bit more Linux experience. It has everything you need in a Docker container: a mail server with DKIM support, antivirus and spam monitoring, webmail and ActiveSync with SOGo, and web-based administration with 2FA support.
[:octicons-home-16: Homepage](https://mailcow.email){ .md-button .md-button--primary }
[:octicons-info-16:](https://docs.mailcow.email){ .card-link title="Documentation" }
[:octicons-code-16:](https://github.com/mailcow/mailcow-dockerized){ .card-link title="Source Code" }
[:octicons-heart-16:](https://servercow.de/mailcow?lang=en#sal){ .card-link title="Contribute" }
</div>
### Mail-in-a-Box
<div class="admonition recommendation" markdown>
![Mail-in-a-Box logo](assets/img/email/mail-in-a-box.svg){ align=right }
**Mail-in-a-Box** is an automated setup script for deploying a mail server on Ubuntu. Its goal is to make it easier for people to set up their own mail server.
[:octicons-home-16: Homepage](https://mailinabox.email){ .md-button .md-button--primary }
[:octicons-info-16:](https://mailinabox.email/guide.html){ .card-link title="Documentation" }
[:octicons-code-16:](https://github.com/mail-in-a-box/mailinabox){ .card-link title="Source Code" }
</div>
## Criteria
**Please note we are not affiliated with any of the providers we recommend.** In addition to [our standard criteria](about/criteria.md), we have developed a clear set of requirements for any email provider wishing to be recommended, including implementing industry best practices, modern technology and more. We suggest you familiarize yourself with this list before choosing an email provider, and conduct your own research to ensure the email provider you choose is the right choice for you.

View File

@ -20,7 +20,7 @@ If you already use [Proton Drive](cloud.md#proton-drive)[^1] or have a [Bitwarde
![Send logo](assets/img/file-sharing-sync/send.svg){ align=right }
**Send** is a fork of Mozilla's discontinued Firefox Send service which allows you to send files to others with a link. Files are encrypted on your device so that they cannot be read by the server, and they can be optionally password-protected as well. The maintainer of Send hosts a [public instance](https://send.vis.ee). You can use other public instances, or you can host Send yourself.
**Send** is a fork of Mozilla's discontinued Firefox Send service which allows you to send files to others with a link. Files are encrypted on your device so that they cannot be read by the server, and they can be optionally password-protected as well. The maintainer of Send hosts a [public instance](https://send.vis.ee). You can also use other public instances.
[:octicons-home-16: Homepage](https://send.vis.ee){ .md-button .md-button--primary }
[:octicons-server-16:](https://github.com/timvisee/send-instances){ .card-link title="Public Instances"}
@ -73,60 +73,8 @@ OnionShare provides the option to connect via [Tor bridges](https://docs.onionsh
- Must be open-source software.
- Must either have clients for Linux, macOS, and Windows; or have a web interface.
## FreedomBox
<div class="admonition recommendation" markdown>
![FreedomBox logo](assets/img/file-sharing-sync/freedombox.svg){ align=right }
**FreedomBox** is an operating system designed to be run on a [single-board computer (SBC)](https://en.wikipedia.org/wiki/Single-board_computer). The purpose is to make it easy to set up server applications that you might want to self-host.
[:octicons-home-16: Homepage](https://freedombox.org){ .md-button .md-button--primary }
[:octicons-info-16:](https://wiki.debian.org/FreedomBox/Manual){ .card-link title=Documentation}
[:octicons-code-16:](https://salsa.debian.org/freedombox-team/freedombox){ .card-link title="Source Code" }
[:octicons-heart-16:](https://freedomboxfoundation.org/donate){ .card-link title=Contribute }
</details>
</div>
## File Sync
### Nextcloud (Client-Server)
<div class="admonition recommendation" markdown>
![Nextcloud logo](assets/img/document-collaboration/nextcloud.svg){ align=right }
**Nextcloud** is a suite of free and open-source client-server software for creating your own file hosting services on a private server you control.
[:octicons-home-16: Homepage](https://nextcloud.com){ .md-button .md-button--primary }
[:octicons-eye-16:](https://nextcloud.com/privacy){ .card-link title="Privacy Policy" }
[:octicons-info-16:](https://nextcloud.com/support){ .card-link title=Documentation}
[:octicons-code-16:](https://github.com/nextcloud){ .card-link title="Source Code" }
[:octicons-heart-16:](https://nextcloud.com/contribute){ .card-link title=Contribute }
<details class="downloads" markdown>
<summary>Downloads</summary>
- [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=com.nextcloud.client)
- [:simple-appstore: App Store](https://apps.apple.com/app/id1125420102)
- [:simple-github: GitHub](https://github.com/nextcloud/android/releases)
- [:fontawesome-brands-windows: Windows](https://nextcloud.com/install/#install-clients)
- [:simple-apple: macOS](https://nextcloud.com/install/#install-clients)
- [:simple-linux: Linux](https://nextcloud.com/install/#install-clients)
</details>
</div>
<div class="admonition danger" markdown>
<p class="admonition-title">Danger</p>
We don't recommend using the [E2EE App](https://apps.nextcloud.com/apps/end_to_end_encryption) for Nextcloud as it may lead to data loss; it is highly experimental and not production quality.
</div>
### Syncthing (P2P)
<div class="admonition recommendation" markdown>

View File

@ -10,8 +10,6 @@ cover: frontends.webp
Sometimes services will try to force you to sign up for an account by blocking access to content with annoying popups. They might also break without JavaScript enabled. These frontends can allow you to circumvent these restrictions.
If you choose to self-host these frontends, it is important that you have other people using your instance as well in order for you to blend in. You should be careful with where and how you are hosting, as other peoples' usage will be linked to your hosting.
When you are using an instance run by someone else, make sure to read the privacy policy of that specific instance (if available). They can be modified by their owners and therefore may not reflect the default policy. Some instances have [Tor](tor.md) .onion addresses, which may grant some privacy as long as your search queries don't contain personally identifiable information.
## Reddit
@ -53,7 +51,7 @@ Redlib is useful if you want to disable JavaScript in your browser, such as [Tor
![ProxiTok logo](assets/img/frontends/proxitok.svg){ align=right }
**ProxiTok** is an open-source frontend to the [TikTok](https://tiktok.com) website that is also self-hostable.
**ProxiTok** is an open-source frontend to the [TikTok](https://tiktok.com) website.
There are a number of public instances, with some that offer a [Tor](tor.md) onion service or an [I2P](alternative-networks.md#i2p-the-invisible-internet-project) eepsite.
@ -84,7 +82,7 @@ ProxiTok is useful if you want to disable JavaScript in your browser, such as [T
![Invidious logo](assets/img/frontends/invidious.svg#only-light){ align=right }
![Invidious logo](assets/img/frontends/invidious-dark.svg#only-dark){ align=right }
**Invidious** is a free and open-source frontend for [YouTube](https://youtube.com) that is also self-hostable.
**Invidious** is a free and open-source frontend for [YouTube](https://youtube.com).
There are a number of public instances, with some that offer a [Tor](tor.md) onion service or an [I2P](alternative-networks.md#i2p-the-invisible-internet-project) eepsite.
@ -118,7 +116,7 @@ Invidious is useful if you want to disable JavaScript in your browser, such as [
![Piped logo](assets/img/frontends/piped.svg){ align=right }
**Piped** is a free and open-source frontend for [YouTube](https://youtube.com) that is also self-hostable.
**Piped** is a free and open-source frontend for [YouTube](https://youtube.com).
Piped requires JavaScript in order to function and there are a number of public instances.
@ -290,8 +288,13 @@ We only consider frontends if one of the following is true for a platform:
- Normally only accessible with an account.
- Blocks access from commercial [VPNs](vpn.md).
Recommended frontends...
### Minimum Requirements
- Must be open-source software.
- Must be self-hostable.
- Must provide all basic website functionality available to anonymous users.
### Best-Case
Our best-case criteria represents what we would like to see from the perfect project in this category. Our recommendations may not include any or all of this functionality, but those which do may rank higher than others on this page.
- Should be self-hostable.

View File

@ -1,7 +1,7 @@
---
title: "Language Tools"
icon: material/alphabetical-variant
description: These language tools do not send your input text to a server and can be used offline and self-hosted.
description: These language tools do not send your input text to a server and can be used offline.
cover: language-tools.webp
---
<small>Protects against the following threat(s):</small>
@ -9,7 +9,7 @@ cover: language-tools.webp
- [:material-server-network: Service Providers](basics/common-threats.md#privacy-from-service-providers){ .pg-teal }
- [:material-account-cash: Surveillance Capitalism](basics/common-threats.md#surveillance-as-a-business-model){ .pg-brown }
Text inputted to grammar, spelling, and style checkers, as well as translation services, can contain sensitive information which may be stored on their servers for an indefinite amount of time and sold to third parties. The language tools listed on this page do not store your submitted text to a server, and can be self-hosted and used offline for maximum control of your data.
Text inputted to grammar, spelling, and style checkers, as well as translation services, can contain sensitive information which may be stored on their servers for an indefinite amount of time and sold to third parties. The language tools listed on this page do not store your submitted text to a server, and can be used offline.
## LanguageTool
@ -18,7 +18,7 @@ Text inputted to grammar, spelling, and style checkers, as well as translation s
![LanguageTool logo](assets/img/language-tools/languagetool.svg#only-light){ align=right }
![LanguageTool logo](assets/img/language-tools/languagetool-dark.svg#only-dark){ align=right }
**LanguageTool** is a multilingual grammar, style, and spell checker that supports more than 20 languages. According to their privacy policy, they do not store any content sent to their service for review, but for higher assurance the software is [self-hostable](https://dev.languagetool.org/http-server).
**LanguageTool** is a multilingual grammar, style, and spell checker that supports more than 20 languages. According to their privacy policy, they do not store any content sent to their service for review.
[:octicons-home-16: Homepage](https://languagetool.org){ .md-button .md-button--primary }
[:octicons-eye-16:](https://languagetool.org/legal/privacy){ .card-link title="Privacy Policy" }
@ -46,5 +46,10 @@ LanguageTool offers integration with a variety of [office suites](https://langua
**Please note we are not affiliated with any of the projects we recommend.** In addition to [our standard criteria](about/criteria.md), we have developed a clear set of requirements to allow us to provide objective recommendations. We suggest you familiarize yourself with this list before choosing to use a project, and conduct your own research to ensure it's the right choice for you.
### Minimum Requirements
- Must be open source.
- Must be possible to self-host.
### Best-Case
- Should be self-hostable.

View File

@ -164,22 +164,15 @@ This format is used to generate recommendation cards. Notably it is missing the
``` markdown title="Recommendation Card"
<div class="admonition recommendation" markdown>
![PhotoPrism logo](assets/img/photo-management/photoprism.svg){ align=right }
![PhotoPrism logo](assets/img/self-hosted/photoprism.svg){ align=right }
**PhotoPrism** is a self-hostable platform for managing photos. It supports album syncing and sharing as well as a variety of other [features](https://photoprism.app/features). It does not include E2EE, so it's best hosted on a server that you trust and is under your control.
**PhotoPrism** is a platform for managing photos. It supports album syncing and sharing as well as a variety of other [features](https://photoprism.app/features). It does not include E2EE, so it's best hosted on a server that you trust and is under your control.
[:octicons-home-16: Homepage](https://photoprism.app){ .md-button .md-button--primary }
[:octicons-eye-16:](https://photoprism.app/privacy){ .card-link title="Privacy Policy" }
[:octicons-info-16:](https://photoprism.app/kb){ .card-link title=Documentation}
[:octicons-code-16:](https://github.com/photoprism){ .card-link title="Source Code" }
<details class="downloads" markdown>
<summary>Downloads</summary>
- [:simple-github: GitHub](https://github.com/photoprism)
</details>
</div>
```
@ -187,22 +180,15 @@ This format is used to generate recommendation cards. Notably it is missing the
<div class="admonition recommendation" markdown>
![PhotoPrism logo](../assets/img/photo-management/photoprism.svg){ align=right }
![PhotoPrism logo](../assets/img/self-hosted/photoprism.svg){ align=right }
**PhotoPrism** is a self-hostable platform for managing photos. It supports album syncing and sharing as well as a variety of other [features](https://photoprism.app/features). It does not include E2EE, so it's best hosted on a server that you trust and is under your control.
**PhotoPrism** is a platform for managing photos. It supports album syncing and sharing as well as a variety of other [features](https://photoprism.app/features). It does not include E2EE, so it's best hosted on a server that you trust and is under your control.
[:octicons-home-16: Homepage](https://photoprism.app){ .md-button .md-button--primary }
[:octicons-eye-16:](https://photoprism.app/privacy){ .card-link title="Privacy Policy" }
[:octicons-info-16:](https://photoprism.app/kb){ .card-link title=Documentation}
[:octicons-code-16:](https://github.com/photoprism){ .card-link title="Source Code" }
<details class="downloads" markdown>
<summary>Downloads</summary>
- [:simple-github: GitHub](https://github.com/photoprism)
</details>
</div>
</div>

View File

@ -84,7 +84,7 @@ A **news aggregator** is software which aggregates digital content from online n
![Miniflux logo](assets/img/news-aggregators/miniflux.svg#only-light){ align=right }
![Miniflux logo](assets/img/news-aggregators/miniflux-dark.svg#only-dark){ align=right }
**Miniflux** is a web-based news aggregator that you can self-host. It supports [RSS](https://en.wikipedia.org/wiki/RSS), [Atom](https://en.wikipedia.org/wiki/Atom_(Web_standard)), [RDF](https://en.wikipedia.org/wiki/RDF%2FXML), and [JSON Feed](https://en.wikipedia.org/wiki/JSON_Feed).
**Miniflux** is a web-based news aggregator. It supports [RSS](https://en.wikipedia.org/wiki/RSS), [Atom](https://en.wikipedia.org/wiki/Atom_(Web_standard)), [RDF](https://en.wikipedia.org/wiki/RDF%2FXML), and [JSON Feed](https://en.wikipedia.org/wiki/JSON_Feed).
[:octicons-home-16: Homepage](https://miniflux.app){ .md-button .md-button--primary }
[:octicons-info-16:](https://miniflux.app/docs/index){ .card-link title="Documentation" }

View File

@ -176,16 +176,7 @@ These password managers sync your passwords to a cloud server for easy accessibi
Bitwarden uses [PBKDF2](https://bitwarden.com/help/kdf-algorithms/#pbkdf2) as its key derivation function (KDF) algorithm by default. It also offers [Argon2](https://bitwarden.com/help/kdf-algorithms/#argon2id), which is more secure, as an alternative. You can change your account's KDF algorithm in the web vault.
- [x] Select **Settings > Security > Keys > KDF algorithm > Argon2id**
Bitwarden's server-side code is [open source](https://github.com/bitwarden/server), so if you don't want to use the Bitwarden cloud, you can easily host your own Bitwarden sync server.
**Vaultwarden** is an alternative implementation of Bitwarden's sync server written in Rust and compatible with official Bitwarden clients, perfect for self-hosted deployment where running the resource-heavy official service might not be ideal. If you are looking to self-host Bitwarden on your own server, you almost certainly want to use Vaultwarden over Bitwarden's official server code.
[:octicons-repo-16: Vaultwarden Repository](https://github.com/dani-garcia/vaultwarden){ .md-button }
[:octicons-info-16:](https://github.com/dani-garcia/vaultwarden/wiki){ .card-link title="Documentation" }
[:octicons-code-16:](https://github.com/dani-garcia/vaultwarden){ .card-link title="Source Code" }
[:octicons-heart-16:](https://github.com/sponsors/dani-garcia){ .card-link title="Contribute" }
- [x] Select **Settings → Security → Keys → KDF algorithm → Argon2id**
### Proton Pass
@ -277,14 +268,11 @@ Your 1Password vault is secured with both your master password and a randomized
- [:simple-appstore: App Store](https://apps.apple.com/app/id1545581224)
- [:simple-firefoxbrowser: Firefox](https://addons.mozilla.org/firefox/addon/psono-pw-password-manager)
- [:simple-googlechrome: Chrome](https://chrome.google.com/webstore/detail/psonopw-password-manager/eljmjmgjkbmpmfljlmklcfineebidmlo)
- [:simple-docker: Docker Hub](https://hub.docker.com/r/psono/psono-client)
</details>
</div>
Psono provides extensive documentation for their product. The web-client for Psono can be self-hosted; alternatively, you can choose the full Community Edition or the Enterprise Edition with additional features.
In April 2024, Psono added [support for passkeys](https://psono.com/blog/psono-introduces-passkeys) for the browser extension only.
### Criteria

View File

@ -18,7 +18,7 @@ Most cloud **photo management solutions** like Google Photos, Flickr, and Amazon
![Ente logo](assets/img/photo-management/ente.svg#only-light){ align=right }
![Ente logo](assets/img/photo-management/ente-dark.svg#only-dark){ align=right }
**Ente Photos** is an end-to-end encrypted photo backup service which supports automatic backups on iOS and Android. Their code is fully open-source, both on the client side and on the server side. It is also [self-hostable](https://github.com/ente-io/ente/tree/main/server#self-hosting). The free plan offers 5 GB of storage as long as you use the service at least once a year.
**Ente Photos** is an end-to-end encrypted photo backup service which supports automatic backups on iOS and Android. Their code is fully open-source, both on the client side and on the server side. The free plan offers 5 GB of storage as long as you use the service at least once a year.
[:octicons-home-16: Homepage](https://ente.io){ .md-button .md-button--primary }
[:octicons-eye-16:](https://ente.io/privacy){ .card-link title="Privacy Policy" }
@ -50,7 +50,7 @@ Ente Photos underwent an [audit by Cure53](https://ente.io/blog/cryptography-aud
![Stingle logo](assets/img/photo-management/stingle.png#only-light){ align=right }
![Stingle logo](assets/img/photo-management/stingle-dark.png#only-dark){ align=right }
**Stingle** is a gallery and camera application with built-in, end-to-end encrypted backup and sync functionality for your photos and videos. Storage starts at 1 GB for free accounts on their cloud, or you can host your own Stingle API server for total independence.
**Stingle** is a gallery and camera application with built-in, end-to-end encrypted backup and sync functionality for your photos and videos. Storage starts at 1 GB for free accounts.
[:octicons-home-16: Homepage](https://stingle.org){ .md-button .md-button--primary }
[:octicons-eye-16:](https://stingle.org/privacy){ .card-link title="Privacy Policy" }
@ -69,28 +69,6 @@ Ente Photos underwent an [audit by Cure53](https://ente.io/blog/cryptography-aud
</div>
## PhotoPrism
<div class="admonition recommendation" markdown>
![PhotoPrism logo](assets/img/photo-management/photoprism.svg){ align=right }
**PhotoPrism** is a self-hostable platform for managing photos. It supports album syncing and sharing as well as a variety of other [features](https://photoprism.app/features). It does not include E2EE, so it's best hosted on a server that you trust and is under your control.
[:octicons-home-16: Homepage](https://photoprism.app){ .md-button .md-button--primary }
[:octicons-eye-16:](https://photoprism.app/privacy){ .card-link title="Privacy Policy" }
[:octicons-info-16:](https://photoprism.app/kb){ .card-link title=Documentation}
[:octicons-code-16:](https://github.com/photoprism){ .card-link title="Source Code" }
<details class="downloads" markdown>
<summary>Downloads</summary>
- [:simple-github: GitHub](https://github.com/photoprism)
</details>
</div>
## Criteria
**Please note we are not affiliated with any of the projects we recommend.** In addition to [our standard criteria](about/criteria.md), we have developed a clear set of requirements to allow us to provide objective recommendations. We suggest you familiarize yourself with this list before choosing to use a project, and conduct your own research to ensure it's the right choice for you.

View File

@ -99,7 +99,7 @@ A [metasearch engine](https://en.wikipedia.org/wiki/Metasearch_engine) aggregate
![SearXNG logo](assets/img/search-engines/searxng.svg){ align=right }
**SearXNG** is an open-source, self-hostable, metasearch engine. It is an actively maintained fork of [SearX](https://github.com/searx/searx).
**SearXNG** is an open-source, metasearch engine. It is an actively maintained fork of [SearX](https://github.com/searx/searx).
[:octicons-home-16: Homepage](https://searxng.org){ .md-button .md-button--primary }
[:octicons-server-16:](https://searx.space){ .card-link title="Public Instances"}
@ -109,9 +109,7 @@ A [metasearch engine](https://en.wikipedia.org/wiki/Metasearch_engine) aggregate
SearXNG is a proxy between you and the search engines it aggregates from. Your search queries will still be sent to the search engines that SearXNG gets its results from.
When self-hosting, it is important that you have other people using your instance so that the queries would blend in. You should be careful with where and how you are hosting SearXNG, as people looking up illegal content on your instance could draw unwanted attention from authorities.
When you are using a SearXNG instance, be sure to go read their privacy policy. Since SearXNG instances may be modified by their owners, they do not necessarily reflect their privacy policy. Some instances run as a Tor hidden service, which may grant some privacy as long as your search queries does not contain PII.
When you are using a SearXNG instance, be sure to go read their respective privacy policy (if available). Since SearXNG instances may be modified by their owners, they do not necessarily reflect the default policy. Some instances run as a Tor hidden service, which may grant some privacy as long as your search queries does not contain PII.
## Criteria

408
docs/self-hosted.md Normal file
View File

@ -0,0 +1,408 @@
---
title: Self-Hosted Software and Services
icon: material/server-network
description: For our more technical readers, self-hosted software and services can provide additional privacy assurances by having maximum control over your data.
cover: router.webp
---
<small>Protects against the following threat(s):</small>
- [:material-server-network: Service Providers](basics/common-threats.md#privacy-from-service-providers){ .pg-teal }
Using **self-hosted software and services** can be a way to achieve a higher level of privacy through digital sovereignty, particularly independence from cloud servers controlled by product developers or vendors. By self-hosting, we mean hosting applications and data on your own hardware.
Self-hosting your own solutions requires advanced technical knowledge and a deep understanding of the associated risks. By becoming the host for yourself and possibly others, you take on responsibilities you might not otherwise have. Self-hosting privacy software improperly can leave you worse off than using e.g. an end-to-end encrypted service provider, so it is best avoided if you are not already comfortable doing so.
## :material-email: Email Servers
Advanced system administrators may consider setting up their own email server. Mail servers require attention and continuous maintenance in order to keep things secure and mail delivery reliable. In addition to the "all-in-one" solutions below, we've picked out a few articles that cover a more manual approach:
- [Setting up a mail server with OpenSMTPD, Dovecot and Rspamd](https://poolp.org/posts/2019-09-14/setting-up-a-mail-server-with-opensmtpd-dovecot-and-rspamd) (2019)
- [How To Run Your Own Mail Server](https://www.c0ffee.net/blog/mail-server-guide) (August 2017)
### Stalwart
<div class="admonition recommendation" markdown>
![Stalwart logo](assets/img/self-hosted/stalwart.svg){ align=right }
**Stalwart** is a newer mail server written in Rust which supports JMAP in addition to the standard IMAP, POP3, and SMTP. It has a wide variety of configuration options, but also defaults to very reasonable settings in terms of both security and features, making it easy to use immediately. It has web-based administration with TOTP 2FA support and allows you to enter your public PGP key to encrypt **all** incoming messages.
[:octicons-home-16: Homepage](https://stalw.art){ .md-button .md-button--primary }
[:octicons-info-16:](https://stalw.art/docs/get-started){ .card-link title="Documentation" }
[:octicons-code-16:](https://github.com/stalwartlabs){ .card-link title="Source Code" }
[:octicons-heart-16:](https://github.com/sponsors/stalwartlabs){ .card-link title="Contribute" }
</div>
Stalwart's [PGP implementation](https://stalw.art/docs/encryption/overview) is unique among our self-hosted recommendations and allows you to operate your own mail server with zero-knowledge message storage. If you additionally configure Web Key Directory (WKD) on your domain, and if you use an email client which supports PGP and WKD for outgoing mail (like Thunderbird), then this is the easiest way to get self-hosted E2EE compatibility with all [Proton Mail](email.md#proton-mail) users.
Stalwart does **not** have an integrated webmail, so you will need to use it with a [dedicated email client](email-clients.md) or find an open-source webmail to self-host, like Nextcloud's Mail app.
We use Stalwart for our own internal email at *Privacy Guides*.
### Mailcow
<div class="admonition recommendation" markdown>
![Mailcow logo](assets/img/self-hosted/mailcow.svg){ align=right }
**Mailcow** is an advanced mail server perfect for those with Linux experience. It has everything you need in a Docker container: a mail server with DKIM support, antivirus and spam monitoring, webmail and ActiveSync with SOGo, and web-based administration with 2FA support.
[:octicons-home-16: Homepage](https://mailcow.email){ .md-button .md-button--primary }
[:octicons-info-16:](https://docs.mailcow.email){ .card-link title="Documentation" }
[:octicons-code-16:](https://github.com/mailcow/mailcow-dockerized){ .card-link title="Source Code" }
[:octicons-heart-16:](https://servercow.de/mailcow?lang=en#sal){ .card-link title="Contribute" }
</div>
### Mail-in-a-Box
<div class="admonition recommendation" markdown>
![Mail-in-a-Box logo](assets/img/self-hosted/mail-in-a-box.svg){ align=right }
**Mail-in-a-Box** is an automated setup script for deploying a mail server on Ubuntu. Its goal is to make it easier for people to set up their own mail server.
[:octicons-home-16: Homepage](https://mailinabox.email){ .md-button .md-button--primary }
[:octicons-info-16:](https://mailinabox.email/guide.html){ .card-link title="Documentation" }
[:octicons-code-16:](https://github.com/mail-in-a-box/mailinabox){ .card-link title="Source Code" }
</div>
## :material-dns: DNS Filtering
A self-hosted DNS solution is useful for providing filtering on controlled platforms, such as smart TVs and other IoT devices, as no client-side software is needed. Keep in mind that the DNS solutions below are typically restricted to your home/local network unless you set up a more advanced configuration.
### Pi-Hole
<div class="admonition recommendation" markdown>
![Pi-hole logo](assets/img/self-hosted/pi-hole.svg){ align=right }
**Pi-hole** is an open-source [DNS sinkhole](https://en.wikipedia.org/wiki/DNS_sinkhole) which uses [DNS filtering](https://cloudflare.com/learning/access-management/what-is-dns-filtering) to block unwanted web content, such as advertisements.
Pi-hole is designed to be hosted on a Raspberry Pi, but it is not limited to such hardware. The software features a friendly web interface to view insights and manage blocked content.
[:octicons-home-16: Homepage](https://pi-hole.net){ .md-button .md-button--primary }
[:octicons-eye-16:](https://pi-hole.net/privacy){ .card-link title="Privacy Policy" }
[:octicons-info-16:](https://docs.pi-hole.net){ .card-link title="Documentation" }
[:octicons-code-16:](https://github.com/pi-hole/pi-hole){ .card-link title="Source Code" }
[:octicons-heart-16:](https://pi-hole.net/donate){ .card-link title="Contribute" }
</div>
### AdGuard Home
<div class="admonition recommendation" markdown>
![AdGuard Home logo](assets/img/self-hosted/adguard-home.svg){ align=right }
**AdGuard Home** is an open-source [DNS sinkhole](https://en.wikipedia.org/wiki/DNS_sinkhole) which uses [DNS filtering](https://cloudflare.com/learning/access-management/what-is-dns-filtering) to block unwanted web content, such as advertisements.
AdGuard Home features a polished web interface to view insights and manage blocked content.
[:octicons-home-16: Homepage](https://adguard.com/adguard-home/overview.html){ .md-button .md-button--primary }
[:octicons-eye-16:](https://adguard.com/privacy/home.html){ .card-link title="Privacy Policy" }
[:octicons-info-16:](https://github.com/AdguardTeam/AdGuardHome/wiki){ .card-link title="Documentation" }
[:octicons-code-16:](https://github.com/AdguardTeam/AdGuardHome){ .card-link title="Source Code" }
</div>
## :material-file-multiple-outline: File Management
### PhotoPrism
<div class="admonition recommendation" markdown>
![PhotoPrism logo](assets/img/self-hosted/photoprism.svg){ align=right }
**PhotoPrism** is a platform for managing photos. It supports album syncing and sharing as well as a variety of other [features](https://photoprism.app/features). It does not include E2EE, so it's best hosted on a server that you trust and is under your control.
[:octicons-home-16: Homepage](https://photoprism.app){ .md-button .md-button--primary }
[:octicons-eye-16:](https://photoprism.app/privacy){ .card-link title="Privacy Policy" }
[:octicons-info-16:](https://photoprism.app/kb){ .card-link title="Documentation" }
[:octicons-code-16:](https://github.com/photoprism){ .card-link title="Source Code" }
</div>
### Nextcloud
<div class="admonition recommendation" markdown>
![Nextcloud logo](assets/img/self-hosted/nextcloud.svg){ align=right }
**Nextcloud** is a suite of free and open-source client-server software for creating your own file hosting services on a private server you control.
[:octicons-home-16: Homepage](https://nextcloud.com){ .md-button .md-button--primary }
[:octicons-eye-16:](https://nextcloud.com/privacy){ .card-link title="Privacy Policy" }
[:octicons-info-16:](https://nextcloud.com/support){ .card-link title="Documentation" }
[:octicons-code-16:](https://github.com/nextcloud){ .card-link title="Source Code" }
[:octicons-heart-16:](https://nextcloud.com/contribute){ .card-link title="Contribute" }
<details class="downloads" markdown>
<summary>Downloads</summary>
- [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=com.nextcloud.client)
- [:simple-appstore: App Store](https://apps.apple.com/app/id1125420102)
- [:simple-github: GitHub](https://github.com/nextcloud/android/releases)
- [:fontawesome-brands-windows: Windows](https://nextcloud.com/install/#install-clients)
- [:simple-apple: macOS](https://nextcloud.com/install/#install-clients)
- [:simple-linux: Linux](https://nextcloud.com/install/#install-clients)
</details>
</div>
<div class="admonition danger" markdown>
<p class="admonition-title">Danger</p>
We don't recommend using the [E2EE App](https://apps.nextcloud.com/apps/end_to_end_encryption) for Nextcloud as it may lead to data loss; it is highly experimental and not production quality. For this reason, we don't recommend third-party Nextcloud providers.
</div>
### Peergos
<div class="admonition recommendation" markdown>
![Peergos logo](assets/img/cloud/peergos.svg){ align=right }
**Peergos** provides a secure and private space where users can store, share, and view their photos, videos, documents, etc. Peergos secures your files with quantum-resistant end-to-end encryption and ensures all data about your files remains private.
[:octicons-home-16:](https://peergos.org){ .card-link title="Homepage" }
[:octicons-info-16:](https://github.com/peergos/peergos#usage---running-locally-to-log-in-to-another-instance){ .card-link title="Admin Documentation" }
[:octicons-code-16:](https://github.com/Peergos/Peergos){ .card-link title="Source Code" }
</div>
Peergos is primarily a web app, but you can self-host the server either as a local cache for your remote Peergos account, or as a standalone storage server which negates the need to register for a remote account and subscription. The Peergos server is a `.jar` file, which means the Java 17+ Runtime Environment ([OpenJDK download](https://azul.com/downloads)) should be installed on your machine to get it working.
Running a local version of Peergos alongside a registered account on their paid, hosted service allows you to access your Peergos storage without any reliance on DNS or TLS certificate authorities, and keep a copy of your data backed up to their cloud. The user experience should be the same whether you run their desktop server or just use their hosted web interface.
## :material-search-web: Search Engines
### SearXNG
<div class="admonition recommendation" markdown>
![SearXNG logo](assets/img/search-engines/searxng.svg){ align=right }
**SearXNG** is an open-source, [metasearch engine](https://en.wikipedia.org/wiki/Metasearch_engine) that serves as a proxy between you and the search engines it aggregates from.
[:octicons-home-16:](https://searxng.org){ .card-link title="Homepage" }
[:octicons-info-16:](https://docs.searxng.org/admin/installation.html#installation){ .card-link title="Admin Documentation" }
[:octicons-code-16:](https://github.com/searxng/searxng){ .card-link title="Source Code" }
</div>
It is important that you have other people using your instance so that the queries would blend in. You should be careful with where and how you are hosting SearXNG, as people looking up illegal content on your instance could draw unwanted attention from authorities.
## :material-share-variant: File Sharing and Sync
### Send
<div class="admonition recommendation" markdown>
![Send logo](assets/img/file-sharing-sync/send.svg){ align=right }
**Send** allows you to share files with others using a link. Files are encrypted on your device so that they cannot be read by the server, and they can be optionally password-protected as well.
[:octicons-home-16:](https://send.vis.ee){ .card-link title="Homepage" }
[:octicons-info-16:](https://github.com/timvisee/send/blob/master/docs/deployment.md){ .card-link title="Admin Documentation" }
[:octicons-code-16:](https://github.com/timvisee/send){ .card-link title="Source Code" }
</div>
To upload files to your own server via the [ffsend](https://github.com/timvisee/ffsend) CLI, specify the `--host` flag:
```bash
ffsend upload --host https://example.com/ FILE
```
### FreedomBox
<div class="admonition recommendation" markdown>
![FreedomBox logo](assets/img/self-hosted/freedombox.svg){ align=right }
**FreedomBox** is an operating system designed to be run on a [single-board computer (SBC)](https://en.wikipedia.org/wiki/Single-board_computer). The purpose is to make it easy to set up server applications for use cases like sharing files.
[:octicons-home-16: Homepage](https://freedombox.org){ .md-button .md-button--primary }
[:octicons-info-16:](https://wiki.debian.org/FreedomBox/Manual){ .card-link title="Documentation" }
[:octicons-code-16:](https://salsa.debian.org/freedombox-team/freedombox){ .card-link title="Source Code" }
[:octicons-heart-16:](https://freedomboxfoundation.org/donate){ .card-link title="Contribute" }
</div>
## :material-form-textbox-password: Password Management
### Vaultwarden
<div class="admonition recommendation" markdown>
![Vaultwarden logo](assets/img/self-hosted/vaultwarden.svg#only-light){ align=right }
![Vaultwarden logo](assets/img/self-hosted/vaultwarden-dark.svg#only-dark){ align=right }
**Vaultwarden** is an alternative implementation of [Bitwarden](passwords.md#bitwarden)'s sync server written in Rust and compatible with official Bitwarden clients, perfect for self-hosted deployment where running the resource-heavy [official service](https://github.com/bitwarden/server) might not be ideal.
[:octicons-repo-16: Repository](https://github.com/dani-garcia/vaultwarden){ .md-button .md-button--primary }
[:octicons-info-16:](https://github.com/dani-garcia/vaultwarden/wiki){ .card-link title="Documentation" }
[:octicons-code-16:](https://github.com/dani-garcia/vaultwarden){ .card-link title="Source Code" }
[:octicons-heart-16:](https://github.com/sponsors/dani-garcia){ .card-link title="Contribute" }
</div>
### Psono
<div class="admonition recommendation" markdown>
![Psono logo](assets/img/password-management/psono.svg){ align=right }
**Psono** is a free and open-source password manager with a focus on password management for teams. Psono supports secure sharing of passwords, files, bookmarks, and emails. All secrets are protected by a master password.
[:octicons-home-16:](https://psono.com){ .card-link title="Homepage" }
[:octicons-info-16:](https://doc.psono.com/admin/overview/summary.html){ .card-link title="Admin Documentation" }
[:octicons-code-16:](https://gitlab.com/psono){ .card-link title="Source Code" }
<details class="downloads" markdown>
<summary>Downloads</summary>
- [:simple-docker: Docker Hub](https://hub.docker.com/r/psono/psono-client)
</details>
</div>
Psono provides extensive documentation for their product. The webclient for Psono can be self-hosted; alternatively, you can choose the full Community Edition or the Enterprise Edition with additional features.
## :material-flip-to-front: Frontends
Self-hosting your own instance of a web-based frontend can help you circumvent rate limits that you may encounter on high-traffic, public instances. It is important that you have other people using your instance as well in order for you to blend in. You should be careful with where and how you are hosting, as other peoples' usage will be linked to your hosting.
<div class="grid cards" markdown>
- ![Redlib logo](assets/img/frontends/redlib.svg){ .lg .middle .twemoji } **Redlib (Reddit)**
---
[:octicons-info-16:](https://github.com/redlib-org/redlib#deployment){ .card-link title="Admin Documentation" }
[:octicons-code-16:](https://github.com/redlib-org/redlib){ .card-link title="Source Code" }
- ![ProxiTok logo](assets/img/frontends/proxitok.svg){ .lg .middle .twemoji } **ProxiTok (TikTok)**
---
[:octicons-info-16:](https://github.com/pablouser1/ProxiTok/wiki/Self-hosting){ .card-link title="Admin Documentation" }
[:octicons-code-16:](https://github.com/pablouser1/ProxiTok){ .card-link title="Source Code" }
- ![Invidious logo](assets/img/frontends/invidious.svg#only-light){ .twemoji }![Invidious logo](assets/img/frontends/invidious-dark.svg#only-dark){ .twemoji } **Invidious (YouTube)**
---
[:octicons-home-16:](https://invidious.io){ .card-link title="Homepage" }
[:octicons-info-16:](https://docs.invidious.io/installation){ .card-link title="Admin Documentation" }
[:octicons-code-16:](https://github.com/iv-org/invidious){ .card-link title="Source Code" }
- ![Piped logo](assets/img/frontends/piped.svg){ .twemoji } **Piped (YouTube)**
---
[:octicons-info-16:](https://docs.piped.video/docs/self-hosting){ .card-link title="Admin Documentation" }
[:octicons-code-16:](https://github.com/TeamPiped/Piped){ .card-link title="Source Code" }
</div>
## More Tools...
Tool recommendations in other categories of the website also provide a self-hosted option, so you could consider this if you are confident in your ability to host the software after reading their documentation.
<div class="grid cards" markdown>
- ![Addy.io logo](assets/img/email-aliasing/addy.svg){ .twemoji } **Addy.io (Email Aliasing)**
---
[:octicons-home-16:](https://addy.io){ .card-link title="Homepage" }
[:octicons-info-16:](https://addy.io/self-hosting){ .card-link title="Admin Documentation" }
[:octicons-code-16:](https://github.com/anonaddy){ .card-link title="Source Code" }
- ![SimpleLogin logo](assets/img/email-aliasing/simplelogin.svg){ .twemoji } **SimpleLogin (Email Aliasing)**
---
[:octicons-home-16:](https://addy.io){ .card-link title="Homepage" }
[:octicons-info-16:](https://github.com/simple-login/app#prerequisites){ .card-link title="Admin Documentation" }
[:octicons-code-16:](https://github.com/simple-login){ .card-link title="Source Code" }
- ![Ente logo](assets/img/photo-management/ente.svg#only-light){ .twemoji }![Ente logo](assets/img/photo-management/ente.svg#only-dark){ .twemoji } **Ente Photos (Photo Manager)**
---
[:octicons-home-16:](https://ente.io){ .card-link title="Homepage" }
[:octicons-info-16:](https://help.ente.io/self-hosting){ .card-link title="Admin Documentation" }
[:octicons-code-16:](https://github.com/ente-io/ente){ .card-link title="Source Code" }
- ![Stingle logo](assets/img/photo-management/stingle.png#only-light){ .twemoji }![Stingle logo](assets/img/photo-management/stingle-dark.png#only-dark){ .twemoji } **Stingle (Photo Manager)**
---
[:octicons-home-16:](https://ente.io){ .card-link title="Homepage" }
[:octicons-info-16:](https://stingle.org/server){ .card-link title="Admin Documentation" }
[:octicons-code-16:](https://github.com/stingle){ .card-link title="Source Code" }
- ![CryptPad logo](assets/img/document-collaboration/cryptpad.svg){ .twemoji } **CryptPad (Online Office Suite)**
---
[:octicons-home-16:](https://cryptpad.fr){ .card-link title="Homepage" }
[:octicons-info-16:](https://docs.cryptpad.org/en/admin_guide/index.html){ .card-link title="Admin Documentation" }
[:octicons-code-16:](https://github.com/xwiki-labs/cryptpad){ .card-link title="Source Code" }
- ![LanguageTool logo](assets/img/language-tools/languagetool.svg#only-light){ .twemoji }![LanguageTool logo](assets/img/language-tools/languagetool-dark.svg#only-dark){ .twemoji } **LanguageTool (Grammar, Style, and Spell Checker)**
---
[:octicons-home-16:](https://languagetool.org){ .card-link title="Homepage" }
[:octicons-info-16:](https://dev.languagetool.org/http-server){ .card-link title="Admin Documentation" }
[:octicons-code-16:](https://github.com/languagetool-org){ .card-link title="Source Code" }
- ![Miniflux logo](assets/img/news-aggregators/miniflux.svg#only-light){ .twemoji }![Miniflux logo](assets/img/news-aggregators/miniflux-dark.svg#only-dark){ .twemoji } **Miniflux (News Aggregator)**
---
[:octicons-home-16:](https://miniflux.app){ .card-link title="Homepage" }
[:octicons-info-16:](https://miniflux.app/docs/index.html#administration-guide){ .card-link title="Admin Documentation" }
[:octicons-code-16:](https://github.com/miniflux/v2){ .card-link title="Source Code" }
- ![PrivateBin logo](assets/img/pastebins/privatebin.svg){ .twemoji } **PrivateBin (Pastebin)**
---
[:octicons-home-16:](https://privatebin.info){ .card-link title="Homepage" }
[:octicons-info-16:](https://github.com/PrivateBin/PrivateBin/blob/master/doc/Installation.md){ .card-link title="Admin Documentation" }
[:octicons-code-16:](https://github.com/PrivateBin/PrivateBin){ .card-link title="Source Code" }
- ![Paaster logo](assets/img/pastebins/paaster.svg){ .twemoji } **Paaster (Pastebin)**
---
[:octicons-home-16:](https://paaster.io){ .card-link title="Homepage" }
[:octicons-info-16:](https://github.com/WardPearce/paaster#deployment){ .card-link title="Admin Documentation" }
[:octicons-code-16:](https://github.com/WardPearce/paaster){ .card-link title="Source Code" }
- ![SimpleX Chat logo](assets/img/messengers/simplex.svg){ .twemoji } **SimpleX Chat (Instant Messenger)**
---
[:octicons-home-16:](https://simplex.chat){ .card-link title="Homepage" }
[:octicons-info-16:](https://simplex.chat/docs/server.html){ .card-link title="Admin Documentation" }
[:octicons-code-16:](https://github.com/simplex-chat){ .card-link title="Source Code" }
- ![Element logo](assets/img/messengers/element.svg){ .twemoji } **Element (Matrix Client)**
---
[:octicons-home-16:](https://element.io){ .card-link title="Homepage" }
[:octicons-info-16:](https://element-hq.github.io/synapse/latest){ .card-link title="Admin Documentation" }
[:octicons-code-16:](https://github.com/element-hq){ .card-link title="Source Code" }
</div>

View File

@ -218,19 +218,8 @@ If you're looking for added **security**, you should always ensure you're connec
- ![addy.io logo](assets/img/email-aliasing/addy.svg){ .twemoji loading=lazy } [addy.io](email-aliasing.md#addyio)
- ![SimpleLogin logo](assets/img/email-aliasing/simplelogin.svg){ .twemoji loading=lazy } [SimpleLogin](email-aliasing.md#simplelogin)
</div>
</div>
<div markdown>
### Self-Hosting Email
<div class="grid cards" markdown>
- ![Stalwart logo](assets/img/email/stalwart.svg){ .twemoji loading=lazy } [Stalwart](email.md#stalwart)
- ![Mailcow logo](assets/img/email/mailcow.svg){ .twemoji loading=lazy } [Mailcow](email.md#mailcow)
- ![Mail-in-a-Box logo](assets/img/email/mail-in-a-box.svg){ .twemoji loading=lazy } [Mail-in-a-Box](email.md#mail-in-a-box)
</div>
</div>
</div>
@ -296,17 +285,6 @@ We [recommend](dns.md#recommended-providers) a number of encrypted DNS servers b
[Learn more :material-arrow-right-drop-circle:](dns.md#encrypted-dns-proxies)
#### Self-hosted Solutions
<div class="grid cards" markdown>
- ![AdGuard Home logo](assets/img/dns/adguard-home.svg){ .twemoji loading=lazy } [AdGuard Home](dns.md#adguard-home)
- ![Pi-hole logo](assets/img/dns/pi-hole.svg){ .twemoji loading=lazy } [Pi-hole](dns.md#pi-hole)
</div>
[Learn more :material-arrow-right-drop-circle:](dns.md#self-hosted-dns-filtering)
### Financial Services
#### Payment Masking Services
@ -336,7 +314,6 @@ We [recommend](dns.md#recommended-providers) a number of encrypted DNS servers b
- ![Ente logo](assets/img/photo-management/ente.svg#only-light){ .twemoji loading=lazy }![Ente logo](assets/img/photo-management/ente.svg#only-dark){ .twemoji loading=lazy } [Ente Photos](photo-management.md#ente-photos)
- ![Stingle logo](assets/img/photo-management/stingle.png#only-light){ .twemoji loading=lazy }![Stingle logo](assets/img/photo-management/stingle-dark.png#only-dark){ .twemoji loading=lazy } [Stingle](photo-management.md#stingle)
- ![PhotoPrism logo](assets/img/photo-management/photoprism.svg){ .twemoji loading=lazy } [PhotoPrism](photo-management.md#photoprism)
</div>
@ -406,7 +383,6 @@ We [recommend](dns.md#recommended-providers) a number of encrypted DNS servers b
<div class="grid cards" markdown>
- ![Nextcloud logo](assets/img/document-collaboration/nextcloud.svg){ .twemoji loading=lazy } [Nextcloud (Self-Hostable)](document-collaboration.md#nextcloud)
- ![CryptPad logo](assets/img/document-collaboration/cryptpad.svg){ .twemoji loading=lazy } [CryptPad](document-collaboration.md#cryptpad)
</div>
@ -457,8 +433,6 @@ For encrypting your OS drive, we typically recommend using the encryption tool y
- ![Send logo](assets/img/file-sharing-sync/send.svg){ .twemoji loading=lazy } [Send](file-sharing.md#send)
- ![OnionShare logo](assets/img/file-sharing-sync/onionshare.svg){ .twemoji loading=lazy } [OnionShare](file-sharing.md#onionshare)
- ![FreedomBox logo](assets/img/file-sharing-sync/freedombox.svg){ .twemoji loading=lazy } [FreedomBox](file-sharing.md#freedombox)
- ![Nextcloud logo](assets/img/document-collaboration/nextcloud.svg){ .twemoji loading=lazy } [Nextcloud (Self-Hostable)](file-sharing.md#nextcloud-client-server)
- ![Syncthing logo](assets/img/file-sharing-sync/syncthing.svg){ .twemoji loading=lazy } [Syncthing](file-sharing.md#syncthing-p2p)
</div>
@ -729,3 +703,52 @@ These tools may provide utility for certain individuals. They provide functional
</div>
[Learn more :material-arrow-right-drop-circle:](device-integrity.md)
### Self-Hosted Services and Software
#### Email Servers
<div class="grid cards" markdown>
- ![Stalwart logo](assets/img/self-hosted/stalwart.svg){ .twemoji loading=lazy } [Stalwart](self-hosted.md#stalwart)
- ![Mailcow logo](assets/img/self-hosted/mailcow.svg){ .twemoji loading=lazy } [Mailcow](self-hosted.md#mailcow)
- ![Mail-in-a-Box logo](assets/img/self-hosted/mail-in-a-box.svg){ .twemoji loading=lazy } [Mail-in-a-Box](self-hosted.md#mail-in-a-box)
</div>
[Learn more :material-arrow-right-drop-circle:](self-hosted.md#email-servers)
#### DNS Filtering
<div class="grid cards" markdown>
- ![Pi-hole logo](assets/img/self-hosted/pi-hole.svg){ .twemoji loading=lazy } [Pi-Hole](self-hosted.md#pi-hole)
- ![AdGuard Home logo](assets/img/self-hosted/adguard-home.svg){ .twemoji loading=lazy } [AdGuard Home](self-hosted.md#adguard-home)
</div>
[Learn more :material-arrow-right-drop-circle:](self-hosted.md#dns-filtering)
#### File Management
<div class="grid cards" markdown>
- ![PhotoPrism logo](assets/img/self-hosted/photoprism.svg){ .twemoji loading=lazy } [PhotoPrism](self-hosted.md#photoprism)
- ![Nextcloud logo](assets/img/self-hosted/nextcloud.svg){ .twemoji loading=lazy } [Nextcloud](self-hosted.md#nextcloud)
</div>
#### Other Self-Hosted Solutions
<div class="grid cards" markdown>
- ![FreedomBox logo](assets/img/self-hosted/freedombox.svg){ .twemoji loading=lazy } [FreedomBox (Server Operating System)](self-hosted.md#freedombox)
- ![Vaultwarden logo](assets/img/self-hosted/vaultwarden.svg#only-light){ .twemoji loading=lazy }![Vaultwarden logo](assets/img/self-hosted/vaultwarden-dark.svg#only-dark){ .twemoji loading=lazy } [Vaultwarden (Password Sync)](self-hosted.md#vaultwarden)
</div>
#### More Services and Software
A number of recommendations in other categories also provide a self-hosted option alongside the developer-provided software or vendor-provided service. Weigh the additional risks and responsibilities of self-hosting before deciding to switch.
[Learn more :material-arrow-right-drop-circle:](self-hosted.md)

View File

@ -442,6 +442,7 @@ nav:
- !ENV [NAV_ADVANCED, "Advanced"]:
- "alternative-networks.md"
- "device-integrity.md"
- "self-hosted.md"
- !ENV [NAV_BLOG, "Articles"]: "/articles/"
- !ENV [NAV_VIDEOS, "Videos"]: /videos/
- !ENV [NAV_FORUM, "Forum"]:

View File

@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33.867 33.867"><g fill="none"><path fill="#68bc71" d="M16.933 0C11.703 0 5.393 1.214.2 3.887c0 5.773-.071 20.154 16.734 29.98C33.74 24.041 33.668 9.66 33.668 3.887 28.474 1.214 22.164 0 16.933 0z"/><path fill="#67b279" d="M16.916 33.857C.128 24.031.199 9.658.199 3.887 5.388 1.217 11.69.003 16.916 0z"/><path fill="#fff" d="m16.323 22.597 10.12-13.465c-.742-.586-1.393-.172-1.75.148l-.014.001-8.437 8.666-3.18-3.777c-1.516-1.73-3.577-.41-4.06-.062l7.32 8.49"/></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33.867 33.867"><g fill="none"><path fill="#68bc71" d="M16.933 0C11.703 0 5.393 1.214.2 3.887c0 5.773-.071 20.154 16.734 29.98C33.74 24.041 33.668 9.66 33.668 3.887 28.474 1.214 22.164 0 16.933 0z"/><path fill="#67b279" d="M16.916 33.857C.128 24.031.199 9.658.199 3.887 5.388 1.217 11.69.003 16.916 0z"/><path fill="#fff" d="m16.323 22.597 10.12-13.465c-.742-.586-1.393-.172-1.75.148l-.014.001-8.437 8.666-3.18-3.777c-1.516-1.73-3.577-.41-4.06-.062l7.32 8.49"/></g></svg>

Before

Width:  |  Height:  |  Size: 523 B

After

Width:  |  Height:  |  Size: 524 B

View File

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

View File

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 8.6 KiB

After

Width:  |  Height:  |  Size: 8.6 KiB

View File

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 89 130"><defs><linearGradient id="a" x1="0%" x2="100%" y1="49.975%" y2="49.975%"><stop offset="0%" stop-color="#12B212"/><stop offset="100%" stop-color="#0F0"/></linearGradient></defs><g fill="none" fill-rule="nonzero"><path fill="url(#a)" d="M36.56 39.93C20.34 38.2 4 25.94 2.71 0c25.17 0 38.63 14.9 39.93 38.51 4.76-28.32 27.07-25 27.07-25 1.06 16.05-12.12 25.78-27.07 26.59-4.2-8.85-29.36-30.56-29.36-30.56a.07.07 0 0 0-.11.08s24.28 21.15 23.39 30.31"/><path fill="#980200" d="M44.16 129.93c-1.57-.09-16.22-.65-17.11-17.11-.72-10 7.18-17.37 7.18-27.08C32.44 61.53 0 64.53 0 85.74a19.94 19.94 0 0 0 5.83 14.14L30 124.06a19.94 19.94 0 0 0 14.14 5.83"/><path fill="red" d="M88.32 85.75c-.09 1.57-.65 16.22-17.11 17.11-10 .72-17.38-7.18-27.08-7.18-24.21 1.79-21.21 34.22 0 34.22a19.94 19.94 0 0 0 14.14-5.83L82.46 99.9a19.94 19.94 0 0 0 5.83-14.14"/><path fill="#980200" d="M44.16 41.59c1.57.09 16.22.65 17.11 17.11.72 10-7.18 17.37-7.18 27.08 1.79 24.21 34.22 21.21 34.22 0a19.94 19.94 0 0 0-5.83-14.14L58.3 47.45a19.94 19.94 0 0 0-14.14-5.83"/><path fill="red" d="M.08 85.75c.09-1.57.65-16.22 17.11-17.11 10-.72 17.38 7.18 27.08 7.18 24.21-1.82 21.21-34.22 0-34.22a19.94 19.94 0 0 0-14.14 5.83L5.94 71.61A19.94 19.94 0 0 0 .11 85.75"/></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 89 130"><defs><linearGradient id="a" x1="0%" x2="100%" y1="49.975%" y2="49.975%"><stop offset="0%" stop-color="#12B212"/><stop offset="100%" stop-color="#0F0"/></linearGradient></defs><g fill="none" fill-rule="nonzero"><path fill="url(#a)" d="M36.56 39.93C20.34 38.2 4 25.94 2.71 0c25.17 0 38.63 14.9 39.93 38.51 4.76-28.32 27.07-25 27.07-25 1.06 16.05-12.12 25.78-27.07 26.59-4.2-8.85-29.36-30.56-29.36-30.56a.07.07 0 0 0-.11.08s24.28 21.15 23.39 30.31"/><path fill="#980200" d="M44.16 129.93c-1.57-.09-16.22-.65-17.11-17.11-.72-10 7.18-17.37 7.18-27.08C32.44 61.53 0 64.53 0 85.74a19.94 19.94 0 0 0 5.83 14.14L30 124.06a19.94 19.94 0 0 0 14.14 5.83"/><path fill="red" d="M88.32 85.75c-.09 1.57-.65 16.22-17.11 17.11-10 .72-17.38-7.18-27.08-7.18-24.21 1.79-21.21 34.22 0 34.22a19.94 19.94 0 0 0 14.14-5.83L82.46 99.9a19.94 19.94 0 0 0 5.83-14.14"/><path fill="#980200" d="M44.16 41.59c1.57.09 16.22.65 17.11 17.11.72 10-7.18 17.37-7.18 27.08 1.79 24.21 34.22 21.21 34.22 0a19.94 19.94 0 0 0-5.83-14.14L58.3 47.45a19.94 19.94 0 0 0-14.14-5.83"/><path fill="red" d="M.08 85.75c.09-1.57.65-16.22 17.11-17.11 10-.72 17.38 7.18 27.08 7.18 24.21-1.82 21.21-34.22 0-34.22a19.94 19.94 0 0 0-14.14 5.83L5.94 71.61A19.94 19.94 0 0 0 .11 85.75"/></g></svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 503 B

After

Width:  |  Height:  |  Size: 503 B

View File

@ -0,0 +1,78 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg version="1.1" viewBox="0 0 256 256" id="svg3917" sodipodi:docname="vaultwarden-icon-white.svg" inkscape:version="1.2.1 (9c6d41e410, 2022-07-14, custom)" width="256" height="256" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs id="defs3921" />
<sodipodi:namedview id="namedview3919" pagecolor="#000000" bordercolor="#666666" borderopacity="1.0" inkscape:showpageshadow="2" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:deskcolor="#202020" showgrid="false" inkscape:zoom="3.3359375" inkscape:cx="128" inkscape:cy="128" inkscape:window-width="1874" inkscape:window-height="1056" inkscape:window-x="46" inkscape:window-y="24" inkscape:window-maximized="1" inkscape:current-layer="svg3917" />
<title id="title3817">Vaultwarden Icon - White</title>
<g id="logo" transform="matrix(2.4381018,0,0,2.4381018,128,128)">
<g id="gear" mask="url(#holes)" stroke="#fff">
<path d="m-31.1718-33.813208 26.496029 74.188883h9.3515399l26.49603-74.188883h-9.767164l-16.728866 47.588948q-1.662496 4.571864-2.805462 8.624198-1.142966 3.948427-1.870308 7.585137-.72734199-3.63671-1.8703079-7.689043-1.142966-4.052334-2.805462-8.728104l-16.624959-47.381136z" fill="#fff" stroke-width="4.51171" id="path3819" />
<circle transform="scale(-1,1)" r="43" fill="none" stroke-width="9" id="circle3821" />
<g id="cogs" transform="scale(-1,1)">
<polygon id="cog" points="51 0 46 -3 46 3" fill="#fff" stroke="#fff" stroke-linejoin="round" stroke-width="3" />
<g fill="#fff" stroke="#fff" id="g3886">
<use transform="rotate(11.25)" xlink:href="#cog" id="use3824" />
<use transform="rotate(22.5)" xlink:href="#cog" id="use3826" />
<use transform="rotate(33.75)" xlink:href="#cog" id="use3828" />
<use transform="rotate(45)" xlink:href="#cog" id="use3830" />
<use transform="rotate(56.25)" xlink:href="#cog" id="use3832" />
<use transform="rotate(67.5)" xlink:href="#cog" id="use3834" />
<use transform="rotate(78.75)" xlink:href="#cog" id="use3836" />
<use transform="rotate(90)" xlink:href="#cog" id="use3838" />
<use transform="rotate(101.25)" xlink:href="#cog" id="use3840" />
<use transform="rotate(112.5)" xlink:href="#cog" id="use3842" />
<use transform="rotate(123.75)" xlink:href="#cog" id="use3844" />
<use transform="rotate(135)" xlink:href="#cog" id="use3846" />
<use transform="rotate(146.25)" xlink:href="#cog" id="use3848" />
<use transform="rotate(157.5)" xlink:href="#cog" id="use3850" />
<use transform="rotate(168.75)" xlink:href="#cog" id="use3852" />
<use transform="scale(-1)" xlink:href="#cog" id="use3854" />
<use transform="rotate(191.25)" xlink:href="#cog" id="use3856" />
<use transform="rotate(202.5)" xlink:href="#cog" id="use3858" />
<use transform="rotate(213.75)" xlink:href="#cog" id="use3860" />
<use transform="rotate(225)" xlink:href="#cog" id="use3862" />
<use transform="rotate(236.25)" xlink:href="#cog" id="use3864" />
<use transform="rotate(247.5)" xlink:href="#cog" id="use3866" />
<use transform="rotate(258.75)" xlink:href="#cog" id="use3868" />
<use transform="rotate(-90)" xlink:href="#cog" id="use3870" />
<use transform="rotate(-78.75)" xlink:href="#cog" id="use3872" />
<use transform="rotate(-67.5)" xlink:href="#cog" id="use3874" />
<use transform="rotate(-56.25)" xlink:href="#cog" id="use3876" />
<use transform="rotate(-45)" xlink:href="#cog" id="use3878" />
<use transform="rotate(-33.75)" xlink:href="#cog" id="use3880" />
<use transform="rotate(-22.5)" xlink:href="#cog" id="use3882" />
<use transform="rotate(-11.25)" xlink:href="#cog" id="use3884" />
</g>
</g>
<g id="mounts" transform="scale(-1,1)">
<polygon id="mount" points="0 -35 7 -42 -7 -42" fill="#fff" stroke="#fff" stroke-linejoin="round" stroke-width="6" />
<g fill="#fff" stroke="#fff" id="g3898">
<use transform="rotate(72)" xlink:href="#mount" id="use3890" />
<use transform="rotate(144)" xlink:href="#mount" id="use3892" />
<use transform="rotate(216)" xlink:href="#mount" id="use3894" />
<use transform="rotate(-72)" xlink:href="#mount" id="use3896" />
</g>
</g>
</g>
<mask id="holes">
<rect x="-60" y="-60" width="120" height="120" fill="#fff" id="rect3902" />
<circle id="hole" cy="-40" r="3" />
<use transform="rotate(72)" xlink:href="#hole" id="use3905" />
<use transform="rotate(144)" xlink:href="#hole" id="use3907" />
<use transform="rotate(216)" xlink:href="#hole" id="use3909" />
<use transform="rotate(-72)" xlink:href="#hole" id="use3911" />
</mask>
</g>
<metadata id="metadata3915">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:title>Vaultwarden Icon - White</dc:title>
<dc:creator>
<cc:Agent>
<dc:title>Mathijs van Veluw</dc:title>
</cc:Agent>
</dc:creator>
<dc:relation>Rust Logo</dc:relation>
</cc:Work>
</rdf:RDF>
</metadata>
</svg>

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

@ -0,0 +1,74 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg version="1.1" viewBox="0 0 256 256" id="svg383" sodipodi:docname="vaultwarden-icon.svg" inkscape:version="1.2.1 (9c6d41e410, 2022-07-14, custom)" width="256" height="256" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs id="defs387" />
<sodipodi:namedview id="namedview385" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:showpageshadow="2" inkscape:pageopacity="0.0" inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1" showgrid="false" inkscape:zoom="3.3359375" inkscape:cx="128" inkscape:cy="128" inkscape:window-width="1874" inkscape:window-height="1056" inkscape:window-x="46" inkscape:window-y="24" inkscape:window-maximized="1" inkscape:current-layer="svg383" />
<title id="title287">Vaultwarden Icon</title>
<g id="logo" transform="matrix(2.4381018,0,0,2.4381018,128,128)">
<g id="gear" mask="url(#holes)">
<path d="m-31.1718-33.813208 26.496029 74.188883h9.3515399l26.49603-74.188883h-9.767164l-16.728866 47.588948q-1.662496 4.571864-2.805462 8.624198-1.142966 3.948427-1.870308 7.585137-.72734199-3.63671-1.8703079-7.689043-1.142966-4.052334-2.805462-8.728104l-16.624959-47.381136z" stroke="#000" stroke-width="4.51171" id="path289" />
<circle transform="scale(-1,1)" r="43" fill="none" stroke="#000" stroke-width="9" id="circle291" />
<g id="cogs" transform="scale(-1,1)">
<polygon id="cog" points="51 0 46 -3 46 3" stroke="#000" stroke-linejoin="round" stroke-width="3" />
<use transform="rotate(11.25)" xlink:href="#cog" id="use294" />
<use transform="rotate(22.5)" xlink:href="#cog" id="use296" />
<use transform="rotate(33.75)" xlink:href="#cog" id="use298" />
<use transform="rotate(45)" xlink:href="#cog" id="use300" />
<use transform="rotate(56.25)" xlink:href="#cog" id="use302" />
<use transform="rotate(67.5)" xlink:href="#cog" id="use304" />
<use transform="rotate(78.75)" xlink:href="#cog" id="use306" />
<use transform="rotate(90)" xlink:href="#cog" id="use308" />
<use transform="rotate(101.25)" xlink:href="#cog" id="use310" />
<use transform="rotate(112.5)" xlink:href="#cog" id="use312" />
<use transform="rotate(123.75)" xlink:href="#cog" id="use314" />
<use transform="rotate(135)" xlink:href="#cog" id="use316" />
<use transform="rotate(146.25)" xlink:href="#cog" id="use318" />
<use transform="rotate(157.5)" xlink:href="#cog" id="use320" />
<use transform="rotate(168.75)" xlink:href="#cog" id="use322" />
<use transform="scale(-1)" xlink:href="#cog" id="use324" />
<use transform="rotate(191.25)" xlink:href="#cog" id="use326" />
<use transform="rotate(202.5)" xlink:href="#cog" id="use328" />
<use transform="rotate(213.75)" xlink:href="#cog" id="use330" />
<use transform="rotate(225)" xlink:href="#cog" id="use332" />
<use transform="rotate(236.25)" xlink:href="#cog" id="use334" />
<use transform="rotate(247.5)" xlink:href="#cog" id="use336" />
<use transform="rotate(258.75)" xlink:href="#cog" id="use338" />
<use transform="rotate(-90)" xlink:href="#cog" id="use340" />
<use transform="rotate(-78.75)" xlink:href="#cog" id="use342" />
<use transform="rotate(-67.5)" xlink:href="#cog" id="use344" />
<use transform="rotate(-56.25)" xlink:href="#cog" id="use346" />
<use transform="rotate(-45)" xlink:href="#cog" id="use348" />
<use transform="rotate(-33.75)" xlink:href="#cog" id="use350" />
<use transform="rotate(-22.5)" xlink:href="#cog" id="use352" />
<use transform="rotate(-11.25)" xlink:href="#cog" id="use354" />
</g>
<g id="mounts" transform="scale(-1,1)">
<polygon id="mount" points="0 -35 7 -42 -7 -42" stroke="#000" stroke-linejoin="round" stroke-width="6" />
<use transform="rotate(72)" xlink:href="#mount" id="use358" />
<use transform="rotate(144)" xlink:href="#mount" id="use360" />
<use transform="rotate(216)" xlink:href="#mount" id="use362" />
<use transform="rotate(-72)" xlink:href="#mount" id="use364" />
</g>
</g>
<mask id="holes">
<rect x="-60" y="-60" width="120" height="120" fill="#fff" id="rect368" />
<circle id="hole" cy="-40" r="3" />
<use transform="rotate(72)" xlink:href="#hole" id="use371" />
<use transform="rotate(144)" xlink:href="#hole" id="use373" />
<use transform="rotate(216)" xlink:href="#hole" id="use375" />
<use transform="rotate(-72)" xlink:href="#hole" id="use377" />
</mask>
</g>
<metadata id="metadata381">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:title>Vaultwarden Icon</dc:title>
<dc:creator>
<cc:Agent>
<dc:title>Mathijs van Veluw</dc:title>
</cc:Agent>
</dc:creator>
<dc:relation>Rust Logo</dc:relation>
</cc:Work>
</rdf:RDF>
</metadata>
</svg>

After

Width:  |  Height:  |  Size: 5.2 KiB