From ff7cdbe8a1dcef81fe84bcc9545dda724910c9cf Mon Sep 17 00:00:00 2001 From: xelarate86 Date: Sat, 11 Apr 2020 22:03:45 -0400 Subject: [PATCH 001/173] Updated Mullvad VPN details with Play Store and App Store Links (#1824) --- _includes/sections/vpn.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/_includes/sections/vpn.html b/_includes/sections/vpn.html index 0defdacf..b1a3b28e 100644 --- a/_includes/sections/vpn.html +++ b/_includes/sections/vpn.html @@ -40,8 +40,8 @@

Mullvad supports the future of networking IPv6. Their network allows users to access services hosted on IPv6 as opposed to other providers who block IPv6 connections.

Remote Port Forwarding

Remote port forwarding is allowed on Mullvad, see Port forwarding with Mullvad VPN.

-
No Mobile Clients
-

While iOS and Android clients are reportedly in the works, mobile users will need to use a traditional OpenVPN client and configuration files, which are a bit more difficult to configure.

+
Mobile Clients
+

Mullvad has published iOS and Android clients, both supporting an easy-to use interface as opposed to requiring users to manual configure their WireGuard connections.

Extra Functionality

The Mullvad VPN clients have a built-in killswitch to block internet connections outside of the VPN. They also are able to automatically start on boot. The Mullvad website is also accessible via Tor at xcln5hkbriyklr6n.onion.

@@ -67,7 +67,7 @@
Accepts Bitcoin

ProtonVPN does technically accept Bitcoin payments; however, you either need to have an existing account, or contact their support team in advance to register with Bitcoin.

Mobile Clients
-

In addition to providing standard OpenVPN configuration files, ProtonVPN has mobile clients for iOS or Android allowing for easy connections to their servers.

+

In addition to providing standard OpenVPN configuration files, ProtonVPN has mobile clients for iOS and Android allowing for easy connections to their servers.

No Port Forwarding

ProtonVPN does not currently support remote port forwarding, which may impact some applications. Especially Peer-to-Peer applications like Torrent clients.

Extra Functionality
@@ -99,7 +99,7 @@
Remote Port Forwarding

Remote port forwarding is possible with a Pro plan. Port forwarding can be activated via the client area. Port forwarding is only available on IVPN when using OpenVPN and is disabled on US servers.

Mobile Clients
-

In addition to providing standard OpenVPN configuration files, IVPN has mobile clients for iOS or Android allowing for easy connections to their servers.

+

In addition to providing standard OpenVPN configuration files, IVPN has mobile clients for iOS and Android allowing for easy connections to their servers.

Extra Functionality

The IVPN clients have a built-in killswitch to block internet connections outside of the VPN. They also are able to automatically start on boot. IVPN also provides "AntiTracker" functionality, which blocks advertising networks and trackers from the network level.

-- 2.47.2 From 4eae9a7fb71d18c11199bd5842084db7f3756b01 Mon Sep 17 00:00:00 2001 From: Mikaela Suomalainen Date: Mon, 13 Apr 2020 05:18:59 +0300 Subject: [PATCH 002/173] assets: update signal.svg (#1826) --- assets/img/svg/3rd-party/signal.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/img/svg/3rd-party/signal.svg b/assets/img/svg/3rd-party/signal.svg index 69263c0a..d1f1ee56 100644 --- a/assets/img/svg/3rd-party/signal.svg +++ b/assets/img/svg/3rd-party/signal.svg @@ -1,2 +1,2 @@ - + -- 2.47.2 From 49cfda170bc0069c3277ed24e11e6d093209900c Mon Sep 17 00:00:00 2001 From: Daniel Nathan Gray Date: Tue, 14 Apr 2020 01:36:07 +0000 Subject: [PATCH 003/173] Fixed pricing for ProtonVPN (#1829) --- _includes/sections/email-providers.html | 10 +++++----- _includes/sections/vpn.html | 11 ++++++----- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/_includes/sections/email-providers.html b/_includes/sections/email-providers.html index 8d9a4984..09b292d6 100644 --- a/_includes/sections/email-providers.html +++ b/_includes/sections/email-providers.html @@ -19,7 +19,7 @@

ProtonMail Free

ProtonMail.com is an email service with a focus on privacy, encryption, security, and ease of use. They have been in operation since 2013. ProtonMail is based in Genève, Switzerland. Accounts start with 500 MB storage with their free plan.

-

Free accounts have some limitations and do not allow the use of the ProtonMail Bridge, which is required to use a recommended email client (e.g. Thunderbird) or to search email by body text. Paid accounts are available starting at €48/Year which include features like ProtonMail Bridge, additional storage, custom domain support, and more. The webmail and mobile apps can only search To:, From:, Date: and Subject: (this is likely to change when v4.0 of ProtonMail is released).

+

Free accounts have some limitations and do not allow the use of the ProtonMail Bridge, which is required to use a recommended email client (e.g. Thunderbird) or to search email by body text. Paid accounts are available starting at €48/y which include features like ProtonMail Bridge, additional storage, custom domain support, and more. The webmail and mobile apps can only search To:, From:, Date: and Subject: (this is likely to change when v4.0 of ProtonMail is released).

Domains and Aliases

Paid ProtonMail users can use their own domain with the service. Catch-all addresses are supported with custom domains for Professional and Visionary plans. ProtonMail also supports subaddressing, which is useful for users who don't want to purchase a domain.

@@ -54,7 +54,7 @@ alt="Mailbox">
-

Mailbox.org €12/Year

+

Mailbox.org €12/y

Mailbox.org is an email service with a focus on being secure, ad-free, and privately powered by 100% eco-friendly energy. They have been in operation since 2014. Mailbox.org is based in Berlin, Germany. Accounts start with 2 GB of storage, which can be upgraded as needed.

Domains and Aliases
@@ -91,7 +91,7 @@ alt="Posteo">
-

Posteo €12/Year

+

Posteo €12/y

Posteo.de is an email provider that focuses on anonymous, secure, and private email. Their servers are powered by 100% sustainable energy. They have been in operation since 2009. Posteo is based in Germany and has a free 14-day trial. Posteo comes with 2 GB for the monthly cost and an extra gigabyte can be purchased for €0.25 per month.

Domains and Aliases
@@ -127,7 +127,7 @@ alt="Soverin">
-

Soverin €29/Year

+

Soverin €29/y

Soverin.net is an email provider which focuses on being private, ad-free, and powered by sustainable energy. They have been in operation since 2015. Soverin is based in Amsterdam and does not have a free trial. Accounts start at 25 GB.

Domains and Aliases
@@ -229,7 +229,7 @@
Extra Functionality

Tutanota offers the business version of Tutanota to non-profit organizations for free or with a heavy discount.

-

Tutanota also has a business feature called Secure Connect. This ensures customer contact to the business uses E2EE. The feature costs €240/year.

+

Tutanota also has a business feature called Secure Connect. This ensures customer contact to the business uses E2EE. The feature costs €240/y.

diff --git a/_includes/sections/vpn.html b/_includes/sections/vpn.html index b1a3b28e..fc831271 100644 --- a/_includes/sections/vpn.html +++ b/_includes/sections/vpn.html @@ -19,7 +19,7 @@

Mullvad - EUR €60/Year + EUR €60/y

Mullvad.net is a fast and inexpensive VPN with a serious focus on transparency and security. They have been in operation since 2009. Mullvad is based in Sweden and does not have a free trial.

35 Countries
@@ -54,9 +54,10 @@

ProtonVPN Free - USD $96/year + Basic USD $48/y + Plus USD $96/y

-

ProtonVPN.com is a strong contender in the VPN space, and they have been in operation since 2016. ProtonVPN is based in Switzerland and offers a limited free pricing tier, as well as premium options.

+

ProtonVPN.com is a strong contender in the VPN space, and they have been in operation since 2016. ProtonVPN is based in Switzerland and offers a limited free pricing tier, as well as premium options. They offer a further 14% discount for buying a 2 year subscription.

44 Countries

ProtonVPN has servers in 44 countries at the time of writing this page. Picking a VPN provider with a server nearest to you will reduce latency of the network traffic you send. This is because of a shorter route (less hops) to the destination.

We also think it's better for the security of the VPN provider's private keys if they use dedicated servers, instead of cheaper shared solutions (with other customers) such as virtual private servers.

@@ -81,8 +82,8 @@

IVPN - Standard USD $60/Year - Pro USD $100/Year + Standard USD $60/y + Pro USD $100/y

IVPN.net is another premium VPN provider, and they have been in operation since 2009. IVPN is based in Gibraltar and offers a 3 day free trial.

32 Countries
-- 2.47.2 From 94629b75f76d50065a77cd41d41f198066f26a69 Mon Sep 17 00:00:00 2001 From: Daniel Nathan Gray Date: Sun, 19 Apr 2020 05:51:34 +0000 Subject: [PATCH 004/173] Cleanup 2.0 instant messenger page (#1836) --- _includes/sections/instant-messenger.html | 226 ++++++++++---------- _includes/sections/teamchat.html | 20 +- assets/img/svg/3rd-party/bitmessage.svg | 2 - assets/img/svg/3rd-party/tox-dark.svg | 2 - assets/img/svg/3rd-party/tox.svg | 2 - pages/software/real-time-communication.html | 44 ++-- 6 files changed, 144 insertions(+), 152 deletions(-) delete mode 100644 assets/img/svg/3rd-party/bitmessage.svg delete mode 100644 assets/img/svg/3rd-party/tox-dark.svg delete mode 100644 assets/img/svg/3rd-party/tox.svg diff --git a/_includes/sections/instant-messenger.html b/_includes/sections/instant-messenger.html index 88779ff5..e33e9438 100644 --- a/_includes/sections/instant-messenger.html +++ b/_includes/sections/instant-messenger.html @@ -1,4 +1,7 @@ -

Encrypted Instant Messengers

+

+ + Encrypted Instant Messengers +

@@ -9,42 +12,28 @@

We have described the three main types of messaging programs that exist: Centralized, Federated and Peer-to-Peer (P2P), with the advantages and disadvantages of each.

-

Centralized

+

+ + Centralized +

Centralized messengers are those where every participant is on the same server or network of servers controlled by the same organization.

-

Advantages

-
    -
  • New features and changes can be implemented more quickly.
  • -
  • Easier to get started with and to find contacts.
  • -
- -

Disadvantages

- - {% - include cardv2.html - title="Signal" - image="/assets/img/svg/3rd-party/signal.svg" - description='Signal is a mobile app developed by Signal Messenger LLC. The app provides instant messaging, as well as voice and video calling. All communications are E2EE unless you choose to send as SMS. Its protocol has also been indepedently audited (PDF)' - labels="warning:Requires phone number:Signal requires your phone number as an personal identifier which means anyone you communicate with will see it.|success:VoIP" - website="https://signal.org/" - forum="https://forum.privacytools.io/t/discussion-signal/664" - github="https://github.com/signalapp" - windows="https://signal.org/download/" - mac="https://signal.org/download/" - linux="https://signal.org/download/" - googleplay="https://play.google.com/store/apps/details?id=org.thoughtcrime.securesms" - android="https://signal.org/android/apk/#apk-danger" - ios="https://apps.apple.com/app/signal-private-messenger/id874139669" + include cardv2.html + title="Signal" + image="/assets/img/svg/3rd-party/signal.svg" + description='Signal is a mobile app developed by Signal Messenger LLC. The app provides instant messaging, as well as voice and video calling. All communications are E2EE unless you choose to send as SMS. Its protocol has also been indepedently audited (PDF)' + labels="warning:Requires phone number:Signal requires your phone number as an personal identifier which means anyone you communicate with will see it.|success:VoIP" + website="https://signal.org/" + forum="https://forum.privacytools.io/t/discussion-signal/664" + github="https://github.com/signalapp" + windows="https://signal.org/download/" + mac="https://signal.org/download/" + linux="https://signal.org/download/" + googleplay="https://play.google.com/store/apps/details?id=org.thoughtcrime.securesms" + android="https://signal.org/android/apk/#apk-danger" + ios="https://apps.apple.com/app/signal-private-messenger/id874139669" %} {% @@ -67,37 +56,45 @@ chrome="https://chrome.google.com/webstore/detail/keybase-for-reddit/ognfafcpbkogffpmmdglhbjboeojlefj" %} -
-

Federated

- -

Federated messengers use multiple, independent servers that are able to talk to each other (email is one example of a federated service). Federation allows system administrators to control their own server and still be a part of the larger communications network.

- +
+
+

Advantages

    -
  • Allows for greater control over your own data when running your own server.
  • -
  • Allows you to choose who to trust your data with by choosing between multiple "public" servers.
  • -
  • Often allows for third party clients which can provide a more native, customized, or accessible experience.
  • -
  • Generally a less juicy target for governments wanting backdoor access to everything as the trust is decentralized. The server may be hosted independently from the organization developing the software.
  • -
  • Server software can be verified that it matches public source code, assuming you have access to the server or you trust the person who does (e.g., a family member)
  • -
  • Third-party developers can contribute code and add new features, instead of waiting for a private development team to do so.
  • +
  • New features and changes can be implemented more quickly.
  • +
  • Easier to get started with and to find contacts.
- +
+

Disadvantages

    -
  • Adding new features is more complex, because these features need to be standardized and tested to ensure they work with all servers on the network.
  • -
  • Some metadata may be available (e.g., information like "who is talking to whom," but not actual message content if E2EE is used).
  • -
  • Federated servers generally require trusting your server's administrator. They may be a hobbyist or otherwise not a "security professional," and may not serve standard documents like a privacy policy or terms of service detailing how your data is utilized.
  • -
  • Server administrators sometimes choose to block other servers, which are a source of unmoderated abuse or break general rules of accepted behavior. This will hinder your ability to communicate with users on those servers.
  • +
  • Centralized services could be more susceptible to legislation requiring backdoor access.
  • +
  • Can include restricted control or access. This can include things like:
  • +
      +
    • Being forbidden from connecting third-party clients to the centralized network that might provide for greater customization or better user experience. Often defined in Terms and Conditions of usage.
    • +
    • Poor or no documentation for third-party developers.
    • +
    +
  • The ownership, privacy policy, and operations of the service can change easily when a single entity controls it, potentially compromising the service later on.
+
+
+
+

+ + Federated +

+ +

Federated messengers use multiple, independent servers that are able to talk to each other (email is one example of a federated service). Federation allows system administrators to control their own server and still be a part of the larger communications network.

+ {% include cardv2.html - title="Matrix" - image="/assets/img/svg/3rd-party/matrix.svg" - image-dark="/assets/img/svg/3rd-party/matrix-dark.svg" - description='Matrix is an open-source project that publishes the Matrix open standard for secure, decentralized, real-time communication.
- Riot.im is the popular reference client produced by the Matrix.org team. It offers optional E2EE for 1:1 and group conversations that must be turned on by the user. (This can be done by clicking on the toggle switch which is accessed by clicking the room name or user name of the chat → Security & Privacy → Encrypted). In the future it will be on by default.' + title="Riot" + image="/assets/img/svg/3rd-party/riotim.svg" + description='Riot.im is the reference client for the Matrix network. The Matrix open standard is an open-source standard for secure, decentralized, real-time communication.
' + labels="warning:Warning:Riot offers optional E2EE for 1:1 and group conversations that must be turned on by the user. + (This can be done by clicking on the toggle switch which is accessed by clicking the room name or user name of the chat → Security & Privacy → Encrypted).|success:VoIP" website="https://about.riot.im/" forum="https://forum.privacytools.io/t/discussion-riot-im/665/" github="https://github.com/vector-im/riot-web/" @@ -110,43 +107,45 @@ web="https://riot.im/app/" %} -
-

Worth Mentioning

- -
    -
  • Other Matrix clients, that may however be less feature complete than Riot.im.
  • -
  • XMPP (Extensible Messaging and Presence Protocol) is an open-source communications protocol that began development in 1999. Since then, XMPP has been extended by the publishing of XEPs (XMPP Extension Protocols). OMEMO is the most popular XEP (XMPP extension) for E2EE. Clients are developed by the community and not by the XSF (XMPP Standards Foundation). Inconsistent E2EE
  • - -
  • Kontalk is a community-driven instant messaging network based on XMPP.
  • -
- -

Peer to Peer (P2P)

- -

Peer-to-Peer instant messengers connect directly to each other without requiring third-party servers. Clients (peers) usually find each other through the use of a distributed computing network. Examples of this include DHT (distributed hash table) (used with technologies like torrents and IPFS, for example), or Ethereum's Whisper protocol (used with some newer DApps). Another approach is proximity based networks, where a connection is established over WiFi or Bluetooth (for example, Briar or the Scuttlebutt social networking protocol). Once a peer has found a route to its contact via any of these methods, a direct connection between them is made.

- - -

Advantages

-
    -
  • Minimal information is exposed to third parties.
  • -
  • Modern P2P platforms implement end-to-end encryption by default. There are no servers that could potentially intercept and decrypt your transmissions, unlike centralized and federated models.
  • -
- -

Disadvantages

-
    -
  • Reduced feature set:
  • -
      -
    • Messages can only be sent when both peers are online, however, your client may store messages locally to wait for the contact to return online.
    • -
    • Generally increases battery usage on mobile devices, because the client must stay connected to the distributed network to learn about who is online.
    • -
    -
  • Your IP address and that of the contacts you're communicating with may be visible if you do not use the software in conjunction with a self contained network, such as Tor or I2P. Many countries have some form of mass surveillance and/or metadata retention.
  • -
+
+
+
+

Advantages

+
    +
  • Allows for greater control over your own data when running your own server.
  • +
  • Allows you to choose who to trust your data with by choosing between multiple "public" servers.
  • +
  • Often allows for third party clients which can provide a more native, customized, or accessible experience.
  • +
  • Generally a less juicy target for governments wanting backdoor access to everything as the trust is decentralized. The server may be hosted independently from the organization developing the software.
  • +
  • Server software can be verified that it matches public source code, assuming you have access to the server or you trust the person who does (e.g., a family member)
  • +
  • Third-party developers can contribute code and add new features, instead of waiting for a private development team to do so.
  • +
+
+
+

Disadvantages

+
    +
  • Adding new features is more complex, because these features need to be standardized and tested to ensure they work with all servers on the network.
  • +
  • Some metadata may be available (e.g., information like "who is talking to whom," but not actual message content if E2EE is used).
  • +
  • Federated servers generally require trusting your server's administrator. They may be a hobbyist or otherwise not a "security professional," and may not serve standard documents like a privacy policy or terms of service detailing how your data is utilized.
  • +
  • Server administrators sometimes choose to block other servers, which are a source of unmoderated abuse or break general rules of accepted behavior. This will hinder your ability to communicate with users on those servers.
  • +
+
+
+
+

Worth Mentioning

+ + + +

+ + Peer to Peer (P2P) +

+ +

Peer-to-Peer instant messengers connect directly to each other without requiring third-party servers. Clients (peers) usually find each other through the use of a distributed computing network. Examples of this include DHT (distributed hash table) (used with technologies like torrents and IPFS, for example). Another approach is proximity based networks, where a connection is established over WiFi or Bluetooth (for example, Briar or the Scuttlebutt social networking protocol). Once a peer has found a route to its contact via any of these methods, a direct connection between them is made.

+ {% include cardv2.html title="Briar" @@ -176,30 +175,25 @@ ios="https://itunes.apple.com/app/ring-a-gnu-package/id1306951055?mt=8" %} -{% - include cardv2.html - title="Tox" - image="/assets/img/svg/3rd-party/tox.svg" - image-dark="/assets/img/svg/3rd-party/tox-dark.svg" - description='Encrypted instant messaging and video calling software. Uses its own encryption protocol that has not yet been officially audited by cryptographers.' - labels="warning:Experimental:Encryption has not been audited by professional cryptographers|success:VoIP" - website="https://tox.chat" - forum="https://forum.privacytools.io/t/discussion-tox/2115" - windows="https://tox.chat/download.html#oses" - mac="https://tox.chat/download.html#oses" - linux="https://tox.chat/download.html#oses" - freebsd="https://tox.chat/download.html#oses" - openbsd="http://openports.se/search.php?so=tox" - netbsd="http://pkgsrc.se/search.php?so=tox" - fdroid="https://tox.chat/download.html#oses" - googleplay="https://tox.chat/download.html#oses" - ios="https://tox.chat/download.html#oses" -%} - -

Worth Mentioning

- -
    -
  • Status.im - Encrypted instant messenger with an integrated Ethereum wallet (cryptocurrency) that also includes support for DApps (decentralized apps) (web apps in a curated store). Uses the Whisper protocol for P2P communication. Experimental
  • -
  • Retroshare - Encrypted instant messaging and voice/video call client. RetroShare supports both Tor and I2P.
  • -
  • Bitmessage is a decentralized, encrypted, peer-to-peer, trustless communications protocol that can be used by one person to send encrypted messages to another person, or to multiple subscribers.
  • -
+
+
+
+

Advantages

+
    +
  • Minimal information is exposed to third parties.
  • +
  • Modern P2P platforms implement end-to-end encryption by default. There are no servers that could potentially intercept and decrypt your transmissions, unlike centralized and federated models.
  • +
+
+
+

Disadvantages

+
    +
  • Reduced feature set:
  • +
      +
    • Messages can only be sent when both peers are online, however, your client may store messages locally to wait for the contact to return online.
    • +
    • Generally increases battery usage on mobile devices, because the client must stay connected to the distributed network to learn about who is online.
    • +
    +
  • Your IP address and that of the contacts you're communicating with may be visible if you do not use the software in conjunction with a self contained network, such as Tor or I2P. Many countries have some form of mass surveillance and/or metadata retention.
  • +
+
+
+
diff --git a/_includes/sections/teamchat.html b/_includes/sections/teamchat.html index 21cd9064..6df7e9d0 100644 --- a/_includes/sections/teamchat.html +++ b/_includes/sections/teamchat.html @@ -1,16 +1,20 @@ -

Team Chat Platforms

+

+ + + Team Chat Platforms +

{% include cardv2.html - title="Matrix" - image="/assets/img/svg/3rd-party/matrix.svg" - image-dark="/assets/img/svg/3rd-party/matrix-dark.svg" - description='Matrix is an open-source project that publishes the Matrix open standard for secure, decentralized, real-time communication.
- Riot.im is the popular reference client produced by the Matrix.org team. It offers optional E2EE for 1:1 and group conversations that must be turned on by the user. (This can be done by clicking on the toggle switch which is accessed by clicking the room name or user name of the chat → Security & Privacy → Encrypted). In the future it will be on by default.' + title="Riot" + image="/assets/img/svg/3rd-party/riotim.svg" + description='Riot.im is the reference client for the Matrix network. The Matrix open standard is an open-source standard for secure, decentralized, real-time communication.
' + labels="warning:Warning:Riot offers optional E2EE for 1:1 and group conversations that must be turned on by the user. + (This can be done by clicking on the toggle switch which is accessed by clicking the room name or user name of the chat → Security & Privacy → Encrypted).|success:VoIP" website="https://about.riot.im/" forum="https://forum.privacytools.io/t/discussion-riot-im/665/" github="https://github.com/vector-im/riot-web/" @@ -28,7 +32,7 @@ title="Rocket.chat" image="/assets/img/svg/3rd-party/rocketchat.svg" description="Rocket.chat is an self-hostable open source platform for team communication. It has optional federation and experimental E2EE." - labels="warning:Experimental E2EE:Regarding E2EE their documentation states 'This feature is currently in alpha. It's also not yet supported on mobile'. There is no forward secrecy so compromised decryption password would leak all messages. Federation was also added afterwards, potentially causing room for mistakes." + labels="warning:Experimental E2EE:Regarding E2EE their documentation states 'This feature is currently in alpha. It's also not yet supported on mobile'. There is no forward secrecy so compromised decryption password would leak all messages. Federation was also added afterwards, potentially causing room for mistakes.|success:VoIP" website="https://rocket.chat/" forum="https://forum.privacytools.io/t/discussion-rocket-chat/1223" github="https://github.com/rocketchat/" diff --git a/assets/img/svg/3rd-party/bitmessage.svg b/assets/img/svg/3rd-party/bitmessage.svg deleted file mode 100644 index b4dd6814..00000000 --- a/assets/img/svg/3rd-party/bitmessage.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/assets/img/svg/3rd-party/tox-dark.svg b/assets/img/svg/3rd-party/tox-dark.svg deleted file mode 100644 index 13f26fe2..00000000 --- a/assets/img/svg/3rd-party/tox-dark.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/assets/img/svg/3rd-party/tox.svg b/assets/img/svg/3rd-party/tox.svg deleted file mode 100644 index 18433b42..00000000 --- a/assets/img/svg/3rd-party/tox.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/pages/software/real-time-communication.html b/pages/software/real-time-communication.html index 180e45fe..e06237d7 100644 --- a/pages/software/real-time-communication.html +++ b/pages/software/real-time-communication.html @@ -8,73 +8,73 @@ description: "Discover secure and private ways to communicate with others online {% include sections/instant-messenger.html %}

- - + + - Recent news about breaking E2EE on centralized instant messengers + Recent news about breaking E2EE on centralized instant messengers

March 2020
January 2020
November 2019
October 2019
August 2019
July 2019
May 2019
January 2019
December 2018

Complete Comparison

Independent security audits


-- 2.47.2 From f1878a80eb1c1cd42d071440f7e1cdb1c3d11b75 Mon Sep 17 00:00:00 2001 From: Daniel Nathan Gray Date: Sun, 19 Apr 2020 05:53:43 +0000 Subject: [PATCH 005/173] Re-add StartMail (#1830) --- _includes/sections/email-providers.html | 40 ++++++++++++++++++++- assets/img/svg/3rd-party/startmail-dark.svg | 2 +- assets/img/svg/3rd-party/startmail.svg | 2 +- 3 files changed, 41 insertions(+), 3 deletions(-) diff --git a/_includes/sections/email-providers.html b/_includes/sections/email-providers.html index 09b292d6..d0d5f2c8 100644 --- a/_includes/sections/email-providers.html +++ b/_includes/sections/email-providers.html @@ -104,7 +104,7 @@

Posteo supports two factor authentication for their webmail only. You can use either TOTP a Yubikey with TOTP. Web standards such as U2F and WebAuthn are not yet supported.

Data Security
-

Posteo has zero access encryption for email storage. This means the messages stored in your account are only readable by you.

+

Posteo has zero access encryption for email storage. This means the messages stored in your account are only readable by you.

Posteo also supports the encryption of your address book contacts and calendars at rest. However, Posteo still uses standard CalDAV and CardDAV for calendars and contacts. These protocols do not support E2EE (End-To-End Encryption). A standalone option may be more appropiate.

Email Encryption
@@ -232,4 +232,42 @@

Tutanota also has a business feature called Secure Connect. This ensures customer contact to the business uses E2EE. The feature costs €240/y.

+
+
+ StartMail +
+
+

StartMail Personal USD $59.95/y

+

StartMail.com is an email service with a focus on security and privacy through the use of standard OpenPGP encryption. StartMail has been in operation since 2014 and is based in Boulevard 11, Zeist Netherlands. Accounts start with 10GB. They offer a 30-day trial.

+ +
Domains and Aliases
+

Personal accounts can use Custom or Generated aliases. Business accounts can use Domain aliases.

+ +
Payment Methods
+

StartMail accepts Visa, MasterCard, American Express and Paypal. StartMail also has other payment options such as Bitcoin (currently only for Personal accounts) and SEPA Direct Debit for accounts older than a year.

+ +
Account Security
+

StartMail supports TOTP two factor authentication for webmail only. They do not allow U2F security key authentication.

+ +
Data Security
+

StartMail has zero access encryption at rest, using their "user vault" system. When a user logs in, the vault is opened, and the email is then moved to the vault out of the queue where it is decrypted by the corresponding private key.

+ +

StartMail supports importing contacts however, they are only accessible in the webmail and not through protocols such as CalDAV. Contacts are also not stored using zero knowledge encryption, so a standalone option may be more appropriate.

+ +
Email Encryption
+

StartMail has integrated encryption in their webmail, which simplifies sending messages to users with public OpenPGP keys.

+ +
.onion Service
+

StartMail does not operate a .onion service.

+ +
Extra Functionality
+

StartMail allows for proxying of images within emails. If a user allows the remote image to be loaded, the sender won't know what the user's IP address is.

+
+
diff --git a/assets/img/svg/3rd-party/startmail-dark.svg b/assets/img/svg/3rd-party/startmail-dark.svg index 73d2b18c..7d8d46dd 100644 --- a/assets/img/svg/3rd-party/startmail-dark.svg +++ b/assets/img/svg/3rd-party/startmail-dark.svg @@ -1,2 +1,2 @@ - + diff --git a/assets/img/svg/3rd-party/startmail.svg b/assets/img/svg/3rd-party/startmail.svg index eb7afde7..ef3edb86 100644 --- a/assets/img/svg/3rd-party/startmail.svg +++ b/assets/img/svg/3rd-party/startmail.svg @@ -1,2 +1,2 @@ - + -- 2.47.2 From 4c601a07f7c96c531e75414b5c8be086ac4dcee5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 19 Apr 2020 11:04:39 -0700 Subject: [PATCH 006/173] Bump nokogiri from 1.10.4 to 1.10.8 (#1737) Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.10.4 to 1.10.8. - [Release notes](https://github.com/sparklemotion/nokogiri/releases) - [Changelog](https://github.com/sparklemotion/nokogiri/blob/master/CHANGELOG.md) - [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.10.4...v1.10.8) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index a6b97838..2dce18a7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -205,7 +205,7 @@ GEM jekyll-seo-tag (~> 2.1) minitest (5.11.3) multipart-post (2.1.1) - nokogiri (1.10.4) + nokogiri (1.10.8) mini_portile2 (~> 2.4.0) octokit (4.14.0) sawyer (~> 0.8.0, >= 0.5.3) -- 2.47.2 From a1ab2d2daab2c38d82d733aa863e031aabeb2e4c Mon Sep 17 00:00:00 2001 From: Jonah Aragon Date: Mon, 20 Apr 2020 18:38:19 -0500 Subject: [PATCH 007/173] Site Cleanup (#1840) --- .gitignore | 2 + _includes/footer.html | 3 +- _includes/head.html | 2 +- _includes/team.html | 11 +++-- assets/img/png/team/dawid.png | Bin 27233 -> 0 bytes assets/img/png/team/mikaela.png | Bin 106229 -> 0 bytes assets/img/svg/team/dawid.svg | 2 + pages/about.html | 70 +++++++++++++++++++------------- pages/services.html | 6 +++ 9 files changed, 60 insertions(+), 36 deletions(-) delete mode 100644 assets/img/png/team/dawid.png delete mode 100644 assets/img/png/team/mikaela.png create mode 100644 assets/img/svg/team/dawid.svg diff --git a/.gitignore b/.gitignore index e6cb179f..bb836e13 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,5 @@ font/assets/ font/_sass/ font/.fontcustom-manifest.json assets/webfonts/ptio-font-preview.html +vendor +.bundle diff --git a/_includes/footer.html b/_includes/footer.html index 3baff154..aebf3140 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -89,7 +89,8 @@ Privacy Statement | Notices & Disclaimers | - Brand Assets & Guidelines + Brand Assets & Guidelines | + Status Page
diff --git a/_includes/head.html b/_includes/head.html index c072a19d..8595b009 100644 --- a/_includes/head.html +++ b/_includes/head.html @@ -22,7 +22,7 @@ - {% if page.url == "/" or page.url == "/about/" %} + {% if page.url == "/" %} diff --git a/_includes/sections/participate.html b/_includes/sections/participate.html index 57ac6b4b..d367dfbe 100644 --- a/_includes/sections/participate.html +++ b/_includes/sections/participate.html @@ -27,10 +27,10 @@ {% include card.html color="warning" title="Develop on GitHub" font="fab fa-github" - url="https://github.com/privacytoolsIO/privacytools.io" + url="https://github.com/privacytools/privacytools.io" website="GitHub" description="The complete website source code is available on GitHub. Join our developer team!" - extra_button='Contributor List' + extra_button='Contributor List' %}
diff --git a/_includes/sections/self-contained-networks.html b/_includes/sections/self-contained-networks.html index b1c0c869..b3cb305a 100644 --- a/_includes/sections/self-contained-networks.html +++ b/_includes/sections/self-contained-networks.html @@ -65,7 +65,7 @@ github="https://github.com/freenet/"
  • RetroShare - An open source, cross-platform, friend-to-friend, secure, and decentralized communication platform.
  • I2P-Bote - End-to-end encrypted decentralized mail system within the I2P network.
  • GNUnet - GNUnet provides a strong foundation of free software for a global, distributed network that provides security and privacy.
  • -
  • IPFS and IPFS Companion- A peer-to-peer hypermedia protocol to make the web faster, safer, and more open. IPFS Companion is a browser extension for redirecting queries to a gateway of your choice (generally local). +
  • IPFS and IPFS Companion- A peer-to-peer hypermedia protocol to make the web faster, safer, and more open. IPFS Companion is a browser extension for redirecting queries to a gateway of your choice (generally local). Important privacy warning diff --git a/pages/about.html b/pages/about.html index 92158aa5..b0a461d0 100644 --- a/pages/about.html +++ b/pages/about.html @@ -14,9 +14,9 @@ hidedesc: true

    You are being watched. Private and state-sponsored organizations are monitoring and recording your online activities.

    At PrivacyTools, we provide services, tools, and knowledge to protect your privacy against global mass surveillance, and moderate a thriving community of privacy-minded individuals like yourself to discuss and learn about new advances in protecting your online data. serves as the centerpiece of our organization, where we research and recommend various software solutions for our community.

    -

    Transparency is our strongest value, and it's what sets us apart from the rest of the "privacy recommendations" community. Editorial changes to this website and the products we recommend are always discussed on our extensive issue tracker, drafted in a public pull request open for further discussion, and logged in a comprehensive commit log dating back to our original founding date in 2015. The core team members listed below are responsible for most of the edits and final decisions to changes on this website and across our services, but this website is truly the work of hundreds contributors and fact checkers working to make sure our recommendations are solid and trustworthy.

    +

    Transparency is our strongest value, and it's what sets us apart from the rest of the "privacy recommendations" community. Editorial changes to this website and the products we recommend are always discussed on our extensive issue tracker, drafted in a public pull request open for further discussion, and logged in a comprehensive commit log dating back to our original founding date in 2015. The core team members listed below are responsible for most of the edits and final decisions to changes on this website and across our services, but this website is truly the work of hundreds contributors and fact checkers working to make sure our recommendations are solid and trustworthy.

    Additionally, we are a not-for-profit organization. We do not utilize paid recommendations or affiliate programs to make the recommendations on this website. Unfortunately this practice is very common elsewhere online, which makes it difficult to trust other review sites. We are unique in this area, in that all of our research is conducted independently, and we will never accept payments to modify, add, or remove any of our reviews or recommendations. Our finances are provided entirely by our community donors and sponsors, and are handled by the Open Collective Foundation 501(c)(3). Because we are operating as a charity in the United States, we are legally obligated to only use our funding to further our mission of spreading privacy education and promoting online services like Mastodon, Matrix, and WriteFreely. This website is a public resource, not a profit generator. To that regard, all our financial transactions (incoming and outgoing) are logged and made available to the public via our page at opencollective.com/privacytoolsio.

    -

    We take the operation of our various services very seriously, and require all participants to adhere to our Code of Conduct. For any questions or to report abuse, please see our CoC’s Enforcement section.

    +

    We take the operation of our various services very seriously, and require all participants to adhere to our Code of Conduct. For any questions or to report abuse, please see our CoC’s Enforcement section.

  • @@ -122,7 +122,7 @@ website="https://www.reddit.com/user/trai_dep"
    -

    Of course, we couldn't do any of this without our very generous financial contributors, website contributors, and the countless community members that help share new ideas and spread the word! Thank you.

    +

    Of course, we couldn't do any of this without our very generous financial contributors, website contributors, and the countless community members that help share new ideas and spread the word! Thank you.

    Get involved! Donate
    @@ -151,14 +151,14 @@ emeritus=true

    Contact Us

    It's very important to us to stay up-to-date on the latest changes in the privacy space. If you have a software recommendation for us, or want to request a change on this website, please don't hesitate to reach out in one of the following ways.

    Start a discussion in our Discourse forum

    -

    Open an issue on GitHub

    +

    Open an issue on GitHub

    Suggest something new on our subreddit

    For complete transparency, software and providers will only be considered for this website after discussions take place on our GitHub issue tracker. We of course don't make any changes in secret.

    Join our Matrix room at #general:privacytools.io or join the privacytools_io Keybase team to chat with us and other members about this site and privacy in general! If you need a Matrix account, you can sign up with our own homeserver (https://chat.privacytools.io) using Riot.

    You can also email the team at support@privacytools.io and find us on Twitter and Mastodon.

    - +
    diff --git a/pages/about/librejs.html b/pages/about/librejs.html index c6608d07..8b130ecf 100644 --- a/pages/about/librejs.html +++ b/pages/about/librejs.html @@ -5,15 +5,15 @@ permalink: /about/javascript/ - + + - + diff --git a/pages/notices.md b/pages/notices.md index 7b05d26b..c52f115a 100644 --- a/pages/notices.md +++ b/pages/notices.md @@ -19,24 +19,24 @@ PrivacyTools additionally does not warrant that this website will be constantly Section 2 # Licenses -Content copyright on this website is waived under the terms of [CC0 1.0 Universal](https://github.com/privacytoolsIO/privacytools.io/blob/master/LICENSE.txt). +Content copyright on this website is waived under the terms of [CC0 1.0 Universal](https://github.com/privacytools/privacytools.io/blob/master/LICENSE.txt). -In certain jurisdictions, namely those in which the copyright waiver in the CC0-1.0 is judged for any reason to be legally invalid or ineffective under applicable law, content may be copyright © PrivacyTools contributors, released under the [CC 1.0 Universal](https://github.com/privacytoolsIO/privacytools.io/blob/master/LICENSE.txt) license. +In certain jurisdictions, namely those in which the copyright waiver in the CC0-1.0 is judged for any reason to be legally invalid or ineffective under applicable law, content may be copyright © PrivacyTools contributors, released under the [CC 1.0 Universal](https://github.com/privacytools/privacytools.io/blob/master/LICENSE.txt) license. -**Content** on this website is based on [github.com/privacytoolsIO/privacytools.io](https://github.com/privacytoolsIO/privacytools.io) and is made freely available under the CC-1.0. +**Content** on this website is based on [github.com/privacytools/privacytools.io](https://github.com/privacytools/privacytools.io) and is made freely available under the CC-1.0. Code, including source files and code samples if any in the content, is released under CC-1.0, with the following exceptions: - Bootstrap code is under the MIT license. See: [github.com/twbs/bootstrap/blob/master/LICENSE](https://github.com/twbs/bootstrap/blob/master/LICENSE) -- [jQuery](https://github.com/privacytoolsIO/privacytools.io/blob/master/assets/js/jquery-3.3.1.min.js) is under the MIT license. See: [jquery.org/license](https://jquery.org/license/) -- [Popper.js](https://github.com/privacytoolsIO/privacytools.io/blob/master/assets/js/popper.min.js) is under the MIT license. See: [github.com/FezVrasta/popper.js/raw/master/LICENSE.md](https://github.com/FezVrasta/popper.js/raw/master/LICENSE.md) -- [Sortable](https://github.com/privacytoolsIO/privacytools.io/blob/master/assets/js/sortable.min.js) is under the MIT license. See: [github.com/HubSpot/sortable/raw/master/LICENSE](https://github.com/HubSpot/sortable/raw/master/LICENSE) +- [jQuery](https://github.com/privacytools/privacytools.io/blob/master/assets/js/jquery-3.3.1.min.js) is under the MIT license. See: [jquery.org/license](https://jquery.org/license/) +- [Popper.js](https://github.com/privacytools/privacytools.io/blob/master/assets/js/popper.min.js) is under the MIT license. See: [github.com/FezVrasta/popper.js/raw/master/LICENSE.md](https://github.com/FezVrasta/popper.js/raw/master/LICENSE.md) +- [Sortable](https://github.com/privacytools/privacytools.io/blob/master/assets/js/sortable.min.js) is under the MIT license. See: [github.com/HubSpot/sortable/raw/master/LICENSE](https://github.com/HubSpot/sortable/raw/master/LICENSE) - The Font Awesome icons are under CC-BY-4.0, Font Awesome fonts are under SIL OFL 1.1, and Font Awesome code is under the MIT License. See: [fontawesome.com/license/free](https://fontawesome.com/license/free) -- The PrivacyTools fonts, icons, and code in `fonts` are under ISC license. See: [github.com/privacytoolsIO/privacytools.io/blob/master/font/LICENSE](https://github.com/privacytoolsIO/privacytools.io/blob/master/font/LICENSE). +- The PrivacyTools fonts, icons, and code in `fonts` are under ISC license. See: [github.com/privacytools/privacytools.io/blob/master/font/LICENSE](https://github.com/privacytools/privacytools.io/blob/master/font/LICENSE). Portions of this notice itself were adopted from [opensource.guide](https://github.com/github/opensource.guide/blob/master/notices.md) on GitHub, released under [CC-BY-4.0](https://github.com/github/opensource.guide/blob/master/LICENSE). -This means that you can use the code and content in this repository **except** for the PrivacyTools [branding](https://github.com/privacytoolsIO/brand) in your own projects. PrivacyTools's brand trademarks include the "PrivacyTools" wordmark and shield logo. More information on the use of PrivacyTools's branding can be found on our [branding guidelines page](https://github.com/privacytoolsIO/brand). +This means that you can use the code and content in this repository **except** for the PrivacyTools [branding](https://github.com/privacytools/brand) in your own projects. PrivacyTools's brand trademarks include the "PrivacyTools" wordmark and shield logo. More information on the use of PrivacyTools's branding can be found on our [branding guidelines page](https://github.com/privacytools/brand). We believe that the logos and other images in `assets` from third-party providers are either in the public domain or **fair use**. In a nutshell, legal [fair use doctrine](https://en.wikipedia.org/wiki/Fair_use) allows the use of copyrighted image in order to identify the subject matter 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. *You are solely responsible for ensuring that you do not infringe someone else's trademark or copyright.* @@ -55,4 +55,4 @@ You must not conduct any systematic or automated data collection activities on o - Data Mining - ‘Framing’ (IFrames) -We take the security of our website, infrastructure, and services very seriously. Our [SECURITY.md](https://github.com/privacytoolsIO/.github/blob/master/SECURITY.md) document outlines responsible disclosure guidelines and other security-related information. +We take the security of our website, infrastructure, and services very seriously. Our [SECURITY.md](https://github.com/privacytools/.github/blob/master/SECURITY.md) document outlines responsible disclosure guidelines and other security-related information. diff --git a/pages/privacy.md b/pages/privacy.md index 4ba67d37..c9b91967 100644 --- a/pages/privacy.md +++ b/pages/privacy.md @@ -7,7 +7,7 @@ description: "This Privacy Statement explains what information PrivacyTools and ## Who is {{ site.name }}? -{{ site.name }} is an unincorporated community developing this website and a number of privacy-friendly services. The current list of public team members [can be found on GitHub](https://github.com/orgs/privacytoolsIO/people). In order to operate these services, {{ site.name }} receives hosting and administration services from Aragon Ventures LLC. +{{ site.name }} is an unincorporated community developing this website and a number of privacy-friendly services. The current list of public team members [can be found on GitHub](https://github.com/orgs/privacytools/people). In order to operate these services, {{ site.name }} receives hosting and administration services from Aragon Ventures LLC. ## How does {{ site.name }} collect data about me? @@ -120,4 +120,4 @@ This version of our privacy statement took effect October 9th, 2019. We will post any new versions of this statement at [{{ site.production_url }}/privacy/]({{ site.production_url }}/privacy/). We may change how we announce changes in future versions of this document. In the meantime we may update our contact information at any time without announcing a change. Please refer to [{{ site.production_url }}/privacy/]({{ site.production_url }}/privacy/) for the latest contact information at any time. -A full [revision history](https://github.com/privacytoolsIO/privacytools.io/commits/master/pages/privacy.md) for this page can be found on GitHub. +A full [revision history](https://github.com/privacytools/privacytools.io/commits/master/pages/privacy.md) for this page can be found on GitHub. -- 2.47.2 From 65d6bfa4dc186767823b9e368e991ab29bd78a7a Mon Sep 17 00:00:00 2001 From: Jonah Aragon Date: Mon, 11 May 2020 12:55:32 -0500 Subject: [PATCH 044/173] Update Open Collective Link --- _includes/sections/header.html | 2 +- pages/about.html | 4 ++-- pages/donate.html | 2 +- pages/sponsors.html | 10 +++++----- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/_includes/sections/header.html b/_includes/sections/header.html index 716e45c1..aa09eb1f 100644 --- a/_includes/sections/header.html +++ b/_includes/sections/header.html @@ -1,5 +1,5 @@
    diff --git a/pages/about.html b/pages/about.html index b0a461d0..3334fb59 100644 --- a/pages/about.html +++ b/pages/about.html @@ -15,7 +15,7 @@ hidedesc: true

    You are being watched. Private and state-sponsored organizations are monitoring and recording your online activities.

    At PrivacyTools, we provide services, tools, and knowledge to protect your privacy against global mass surveillance, and moderate a thriving community of privacy-minded individuals like yourself to discuss and learn about new advances in protecting your online data. serves as the centerpiece of our organization, where we research and recommend various software solutions for our community.

    Transparency is our strongest value, and it's what sets us apart from the rest of the "privacy recommendations" community. Editorial changes to this website and the products we recommend are always discussed on our extensive issue tracker, drafted in a public pull request open for further discussion, and logged in a comprehensive commit log dating back to our original founding date in 2015. The core team members listed below are responsible for most of the edits and final decisions to changes on this website and across our services, but this website is truly the work of hundreds contributors and fact checkers working to make sure our recommendations are solid and trustworthy.

    -

    Additionally, we are a not-for-profit organization. We do not utilize paid recommendations or affiliate programs to make the recommendations on this website. Unfortunately this practice is very common elsewhere online, which makes it difficult to trust other review sites. We are unique in this area, in that all of our research is conducted independently, and we will never accept payments to modify, add, or remove any of our reviews or recommendations. Our finances are provided entirely by our community donors and sponsors, and are handled by the Open Collective Foundation 501(c)(3). Because we are operating as a charity in the United States, we are legally obligated to only use our funding to further our mission of spreading privacy education and promoting online services like Mastodon, Matrix, and WriteFreely. This website is a public resource, not a profit generator. To that regard, all our financial transactions (incoming and outgoing) are logged and made available to the public via our page at opencollective.com/privacytoolsio.

    +

    Additionally, we are a not-for-profit organization. We do not utilize paid recommendations or affiliate programs to make the recommendations on this website. Unfortunately this practice is very common elsewhere online, which makes it difficult to trust other review sites. We are unique in this area, in that all of our research is conducted independently, and we will never accept payments to modify, add, or remove any of our reviews or recommendations. Our finances are provided entirely by our community donors and sponsors, and are handled by the Open Collective Foundation 501(c)(3). Because we are operating as a charity in the United States, we are legally obligated to only use our funding to further our mission of spreading privacy education and promoting online services like Mastodon, Matrix, and WriteFreely. This website is a public resource, not a profit generator. To that regard, all our financial transactions (incoming and outgoing) are logged and made available to the public via our page at opencollective.com/privacytools.

    We take the operation of our various services very seriously, and require all participants to adhere to our Code of Conduct. For any questions or to report abuse, please see our CoC’s Enforcement section.

    @@ -122,7 +122,7 @@ website="https://www.reddit.com/user/trai_dep"
    -

    Of course, we couldn't do any of this without our very generous financial contributors, website contributors, and the countless community members that help share new ideas and spread the word! Thank you.

    +

    Of course, we couldn't do any of this without our very generous financial contributors, website contributors, and the countless community members that help share new ideas and spread the word! Thank you.

    Get involved! Donate
    diff --git a/pages/donate.html b/pages/donate.html index 0ec4519b..9ffe5f28 100644 --- a/pages/donate.html +++ b/pages/donate.html @@ -16,7 +16,7 @@ permalink: /donate/
    Donate via OpenCollective

    If you are able, please consider contributing to our development and outreach programs. Contributions via OpenCollective to {{ site.name }} are tax deductible for US taxpayers. These funds are transparently and primarily used to cover server costs.

    - Contribute + Contribute More Info
    diff --git a/pages/sponsors.html b/pages/sponsors.html index 268bca9f..79e3c562 100644 --- a/pages/sponsors.html +++ b/pages/sponsors.html @@ -16,7 +16,7 @@ permalink: /sponsors/

    The {{ site.name }} website and services are a community project. There is no advertising, affiliate links, or other forms of monetization.
    Your donations here directly support hosting this website and compensating contributors to this project.

    - Become a Sponsor + Become a Sponsor Donate Directly

    @@ -36,15 +36,15 @@ permalink: /sponsors/

    As a sponsor of {{ site.name }}, your company will be widely recognized in a variety of ways, some of which we've detailed below.

    General Information

    This website receives well over 250,000 pageviews on a monthly basis and is highly ranked for privacy-related keywords. In addition to the benefits below your contribution will be featured on our OpenCollective page and we will thank you via social media for your contribution.

    -
    🥉 Bronze Sponsorship - Info
    +
    🥉 Bronze Sponsorship - Info
    • Your name and link along with a small logo or avatar on the sponsors page of this website.
    -
    🥈 Silver Sponsorship - Info
    +
    🥈 Silver Sponsorship - Info
    • Your medium-sized logo as a link at the top of our sponsors page.
    -
    🥇 Gold Sponsorship - Info
    +
    🥇 Gold Sponsorship - Info
    • Your medium-sized logo as a link on the {{ site.name }} homepage and at the very top of our sponsors page.
    @@ -55,6 +55,6 @@ permalink: /sponsors/
    More Information

    If you are interested and have further questions, you are welcome to reach out to us directly at sponsors@privacytools.io.

    -- 2.47.2 From 87838a961905bb8e0e75810e572bd1dd58e50a6c Mon Sep 17 00:00:00 2001 From: nitrohorse <1514352+nitrohorse@users.noreply.github.com> Date: Tue, 12 May 2020 01:02:18 -0700 Subject: [PATCH 045/173] =?UTF-8?q?Update=20nitrohorse=E2=80=99s=20profile?= =?UTF-8?q?=20(#1907)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/about.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pages/about.html b/pages/about.html index 3334fb59..b7fe5d3b 100644 --- a/pages/about.html +++ b/pages/about.html @@ -103,7 +103,8 @@ nick="nitrohorse" role="Developer" bio="I'm a privacy advocate and software developer. I write web extensions, help research, and make updates to the site." website="https://nitrohorse.com/" -keys="https://keybase.io/513" +email="mailto:nitrohorse@privacytools.io" +keys="https://nitrohorse.com/keys" mastodon="https://nitro.horse/@andreas" blog="nitrohorse" %} -- 2.47.2 From c5dbffa03d73bfef692069fde9769a9f344d0455 Mon Sep 17 00:00:00 2001 From: Dan Arel <46383059+danarel@users.noreply.github.com> Date: Tue, 12 May 2020 01:03:21 -0700 Subject: [PATCH 046/173] =?UTF-8?q?Update=20Dan=E2=80=99s=20profile=20(#19?= =?UTF-8?q?06)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/about.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/about.html b/pages/about.html index b7fe5d3b..64b76eb9 100644 --- a/pages/about.html +++ b/pages/about.html @@ -67,7 +67,7 @@ role="Blogging & Education" bio="I'm an author, columnist, and privacy advocate whose work has appeared in Time, Huff Post, OpenSource, and more." website="https://danarel.com" email="mailto:dan@privacytools.io" -keys="https://keybase.io/dan_arel" +keys="https://www.danarel.com/keys/" twitter="danarel" mastodon="https://mastodon.technology/@danarel" blog="danarel" -- 2.47.2 From 462129717bd3bb64f533fc34ef087712ab61c68b Mon Sep 17 00:00:00 2001 From: Daniel Nathan Gray Date: Wed, 13 May 2020 13:49:59 +0000 Subject: [PATCH 047/173] Update warning riot, team and change jitsi link (#1912) --- _includes/sections/teamchat.html | 3 +-- _includes/sections/voice-video-messenger.html | 12 +++++++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/_includes/sections/teamchat.html b/_includes/sections/teamchat.html index c7e935f6..d96b280e 100644 --- a/_includes/sections/teamchat.html +++ b/_includes/sections/teamchat.html @@ -13,8 +13,7 @@ title="Riot" image="/assets/img/svg/3rd-party/riotim.svg" description='Riot.im is the reference client for the Matrix network. The Matrix open standard is an open-source standard for secure, decentralized, real-time communication.
    ' - labels="warning:Warning:Riot offers optional E2EE for 1:1 and group conversations that must be turned on by the user. - (This can be done by clicking on the toggle switch which is accessed by clicking the room name or user name of the chat → Security & Privacy → Encrypted).|success:VoIP" + labels="success:VoIP" website="https://about.riot.im/" privacy-policy="https://riot.im/privacy" forum="https://forum.privacytools.io/t/discussion-riot-im/665/" diff --git a/_includes/sections/voice-video-messenger.html b/_includes/sections/voice-video-messenger.html index 0addf934..4c6ec899 100644 --- a/_includes/sections/voice-video-messenger.html +++ b/_includes/sections/voice-video-messenger.html @@ -37,7 +37,17 @@ ios="https://apps.apple.com/us/app/mumble/id443472808?ls=1"

    Worth Mentioning

    Related Information

    -- 2.47.2 From 916b7a22568cc1d24bf9274608219dcb2f9e8f37 Mon Sep 17 00:00:00 2001 From: Jonah Aragon Date: Thu, 14 May 2020 08:18:36 -0500 Subject: [PATCH 048/173] Update label syntax (#1914) --- _includes/badge.html | 20 +++++++++ _includes/cardv2.html | 44 ++++++++++++------- _includes/sections/cloud-storage.html | 6 +-- _includes/sections/file-sharing.html | 2 +- _includes/sections/instant-messenger.html | 10 ++--- .../sections/live-operating-systems.html | 2 +- .../sections/mobile-operating-systems.html | 6 +-- _includes/sections/operating-systems.html | 4 +- _includes/sections/router-firmware.html | 4 +- _includes/sections/search-engines.html | 2 +- _includes/sections/selfhosted-cloud.html | 2 +- _includes/sections/teamchat.html | 6 +-- 12 files changed, 70 insertions(+), 38 deletions(-) create mode 100644 _includes/badge.html diff --git a/_includes/badge.html b/_includes/badge.html new file mode 100644 index 00000000..ac2a8a7e --- /dev/null +++ b/_includes/badge.html @@ -0,0 +1,20 @@ +{% if include.link %} + {{ include.text }} +{% else %}> {{ include.text }}{% endif %} + +{% else %} + {{include.text}} + {% else %} + > {% if include.icon %}{% endif %} {{include.text}} + {% endif %} + +{% endif %} diff --git a/_includes/cardv2.html b/_includes/cardv2.html index 031f52ab..cd270fa5 100644 --- a/_includes/cardv2.html +++ b/_includes/cardv2.html @@ -41,23 +41,35 @@ {{ include.description }} {% if include.labels %} {% assign labels = include.labels | split:"|" %} - {% for label in labels %} - {% assign label_data = label | split:":" %} - {% assign color = label_data[0] %} - {% assign text = label_data[1] %} - {% assign tooltip = label_data[2] | default: false %} - {% assign help_icon = '' %} - {{text}} {{ help_icon }} - {% else %} - > {{text}} + {% for label in labels %} + {% assign label_data = label | split:"::" %} + {% for label_attr in label_data %} + {% assign attr = label_attr | split:"==" %} + {% if attr[0] == "color" %} + {% assign color = attr[1] %} + {% elsif attr[0] == "link" %} + {% assign link = attr[1] %} + {% elsif attr[0] == "text" %} + {% assign text = attr[1] %} + {% elsif attr[0] == "icon" %} + {% assign icon = attr[1] %} + {% elsif attr[0] == "tooltip" %} + {% assign tooltip = attr[1] %} {% endif %} - - {% endfor %} + {% endfor %} + {% include badge.html + link=link + color=color + text=text + icon=icon + tooltip=tooltip + %} + {% assign color = nil %} + {% assign link = nil %} + {% assign text = nil %} + {% assign icon = nil %} + {% assign tooltip = nil %} + {% endfor %} {% endif %}

    diff --git a/_includes/sections/cloud-storage.html b/_includes/sections/cloud-storage.html index a03c7898..ec9a2081 100644 --- a/_includes/sections/cloud-storage.html +++ b/_includes/sections/cloud-storage.html @@ -9,7 +9,7 @@ title="Keybase KBFS" image="/assets/img/svg/3rd-party/keybase.svg" description='Keybase provides 250GB of E2EE cloud storage for free. Its protocol has also been indepedently audited (PDF). Keybase allows you to share files with any Keybase user, or social media user through the use of "identity proofs". They currently do not offer additional space above your quota.' - labels="warning:Warning:This software relies on a closed-source central server." + labels="color==warning::icon==fas fa-exclamation-triangle::link==https://github.com/keybase/client/issues/6374::text==Warning::tooltip==This software relies on a closed-source central server." website="https://book.keybase.io/docs/files" privacy-policy="https://keybase.io/docs/privacypolicy" forum="https://forum.privacytools.io/t/discussion-keybase/1224" @@ -27,7 +27,7 @@ title="Nextcloud - Choose your hoster" image="/assets/img/svg/3rd-party/nextcloud.svg" description="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. The only limits on storage and bandwidth are the limits on the server provider you choose." - labels="warning:Experimental E2EE:Regarding E2EE their description states 'End-to-end encryption is still in alpha state, don't use this in production and only with test data!'." + labels="color==warning::link==https://github.com/nextcloud/end_to_end_encryption/issues/111::text==Experimental E2EE::tooltip==Regarding E2EE their description states 'End-to-end encryption is still in alpha state, don't use this in production and only with test data!'." website="https://nextcloud.com/" privacy-policy="https://nextcloud.com/privacy/" forum="https://forum.privacytools.io/t/discussion-nextcloud/287" @@ -47,6 +47,6 @@

    Worth Mentioning

      -
    • Cryptomator - Free client-side AES encryption for your cloud files. Open source software: No backdoors, no registration.
    • +
    • Cryptomator - Free client-side AES encryption for your cloud files. Open source software: No backdoors, no registration. {% include badge.html color="warning" tooltip="Cryptomator's mobile apps are not open-source." link="https://github.com/cryptomator/cryptomator-android/issues/1#issuecomment-257979375" icon="fas fa-exclamation-triangle" %}
    • CryptPad - Free and end-to-end encrypted real time collaboration sharing folders, media, and documents.
    diff --git a/_includes/sections/file-sharing.html b/_includes/sections/file-sharing.html index 30d7a6fb..671b2f5d 100644 --- a/_includes/sections/file-sharing.html +++ b/_includes/sections/file-sharing.html @@ -3,7 +3,7 @@ {% include cardv2.html title="Firefox Send" image="/assets/img/svg/3rd-party/firefox_send.svg" -labels="warning:Warning: IP addresses are retained in logs for 90 days." +labels="color==warning::link==https://send.firefox.com/legal::text==Warning::tooltip==IP addresses are retained in logs for 90 days." description="Firefox Send uses end-to-end encryption to keep your data secure from the moment you share to the moment your file is opened. It also offers security controls that you can set. You can choose when your file link expires, the number of downloads, and whether you would like to add a password for an extra layer of security." website="https://send.firefox.com/" privacy-policy="https://send.firefox.com/legal" diff --git a/_includes/sections/instant-messenger.html b/_includes/sections/instant-messenger.html index 5b73f99b..1fa5a774 100644 --- a/_includes/sections/instant-messenger.html +++ b/_includes/sections/instant-messenger.html @@ -24,7 +24,7 @@ title="Signal" image="/assets/img/svg/3rd-party/signal.svg" description='Signal is a mobile app developed by Signal Messenger LLC. The app provides instant messaging, as well as voice and video calling. All communications are E2EE unless you choose to send as SMS. Its protocol has also been indepedently audited (PDF)' - labels="warning:Requires phone number:Signal requires your phone number as an personal identifier which means anyone you communicate with will see it.|success:VoIP" + labels="color==warning::link==https://github.com/nextcloud/end_to_end_encryption/issues/111::text==Requires phone number::tooltip==Signal requires your phone number as an personal identifier which means anyone you communicate with will see it.|text==VoIP" website="https://signal.org/" privacy-policy="https://signal.org/legal/" forum="https://forum.privacytools.io/t/discussion-signal/664" @@ -42,7 +42,7 @@ title="Keybase" image="/assets/img/svg/3rd-party/keybase.svg" description='Keybase provides a hosted team chat with E2EE. Its protocol has also been indepedently audited (PDF). Keybase can help you prove you own social media accounts though the use of cryptographic signing of "identity proofs".' - labels="warning:Warning:This software relies on a closed-source central server." + labels="color==warning::link==https://github.com/keybase/client/issues/6374::text==Warning::tooltip==This software relies on a closed-source central server." website="https://keybase.io/" privacy-policy="https://keybase.io/docs/privacypolicy" forum="https://forum.privacytools.io/t/discussion-keybase/1224" @@ -94,8 +94,8 @@ include cardv2.html title="Riot" image="/assets/img/svg/3rd-party/riotim.svg" - description='Riot.im is the reference client for the Matrix network. The Matrix open standard is an open-source standard for secure, decentralized, real-time communication.
    ' - labels="success:VoIP" + description='Riot.im is the reference client for the Matrix network. The Matrix open standard is an open-source standard for secure, decentralized, real-time communication.' + labels="text==VoIP" website="https://about.riot.im/" privacy-policy="https://riot.im/privacy" forum="https://forum.privacytools.io/t/discussion-riot-im/665/" @@ -166,7 +166,7 @@ title="Jami" image="/assets/img/svg/3rd-party/jami.svg" description="Encrypted instant messaging and video calling software. All communications are E2EE using TLS 1.3 and never stored elsewhere than on user's devices, even when TURN servers are used." - labels="warning:Warning:This software is partially centralized but can be self-hosted.|success:VoIP" + labels="color==warning::link==https://git.jami.net/savoirfairelinux/ring-project/issues/765::text==Warning::tooltip==This software is partially centralized but can be self-hosted.|text==VoIP" website="https://jami.net/" privacy-policy="https://jami.net/privacy-policy/" forum="https://forum.privacytools.io/t/discussion-jami/2116" diff --git a/_includes/sections/live-operating-systems.html b/_includes/sections/live-operating-systems.html index f17db2f5..f566b552 100644 --- a/_includes/sections/live-operating-systems.html +++ b/_includes/sections/live-operating-systems.html @@ -5,7 +5,7 @@ title="Tails" image="/assets/img/svg/3rd-party/tails.svg" description='Tails is a live operating system that can boot on almost any computer from a DVD, USB stick, or SD card you control. It aims at preserving privacy and anonymity, and circumventing censorship by forcing Internet connections through the Tor network; leaving no trace on the computer; and using state-of-the-art cryptographic tools to encrypt files, emails, and instant messages.' badges="info:GNU/Linux" -labels="warning:contrib:This software may depend on or recommend non-free software." +labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." website="https://tails.boum.org/" git="https://git-tails.immerda.ch/tails/" %} diff --git a/_includes/sections/mobile-operating-systems.html b/_includes/sections/mobile-operating-systems.html index 0db145ab..f17d7ab8 100644 --- a/_includes/sections/mobile-operating-systems.html +++ b/_includes/sections/mobile-operating-systems.html @@ -10,7 +10,7 @@ image="/assets/img/svg/3rd-party/grapheneos.svg" image-dark="/assets/img/svg/3rd-party/grapheneos-dark.svg" description='GrapheneOS (formerly known as CopperheadOS) is a free and open-source security- and privacy-focused mobile operating system built on top of the Android Open Source Project. It currently specifically targets devices offering strong hardware security.' badges="info:AOSP" -labels="warning:contrib:This software may depend on or recommend non-free software." +labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." website="https://grapheneos.org/" github="https://github.com/GrapheneOS/" %} @@ -20,7 +20,7 @@ title="LineageOS" image="/assets/img/svg/3rd-party/lineageos.svg" description='LineageOS is a free and open-source operating system for smartphones and tablets, based on the official releases of the Android Open Source Project. It is the continuation of the CyanogenMod project.' badges="info:AOSP" -labels="warning:contrib:This software may depend on or recommend non-free software." +labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." website="https://www.lineageos.org/" privacy-policy="https://www.lineageos.org/legal/" github="https://github.com/LineageOS" @@ -31,7 +31,7 @@ title="Ubuntu Touch" image="/assets/img/svg/3rd-party/ubuntu.svg" description="Ubuntu Touch is a free and open-source operating system for smartphones and tablets. It's an alternative to the current popular mobile operating systems on the market. Only a few devices are supported." badges="info:GNU/Linux" -labels="warning:contrib:This software may depend on or recommend non-free software." +labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." website="https://ubuntu-touch.io/" privacy-policy="https://ubports.com/privacy" github="https://github.com/ubports" diff --git a/_includes/sections/operating-systems.html b/_includes/sections/operating-systems.html index 1fdb8c44..487a432f 100644 --- a/_includes/sections/operating-systems.html +++ b/_includes/sections/operating-systems.html @@ -9,7 +9,7 @@ title="Qubes OS" image="/assets/img/svg/3rd-party/qubes_os.svg" description='Qubes is an open-source operating system designed to provide strong security for desktop computing. Qubes is based on Xen, the X Window System, and Linux, and can run most Linux applications and utilize most of the Linux drivers.' badges="info:Xen" -labels="warning:contrib:This software may depend on or recommend non-free software." +labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." website="https://www.qubes-os.org/" privacy-policy="https://www.qubes-os.org/privacy/" github="https://github.com/QubesOS" @@ -21,7 +21,7 @@ title="Fedora Workstation" image="/assets/img/svg/3rd-party/fedora.svg" description='Fedora is a Linux distribution developed by the Fedora Project and sponsored by Red Hat. Fedora Workstation is a secure, reliable, and user-friendly edition developed for desktops and laptops, using GNOME as the default desktop environment.' badges="info:GNU/Linux" -labels="warning:contrib:This software may depend on or recommend non-free software." +labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." website="https://getfedora.org/" privacy-policy="https://fedoraproject.org/wiki/Legal:PrivacyPolicy?rd=Legal/PrivacyPolicy" git="https://src.fedoraproject.org/" diff --git a/_includes/sections/router-firmware.html b/_includes/sections/router-firmware.html index b6988966..cb19f6d5 100644 --- a/_includes/sections/router-firmware.html +++ b/_includes/sections/router-firmware.html @@ -6,7 +6,7 @@ image="/assets/img/svg/3rd-party/openwrt.svg" image-dark="/assets/img/svg/3rd-party/openwrt-dark.svg" description="OpenWrt is an operating system (in particular, an embedded operating system) based on the Linux kernel, primarily used on embedded devices to route network traffic. The main components are the Linux kernel, util-linux, uClibc and BusyBox. All components have been optimized for size, to be small enough for fitting into the limited storage and memory available in home routers." badges="info:Linux" -labels="warning:contrib:This software may depend on or recommend non-free software." +labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." website="https://openwrt.org/" git="https://git.openwrt.org/" %} @@ -17,7 +17,7 @@ image="/assets/img/svg/3rd-party/pfsense.svg" image-dark="/assets/img/svg/3rd-party/pfsense-dark.svg" description="pfSense is an open source firewall/router computer software distribution based on FreeBSD. It is installed on a computer to make a dedicated firewall/router for a network and is noted for its reliability and offering features often only found in expensive commercial firewalls. pfSense is commonly deployed as a perimeter firewall, router, wireless access point, DHCP server, DNS server, and as a VPN endpoint." badges="info:BSD" -labels="warning:contrib:This software may depend on or recommend non-free software." +labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." website="https://www.pfsense.org/" privacy-policy="https://www.pfsense.org/privacy.html" github="https://github.com/pfsense/" diff --git a/_includes/sections/search-engines.html b/_includes/sections/search-engines.html index ed90e59e..44d720ff 100644 --- a/_includes/sections/search-engines.html +++ b/_includes/sections/search-engines.html @@ -42,7 +42,7 @@ github="https://github.com/Qwant/" title="Startpage.com" image="/assets/img/svg/3rd-party/startpage.svg" description='Startpage.com is a search engine that provides Google search results with complete privacy protection. Startpage BV is a Netherlands-based company that has been dedicated to privacy-respecting search since 2006.' -labels="warning:Warning:Startpage.com was recently acquired by United States-based System1." +labels="color==warning::link==https://support.startpage.com/index.php?/Knowledgebase/Article/View/1277/0/startpage-ceo-robert-beens-discusses-the-investment-from-privacy-one--system1::text==Warning::tooltip==Startpage.com was recently acquired by United States-based System1." website="https://www.startpage.com/" privacy-policy="https://www.startpage.com/en/privacy-policy/" forum="https://forum.privacytools.io/t/delisted-discussion-startpage/284" diff --git a/_includes/sections/selfhosted-cloud.html b/_includes/sections/selfhosted-cloud.html index 15b6aff9..a8e02543 100644 --- a/_includes/sections/selfhosted-cloud.html +++ b/_includes/sections/selfhosted-cloud.html @@ -8,7 +8,7 @@ title="Nextcloud" image="/assets/img/svg/3rd-party/nextcloud.svg" description="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. The only limits on storage and bandwidth are the limits on the server provider you choose." - labels="warning:Experimental E2EE:Regarding E2EE their description states 'End-to-end encryption is still in alpha state, don't use this in production and only with test data!'." + labels="color==warning::link==https://github.com/nextcloud/end_to_end_encryption/issues/111::text==Experimental E2EE::tooltip==Regarding E2EE their description states 'End-to-end encryption is still in alpha state, don't use this in production and only with test data!'." website="https://nextcloud.com/" privacy-policy="https://nextcloud.com/privacy/" forum="https://forum.privacytools.io/t/discussion-nextcloud/287" diff --git a/_includes/sections/teamchat.html b/_includes/sections/teamchat.html index d96b280e..c0b31e45 100644 --- a/_includes/sections/teamchat.html +++ b/_includes/sections/teamchat.html @@ -13,7 +13,7 @@ title="Riot" image="/assets/img/svg/3rd-party/riotim.svg" description='Riot.im is the reference client for the Matrix network. The Matrix open standard is an open-source standard for secure, decentralized, real-time communication.
    ' - labels="success:VoIP" + labels="text==VoIP" website="https://about.riot.im/" privacy-policy="https://riot.im/privacy" forum="https://forum.privacytools.io/t/discussion-riot-im/665/" @@ -32,7 +32,7 @@ title="Rocket.chat" image="/assets/img/svg/3rd-party/rocketchat.svg" description="Rocket.chat is an self-hostable open source platform for team communication. It has optional federation and experimental E2EE." - labels="warning:Experimental E2EE:Regarding E2EE their documentation states 'This feature is currently in alpha. It's also not yet supported on mobile'. There is no forward secrecy so compromised decryption password would leak all messages. Federation was also added afterwards, potentially causing room for mistakes.|success:VoIP" + labels="color==warning::link==https://rocket.chat/docs/user-guides/end-to-end-encryption/::text==Experimental E2EE::tooltip==Regarding E2EE their documentation states 'This feature is currently in alpha. It's also not yet supported on mobile'. There is no forward secrecy so compromised decryption password would leak all messages. Federation was also added afterwards, potentially causing room for mistakes.|text==VoIP" website="https://rocket.chat/" privacy-policy="https://rocket.chat/privacy" forum="https://forum.privacytools.io/t/discussion-rocket-chat/1223" @@ -50,7 +50,7 @@ title="Keybase" image="/assets/img/svg/3rd-party/keybase.svg" description='Keybase provides a hosted team chat with E2EE. Its protocol has also been indepedently audited (PDF). Keybase can help you prove you own social media accounts through the use of cryptographic signing of "identity proofs".' - labels="warning:Warning:This software relies on a closed-source central server." + labels="color==warning::link==https://github.com/keybase/client/issues/6374::text==Warning::tooltip==This software relies on a closed-source central server." website="https://keybase.io/" privacy-policy="https://keybase.io/docs/privacypolicy" forum="https://forum.privacytools.io/t/discussion-keybase/1224" -- 2.47.2 From 00b9be54c25060deb581b78910b8503f9a414b4e Mon Sep 17 00:00:00 2001 From: Jonah Aragon Date: Sat, 16 May 2020 04:03:22 -0500 Subject: [PATCH 049/173] Use badges syntax for labels outside of cardv2 (#1921) --- _includes/badge.html | 2 +- _includes/sections/dns.html | 22 ++++- _includes/sections/file-encryption.html | 17 +++- _includes/sections/file-sharing.html | 77 ++++++++------- .../sections/live-operating-systems.html | 25 +++-- .../sections/mobile-operating-systems.html | 88 +++++++++++------ _includes/sections/operating-systems.html | 94 +++++++++++++------ _includes/sections/router-firmware.html | 73 +++++++++----- _includes/sections/voice-video-messenger.html | 23 +++-- pages/providers/dns.html | 54 +++++++++-- 10 files changed, 327 insertions(+), 148 deletions(-) diff --git a/_includes/badge.html b/_includes/badge.html index ac2a8a7e..f908ecf8 100644 --- a/_includes/badge.html +++ b/_includes/badge.html @@ -1,6 +1,6 @@ {% if include.link %} {{ include.text }} diff --git a/_includes/sections/dns.html b/_includes/sections/dns.html index d57dc50b..240d87b7 100644 --- a/_includes/sections/dns.html +++ b/_includes/sections/dns.html @@ -112,7 +112,12 @@ malicious domains - + {% include badge.html + link="https://github.com/ookangzheng/blahdns#default-blocked-wildcard-domain" + color="warning" + icon="fas fa-exclamation-triangle" + tooltip="And some wildcard and IDN domains." + %}
    - + -- 2.47.2 From 9ba33b3a53696c01978a125afae679a3a964bc2a Mon Sep 17 00:00:00 2001 From: Daniel Nathan Gray Date: Fri, 30 Oct 2020 12:08:53 +0000 Subject: [PATCH 132/173] Fix labels, to be consistent (#2108) * Fix labels, to be consistent * s/icon/text * Use a warning icon --- _includes/sections/file-encryption.html | 3 +++ 1 file changed, 3 insertions(+) diff --git a/_includes/sections/file-encryption.html b/_includes/sections/file-encryption.html index 2cd7fa28..12f306ed 100644 --- a/_includes/sections/file-encryption.html +++ b/_includes/sections/file-encryption.html @@ -58,6 +58,7 @@
  • Cryptomator - Free client-side AES encryption for your cloud files. Open source software: No backdoors, no registration. {% include badge.html color="warning" + text="Closed source" icon="fas fa-exclamation-triangle" link="https://github.com/cryptomator/cryptomator-android/issues/1#issuecomment-257979375" tooltip="Cryptomator's mobile apps are not open-source." @@ -69,6 +70,7 @@ {% include badge.html color="warning" icon="fas fa-exclamation-triangle" + text="Closed source" link="https://github.com/aonez/Keka#so-where-is-the-source-code" tooltip="This software is no longer open source." %}
  • @@ -76,6 +78,7 @@ {% include badge.html color="warning" icon="fas fa-exclamation-triangle" + text="Beta" tooltip="As Kryptor is still in beta, it may not be stable." %} -- 2.47.2 From 50ec5fb2c1e885613d75b1733341a9815983cdf7 Mon Sep 17 00:00:00 2001 From: Daniel Nathan Gray Date: Wed, 4 Nov 2020 07:11:54 +0000 Subject: [PATCH 133/173] Remove ThatOnePrivacySite (#2114) --- pages/providers/vpn.html | 1 - 1 file changed, 1 deletion(-) diff --git a/pages/providers/vpn.html b/pages/providers/vpn.html index 0b8f168d..2116e6b3 100644 --- a/pages/providers/vpn.html +++ b/pages/providers/vpn.html @@ -221,7 +221,6 @@ breadcrumb: "VPN"

    Related VPN information

      -
    • Spreadsheet with unbiased, independently verifiable data on over 100 VPN services.
    • The Trouble with VPN and Privacy Review Sites
    • Beware of False Reviews - VPN Marketing and Affiliate Programs
    • Proxy.sh VPN Provider Sniffed Server Traffic to Catch Hacker
    • -- 2.47.2 From f625f80ca813d639991df048f7d13f28eb4bd20f Mon Sep 17 00:00:00 2001 From: Wylel <617189+wylel@users.noreply.github.com> Date: Fri, 13 Nov 2020 05:37:29 -0600 Subject: [PATCH 134/173] Fix typo (#2124) Firefox Section Changed "but users can manually any other DoH resolver." to "but users can manually use any other DoH resolver." --- _includes/sections/dns.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/sections/dns.html b/_includes/sections/dns.html index 62a51046..aa89c5f8 100644 --- a/_includes/sections/dns.html +++ b/_includes/sections/dns.html @@ -571,7 +571,7 @@ We also log how many times this or that tracker has been blocked. We need this i include cardv2.html title="Firefox's built-in DNS-over-HTTPS resolver" image="/assets/img/svg/3rd-party/firefox_browser.svg" - description='Firefox comes with built-in DNS-over-HTTPS support for NextDNS and Cloudflare but users can manually any other DoH resolver.' + description='Firefox comes with built-in DNS-over-HTTPS support for NextDNS and Cloudflare but users can manually use any other DoH resolver.' labels="color==warning::icon==fas fa-exclamation-triangle::link==https://developers.cloudflare.com/1.1.1.1/privacy/firefox::text==Warning::tooltip==Cloudflare logs a limited amount of data about the DNS requests that are sent to their custom resolver for Firefox." website="https://support.mozilla.org/en-US/kb/firefox-dns-over-https" privacy-policy="https://wiki.mozilla.org/Security/DOH-resolver-policy" -- 2.47.2 From e5dc5d7e30746f5f26b45d557b35b35ff294d6c7 Mon Sep 17 00:00:00 2001 From: Freddy Date: Wed, 18 Nov 2020 10:22:27 +0000 Subject: [PATCH 135/173] Remove Keka (#2129) * Remove Keka * Remove badge, and fix indenting Co-authored-by: Daniel Gray --- _includes/sections/file-encryption.html | 38 +++++++++++-------------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/_includes/sections/file-encryption.html b/_includes/sections/file-encryption.html index 12f306ed..dc85b5df 100644 --- a/_includes/sections/file-encryption.html +++ b/_includes/sections/file-encryption.html @@ -55,30 +55,26 @@

      Worth Mentioning

        -
      • Cryptomator - Free client-side AES encryption for your cloud files. Open source software: No backdoors, no registration. +
      • + Cryptomator - Free client-side AES encryption for your cloud files. Open source software: No backdoors, no registration. {% include badge.html - color="warning" - text="Closed source" - icon="fas fa-exclamation-triangle" - link="https://github.com/cryptomator/cryptomator-android/issues/1#issuecomment-257979375" - tooltip="Cryptomator's mobile apps are not open-source." - %}
      • + color="warning" + text="Closed source" + icon="fas fa-exclamation-triangle" + link="https://github.com/cryptomator/cryptomator-android/issues/1#issuecomment-257979375" + tooltip="Cryptomator's mobile apps are not open-source." + %} +
      • Linux Unified Key Setup (LUKS) - A full disk encryption system for Linux using dm-crypt as the disk encryption backend. Included by default in Ubuntu. Available for Windows and Linux.
      • Tomb - A simple zsh script for making LUKS containers on the commandline.
      • Hat.sh - A cross-platform, serverless JavaScript web application that provides secure file encryption using the AES-256-GCM algorithm in your browser. It can also be downloaded and run offline.
      • -
      • Keka - A macOS-only, file archiver with the ability to encrypt files. - {% include badge.html - color="warning" - icon="fas fa-exclamation-triangle" - text="Closed source" - link="https://github.com/aonez/Keka#so-where-is-the-source-code" - tooltip="This software is no longer open source." - %}
      • -
      • Kryptor is a file encryption program for Windows, MacOS, and Linux. +
      • + Kryptor is a file encryption program for Windows, MacOS, and Linux. {% include badge.html - color="warning" - icon="fas fa-exclamation-triangle" - text="Beta" - tooltip="As Kryptor is still in beta, it may not be stable." - %}
      • + color="warning" + icon="fas fa-exclamation-triangle" + text="Beta" + tooltip="As Kryptor is still in beta, it may not be stable." + %} +
      -- 2.47.2 From d10079b64318d38d54291d5e9f77f49a0e92fc88 Mon Sep 17 00:00:00 2001 From: Tom Hacohen Date: Thu, 19 Nov 2020 20:32:17 +0200 Subject: [PATCH 136/173] Notebooks: added EteSync to worth mentioning. (#2115) EteSync is already listed under contacts/calendars, but there's now also notes support. --- _includes/sections/notebooks.html | 1 + 1 file changed, 1 insertion(+) diff --git a/_includes/sections/notebooks.html b/_includes/sections/notebooks.html index fefd06a8..09fbafee 100644 --- a/_includes/sections/notebooks.html +++ b/_includes/sections/notebooks.html @@ -63,6 +63,7 @@

      Worth Mentioning

        +
      • EteSync - Secure, end-to-end encrypted, and privacy respecting sync for your contacts, calendars, tasks and notes.
      • Paperwork - An open-source and self-hosted solution. For PHP / MySQL servers.
      • Org-mode - A major mode for GNU Emacs. Org-mode is for keeping notes, maintaining TODO lists, planning projects, and authoring documents with a fast and effective plain-text system.
      -- 2.47.2 From 5142ef18ab4d762b3570c6552a780685a1c20cb6 Mon Sep 17 00:00:00 2001 From: Daniel Nathan Gray Date: Thu, 26 Nov 2020 10:59:44 +0000 Subject: [PATCH 137/173] New email client section, thanks @freddy-m (#2142) * New email client section, thanks @freddy-m * That email clients cleanup (#1990) Co-authored-by: Freddy --- _includes/sections/email-clients.html | 108 +++++++++++++++++------- assets/img/svg/3rd-party/canarymail.svg | 2 + assets/img/svg/3rd-party/fairemail.svg | 2 + assets/img/svg/3rd-party/k9mail.svg | 2 + assets/img/svg/3rd-party/mailpile.svg | 2 + assets/img/svg/3rd-party/mailvelope.svg | 2 + 6 files changed, 88 insertions(+), 30 deletions(-) create mode 100644 assets/img/svg/3rd-party/canarymail.svg create mode 100644 assets/img/svg/3rd-party/fairemail.svg create mode 100644 assets/img/svg/3rd-party/k9mail.svg create mode 100644 assets/img/svg/3rd-party/mailpile.svg create mode 100644 assets/img/svg/3rd-party/mailvelope.svg diff --git a/_includes/sections/email-clients.html b/_includes/sections/email-clients.html index 4b3ce053..3b79f346 100644 --- a/_includes/sections/email-clients.html +++ b/_includes/sections/email-clients.html @@ -1,51 +1,99 @@ -

      Email Clients

      +

      Desktop Email Clients

      {% include cardv2.html title="Thunderbird" image="/assets/img/svg/3rd-party/thunderbird.svg" description="Thunderbird is a free, open source, cross-platform email, newsgroup, news feed, and chat (XMPP, IRC, Twitter) client developed by the Thunderbird community, and previously by the Mozilla Foundation." website="https://www.thunderbird.net/" - privacy-policy="https://www.mozilla.org/en-US/privacy/thunderbird/" + privacy-policy="https://www.mozilla.org/privacy/thunderbird/" forum="https://forum.privacytools.io/t/discussion-thunderbird/659" source="https://hg.mozilla.org/comm-central/" - windows="https://www.thunderbird.net/en-US/" - mac="https://www.thunderbird.net/en-US/" - linux="https://www.thunderbird.net/en-US/" + windows="https://www.thunderbird.net" + mac="https://www.thunderbird.net" + linux="https://www.thunderbird.net/" freebsd="https://www.freshports.org/mail/thunderbird/" openbsd="http://openports.se/mail/mozilla-thunderbird" netbsd="http://pkgsrc.se/mail/thunderbird" %} {% include cardv2.html - title="Claws Mail" - image="/assets/img/png/3rd-party/claws_mail.png" - description="Claws Mail is a free and open source, GTK-based email and news client. It offers easy configuration and an abundance of features. It is included with Gpg4win, an encryption suite for Windows." - website="https://www.claws-mail.org/" - forum="https://forum.privacytools.io/t/discussion-claws-mail/660" - git="https://git.claws-mail.org/" - windows="https://www.claws-mail.org/win32/" - mac="https://www.claws-mail.org/faq/index.php/Installation_and_Configuration#What_do_I_need_to_compile_Claws_Mail.3F" - linux="https://www.claws-mail.org/downloads.php?section=downloads" - freebsd="https://www.freshports.org/mail/claws-mail/" - openbsd="http://openports.se/mail/claws-mail" - netbsd="http://pkgsrc.se/mail/claws-mail" + title="Mailpile" + image="/assets/img/svg/3rd-party/mailpile.svg" + description="Mailpile is a free, community funded, open source email client with user-friendly encryption and privacy features." + website="https://www.mailpile.is/" + privacy-policy="https://www.mailpile.is/privacy.html" + tor="clgs64523yi2bkhz.onion" + forum="https://forum.privacytools.io/t/" + github="https://github.com/mailpile/Mailpile" + linux="https://www.mailpile.is/download/linux.html" %} - -

      Privacy Email Tools

      - -
        -
      • gpg4usb - A very easy to use and small portable editor to encrypt and decrypt any text-message or -file. For Windows and Linux. GPG tutorial.
      • -
      • Mailvelope - A browser extension that enables the exchange of encrypted emails following the OpenPGP encryption standard.
      • -
      • Enigmail - A security extension to Thunderbird and Seamonkey. It enables you to write and receive email messages signed and/or encrypted with the OpenPGP standard.
      • -
      • TorBirdy - TorBirdy configures Thunderbird to make connections over the Tor anonymity network. This extension is in beta and should be considered experimental.
      • -
      • Email Privacy Tester - This tool will send an Email to your address and perform privacy-related tests.
      • -
      +{% include cardv2.html + title="Mailvelope" + image="/assets/img/svg/3rd-party/mailvelope.svg" + description="Mailvelope is a browser extension that enables the exchange of encrypted emails following the OpenPGP encryption standard." + website="https://www.mailvelope.com/en" + privacy-policy="https://www.mailvelope.com/en/privacy-policy" + forum="https://forum.privacytools.io/t/" + github="https://github.com/mailvelope/mailvelope" + firefox="https://addons.mozilla.org/firefox/addon/mailvelope/" + chrome="https://chrome.google.com/webstore/detail/mailvelope/kajibbejlbohfaggdiogboambcijhkke?hl" + edge="https://microsoftedge.microsoft.com/addons/detail/mailvelope/dgcbddhdhjppfdfjpciagmmibadmoapc" +%}

      Worth Mentioning

        -
      • K-9 Mail - An independent mail application for Android. It supports both POP3 and IMAP mailboxes, but only supports push mail for IMAP.
      • -
      • GNU Privacy Guard - Email Encryption. GnuPG is a GPL Licensed alternative to the PGP suite of cryptographic software. Tutorial. Use GPGTools for macOS.
      • -
      • Mailpile (Beta) - A modern, fast web-mail client with user-friendly encryption and privacy features.
      • +
      • NeoMutt - NeoMutt is an open-source command line mail reader (or MUA) for Linux and BSD. It’s a fork of Mutt with added features.
      + + + +

      Mobile Email Clients

      + +

      Android Email Clients

      + +{% include cardv2.html + title="FairEmail" + image="/assets/img/svg/3rd-party/fairemail.svg" + description="FairEmail is a minimal, open source email app, using open standards (IMAP, SMTP, OpenPGP) with a low data and battery usage." + website="https://email.faircode.eu/" + privacy-policy="https://github.com/M66B/FairEmail/blob/master/PRIVACY.md" + forum="https://forum.privacytools.io/t/" + github="https://github.com/M66B/FairEmail" + fdroid="https://f-droid.org/en/packages/eu.faircode.email/" + googleplay="https://play.google.com/store/apps/details?id=eu.faircode.email" +%} + +{% include cardv2.html + title="K-9 Mail" + image="/assets/img/svg/3rd-party/k9mail.svg" + description="K-9 Mail is an independent mail application that supports both POP3 and IMAP mailboxes, but only supports push mail for IMAP." + website="https://k9mail.app/" + privacy-policy="https://k9mail.app/privacy" + forum="https://forum.privacytools.io/t/" + github="https://github.com/k9mail" + fdroid="https://f-droid.org/packages/com.fsck.k9/" + googleplay="https://play.google.com/store/apps/details?id=com.fsck.k9" +%} + +

      iOS Email Clients

      + +{% include cardv2.html + title="Canary Mail" + image="/assets/img/svg/3rd-party/canarymail.svg" + labels="color==warning::link==https://canarymail.io/faq.html::text==Closed source::tooltip==The source programming code for Canary Mail is not available. Canary Mail is a proprietary application." + description="Canary Mail is a paid email client designed to make end-to-end encryption seamless with security features such as a biometric app lock." + website="https://canarymail.io/" + privacy-policy="https://canarymail.io/privacy.html" + forum="https://forum.privacytools.io/t/" + ios="https://apps.apple.com/us/app/canary-mail/id1236045954" +%} + + +

      Worth Mentioning

      + +
        +
      • Letterbox - Letterbox is a free open-source mail client for iOS made as a part of an ongoing research project at the Freie Universität Berlin, Germany.
      • +
      + diff --git a/assets/img/svg/3rd-party/canarymail.svg b/assets/img/svg/3rd-party/canarymail.svg new file mode 100644 index 00000000..b3df42db --- /dev/null +++ b/assets/img/svg/3rd-party/canarymail.svg @@ -0,0 +1,2 @@ + + diff --git a/assets/img/svg/3rd-party/fairemail.svg b/assets/img/svg/3rd-party/fairemail.svg new file mode 100644 index 00000000..54046c9a --- /dev/null +++ b/assets/img/svg/3rd-party/fairemail.svg @@ -0,0 +1,2 @@ + + diff --git a/assets/img/svg/3rd-party/k9mail.svg b/assets/img/svg/3rd-party/k9mail.svg new file mode 100644 index 00000000..f5128b01 --- /dev/null +++ b/assets/img/svg/3rd-party/k9mail.svg @@ -0,0 +1,2 @@ + + diff --git a/assets/img/svg/3rd-party/mailpile.svg b/assets/img/svg/3rd-party/mailpile.svg new file mode 100644 index 00000000..9da73d63 --- /dev/null +++ b/assets/img/svg/3rd-party/mailpile.svg @@ -0,0 +1,2 @@ + + diff --git a/assets/img/svg/3rd-party/mailvelope.svg b/assets/img/svg/3rd-party/mailvelope.svg new file mode 100644 index 00000000..0aa71d2a --- /dev/null +++ b/assets/img/svg/3rd-party/mailvelope.svg @@ -0,0 +1,2 @@ + + -- 2.47.2 From afd7e216ce9799a585f3dc8ff89aa243cd1d8e24 Mon Sep 17 00:00:00 2001 From: schwukas <33559975+schwukas@users.noreply.github.com> Date: Sat, 12 Dec 2020 06:27:08 +0100 Subject: [PATCH 138/173] Change Riot Name and Link to Element (#2151) --- pages/about/about.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/about/about.html b/pages/about/about.html index 64e5f15a..e826da2a 100644 --- a/pages/about/about.html +++ b/pages/about/about.html @@ -161,7 +161,7 @@ emeritus=true

      Open an issue on GitHub

      Suggest something new on our subreddit

      For complete transparency, software and providers will only be considered for this website after discussions take place on our GitHub issue tracker. We of course don't make any changes in secret.

      -

      Join our Matrix room at #general:privacytools.io to chat with us and other members about this site and privacy in general! If you need a Matrix account, you can sign up with our own homeserver (https://chat.privacytools.io) using Riot.

      +

      Join our Matrix room at #general:privacytools.io to chat with us and other members about this site and privacy in general! If you need a Matrix account, you can sign up with our own homeserver (https://chat.privacytools.io) using Element.

      You can also email the team at support@privacytools.io and find us on Twitter and Mastodon.

      -- 2.47.2 From 21c894eef786e34b111918f83170a3783391687f Mon Sep 17 00:00:00 2001 From: Gusted Date: Sun, 13 Dec 2020 20:37:35 +0000 Subject: [PATCH 139/173] Cleanup jQuery (#2139) --- _includes/badge.html | 4 +-- _includes/card.html | 2 +- _includes/cardv2.html | 2 +- _includes/footer.html | 2 +- _includes/scripts.html | 1 - _includes/sections/dns.html | 6 ++-- assets/css/style.scss | 52 +++++++++++++++++++++++++++++++++++ assets/js/jquery-3.3.1.min.js | 2 -- assets/js/main.js | 3 -- pages/about/librejs.html | 4 --- pages/notices.md | 1 - 11 files changed, 60 insertions(+), 19 deletions(-) delete mode 100644 assets/js/jquery-3.3.1.min.js diff --git a/_includes/badge.html b/_includes/badge.html index f908ecf8..f069d819 100644 --- a/_includes/badge.html +++ b/_includes/badge.html @@ -3,7 +3,7 @@ href="{{ include.link }}" class="badge badge-{{ include.color | default: "info" }}" {% if include.tooltip %} data-toggle="tooltip" - title="{{ include.tooltip }}"> {{ include.text }} + data-original-title="{{ include.tooltip }}"> {{ include.text }} {% else %}> {{ include.text }}{% endif %} {% else %} @@ -11,7 +11,7 @@ class="badge badge-{{ include.color | default: "info" }}" {% if include.tooltip %} data-toggle="tooltip" - title="{{ include.tooltip }}" + data-original-title="{{ include.tooltip }}" > {{include.text}} {% else %} > {% if include.icon %}{% endif %} {{include.text}} diff --git a/_includes/card.html b/_includes/card.html index ec676c84..9a294a60 100644 --- a/_includes/card.html +++ b/_includes/card.html @@ -17,7 +17,7 @@ {% assign text = label_data[1] %} {% assign tooltip = label_data[2] | default: "" %} {% assign help_icon = '' %} - {{text}} {{ help_icon + {{text}} {{ help_icon }} {% else %} >{{text}} diff --git a/_includes/cardv2.html b/_includes/cardv2.html index cd270fa5..8982b84b 100644 --- a/_includes/cardv2.html +++ b/_includes/cardv2.html @@ -14,7 +14,7 @@ class="badge badge-{{color}}" {% if tooltip %} data-toggle="tooltip" - title="{{ tooltip }}" + data-original-title="{{ tooltip }}" > {{text}} {{ help_icon }} {% else %} > {{text}} diff --git a/_includes/footer.html b/_includes/footer.html index 9fb8047f..38ea9d03 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -55,7 +55,7 @@ CC0 diff --git a/_includes/scripts.html b/_includes/scripts.html index e17c9263..664eeafa 100644 --- a/_includes/scripts.html +++ b/_includes/scripts.html @@ -1,4 +1,3 @@ - diff --git a/_includes/sections/dns.html b/_includes/sections/dns.html index aa89c5f8..7a9180b2 100644 --- a/_includes/sections/dns.html +++ b/_includes/sections/dns.html @@ -95,7 +95,7 @@ We also log how many times this or that tracker has been blocked. We need this i
    main.jsCC0-1.0-onlyCC0-1.0-only
    applytheme.js - CC0-1.0-onlyCC0-1.0-only
    redirects.jsCC0-1.0-onlyCC0-1.0-only
    bootstrap.min.js @@ -137,7 +142,13 @@
    - Cloudflare + Cloudflare + {% include badge.html + link="https://codeberg.org/crimeflare/cloudflare-tor/" + color="warning" + icon="fas fa-exclamation-triangle" + tooltip="Cloudflare is one of the world's largest networks, and a problem considering anonymity and decentralization." + %} Anycast (based in @@ -355,7 +366,12 @@
    - Quad9 + Quad9 + {% include badge.html + color="warning" + icon="fas fa-exclamation-triangle" + tooltip="Founders include the Global Cyber Alliance, composed of the City of London Police and Manhattan District Attorney's Office." + %} Anycast (based in diff --git a/_includes/sections/file-encryption.html b/_includes/sections/file-encryption.html index 69c87798..ff9a1da2 100644 --- a/_includes/sections/file-encryption.html +++ b/_includes/sections/file-encryption.html @@ -55,10 +55,21 @@

    Worth Mentioning

      -
    • Cryptomator - Free client-side AES encryption for your cloud files. Open source software: No backdoors, no registration.
    • +
    • Cryptomator - Free client-side AES encryption for your cloud files. Open source software: No backdoors, no registration. + {% include badge.html + color="warning" + icon="fas fa-exclamation-triangle" + link="https://github.com/cryptomator/cryptomator-android/issues/1#issuecomment-257979375" + tooltip="Cryptomator's mobile apps are not open-source." + %}
    • Linux Unified Key Setup (LUKS) - A full disk encryption system for Linux using dm-crypt as the disk encryption backend. Included by default in Ubuntu. Available for Windows and Linux.
    • Tomb - A simple zsh script for making LUKS containers on the commandline.
    • Hat.sh - A cross-platform, serverless JavaScript web application that provides secure file encryption using the AES-256-GCM algorithm in your browser. It can also be downloaded and run offline.
    • -
    • Keka - A macOS-only, file archiver with the ability to encrypt files. -
    • +
    • Keka - A macOS-only, file archiver with the ability to encrypt files. + {% include badge.html + color="warning" + icon="fas fa-exclamation-triangle" + link="https://github.com/aonez/Keka#so-where-is-the-source-code" + tooltip="This software is no longer open source." + %}
    diff --git a/_includes/sections/file-sharing.html b/_includes/sections/file-sharing.html index 671b2f5d..619dedc3 100644 --- a/_includes/sections/file-sharing.html +++ b/_includes/sections/file-sharing.html @@ -1,52 +1,59 @@

    File Sharing

    {% include cardv2.html -title="Firefox Send" -image="/assets/img/svg/3rd-party/firefox_send.svg" -labels="color==warning::link==https://send.firefox.com/legal::text==Warning::tooltip==IP addresses are retained in logs for 90 days." -description="Firefox Send uses end-to-end encryption to keep your data secure from the moment you share to the moment your file is opened. It also offers security controls that you can set. You can choose when your file link expires, the number of downloads, and whether you would like to add a password for an extra layer of security." -website="https://send.firefox.com/" -privacy-policy="https://send.firefox.com/legal" -forum="https://forum.privacytools.io/t/discussion-firefox-send/755" -github="https://github.com/mozilla/send" -web="https://send.firefox.com/" -googleplay="https://play.google.com/store/apps/details?id=org.mozilla.firefoxsend" + title="Firefox Send" + image="/assets/img/svg/3rd-party/firefox_send.svg" + labels="color==warning::link==https://send.firefox.com/legal::text==Warning::tooltip==IP addresses are retained in logs for 90 days." + description="Firefox Send uses end-to-end encryption to keep your data secure from the moment you share to the moment your file is opened. It also offers security controls that you can set. You can choose when your file link expires, the number of downloads, and whether you would like to add a password for an extra layer of security." + website="https://send.firefox.com/" + privacy-policy="https://send.firefox.com/legal" + forum="https://forum.privacytools.io/t/discussion-firefox-send/755" + github="https://github.com/mozilla/send" + web="https://send.firefox.com/" + googleplay="https://play.google.com/store/apps/details?id=org.mozilla.firefoxsend" %} {% include cardv2.html -title="OnionShare" -image="/assets/img/svg/3rd-party/onionshare.svg" -website="https://onionshare.org/" -tor="http://lldan5gahapx5k7iafb3s4ikijc4ni7gx5iywdflkba5y2ezyg6sjgyd.onion/" -description="OnionShare is an open-source tool that lets you securely and anonymously share a file of any size. It works by starting a web server accessible as a Tor onion service, with an unguessable URL that you can share with the recipients to download or send files." -forum="https://forum.privacytools.io/t/discussion-onionshare/754" -github="https://github.com/micahflee/onionshare" -windows="https://onionshare.org/#downloads" -mac="https://onionshare.org/#downloads" -linux="https://onionshare.org/#downloads" -freebsd="https://www.freshports.org/www/onionshare/" -openbsd="http://openports.se/net/onionshare" + title="OnionShare" + image="/assets/img/svg/3rd-party/onionshare.svg" + website="https://onionshare.org/" + tor="http://lldan5gahapx5k7iafb3s4ikijc4ni7gx5iywdflkba5y2ezyg6sjgyd.onion/" + description="OnionShare is an open-source tool that lets you securely and anonymously share a file of any size. It works by starting a web server accessible as a Tor onion service, with an unguessable URL that you can share with the recipients to download or send files." + forum="https://forum.privacytools.io/t/discussion-onionshare/754" + github="https://github.com/micahflee/onionshare" + windows="https://onionshare.org/#downloads" + mac="https://onionshare.org/#downloads" + linux="https://onionshare.org/#downloads" + freebsd="https://www.freshports.org/www/onionshare/" + openbsd="http://openports.se/net/onionshare" %} {% include cardv2.html -title="Magic Wormhole" -image="/assets/img/png/3rd-party/magic_wormhole.png" -website="https://magic-wormhole.readthedocs.io" -description="Magic Wormhole is a package that provides a library and a command-line tool named wormhole, which makes it possible to get arbitrary-sized files and directories (or short pieces of text) from one computer to another. Their motto: \"Get things from one computer to another, safely.\"" -forum="https://forum.privacytools.io/t/discussion-magic-wormhole/756" -github="https://github.com/warner/magic-wormhole" -windows="https://magic-wormhole.readthedocs.io/en/latest/welcome.html#installation" -mac="https://magic-wormhole.readthedocs.io/en/latest/welcome.html#installation" -linux="https://magic-wormhole.readthedocs.io/en/latest/welcome.html#installation" -freebsd="https://www.freshports.org/net/py-magic-wormhole/" -openbsd="https://pypi.org/project/magic-wormhole/" -netbsd="https://pypi.org/project/magic-wormhole/" + title="Magic Wormhole" + image="/assets/img/png/3rd-party/magic_wormhole.png" + website="https://magic-wormhole.readthedocs.io" + description="Magic Wormhole is a package that provides a library and a command-line tool named wormhole, which makes it possible to get arbitrary-sized files and directories (or short pieces of text) from one computer to another. Their motto: \"Get things from one computer to another, safely.\"" + forum="https://forum.privacytools.io/t/discussion-magic-wormhole/756" + github="https://github.com/warner/magic-wormhole" + windows="https://magic-wormhole.readthedocs.io/en/latest/welcome.html#installation" + mac="https://magic-wormhole.readthedocs.io/en/latest/welcome.html#installation" + linux="https://magic-wormhole.readthedocs.io/en/latest/welcome.html#installation" + freebsd="https://www.freshports.org/net/py-magic-wormhole/" + openbsd="https://pypi.org/project/magic-wormhole/" + netbsd="https://pypi.org/project/magic-wormhole/" %}

    Worth Mentioning

      -
    • FramaDrop - Stores a file of any size for 24h. Data is end-to-end encrypted from your browser, powered by LuFi.
    • +
    • FramaDrop - Stores a file of any size for 24h. Data is end-to-end encrypted from your browser, powered by LuFi. + {% include badge.html + color="warning" + icon="fas fa-exclamation-triangle" + link="https://framasoft.org/en/cgu/" + tooltip="FramaDrop logs IP addresses and fingerprints the browser for an unclear amount of time." + %} +
    • croc - Easily and securely send arbitrary-sized files from one computer to another. Similar to Magic Wormhole but without dependencies.
    • FreedomBox - Designed to be your own inexpensive server at home. It runs free software and offers an increasing number of services ranging from a calendar or XMPP server, to a wiki, or VPN.
    diff --git a/_includes/sections/live-operating-systems.html b/_includes/sections/live-operating-systems.html index f566b552..af0a1014 100644 --- a/_includes/sections/live-operating-systems.html +++ b/_includes/sections/live-operating-systems.html @@ -1,13 +1,13 @@

    PC Live Operating Systems

    {% include cardv2.html -title="Tails" -image="/assets/img/svg/3rd-party/tails.svg" -description='Tails is a live operating system that can boot on almost any computer from a DVD, USB stick, or SD card you control. It aims at preserving privacy and anonymity, and circumventing censorship by forcing Internet connections through the Tor network; leaving no trace on the computer; and using state-of-the-art cryptographic tools to encrypt files, emails, and instant messages.' -badges="info:GNU/Linux" -labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." -website="https://tails.boum.org/" -git="https://git-tails.immerda.ch/tails/" + title="Tails" + image="/assets/img/svg/3rd-party/tails.svg" + description='Tails is a live operating system that can boot on almost any computer from a DVD, USB stick, or SD card you control. It aims at preserving privacy and anonymity, and circumventing censorship by forcing Internet connections through the Tor network; leaving no trace on the computer; and using state-of-the-art cryptographic tools to encrypt files, emails, and instant messages.' + badges="info:GNU/Linux" + labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." + website="https://tails.boum.org/" + git="https://git-tails.immerda.ch/tails/" %}

    Worth Mentioning

    @@ -15,12 +15,19 @@ git="https://git-tails.immerda.ch/tails/"
    • Fedora Workstation - GNU/Linux + {% include badge.html + color="info" + text="GNU/Linux" + %} - Fedora is a Linux distribution developed by the Fedora Project and sponsored by Red Hat. Fedora Workstation is a secure, reliable, and user-friendly edition developed for desktops and laptops, using GNOME as the default desktop environment.
    • +
    • Debian - GNU/Linux + {% include badge.html + color="info" + text="GNU/Linux" + %} - Debian is a Unix-like computer operating system and a Linux distribution that is composed entirely of free and open-source software, most of which is under the GNU General Public License, and packaged by a group of individuals known as the Debian project.
    diff --git a/_includes/sections/mobile-operating-systems.html b/_includes/sections/mobile-operating-systems.html index f17d7ab8..91ba166d 100644 --- a/_includes/sections/mobile-operating-systems.html +++ b/_includes/sections/mobile-operating-systems.html @@ -5,42 +5,76 @@ {% include cardv2.html -title="GrapheneOS" -image="/assets/img/svg/3rd-party/grapheneos.svg" -image-dark="/assets/img/svg/3rd-party/grapheneos-dark.svg" -description='GrapheneOS (formerly known as CopperheadOS) is a free and open-source security- and privacy-focused mobile operating system built on top of the Android Open Source Project. It currently specifically targets devices offering strong hardware security.' -badges="info:AOSP" -labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." -website="https://grapheneos.org/" -github="https://github.com/GrapheneOS/" + title="GrapheneOS" + image="/assets/img/svg/3rd-party/grapheneos.svg" + image-dark="/assets/img/svg/3rd-party/grapheneos-dark.svg" + description='GrapheneOS (formerly known as CopperheadOS) is a free and open-source security- and privacy-focused mobile operating system built on top of the Android Open Source Project. It currently specifically targets devices offering strong hardware security.' + badges="info:AOSP" + labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." + website="https://grapheneos.org/" + github="https://github.com/GrapheneOS/" %} {% include cardv2.html -title="LineageOS" -image="/assets/img/svg/3rd-party/lineageos.svg" -description='LineageOS is a free and open-source operating system for smartphones and tablets, based on the official releases of the Android Open Source Project. It is the continuation of the CyanogenMod project.' -badges="info:AOSP" -labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." -website="https://www.lineageos.org/" -privacy-policy="https://www.lineageos.org/legal/" -github="https://github.com/LineageOS" + title="LineageOS" + image="/assets/img/svg/3rd-party/lineageos.svg" + description='LineageOS is a free and open-source operating system for smartphones and tablets, based on the official releases of the Android Open Source Project. It is the continuation of the CyanogenMod project.' + badges="info:AOSP" + labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." + website="https://www.lineageos.org/" + privacy-policy="https://www.lineageos.org/legal/" + github="https://github.com/LineageOS" %} {% include cardv2.html -title="Ubuntu Touch" -image="/assets/img/svg/3rd-party/ubuntu.svg" -description="Ubuntu Touch is a free and open-source operating system for smartphones and tablets. It's an alternative to the current popular mobile operating systems on the market. Only a few devices are supported." -badges="info:GNU/Linux" -labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." -website="https://ubuntu-touch.io/" -privacy-policy="https://ubports.com/privacy" -github="https://github.com/ubports" + title="Ubuntu Touch" + image="/assets/img/svg/3rd-party/ubuntu.svg" + description="Ubuntu Touch is a free and open-source operating system for smartphones and tablets. It's an alternative to the current popular mobile operating systems on the market. Only a few devices are supported." + badges="info:GNU/Linux" + labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." + website="https://ubuntu-touch.io/" + privacy-policy="https://ubports.com/privacy" + github="https://github.com/ubports" %}

    Worth Mentioning

      -
    • Replicant AOSP - An open-source operating system based on Android, aiming to replace all proprietary components with free software.
    • -
    • OmniROM AOSP contrib - A free-software operating system for smartphones and tablet computers, based on the Android mobile platform.
    • -
    • MicroG Add-on Package contrib - A project that aims to reimplement the proprietary Google Play Services in the Android operating system with a FLOSS replacement. The microG project also maintains a fork of LineageOS with microG and F-Droid preinstalled at Lineage for microG.
    • +
    • Replicant + {% include badge.html + color="info" + text="AOSP" + %} + - An open-source operating system based on Android, aiming to replace all proprietary components with free software. +
    • + +
    • + OmniROM + {% include badge.html + color="info" + text="AOSP" + %} + {% include badge.html + color="warning" + icon="far fa-question-circle" + text="contrib" + tooltip="This software may depend on or recommend non-free software." + %} + - A free-software operating system for smartphones and tablet computers, based on the Android mobile platform. +
    • + +
    • + MicroG + {% include badge.html + color="info" + text="Add-on Package" + %} + {% include badge.html + color="warning" + icon="far fa-question-circle" + text="contrib" + tooltip="This software may depend on or recommend non-free software." + %} + - A project that aims to reimplement the proprietary Google Play Services in the Android operating system with a FLOSS replacement. The microG project also maintains a fork of LineageOS with microG and F-Droid preinstalled at Lineage for microG. +
    diff --git a/_includes/sections/operating-systems.html b/_includes/sections/operating-systems.html index 487a432f..3f1209c7 100644 --- a/_includes/sections/operating-systems.html +++ b/_includes/sections/operating-systems.html @@ -7,44 +7,80 @@ {% include cardv2.html title="Qubes OS" image="/assets/img/svg/3rd-party/qubes_os.svg" -description='Qubes is an open-source operating system designed to provide strong security for desktop computing. Qubes is based on Xen, the X Window System, and Linux, and can run most Linux applications and utilize most of the Linux drivers.' -badges="info:Xen" -labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." -website="https://www.qubes-os.org/" -privacy-policy="https://www.qubes-os.org/privacy/" -github="https://github.com/QubesOS" -tor="http://qubesosfasa4zl44o4tws22di6kepyzfeqv3tg4e3ztknltfxqrymdad.onion/" + description='Qubes is an open-source operating system designed to provide strong security for desktop computing. Qubes is based on Xen, the X Window System, and Linux, and can run most Linux applications and utilize most of the Linux drivers.' + badges="info:Xen" + labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." + website="https://www.qubes-os.org/" + privacy-policy="https://www.qubes-os.org/privacy/" + github="https://github.com/QubesOS" + tor="http://qubesosfasa4zl44o4tws22di6kepyzfeqv3tg4e3ztknltfxqrymdad.onion/" %} {% include cardv2.html -title="Fedora Workstation" -image="/assets/img/svg/3rd-party/fedora.svg" -description='Fedora is a Linux distribution developed by the Fedora Project and sponsored by Red Hat. Fedora Workstation is a secure, reliable, and user-friendly edition developed for desktops and laptops, using GNOME as the default desktop environment.' -badges="info:GNU/Linux" -labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." -website="https://getfedora.org/" -privacy-policy="https://fedoraproject.org/wiki/Legal:PrivacyPolicy?rd=Legal/PrivacyPolicy" -git="https://src.fedoraproject.org/" + title="Fedora Workstation" + image="/assets/img/svg/3rd-party/fedora.svg" + description='Fedora is a Linux distribution developed by the Fedora Project and sponsored by Red Hat. Fedora Workstation is a secure, reliable, and user-friendly edition developed for desktops and laptops, using GNOME as the default desktop environment.' + badges="info:GNU/Linux" + labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." + website="https://getfedora.org/" + privacy-policy="https://fedoraproject.org/wiki/Legal:PrivacyPolicy?rd=Legal/PrivacyPolicy" + git="https://src.fedoraproject.org/" %} {% include cardv2.html -title="Debian" -image="/assets/img/svg/3rd-party/debian.svg" -description='Debian is a Unix-like computer operating system and a Linux distribution that is composed entirely of free and open-source software, most of which is under the GNU General Public License, and packaged by a group of individuals known as the Debian project.' -badges="info:GNU/Linux" -website="https://www.debian.org/" -privacy-policy="https://www.debian.org/legal/privacy" -tor="http://sejnfjrq6szgca7v.onion" -gitlab="https://salsa.debian.org/qa/debsources" + title="Debian" + image="/assets/img/svg/3rd-party/debian.svg" + description='Debian is a Unix-like computer operating system and a Linux distribution that is composed entirely of free and open-source software, most of which is under the GNU General Public License, and packaged by a group of individuals known as the Debian project.' + badges="info:GNU/Linux" + website="https://www.debian.org/" + privacy-policy="https://www.debian.org/legal/privacy" + tor="http://sejnfjrq6szgca7v.onion" + gitlab="https://salsa.debian.org/qa/debsources" %}

    Worth Mentioning

      -
    • OpenBSD BSD - A project that produces a free, multi-platform 4.4BSD-based UNIX-like operating system. Emphasizes portability, standardization, correctness, proactive security and integrated cryptography.
    • -
    • Arch Linux GNU/Linux contrib - A simple, lightweight Linux distribution. It is composed predominantly of free and open-source software, and supports community involvement. Parabola is a - completely open source version of Arch Linux.
    • -
    • Trisquel GNU/Linux - Derived from Ubuntu, this project aims for a fully free software system without proprietary software or firmware and uses Linux-libre, a version of the Linux kernel with the non-free code (binary blobs) removed.
    • -
    • Whonix GNU/Linux - A Debian-based security-focused Linux distribution. It aims to provide privacy, security and anonymity on the internet. The operating system consists of two virtual machines, a "Workstation" - and a Tor "Gateway". All communication are forced through the Tor network to accomplish this.
    • +
    • OpenBSD + {% include badge.html + color="info" + text="BSD" + %} + - A project that produces a free, multi-platform 4.4BSD-based UNIX-like operating system. Emphasizes portability, standardization, correctness, proactive security and integrated cryptography. +
    • + +
    • + Arch Linux + {% include badge.html + color="info" + text="GNU/Linux" + %} + {% include badge.html + color="warning" + icon="far fa-question-circle" + text="contrib" + tooltip="This software may depend on or recommend non-free software." + %} + - A simple, lightweight Linux distribution. It is composed predominantly of free and open-source software, and supports community involvement. Parabola is a + completely open source version of Arch Linux. +
    • + +
    • + Trisquel + {% include badge.html + color="info" + text="GNU/Linux" + %} + - Derived from Ubuntu, this project aims for a fully free software system without proprietary software or firmware and uses Linux-libre, a version of the Linux kernel with the non-free code (binary blobs) removed. +
    • + +
    • + Whonix + {% include badge.html + color="info" + text="GNU/Linux" + %} + - A Debian-based security-focused Linux distribution. It aims to provide privacy, security and anonymity on the internet. The operating system consists of two virtual machines, a "Workstation" + and a Tor "Gateway". All communication are forced through the Tor network to accomplish this. +
    diff --git a/_includes/sections/router-firmware.html b/_includes/sections/router-firmware.html index cb19f6d5..c2dbea93 100644 --- a/_includes/sections/router-firmware.html +++ b/_includes/sections/router-firmware.html @@ -1,41 +1,62 @@

    Open Source Router Firmware

    {% include cardv2.html -title="OpenWrt" -image="/assets/img/svg/3rd-party/openwrt.svg" -image-dark="/assets/img/svg/3rd-party/openwrt-dark.svg" -description="OpenWrt is an operating system (in particular, an embedded operating system) based on the Linux kernel, primarily used on embedded devices to route network traffic. The main components are the Linux kernel, util-linux, uClibc and BusyBox. All components have been optimized for size, to be small enough for fitting into the limited storage and memory available in home routers." -badges="info:Linux" -labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." -website="https://openwrt.org/" -git="https://git.openwrt.org/" + title="OpenWrt" + image="/assets/img/svg/3rd-party/openwrt.svg" + image-dark="/assets/img/svg/3rd-party/openwrt-dark.svg" + description="OpenWrt is an operating system (in particular, an embedded operating system) based on the Linux kernel, primarily used on embedded devices to route network traffic. The main components are the Linux kernel, util-linux, uClibc and BusyBox. All components have been optimized for size, to be small enough for fitting into the limited storage and memory available in home routers." + badges="info:Linux" + labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." + website="https://openwrt.org/" + git="https://git.openwrt.org/" %} {% include cardv2.html -title="pfSense" -image="/assets/img/svg/3rd-party/pfsense.svg" -image-dark="/assets/img/svg/3rd-party/pfsense-dark.svg" -description="pfSense is an open source firewall/router computer software distribution based on FreeBSD. It is installed on a computer to make a dedicated firewall/router for a network and is noted for its reliability and offering features often only found in expensive commercial firewalls. pfSense is commonly deployed as a perimeter firewall, router, wireless access point, DHCP server, DNS server, and as a VPN endpoint." -badges="info:BSD" -labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." -website="https://www.pfsense.org/" -privacy-policy="https://www.pfsense.org/privacy.html" -github="https://github.com/pfsense/" + title="pfSense" + image="/assets/img/svg/3rd-party/pfsense.svg" + image-dark="/assets/img/svg/3rd-party/pfsense-dark.svg" + description="pfSense is an open source firewall/router computer software distribution based on FreeBSD. It is installed on a computer to make a dedicated firewall/router for a network and is noted for its reliability and offering features often only found in expensive commercial firewalls. pfSense is commonly deployed as a perimeter firewall, router, wireless access point, DHCP server, DNS server, and as a VPN endpoint." + badges="info:BSD" + labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." + website="https://www.pfsense.org/" + privacy-policy="https://www.pfsense.org/privacy.html" + github="https://github.com/pfsense/" %} {% include cardv2.html -title="LibreCMC" -image="/assets/img/svg/3rd-party/librecmc.svg" -image-dark="/assets/img/svg/3rd-party/librecmc-dark.svg" -description="LibreCMC is a GNU/Linux-libre distribution for computers with minimal resources, such as the Ben Nanonote, ath9k-based Wi-Fi routers, and other hardware with emphasis on free software. The project's current goal is to aim for compliance with the GNU Free System Distribution Guidelines (GNU FSDG) and ensure that the project continues to meet these requirements set forth by the Free Software Foundation (FSF)." -badges="info:GNU/Linux" -website="https://librecmc.org" -git="https://gogs.librecmc.org/libreCMC/libreCMC" + title="LibreCMC" + image="/assets/img/svg/3rd-party/librecmc.svg" + image-dark="/assets/img/svg/3rd-party/librecmc-dark.svg" + description="LibreCMC is a GNU/Linux-libre distribution for computers with minimal resources, such as the Ben Nanonote, ath9k-based Wi-Fi routers, and other hardware with emphasis on free software. The project's current goal is to aim for compliance with the GNU Free System Distribution Guidelines (GNU FSDG) and ensure that the project continues to meet these requirements set forth by the Free Software Foundation (FSF)." + badges="info:GNU/Linux" + website="https://librecmc.org" + git="https://gogs.librecmc.org/libreCMC/libreCMC" %}

    Worth Mentioning

      -
    • OpenBSD BSD - A project that produces a free, multi-platform 4.4BSD-based UNIX-like operating system. Emphasizes portability, standardization, correctness, proactive security and integrated cryptography.
    • -
    • DD-WRT Linux contrib - A Linux-based open-source firmware compatible with several models of routers and access points.
    • +
    • + OpenBSD + {% include badge.html + color="info" + text="BSD" + %} + - A project that produces a free, multi-platform 4.4BSD-based UNIX-like operating system. Emphasizes portability, standardization, correctness, proactive security and integrated cryptography. +
    • + +
    • + DD-WRT + {% include badge.html + color="info" + text="GNU/Linux" + %} + {% include badge.html + color="warning" + icon="far fa-question-circle" + text="contrib" + tooltip="This software may depend on or recommend non-free software." + %} + - A Linux-based open-source firmware compatible with several models of routers and access points. +
    diff --git a/_includes/sections/voice-video-messenger.html b/_includes/sections/voice-video-messenger.html index 4c6ec899..e39d9ffc 100644 --- a/_includes/sections/voice-video-messenger.html +++ b/_includes/sections/voice-video-messenger.html @@ -39,17 +39,24 @@ ios="https://apps.apple.com/us/app/mumble/id443472808?ls=1"
    • Jitsi Meet - Jitsi Meet is a free and open-source multiplatform voice (VoIP), video conferencing, and instant messaging application. - Requires WebRTC - - - Multiparty meetings are not E2EE - + + {% include badge.html + color="warning" + icon="fas fa-exclamation-triangle" + text="Requires WebRTC" + tooltip="Our Firefox tweaks recommend disabling WebRTC as it can be used to leak your IP address even behind a VPN, which is why Tor Browser disables it." + %} + + {% include badge.html + color="warning" + icon="fas fa-exclamation-triangle" + link="https://jitsi.org/security" + text="Multiparty meetings are not E2EE" + %} + See also list of public Jitsi Meet instances.
    -

    Related Information

      diff --git a/pages/providers/dns.html b/pages/providers/dns.html index db65a9d9..3c8718d9 100644 --- a/pages/providers/dns.html +++ b/pages/providers/dns.html @@ -13,10 +13,21 @@ breadcrumb: "DNS"
      • DNS-over-TLS (DoT) - A security protocol for encrypted DNS on a dedicated port 853. Some providers support port 443 which generally works everywhere while port 853 is often blocked by restrictive firewalls. DoT has two modes:
        • -
        • Oppurtunistic mode: the client attempts to form a DNS-over-TLS connection to the server on port 853 without performing certificate validation. If it fails, it will use unencrypted DNS.
        • +
        • Oppurtunistic mode: the client attempts to form a DNS-over-TLS connection to the server on port 853 without performing certificate validation. If it fails, it will use unencrypted DNS. + {% include badge.html + color="warning" + icon="fas fa-exclamation-triangle" + tooltip="In other words automatic mode leaves your DNS traffic vulnerable to SSL strip and MITM attacks." + %}
        • Strict mode: the client connects to a specific hostname and performs certificate validation for it. If it fails, no DNS queries are made until it succeeds.
        -
      • DNS-over-HTTPS (DoH) - Similar to DoT, but uses HTTPS instead, being indistinguishable from "normal" HTTPS traffic on port 443.
      • +
      • DNS-over-HTTPS (DoH) - Similar to DoT, but uses HTTPS instead, being indistinguishable from "normal" HTTPS traffic on port 443. + {% include badge.html + color="warning" + icon="fas fa-exclamation-triangle" + link="https://tools.ietf.org/html/rfc8484#section-8.2" + tooltip="DoH contains metadata such as user-agent (which may include system information) that is sent to the DNS server." + %}
      • DNSCrypt - An older yet robust method of encrypting DNS.
      @@ -25,9 +36,20 @@ breadcrumb: "DNS"
      • DoH / DoT
          -
        • Check DNSLeakTest.com.
        • +
        • Check DNSLeakTest.com. + {% include badge.html + color="warning" + icon="fas fa-exclamation-triangle" + tooltip="Your DNS provider may not appear with their own name, so compare the responses to what you know or can find about your DNS provider. Just ensure you don't see your ISP or old unencrypted DNS provider." + %}
        • Check the website of your DNS provider. They may have a page for telling "you are using our DNS." Examples include AdGuard and Cloudflare.
        • -
        • If using Firefox's trusted recursive resolver (TRR), navigate to about:networking#dns. If the TRR column says "true" for some fields, you are using DoH.
        • +
        • If using Firefox's trusted recursive resolver (TRR), navigate to about:networking#dns. If the TRR column says "true" for some fields, you are using DoH. + {% include badge.html + color="warning" + icon="fas fa-exclamation-triangle" + link="https://wiki.mozilla.org/Trusted_Recursive_Resolver" + tooltip="Some fields will say 'false' depending on the the value of network.trr.mode in about:config" + %}
      • dnscrypt-proxy - Check dnscrypt-proxy's wiki on how to verify that your DNS is encrypted.
      • @@ -40,7 +62,14 @@ breadcrumb: "DNS"
        • Encrypted DNS clients for desktop:
            -
          • Firefox comes with built-in DoH support with Cloudflare set as the default resolver, but can be configured to use any DoH resolver. Currently Mozilla is conducting studies before enabling DoH by default for all US-based Firefox users.
          • +
          • Firefox comes with built-in DoH support with Cloudflare set as the default resolver, but can be configured to use any DoH resolver. + {% include badge.html + color="warning" + icon="fas fa-exclamation-triangle" + link="https://developers.cloudflare.com/1.1.1.1/commitment-to-privacy/privacy-policy/firefox/" + tooltip=""Cloudflare has agreed to collect only a limited amount of data about the DNS requests that are sent to the Cloudflare Resolver for Firefox via the Firefox browser."" + %} + Currently Mozilla is conducting studies before enabling DoH by default for all US-based Firefox users.
            • DNS over HTTPS can be enabled in Menu -> Preferences (about:preferences) -> Network Settings -> Enable DNS over HTTPS. Set "Use Provider" to "Custom", and enter your DoH provider's address.
            • Advanced users may enable it in about:config by setting network.trr.custom_uri and network.trr.uri as the address you find from the documentation of your DoH provider and network.trr.mode as 2. It may also be desirable to set network.security.esni.enabled to True in order to enable encrypted SNI and make sites supporting ESNI a bit more difficult to track.
            • @@ -49,9 +78,20 @@ breadcrumb: "DNS"
            • Encrypted DNS clients for mobile:
                -
              • Android 9 comes with a DoT client by default.
              • +
              • Android 9 comes with a DoT client by default. + {% include badge.html + color="warning" + icon="fas fa-exclamation-triangle" + link="https://www.quad9.net/private-dns-quad9-android9/" + tooltip="...but with some caveats" + %}
                • -
                • We recommend selecting Private DNS provider hostname and entering the DoT address from documentation of your DoT provider to enable strict mode (see Terms above).
                • +
                • We recommend selecting Private DNS provider hostname and entering the DoT address from documentation of your DoT provider to enable strict mode (see Terms above). + {% include badge.html + color="warning" + icon="fas fa-exclamation-triangle" + tooltip="If you are on a network blocking access to port 853, Android will error about the network not having internet connectivity." + %}
              • DNSCloak - An open-source DNSCrypt and DoH client for iOS by
    the Center for the Cultivation of Technology gemeinnuetzige GmbH.
  • Nebulo - An open-source application for Android supporting DoH and DoT. It also supports caching DNS responses and locally logging DNS queries.
  • -- 2.47.2 From 729c96fe91639cb7c75d2a61a196c03bee18567a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20=C5=A0?= Date: Sat, 16 May 2020 11:03:50 +0200 Subject: [PATCH 050/173] Add warning to Keybase products (#1913) --- _includes/sections/cloud-storage.html | 38 +++++++++++------------ _includes/sections/instant-messenger.html | 2 +- _includes/sections/teamchat.html | 2 +- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/_includes/sections/cloud-storage.html b/_includes/sections/cloud-storage.html index ec9a2081..ff1645cc 100644 --- a/_includes/sections/cloud-storage.html +++ b/_includes/sections/cloud-storage.html @@ -4,25 +4,6 @@ If you are currently using Dropbox, Google Drive, Microsoft OneDrive or Apple iCloud, you should pick an alternative here. -{% - include cardv2.html - title="Keybase KBFS" - image="/assets/img/svg/3rd-party/keybase.svg" - description='Keybase provides 250GB of E2EE cloud storage for free. Its protocol has also been indepedently audited (PDF). Keybase allows you to share files with any Keybase user, or social media user through the use of "identity proofs". They currently do not offer additional space above your quota.' - labels="color==warning::icon==fas fa-exclamation-triangle::link==https://github.com/keybase/client/issues/6374::text==Warning::tooltip==This software relies on a closed-source central server." - website="https://book.keybase.io/docs/files" - privacy-policy="https://keybase.io/docs/privacypolicy" - forum="https://forum.privacytools.io/t/discussion-keybase/1224" - tor="http://keybase5wmilwokqirssclfnsqrjdsi7jdir5wy7y7iu3tanwmtp6oid.onion/" - github="https://github.com/keybase/client/tree/master/go/kbfs" - windows="https://keybase.io/docs/the_app/install_windows" - mac="https://keybase.io/docs/the_app/install_macos" - linux="https://keybase.io/docs/the_app/install_linux" - freebsd="https://www.freshports.org/security/keybase/" - googleplay="https://play.google.com/store/apps/details?id=io.keybase.ossifrage" - ios="https://apps.apple.com/app/keybase-crypto-for-everyone/id1044461770" -%} - {% include cardv2.html title="Nextcloud - Choose your hoster" image="/assets/img/svg/3rd-party/nextcloud.svg" @@ -43,6 +24,25 @@ github="https://github.com/nextcloud" %} +{% + include cardv2.html + title="Keybase KBFS" + image="/assets/img/svg/3rd-party/keybase.svg" + description='Keybase provides 250GB of E2EE cloud storage for free. Its protocol has also been indepedently audited (PDF). Keybase allows you to share files with any Keybase user, or social media user through the use of "identity proofs". They currently do not offer additional space above your quota.' + labels="color==warning::link==https://github.com/keybase/client/issues/6374::text==Warning::tooltip==This software relies on a closed-source central server.| color==info::link==https://github.com/privacytools/privacytools.io/issues/1894::text==Ownership change::tooltip==Keybase has recently been acquired by Zoom." + website="https://book.keybase.io/docs/files" + privacy-policy="https://keybase.io/docs/privacypolicy" + forum="https://forum.privacytools.io/t/discussion-keybase/1224" + tor="http://keybase5wmilwokqirssclfnsqrjdsi7jdir5wy7y7iu3tanwmtp6oid.onion/" + github="https://github.com/keybase/client/tree/master/go/kbfs" + windows="https://keybase.io/docs/the_app/install_windows" + mac="https://keybase.io/docs/the_app/install_macos" + linux="https://keybase.io/docs/the_app/install_linux" + freebsd="https://www.freshports.org/security/keybase/" + googleplay="https://play.google.com/store/apps/details?id=io.keybase.ossifrage" + ios="https://apps.apple.com/app/keybase-crypto-for-everyone/id1044461770" +%} +

    Worth Mentioning

    diff --git a/_includes/sections/instant-messenger.html b/_includes/sections/instant-messenger.html index 1fa5a774..2ed4eed9 100644 --- a/_includes/sections/instant-messenger.html +++ b/_includes/sections/instant-messenger.html @@ -42,7 +42,7 @@ title="Keybase" image="/assets/img/svg/3rd-party/keybase.svg" description='Keybase provides a hosted team chat with E2EE. Its protocol has also been indepedently audited (PDF). Keybase can help you prove you own social media accounts though the use of cryptographic signing of "identity proofs".' - labels="color==warning::link==https://github.com/keybase/client/issues/6374::text==Warning::tooltip==This software relies on a closed-source central server." + labels="color==warning::link==https://github.com/keybase/client/issues/6374::text==Warning::tooltip==This software relies on a closed-source central server.| color==info::link==https://github.com/privacytools/privacytools.io/issues/1894::text==Ownership change::tooltip==Keybase has recently been acquired by Zoom." website="https://keybase.io/" privacy-policy="https://keybase.io/docs/privacypolicy" forum="https://forum.privacytools.io/t/discussion-keybase/1224" diff --git a/_includes/sections/teamchat.html b/_includes/sections/teamchat.html index c0b31e45..fc3e3d12 100644 --- a/_includes/sections/teamchat.html +++ b/_includes/sections/teamchat.html @@ -50,7 +50,7 @@ title="Keybase" image="/assets/img/svg/3rd-party/keybase.svg" description='Keybase provides a hosted team chat with E2EE. Its protocol has also been indepedently audited (PDF). Keybase can help you prove you own social media accounts through the use of cryptographic signing of "identity proofs".' - labels="color==warning::link==https://github.com/keybase/client/issues/6374::text==Warning::tooltip==This software relies on a closed-source central server." + labels="color==warning::link==https://github.com/keybase/client/issues/6374::text==Warning::tooltip==This software relies on a closed-source central server.| color==info::link==https://github.com/privacytools/privacytools.io/issues/1894::text==Ownership change::tooltip==Keybase has recently been acquired by Zoom." website="https://keybase.io/" privacy-policy="https://keybase.io/docs/privacypolicy" forum="https://forum.privacytools.io/t/discussion-keybase/1224" -- 2.47.2 From d4b86b25c98304d098cacdb2a2ad4c6cdf73be6d Mon Sep 17 00:00:00 2001 From: Daniel Nathan Gray Date: Sun, 17 May 2020 16:05:31 +0000 Subject: [PATCH 051/173] Fixed missing oldstyle badge and indenting (#1923) --- _includes/sections/voice-video-messenger.html | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/_includes/sections/voice-video-messenger.html b/_includes/sections/voice-video-messenger.html index e39d9ffc..a05c30e2 100644 --- a/_includes/sections/voice-video-messenger.html +++ b/_includes/sections/voice-video-messenger.html @@ -1,37 +1,37 @@

    Video/Voice Calling

    {% include cardv2.html -title="Linphone" -image="/assets/img/svg/3rd-party/linphone.svg" -website="https://www.linphone.org/" -privacy-policy="https://www.linphone.org/terms-and-privacy" -description="Linphone is an open-source SIP Phone and a free voice over IP service, available on mobile and desktop environments and on web browsers. It supports ZRTP for end-to-end encrypted voice and video communication." -forum="https://forum.privacytools.io/t/discussion-linphone/751" -github="https://github.com/BelledonneCommunications" -windows="https://www.linphone.org/technical-corner/linphone?qt-technical_corner=2#qt-technical_corner" -linux="https://www.linphone.org/technical-corner/linphone?qt-technical_corner=2#qt-technical_corner" -mac="https://www.linphone.org/technical-corner/linphone?qt-technical_corner=2#qt-technical_corner" -fdroid="https://f-droid.org/packages/org.linphone" -googleplay="https://play.google.com/store/apps/details?id=org.linphone" -ios="https://itunes.apple.com/us/app/linphone/id360065638?mt=8" + title="Linphone" + image="/assets/img/svg/3rd-party/linphone.svg" + website="https://www.linphone.org/" + privacy-policy="https://www.linphone.org/terms-and-privacy" + description="Linphone is an open-source SIP Phone and a free voice over IP service, available on mobile and desktop environments and on web browsers. It supports ZRTP for end-to-end encrypted voice and video communication." + forum="https://forum.privacytools.io/t/discussion-linphone/751" + github="https://github.com/BelledonneCommunications" + windows="https://www.linphone.org/technical-corner/linphone?qt-technical_corner=2#qt-technical_corner" + linux="https://www.linphone.org/technical-corner/linphone?qt-technical_corner=2#qt-technical_corner" + mac="https://www.linphone.org/technical-corner/linphone?qt-technical_corner=2#qt-technical_corner" + fdroid="https://f-droid.org/packages/org.linphone" + googleplay="https://play.google.com/store/apps/details?id=org.linphone" + ios="https://itunes.apple.com/us/app/linphone/id360065638?mt=8" %} {% include cardv2.html -title="Mumble" -image="/assets/img/svg/3rd-party/mumble.svg" -website="https://mumble.info/" -description="Mumble is an open-source, low-latency, and high quality voice chat application primarily intended for use while gaming. Note that while Mumble doesn't log messages or record by default, it's missing end-to-end encryption, so self-hosting is recommended." -forum="https://forum.privacytools.io/t/discussion-mumble/1289" -github="https://github.com/mumble-voip/" -windows="https://www.mumble.info/downloads" -linux="https://www.mumble.info/downloads" -mac="https://www.mumble.info/downloads" -android="https://www.mumble.info/downloads/#third-party-clients" -ios="https://apps.apple.com/us/app/mumble/id443472808?ls=1" + title="Mumble" + image="/assets/img/svg/3rd-party/mumble.svg" + website="https://mumble.info/" + description="Mumble is an open-source, low-latency, and high quality voice chat application primarily intended for use while gaming. Note that while Mumble doesn't log messages or record by default, it's missing end-to-end encryption, so self-hosting is recommended." + forum="https://forum.privacytools.io/t/discussion-mumble/1289" + github="https://github.com/mumble-voip/" + windows="https://www.mumble.info/downloads" + linux="https://www.mumble.info/downloads" + mac="https://www.mumble.info/downloads" + android="https://www.mumble.info/downloads/#third-party-clients" + ios="https://apps.apple.com/us/app/mumble/id443472808?ls=1" %}

    Worth Mentioning

    -- 2.47.2 From c299f2f18cc495e667030bd7fb8afd29a3d85e29 Mon Sep 17 00:00:00 2001 From: Daniel Nathan Gray Date: Thu, 21 May 2020 02:50:05 +0000 Subject: [PATCH 052/173] Update other old badges and fix indenting (#1924) --- _includes/sections/browser-addons.html | 216 +++++++++--------- .../sections/browser-recommendation.html | 175 +++++++------- _includes/sections/email-clients.html | 50 ++-- _includes/sections/email-providers.html | 112 ++++----- _includes/sections/hosting-provider.html | 52 ++--- _includes/sections/notebooks.html | 82 +++---- _includes/sections/operating-systems.html | 4 +- _includes/sections/search-engines.html | 64 +++--- .../sections/self-contained-networks.html | 134 ++++++----- _includes/sections/social-networks.html | 112 ++++----- _includes/sections/vpn.html | 60 ++--- pages/providers/email.html | 14 +- pages/providers/vpn.html | 44 ++-- 13 files changed, 580 insertions(+), 539 deletions(-) diff --git a/_includes/sections/browser-addons.html b/_includes/sections/browser-addons.html index ceae0b59..4d880754 100644 --- a/_includes/sections/browser-addons.html +++ b/_includes/sections/browser-addons.html @@ -5,56 +5,56 @@ {% include cardv2.html -title="uBlock Origin: Block Ads and Trackers" -image="/assets/img/svg/3rd-party/ublock_origin.svg" -description="uBlock Origin is an efficient wide-spectrum blocker that is easy on memory, and yet can load and enforce thousands more filters than other popular blockers out there. It has no monetization strategy and is completely open source." -website="https://addons.mozilla.org/firefox/addon/ublock-origin/" -privacy-policy="https://github.com/gorhill/uBlock/wiki/Privacy-policy" -forum="https://forum.privacytools.io/t/discussion-ublock-origin/266" -github="https://github.com/gorhill/uBlock/" -firefox="https://addons.mozilla.org/firefox/addon/ublock-origin/" -chrome="https://chrome.google.com/webstore/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm" -opera="https://addons.opera.com/en/extensions/details/ublock/" -edge="https://www.microsoft.com/en-us/p/ublock-origin/9nblggh444l4" + title="uBlock Origin: Block Ads and Trackers" + image="/assets/img/svg/3rd-party/ublock_origin.svg" + description="uBlock Origin is an efficient wide-spectrum blocker that is easy on memory, and yet can load and enforce thousands more filters than other popular blockers out there. It has no monetization strategy and is completely open source." + website="https://addons.mozilla.org/firefox/addon/ublock-origin/" + privacy-policy="https://github.com/gorhill/uBlock/wiki/Privacy-policy" + forum="https://forum.privacytools.io/t/discussion-ublock-origin/266" + github="https://github.com/gorhill/uBlock/" + firefox="https://addons.mozilla.org/firefox/addon/ublock-origin/" + chrome="https://chrome.google.com/webstore/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm" + opera="https://addons.opera.com/en/extensions/details/ublock/" + edge="https://www.microsoft.com/en-us/p/ublock-origin/9nblggh444l4" %} {% include cardv2.html -title="HTTPS Everywhere: Secure Connections" -image="/assets/img/svg/3rd-party/https_everywhere.svg" -description="HTTPS Everywhere enables encryption of your connections to many major websites, making your browsing more secure. It is a collaboration between The Tor Project and the Electronic Frontier Foundation." -website="https://www.eff.org/https-everywhere" -privacy-policy="https://www.eff.org/code/privacy/policy" -forum="https://forum.privacytools.io/t/discussion-https-everywhere/268" -github="https://github.com/EFForg/https-everywhere" -firefox="https://addons.mozilla.org/firefox/addon/https-everywhere" -chrome="https://chrome.google.com/webstore/detail/https-everywhere/gcbommkclmclpchllfjekcdonpmejbdp" -opera="https://addons.opera.com/en/extensions/details/https-everywhere" + title="HTTPS Everywhere: Secure Connections" + image="/assets/img/svg/3rd-party/https_everywhere.svg" + description="HTTPS Everywhere enables encryption of your connections to many major websites, making your browsing more secure. It is a collaboration between The Tor Project and the Electronic Frontier Foundation." + website="https://www.eff.org/https-everywhere" + privacy-policy="https://www.eff.org/code/privacy/policy" + forum="https://forum.privacytools.io/t/discussion-https-everywhere/268" + github="https://github.com/EFForg/https-everywhere" + firefox="https://addons.mozilla.org/firefox/addon/https-everywhere" + chrome="https://chrome.google.com/webstore/detail/https-everywhere/gcbommkclmclpchllfjekcdonpmejbdp" + opera="https://addons.opera.com/en/extensions/details/https-everywhere" %} {% include cardv2.html -title="Decentraleyes: Block Content Delivery Networks" -image="/assets/img/svg/3rd-party/decentraleyes.svg" -description="Decentraleyes emulates Content Delivery Networks locally by intercepting requests, finding the required resource, and injecting it into the environment. This all happens instantaneously, automatically, and no prior configuration is required." -website="https://decentraleyes.org/" -privacy-policy="https://decentraleyes.org/privacy-policy/" -forum="https://forum.privacytools.io/t/discussion-decentraleyes/269" -gitlab="https://git.synz.io/Synzvato/decentraleyes" -firefox="https://addons.mozilla.org/firefox/addon/decentraleyes" -chrome="https://chrome.google.com/webstore/detail/decentraleyes/ldpochfccmkkmhdbclfhpagapcfdljkj" -opera="https://addons.opera.com/extensions/details/decentraleyes" + title="Decentraleyes: Block Content Delivery Networks" + image="/assets/img/svg/3rd-party/decentraleyes.svg" + description="Decentraleyes emulates Content Delivery Networks locally by intercepting requests, finding the required resource, and injecting it into the environment. This all happens instantaneously, automatically, and no prior configuration is required." + website="https://decentraleyes.org/" + privacy-policy="https://decentraleyes.org/privacy-policy/" + forum="https://forum.privacytools.io/t/discussion-decentraleyes/269" + gitlab="https://git.synz.io/Synzvato/decentraleyes" + firefox="https://addons.mozilla.org/firefox/addon/decentraleyes" + chrome="https://chrome.google.com/webstore/detail/decentraleyes/ldpochfccmkkmhdbclfhpagapcfdljkj" + opera="https://addons.opera.com/extensions/details/decentraleyes" %} {% include cardv2.html -title="ClearURLs" -image="/assets/img/svg/3rd-party/clearurls.svg" -description="ClearURLs will automatically remove tracking elements from URLs to help protect your privacy when browse through the Internet." -website="https://gitlab.com/KevinRoebert/ClearUrls" -privacy-policy="https://gitlab.com/KevinRoebert/ClearUrls/-/blob/master/PRIVACY.md" -forum="https://forum.privacytools.io/t/discussion-clearurls/3353" -gitlab="https://gitlab.com/KevinRoebert/ClearUrls" -firefox="https://addons.mozilla.org/firefox/addon/clearurls/" -chrome="https://chrome.google.com/webstore/detail/clearurls/lckanjgmijmafbedllaakclkaicjfmnk" -edge="https://microsoftedge.microsoft.com/addons/detail/mdkdmaickkfdekbjdoojfalpbkgaddei" + title="ClearURLs" + image="/assets/img/svg/3rd-party/clearurls.svg" + description="ClearURLs will automatically remove tracking elements from URLs to help protect your privacy when browse through the Internet." + website="https://gitlab.com/KevinRoebert/ClearUrls" + privacy-policy="https://gitlab.com/KevinRoebert/ClearUrls/-/blob/master/PRIVACY.md" + forum="https://forum.privacytools.io/t/discussion-clearurls/3353" + gitlab="https://gitlab.com/KevinRoebert/ClearUrls" + firefox="https://addons.mozilla.org/firefox/addon/clearurls/" + chrome="https://chrome.google.com/webstore/detail/clearurls/lckanjgmijmafbedllaakclkaicjfmnk" + edge="https://microsoftedge.microsoft.com/addons/detail/mdkdmaickkfdekbjdoojfalpbkgaddei" %}

    Additional Functionality

    @@ -64,27 +64,27 @@ edge="https://microsoftedge.microsoft.com/addons/detail/mdkdmaickkfdekbjdoojfalp {% include cardv2.html -title="Terms of Service; Didn’t Read: Be Informed" -image="/assets/img/svg/3rd-party/terms_of_service_didnt_read.svg" -description='Terms of Service; Didn’t Read is an addon that believes "I have read and agree to the Terms of Service" is the biggest lie on the web, and wants to fix it by grading websites based on their terms of service agreements and privacy policies. It also gives short summaries of those agreements. The analysis and ratings are published transparently by a community of reviewers.' -website="https://tosdr.org/" -privacy-policy="https://addons.mozilla.org/firefox/addon/terms-of-service-didnt-read/privacy/" -forum="https://forum.privacytools.io/t/discussion-terms-of-service-didn-t-read/270" -github="https://github.com/tosdr/" -firefox="https://addons.mozilla.org/firefox/addon/terms-of-service-didnt-read/" -chrome="https://chrome.google.com/webstore/detail/terms-of-service-didn%E2%80%99t-r/hjdoplcnndgiblooccencgcggcoihigg" -opera="https://addons.opera.com/extensions/details/terms-of-service-didnt-read" + title="Terms of Service; Didn’t Read: Be Informed" + image="/assets/img/svg/3rd-party/terms_of_service_didnt_read.svg" + description='Terms of Service; Didn’t Read is an addon that believes "I have read and agree to the Terms of Service" is the biggest lie on the web, and wants to fix it by grading websites based on their terms of service agreements and privacy policies. It also gives short summaries of those agreements. The analysis and ratings are published transparently by a community of reviewers.' + website="https://tosdr.org/" + privacy-policy="https://addons.mozilla.org/firefox/addon/terms-of-service-didnt-read/privacy/" + forum="https://forum.privacytools.io/t/discussion-terms-of-service-didn-t-read/270" + github="https://github.com/tosdr/" + firefox="https://addons.mozilla.org/firefox/addon/terms-of-service-didnt-read/" + chrome="https://chrome.google.com/webstore/detail/terms-of-service-didn%E2%80%99t-r/hjdoplcnndgiblooccencgcggcoihigg" + opera="https://addons.opera.com/extensions/details/terms-of-service-didnt-read" %} {% include cardv2.html -title="Snowflake" -image="/assets/img/svg/3rd-party/snowflake.svg" -description="Snowflake is a new pluggable transport from the Tor Project. If you have an uncensored connection, running this extension volunteers your connection to be used as a Snowflake proxy to help users unable to connect to the Tor network. Your IP will not be visible to the sites users visit using your proxy, as this extension will not make you an exit node. If your access to the Tor network is blocked, this extension will not assist you, and you should use the Tor Browser instead. Note: This add-on does not work with WebRTC disabled." -website="https://snowflake.torproject.org" -forum="https://forum.privacytools.io/t/discussion-snowflake/1146" -git="https://gitweb.torproject.org/pluggable-transports/snowflake.git" -firefox="https://addons.mozilla.org/firefox/addon/torproject-snowflake" -chrome="https://chrome.google.com/webstore/detail/snowflake/mafpmfcccpbjnhfhjnllmmalhifmlcie" + title="Snowflake" + image="/assets/img/svg/3rd-party/snowflake.svg" + description="Snowflake is a new pluggable transport from the Tor Project. If you have an uncensored connection, running this extension volunteers your connection to be used as a Snowflake proxy to help users unable to connect to the Tor network. Your IP will not be visible to the sites users visit using your proxy, as this extension will not make you an exit node. If your access to the Tor network is blocked, this extension will not assist you, and you should use the Tor Browser instead. Note: This add-on does not work with WebRTC disabled." + website="https://snowflake.torproject.org" + forum="https://forum.privacytools.io/t/discussion-snowflake/1146" + git="https://gitweb.torproject.org/pluggable-transports/snowflake.git" + firefox="https://addons.mozilla.org/firefox/addon/torproject-snowflake" + chrome="https://chrome.google.com/webstore/detail/snowflake/mafpmfcccpbjnhfhjnllmmalhifmlcie" %}

    Persistent storage management

    @@ -96,25 +96,25 @@ chrome="https://chrome.google.com/webstore/detail/snowflake/mafpmfcccpbjnhfhjnll {% include cardv2.html -title="Temporary Containers" -image="/assets/img/svg/3rd-party/temporary_containers.svg" -image-dark="/assets/img/svg/3rd-party/temporary_containers-dark.svg" -description="Temporary Containers allow you to open tabs, websites, and links in automatically managed disposable containers. Containers isolate data websites store (cookies, storage, and more) from each other, enhancing your privacy and security while you browse: Enhance your privacy in Firefox with Temporary Containers." -website="https://addons.mozilla.org/firefox/addon/temporary-containers/" -privacy-policy="https://addons.mozilla.org/firefox/addon/temporary-containers/privacy/" -forum="https://forum.privacytools.io/t/discussion-temporary-containers-multi-account-containers/3354" -github="https://github.com/stoically/temporary-containers" -firefox="https://addons.mozilla.org/firefox/addon/temporary-containers/" + title="Temporary Containers" + image="/assets/img/svg/3rd-party/temporary_containers.svg" + image-dark="/assets/img/svg/3rd-party/temporary_containers-dark.svg" + description="Temporary Containers allow you to open tabs, websites, and links in automatically managed disposable containers. Containers isolate data websites store (cookies, storage, and more) from each other, enhancing your privacy and security while you browse: Enhance your privacy in Firefox with Temporary Containers." + website="https://addons.mozilla.org/firefox/addon/temporary-containers/" + privacy-policy="https://addons.mozilla.org/firefox/addon/temporary-containers/privacy/" + forum="https://forum.privacytools.io/t/discussion-temporary-containers-multi-account-containers/3354" + github="https://github.com/stoically/temporary-containers" + firefox="https://addons.mozilla.org/firefox/addon/temporary-containers/" %} {% include cardv2.html -title="Firefox Multi-Account Containers" -image="/assets/img/svg/3rd-party/firefox_multi_account_containers.svg" -description="Firefox Multi-Account Containers allow you to create containers for specific websites. These containers are isolated from eachother. This add-on can be used in conjunctiuon with Temporary Containers to allow persistent logins to websites you specify." -website="https://support.mozilla.org/kb/containers" -forum="https://forum.privacytools.io/t/discussion-temporary-containers-multi-account-containers/3354" -github="https://github.com/mozilla/multi-account-containers" -firefox="https://addons.mozilla.org/firefox/addon/multi-account-containers/" + title="Firefox Multi-Account Containers" + image="/assets/img/svg/3rd-party/firefox_multi_account_containers.svg" + description="Firefox Multi-Account Containers allow you to create containers for specific websites. These containers are isolated from eachother. This add-on can be used in conjunctiuon with Temporary Containers to allow persistent logins to websites you specify." + website="https://support.mozilla.org/kb/containers" + forum="https://forum.privacytools.io/t/discussion-temporary-containers-multi-account-containers/3354" + github="https://github.com/mozilla/multi-account-containers" + firefox="https://addons.mozilla.org/firefox/addon/multi-account-containers/" %}

    Android

    @@ -124,24 +124,24 @@ firefox="https://addons.mozilla.org/firefox/addon/multi-account-containers/" {% include cardv2.html -title="ETag Stoppa" -image="/assets/img/svg/3rd-party/etag_stoppa.svg" -description="ETag Stoppa Prevents Firefox from storing entity tags by removing ETag response headers unconditionally and without exceptions." -website="https://addons.mozilla.org/firefox/addon/etag-stoppa/" -forum="" -github="https://github.com/claustromaniac/etag-stoppa" -firefox="https://addons.mozilla.org/firefox/addon/etag-stoppa/" + title="ETag Stoppa" + image="/assets/img/svg/3rd-party/etag_stoppa.svg" + description="ETag Stoppa Prevents Firefox from storing entity tags by removing ETag response headers unconditionally and without exceptions." + website="https://addons.mozilla.org/firefox/addon/etag-stoppa/" + forum="" + github="https://github.com/claustromaniac/etag-stoppa" + firefox="https://addons.mozilla.org/firefox/addon/etag-stoppa/" %} {% include cardv2.html -title="Cookie AutoDelete: Automatically Delete Cookies" -image="/assets/img/png/3rd-party/cookie_autodelete.png" -description="Cookie AutoDelete automatically removes cookies, lingering sessions, and other information that can be used to spy on you when they are no longer used by open browser tabs." -website="https://addons.mozilla.org/firefox/addon/cookie-autodelete/" -forum="https://forum.privacytools.io/t/discussion-cookie-autodelete/267" -github="https://github.com/Cookie-AutoDelete/Cookie-AutoDelete" -firefox="https://addons.mozilla.org/firefox/addon/cookie-autodelete" -chrome="https://chrome.google.com/webstore/detail/cookie-autodelete/fhcgjolkccmbidfldomjliifgaodjagh" + title="Cookie AutoDelete: Automatically Delete Cookies" + image="/assets/img/png/3rd-party/cookie_autodelete.png" + description="Cookie AutoDelete automatically removes cookies, lingering sessions, and other information that can be used to spy on you when they are no longer used by open browser tabs." + website="https://addons.mozilla.org/firefox/addon/cookie-autodelete/" + forum="https://forum.privacytools.io/t/discussion-cookie-autodelete/267" + github="https://github.com/Cookie-AutoDelete/Cookie-AutoDelete" + firefox="https://addons.mozilla.org/firefox/addon/cookie-autodelete" + chrome="https://chrome.google.com/webstore/detail/cookie-autodelete/fhcgjolkccmbidfldomjliifgaodjagh" %}

    For Advanced Users

    @@ -151,25 +151,25 @@ chrome="https://chrome.google.com/webstore/detail/cookie-autodelete/fhcgjolkccmb {% include cardv2.html -title="uMatrix: Stop Cross-Site Requests" -image="/assets/img/png/3rd-party/umatrix.png" -description="uMatrix gives you control over the requests that websites make to other websites. Many websites integrate features which let other websites track you, such as Facebook Like Buttons or Google Analytics. uMatrix allows 1st party scripts in its default configuration. If you want the default functionality of NoScript consider blocking 1st party scripts everywhere by default." -website="https://addons.mozilla.org/firefox/addon/umatrix/" -privacy-policy="https://github.com/gorhill/uMatrix/wiki/Privacy-policy" -forum="https://forum.privacytools.io/t/discussion-umatrix/271" -github="https://github.com/gorhill/uMatrix" -firefox="https://addons.mozilla.org/firefox/addon/umatrix" -chrome="https://chrome.google.com/webstore/detail/umatrix/ogfcmafjalglgifnmanfmnieipoejdcf" -opera="https://addons.opera.com/extensions/details/umatrix" + title="uMatrix: Stop Cross-Site Requests" + image="/assets/img/png/3rd-party/umatrix.png" + description="uMatrix gives you control over the requests that websites make to other websites. Many websites integrate features which let other websites track you, such as Facebook Like Buttons or Google Analytics. uMatrix allows 1st party scripts in its default configuration. If you want the default functionality of NoScript consider blocking 1st party scripts everywhere by default." + website="https://addons.mozilla.org/firefox/addon/umatrix/" + privacy-policy="https://github.com/gorhill/uMatrix/wiki/Privacy-policy" + forum="https://forum.privacytools.io/t/discussion-umatrix/271" + github="https://github.com/gorhill/uMatrix" + firefox="https://addons.mozilla.org/firefox/addon/umatrix" + chrome="https://chrome.google.com/webstore/detail/umatrix/ogfcmafjalglgifnmanfmnieipoejdcf" + opera="https://addons.opera.com/extensions/details/umatrix" %} {% include cardv2.html -title="CanvasBlocker" -image="/assets/img/svg/3rd-party/canvasblocker.svg" -description="CanvasBlocker allows users to prevent websites from using some Javascript APIs to fingerprint them. Users can choose to block the APIs entirely on some or all websites (which may break some websites) or just block or fake its fingerprinting-friendly readout API." -website="https://github.com/kkapsner/CanvasBlocker/" -privacy-policy="https://addons.mozilla.org/firefox/addon/canvasblocker/privacy/" -forum="https://forum.privacytools.io/t/discussion-canvasblocker/3352" -github="https://github.com/kkapsner/CanvasBlocker/" -firefox="https://addons.mozilla.org/firefox/addon/canvasblocker/" + title="CanvasBlocker" + image="/assets/img/svg/3rd-party/canvasblocker.svg" + description="CanvasBlocker allows users to prevent websites from using some Javascript APIs to fingerprint them. Users can choose to block the APIs entirely on some or all websites (which may break some websites) or just block or fake its fingerprinting-friendly readout API." + website="https://github.com/kkapsner/CanvasBlocker/" + privacy-policy="https://addons.mozilla.org/firefox/addon/canvasblocker/privacy/" + forum="https://forum.privacytools.io/t/discussion-canvasblocker/3352" + github="https://github.com/kkapsner/CanvasBlocker/" + firefox="https://addons.mozilla.org/firefox/addon/canvasblocker/" %} diff --git a/_includes/sections/browser-recommendation.html b/_includes/sections/browser-recommendation.html index 2ec8db6b..9acf1d64 100644 --- a/_includes/sections/browser-recommendation.html +++ b/_includes/sections/browser-recommendation.html @@ -4,34 +4,34 @@ {% include cardv2.html -title="Firefox" -image="/assets/img/svg/3rd-party/firefox_browser.svg" -description='Firefox is fast, reliable, open-source, and respects your privacy. Don\'t forget to adjust the settings according to our -recommendations: Privacy Add-ons WebRTC about:config tweaks.' -website="https://firefox.com" -privacy-policy="https://www.mozilla.org/en-US/privacy/firefox/" -forum="https://forum.privacytools.io/t/discussion-firefox/279" -source="https://hg.mozilla.org/mozilla-central/" -windows="https://www.mozilla.org/firefox/windows/" -mac="https://www.mozilla.org/firefox/mac/" -linux="https://www.mozilla.org/firefox/linux/" -freebsd="https://www.freshports.org/www/firefox" -openbsd="http://openports.se/www/mozilla-firefox" -netbsd="http://pkgsrc.se/www/firefox" + title="Firefox" + image="/assets/img/svg/3rd-party/firefox_browser.svg" + description='Firefox is fast, reliable, open-source, and respects your privacy. Don\'t forget to adjust the settings according to our + recommendations: Privacy Add-ons WebRTC about:config tweaks.' + website="https://firefox.com" + privacy-policy="https://www.mozilla.org/en-US/privacy/firefox/" + forum="https://forum.privacytools.io/t/discussion-firefox/279" + source="https://hg.mozilla.org/mozilla-central/" + windows="https://www.mozilla.org/firefox/windows/" + mac="https://www.mozilla.org/firefox/mac/" + linux="https://www.mozilla.org/firefox/linux/" + freebsd="https://www.freshports.org/www/firefox" + openbsd="http://openports.se/www/mozilla-firefox" + netbsd="http://pkgsrc.se/www/firefox" %} {% include cardv2.html -title="Tor Browser - Provides Anonymity" -image="/assets/img/svg/3rd-party/tor_browser.svg" -description='Tor Browser is your choice if you need an extra layer of anonymity. It\'s a modified version of Firefox ESR, which comes with pre-installed privacy add-ons, encryption, and an advanced proxy. How does Tor work?' -website="https://www.torproject.org/" -privacy-policy="https://support.torproject.org/tbb/tbb-3/" -tor="http://expyuzz4wqqyqhjn.onion/" -forum="https://forum.privacytools.io/t/discussion-tor-browser/278" -git="https://trac.torproject.org/projects/tor" -windows="https://www.torproject.org/download/" -mac="https://www.torproject.org/download/" -linux="https://www.torproject.org/download/" + title="Tor Browser - Provides Anonymity" + image="/assets/img/svg/3rd-party/tor_browser.svg" + description='Tor Browser is your choice if you need an extra layer of anonymity. It\'s a modified version of Firefox ESR, which comes with pre-installed privacy add-ons, encryption, and an advanced proxy. How does Tor work?' + website="https://www.torproject.org/" + privacy-policy="https://support.torproject.org/tbb/tbb-3/" + tor="http://expyuzz4wqqyqhjn.onion/" + forum="https://forum.privacytools.io/t/discussion-tor-browser/278" + git="https://trac.torproject.org/projects/tor" + windows="https://www.torproject.org/download/" + mac="https://www.torproject.org/download/" + linux="https://www.torproject.org/download/" %}

    @@ -40,42 +40,42 @@ linux="https://www.torproject.org/download/"

    {% include cardv2.html -title="Firefox" -image="/assets/img/svg/3rd-party/firefox_browser.svg" -description='Firefox is fast, reliable, open-source, and respects your privacy. Don\'t forget to adjust the settings according to our -recommendations: Privacy Add-ons WebRTC about:config tweaks.' -website="https://www.mozilla.org/en-US/firefox/mobile/" -privacy-policy="https://www.mozilla.org/en-US/privacy/firefox/" -forum="https://forum.privacytools.io/t/discussion-firefox/279" -source="https://github.com/mozilla-mobile" -fdroid="https://f-droid.org/en/packages/org.mozilla.fennec_fdroid/" -googleplay="https://play.google.com/store/apps/details?id=org.mozilla.firefox" -android="https://www.mozilla.org/firefox/all/#product-android-release" + title="Firefox" + image="/assets/img/svg/3rd-party/firefox_browser.svg" + description='Firefox is fast, reliable, open-source, and respects your privacy. Don\'t forget to adjust the settings according to our + recommendations: Privacy Add-ons WebRTC about:config tweaks.' + website="https://www.mozilla.org/en-US/firefox/mobile/" + privacy-policy="https://www.mozilla.org/en-US/privacy/firefox/" + forum="https://forum.privacytools.io/t/discussion-firefox/279" + source="https://github.com/mozilla-mobile" + fdroid="https://f-droid.org/en/packages/org.mozilla.fennec_fdroid/" + googleplay="https://play.google.com/store/apps/details?id=org.mozilla.firefox" + android="https://www.mozilla.org/firefox/all/#product-android-release" %} {% include cardv2.html -title="Tor Browser - Provides Anonymity" -image="/assets/img/svg/3rd-party/tor_browser.svg" -description='Tor Browser is your choice if you need an extra layer of anonymity. It\'s a modified version of Firefox ESR, which comes with pre-installed privacy add-ons, encryption and an advanced proxy. How does Tor work?' -website="https://www.torproject.org/" -privacy-policy="https://support.torproject.org/tbb/tbb-3/" -tor="http://expyuzz4wqqyqhjn.onion/" -forum="https://forum.privacytools.io/t/discussion-tor-browser-for-android-browsers/1522" -git="https://gitweb.torproject.org/tor-browser.git/" -android="https://www.torproject.org/download/#android" -fdroid="https://guardianproject.info/fdroid/" -googleplay="https://play.google.com/store/apps/details?id=org.torproject.torbrowser" + title="Tor Browser - Provides Anonymity" + image="/assets/img/svg/3rd-party/tor_browser.svg" + description='Tor Browser is your choice if you need an extra layer of anonymity. It\'s a modified version of Firefox ESR, which comes with pre-installed privacy add-ons, encryption and an advanced proxy. How does Tor work?' + website="https://www.torproject.org/" + privacy-policy="https://support.torproject.org/tbb/tbb-3/" + tor="http://expyuzz4wqqyqhjn.onion/" + forum="https://forum.privacytools.io/t/discussion-tor-browser-for-android-browsers/1522" + git="https://gitweb.torproject.org/tor-browser.git/" + android="https://www.torproject.org/download/#android" + fdroid="https://guardianproject.info/fdroid/" + googleplay="https://play.google.com/store/apps/details?id=org.torproject.torbrowser" %} {% include cardv2.html -title="Bromite" -image="/assets/img/svg/3rd-party/bromite.svg" -description='Bromite is a Chromium-based browser with privacy and security enhancements, built-in adblocking and DNS over HTTPS support; it includes patches from ungoogled-chromium and other privacy-focused projects. More info can be found on the official website.' -website="https://www.bromite.org/" -forum="https://forum.privacytools.io/t/discussion-bromite-browsers/1521" -github="https://github.com/bromite/bromite" -fdroid="https://www.bromite.org/fdroid" -android="https://www.bromite.org/#download-bromite" + title="Bromite" + image="/assets/img/svg/3rd-party/bromite.svg" + description='Bromite is a Chromium-based browser with privacy and security enhancements, built-in adblocking and DNS over HTTPS support; it includes patches from ungoogled-chromium and other privacy-focused projects. More info can be found on the official website.' + website="https://www.bromite.org/" + forum="https://forum.privacytools.io/t/discussion-bromite-browsers/1521" + github="https://github.com/bromite/bromite" + fdroid="https://www.bromite.org/fdroid" + android="https://www.bromite.org/#download-bromite" %}

    Worth Mentioning for Android

    @@ -83,13 +83,14 @@ android="https://www.bromite.org/#download-bromite" @@ -97,39 +98,39 @@ android="https://www.bromite.org/#download-bromite"

    Browser Recommendations For iOS

    {% include cardv2.html -title="Firefox" -image="/assets/img/svg/3rd-party/firefox_browser.svg" -description='Firefox is fast, reliable, open-source, and respects your privacy. Note: Because of limitations set by Apple in iOS, our recommended tweaks cannot be applied. However, Firefox for iOS has an Enhanced Tracking Protection feature that uses a list provided by Disconnect to identify and block ad, social, and analytics trackers, as well as cryptominers and fingerprinters.' -website="https://www.mozilla.org/en-US/firefox/mobile/" -privacy-policy="https://www.mozilla.org/en-US/privacy/firefox/" -forum="https://forum.privacytools.io/t/discussion-firefox/279" -source="https://github.com/mozilla-mobile/firefox-ios" -ios="https://apps.apple.com/us/app/firefox-private-safe-browser/id989804926" + title="Firefox" + image="/assets/img/svg/3rd-party/firefox_browser.svg" + description='Firefox is fast, reliable, open-source, and respects your privacy. Note: Because of limitations set by Apple in iOS, our recommended tweaks cannot be applied. However, Firefox for iOS has an Enhanced Tracking Protection feature that uses a list provided by Disconnect to identify and block ad, social, and analytics trackers, as well as cryptominers and fingerprinters.' + website="https://www.mozilla.org/en-US/firefox/mobile/" + privacy-policy="https://www.mozilla.org/en-US/privacy/firefox/" + forum="https://forum.privacytools.io/t/discussion-firefox/279" + source="https://github.com/mozilla-mobile/firefox-ios" + ios="https://apps.apple.com/us/app/firefox-private-safe-browser/id989804926" %} {% include cardv2.html -title="Onion Browser" -image="/assets/img/svg/3rd-party/onion_browser.svg" -description='Onion Browser is an open-source browser that lets you browse the web anonymously over the Tor network on iOS devices and is endorsed by the Tor Project. Warning: there are certain anonymity-related issues with Onion Browser due to iOS limitations.' -website="https://onionbrowser.com/" -privacy-policy="https://onionbrowser.com/privacy-policy" -forum="https://forum.privacytools.io/t/discussion-onion-browser-browsers/1523" -github="https://github.com/OnionBrowser/OnionBrowser" -ios="https://apps.apple.com/us/app/onion-browser/id519296448" + title="Onion Browser" + image="/assets/img/svg/3rd-party/onion_browser.svg" + description='Onion Browser is an open-source browser that lets you browse the web anonymously over the Tor network on iOS devices and is endorsed by the Tor Project. Warning: there are certain anonymity-related issues with Onion Browser due to iOS limitations.' + website="https://onionbrowser.com/" + privacy-policy="https://onionbrowser.com/privacy-policy" + forum="https://forum.privacytools.io/t/discussion-onion-browser-browsers/1523" + github="https://github.com/OnionBrowser/OnionBrowser" + ios="https://apps.apple.com/us/app/onion-browser/id519296448" %} {% include cardv2.html -title="DuckDuckGo Privacy Browser" -image="/assets/img/svg/3rd-party/duckduckgo.svg" -description='DuckDuckGo Privacy Browser is an open-source web browser that has built-in ad and tracker blocking and utilizes ToS;DR to rate the privacy policies of the sites you visit.' -website="https://duckduckgo.com/app" -privacy-policy="https://duckduckgo.com/privacy" -tor="https://3g2upl4pq6kufc4m.onion/app" -forum="https://forum.privacytools.io/t/discussion-duckduckgo-privacy-browser-browsers/1524" -github="https://github.com/duckduckgo/iOS" -ios="https://apps.apple.com/us/app/duckduckgo-privacy-browser/id663592361" + title="DuckDuckGo Privacy Browser" + image="/assets/img/svg/3rd-party/duckduckgo.svg" + description='DuckDuckGo Privacy Browser is an open-source web browser that has built-in ad and tracker blocking and utilizes ToS;DR to rate the privacy policies of the sites you visit.' + website="https://duckduckgo.com/app" + privacy-policy="https://duckduckgo.com/privacy" + tor="https://3g2upl4pq6kufc4m.onion/app" + forum="https://forum.privacytools.io/t/discussion-duckduckgo-privacy-browser-browsers/1524" + github="https://github.com/duckduckgo/iOS" + ios="https://apps.apple.com/us/app/duckduckgo-privacy-browser/id663592361" %}

    Worth Mentioning for iOS

    diff --git a/_includes/sections/email-clients.html b/_includes/sections/email-clients.html index f37c7c5b..2fcdde77 100644 --- a/_includes/sections/email-clients.html +++ b/_includes/sections/email-clients.html @@ -1,34 +1,34 @@

    Email Clients

    {% include cardv2.html -title="Thunderbird" -image="/assets/img/svg/3rd-party/thunderbird.svg" -description="Thunderbird is a free, open source, cross-platform email, newsgroup, news feed, and chat (XMPP, IRC, Twitter) client developed by the Thunderbird community, and previously by the Mozilla Foundation." -website="https://www.thunderbird.net/" -privacy-policy="https://www.mozilla.org/en-US/privacy/thunderbird/" -forum="https://forum.privacytools.io/t/discussion-thunderbird/659" -source="https://hg.mozilla.org/comm-central/" -windows="https://www.thunderbird.net/en-US/" -mac="https://www.thunderbird.net/en-US/" -linux="https://www.thunderbird.net/en-US/" -freebsd="https://www.freshports.org/mail/thunderbird/" -openbsd="http://openports.se/mail/mozilla-thunderbird" -netbsd="http://pkgsrc.se/mail/thunderbird" + title="Thunderbird" + image="/assets/img/svg/3rd-party/thunderbird.svg" + description="Thunderbird is a free, open source, cross-platform email, newsgroup, news feed, and chat (XMPP, IRC, Twitter) client developed by the Thunderbird community, and previously by the Mozilla Foundation." + website="https://www.thunderbird.net/" + privacy-policy="https://www.mozilla.org/en-US/privacy/thunderbird/" + forum="https://forum.privacytools.io/t/discussion-thunderbird/659" + source="https://hg.mozilla.org/comm-central/" + windows="https://www.thunderbird.net/en-US/" + mac="https://www.thunderbird.net/en-US/" + linux="https://www.thunderbird.net/en-US/" + freebsd="https://www.freshports.org/mail/thunderbird/" + openbsd="http://openports.se/mail/mozilla-thunderbird" + netbsd="http://pkgsrc.se/mail/thunderbird" %} {% include cardv2.html -title="Claws Mail" -image="/assets/img/png/3rd-party/claws_mail.png" -description="Claws Mail is a free and open source, GTK-based email and news client. It offers easy configuration and an abundance of features. It is included with Gpg4win, an encryption suite for Windows." -website="https://www.claws-mail.org/" -forum="https://forum.privacytools.io/t/discussion-claws-mail/660" -git="https://git.claws-mail.org/" -windows="https://www.claws-mail.org/win32/" -mac="https://www.claws-mail.org/faq/index.php/Installation_and_Configuration#What_do_I_need_to_compile_Claws_Mail.3F" -linux="https://www.claws-mail.org/downloads.php?section=downloads" -freebsd="https://www.freshports.org/mail/claws-mail/" -openbsd="http://openports.se/mail/claws-mail" -netbsd="http://pkgsrc.se/mail/claws-mail" + title="Claws Mail" + image="/assets/img/png/3rd-party/claws_mail.png" + description="Claws Mail is a free and open source, GTK-based email and news client. It offers easy configuration and an abundance of features. It is included with Gpg4win, an encryption suite for Windows." + website="https://www.claws-mail.org/" + forum="https://forum.privacytools.io/t/discussion-claws-mail/660" + git="https://git.claws-mail.org/" + windows="https://www.claws-mail.org/win32/" + mac="https://www.claws-mail.org/faq/index.php/Installation_and_Configuration#What_do_I_need_to_compile_Claws_Mail.3F" + linux="https://www.claws-mail.org/downloads.php?section=downloads" + freebsd="https://www.freshports.org/mail/claws-mail/" + openbsd="http://openports.se/mail/claws-mail" + netbsd="http://pkgsrc.se/mail/claws-mail" %} diff --git a/_includes/sections/email-providers.html b/_includes/sections/email-providers.html index d0d5f2c8..f5659e4b 100644 --- a/_includes/sections/email-providers.html +++ b/_includes/sections/email-providers.html @@ -16,31 +16,31 @@ alt="ProtonMail">
    -

    ProtonMail Free

    +

    ProtonMail {% include badge.html color="info" text="Free" %}

    ProtonMail.com is an email service with a focus on privacy, encryption, security, and ease of use. They have been in operation since 2013. ProtonMail is based in Genève, Switzerland. Accounts start with 500 MB storage with their free plan.

    Free accounts have some limitations and do not allow the use of the ProtonMail Bridge, which is required to use a recommended email client (e.g. Thunderbird) or to search email by body text. Paid accounts are available starting at €48/y which include features like ProtonMail Bridge, additional storage, custom domain support, and more. The webmail and mobile apps can only search To:, From:, Date: and Subject: (this is likely to change when v4.0 of ProtonMail is released).

    -
    Domains and Aliases
    +
    {% include badge.html color="success" text="Domains and Aliases" %}

    Paid ProtonMail users can use their own domain with the service. Catch-all addresses are supported with custom domains for Professional and Visionary plans. ProtonMail also supports subaddressing, which is useful for users who don't want to purchase a domain.

    -
    Payment Methods
    +
    {% include badge.html color="success" text="Payment Methods" %}

    ProtonMail accepts Bitcoin in addition to accepting credit/debit cards and PayPal.

    -
    Account Security
    +
    {% include badge.html color="success" text="Account Security" %}

    ProtonMail supports TOTP two factor authentication only. The use of a U2F security key is not yet supported. ProtonMail is planning to implement U2F upon completion of their Single Sign On (SSO) code.

    -
    Data Security
    +
    {% include badge.html color="success" text="Data Security" %}

    ProtonMail has zero access encryption at rest for your emails, address book contacts, and calendars. This means the messages and other data stored in your account are only readable by you.

    -
    Email Encryption
    +
    {% include badge.html color="success" text="Email Encryption" %}

    ProtonMail has integrated OpenPGP encryption in their webmail. Emails to other ProtonMail users are encrypted automatically, and encryption to non-ProtonMail users with an OpenPGP key can be enabled easily in your account settings. They also allow you to encrypt messages to non-ProtonMail users without the need for them to sign up for a ProtonMail account or use software like OpenPGP.

    ProtonMail also supports the discovery of public keys via HTTP from their Web Key Directory (WKD). This allows users outside of ProtonMail to find the OpenPGP keys of ProtonMail users easily, for cross-provider E2EE.

    -
    .onion Service
    +
    {% include badge.html color="success" text=".onion Service" %}

    ProtonMail is accessible via Tor at protonirockerxow.onion.

    -
    Extra Functionality
    +
    {% include badge.html color="info" text="Extra Functionality" %}

    ProtonMail offers a "Visionary" account for €24/Month, which also enables access to ProtonVPN in addition to providing multiple accounts, domains, aliases, and extra storage.

    @@ -54,30 +54,30 @@ alt="Mailbox">
    -

    Mailbox.org €12/y

    +

    Mailbox.org {% include badge.html color="info" text="€12/y" %}

    Mailbox.org is an email service with a focus on being secure, ad-free, and privately powered by 100% eco-friendly energy. They have been in operation since 2014. Mailbox.org is based in Berlin, Germany. Accounts start with 2 GB of storage, which can be upgraded as needed.

    -
    Domains and Aliases
    +
    {% include badge.html color="success" text="Domains and Aliases" %}

    Mailbox.org lets users use their own domain and they support catch-all addresses. Mailbox.org also supports subaddressing, which is useful for users who don't want to purchase a domain.

    -
    Payment Methods
    +
    {% include badge.html color="warning" text="Payment Methods" %}

    Mailbox.org doesn't accept Bitcoin or any other cryptocurrencies as a result of their payment processor BitPay suspending operations in Germany. However, they do accept Cash by mail, cash payment to bank account, bank transfer, credit card, PayPal and couple of German-specific processors: paydirekt and Sofortüberweisung.

    -
    Account Security
    +
    {% include badge.html color="success" text="Account Security" %}

    Mailbox.org supports two factor authentication for their webmail only. You can use either TOTP or a Yubikey via the Yubicloud. Web standards such as U2F and WebAuthn are not yet supported.

    -
    Data Security
    +
    {% include badge.html color="warning" text="Data Security" %}

    Mailbox.org allows for encryption of incoming mail using their encrypted mailbox. New messages that you receive will then be immediately encrypted with your public key.

    However, Open-Exchange, the software platform used by Mailbox.org, does not support the encryption of your address book and calendar. A standalone option may be more appropriate for that information.

    -
    Email Encryption
    +
    {% include badge.html color="success" text="Email Encryption" %}

    Mailbox.org has integrated encryption in their webmail, which simplifies sending messages to users with public OpenPGP keys. They also allow remote recipients to decrypt an email on Mailbox.org's servers. This feature is useful when the remote recipient does not have OpenPGP and cannot decrypt a copy of the email in their own mailbox.

    Mailbox.org also supports the discovery of public keys via HTTP from their Web Key Directory (WKD). This allows users outside of Mailbox.org to find the OpenPGP keys of Mailbox.org users easily, for cross-provider E2EE.

    -
    .onion Service
    +
    {% include badge.html color="warning" text=".onion Service" %}

    You can access your Mailbox.org account via IMAP/SMTP using their .onion service. However, their webmail interface cannot be accessed via their .onion service, and users may experience TLS certificate errors.

    -
    Extra Functionality
    +
    {% include badge.html color="info" text="Extra Functionality" %}

    All accounts come with limited cloud storage that can be encrypted. Mailbox.org also offers the alias @secure.mailbox.org, which enforces the TLS encryption on the connection between mail servers, otherwise the message will not be sent at all. Mailbox.org also supports Exchange ActiveSync in addition to standard access protocols like IMAP and POP3.

    @@ -91,29 +91,29 @@ alt="Posteo">
    -

    Posteo €12/y

    +

    Posteo {% include badge.html color="info" text="€12/y" %}

    Posteo.de is an email provider that focuses on anonymous, secure, and private email. Their servers are powered by 100% sustainable energy. They have been in operation since 2009. Posteo is based in Germany and has a free 14-day trial. Posteo comes with 2 GB for the monthly cost and an extra gigabyte can be purchased for €0.25 per month.

    -
    Domains and Aliases
    +
    {% include badge.html color="warning" text="Domains and Aliases" %}

    Posteo does not allow the use of custom domains, however users may still make use of subaddressing.

    -
    Payment Methods
    +
    {% include badge.html color="warning" text="Payment Methods" %}

    Posteo does not accept Bitcoin or other cryptocurrencies as a form of payment, however they do accept cash-by-mail. They also accept credit/debit cards, bank transfers, and PayPal, and remove PII (personally identifiable information) that they receive in connection with these payment methods.

    -
    Account Security
    +
    {% include badge.html color="success" text="Account Security" %}

    Posteo supports two factor authentication for their webmail only. You can use either TOTP a Yubikey with TOTP. Web standards such as U2F and WebAuthn are not yet supported.

    -
    Data Security
    +
    {% include badge.html color="warning" text="Data Security" %}

    Posteo has zero access encryption for email storage. This means the messages stored in your account are only readable by you.

    Posteo also supports the encryption of your address book contacts and calendars at rest. However, Posteo still uses standard CalDAV and CardDAV for calendars and contacts. These protocols do not support E2EE (End-To-End Encryption). A standalone option may be more appropiate.

    -
    Email Encryption
    +
    {% include badge.html color="success" text="Email Encryption" %}

    Posteo has integrated encryption in their webmail, which simplifies sending messages to users with public OpenPGP keys. They also support the discovery of public keys via HTTP from their Web Key Directory (WKD). This allows users outside of Posteo to find the OpenPGP keys of Posteo users easily, for cross-provider E2EE.

    -
    .onion Service
    +
    {% include badge.html color="danger" text=".onion Service" %}

    Posteo does not operate a .onion service.

    -
    Extra Functionality
    +
    {% include badge.html color="info" text="Extra Functionality" %}

    Posteo allows users to set up their own mailing lists. Each account can create one list for free.

    @@ -127,29 +127,29 @@ alt="Soverin">
    -

    Soverin €29/y

    +

    Soverin {% include badge.html color="info" text="€29/y" %}

    Soverin.net is an email provider which focuses on being private, ad-free, and powered by sustainable energy. They have been in operation since 2015. Soverin is based in Amsterdam and does not have a free trial. Accounts start at 25 GB.

    -
    Domains and Aliases
    +
    {% include badge.html color="success" text="Domains and Aliases" %}

    Soverin lets users use their own domain. Soverin users can also use catch-all and aliases for domains they own. Soverin also allows for subaddressing, which is useful for users who don't want to purchase a domain.

    -
    Payment Methods
    +
    {% include badge.html color="success" text="Payment Methods" %}

    Soverin accepts Bitcoin as payment. They also accept credit/debit cards, PayPal, and the Netherlands-specific payment gateway iDEAL.

    -
    Account Security
    +
    {% include badge.html color="success" text="Account Security" %}

    Soverin supports TOTP two factor authentication for webmail only. They do not allow U2F security key authentication.

    -
    Data Security
    +
    {% include badge.html color="warning" text="Data Security" %}

    Soverin has encryption at rest however it doesn't appear to be "zero access", meaning it is technically possible for them to decrypt the data they have.

    Soverin also uses the standard CalDAV and CardDAV protocols for calendars and contacts, which do not support E2EE. A standalone option may be more appropriate.

    -
    Email Encryption
    +
    {% include badge.html color="success" text="Email Encryption" %}

    Soverin has integrated encryption in their webmail, which simplifies sending messages to users. However, Soverin has not integrated a Web Key Directory (WKD) for users on their platform.

    -

    .onion Service
    +
    {% include badge.html color="danger" text=".onion Service" %}

    Soverin does not operate a .onion service.

    -
    Extra Functionality
    +
    {% include badge.html color="info" text="Extra Functionality" %}

    Soverin also providers users with space for a personal webpage.

    @@ -164,29 +164,29 @@ alt="Disroot">
    -

    Disroot Free

    +

    Disroot {% include badge.html color="info" text="Free" %}

    Disroot offers email amongst other services. The service is maintained by volunteers and its community. They have been in operation since 2015. Disroot is based in Amsterdam. Disroot is free and uses open source software such as Rainloop to provide service. Users support the service through donations and buying extra storage. The mailbox limit is 1 GB, but extra storage can be purchased 0.15€ per GB per month paid yearly.

    -
    Domains and Aliases
    +
    {% include badge.html color="success" text="Domains and Aliases" %}

    Disroot lets users use their own domain. They have aliases, however you must manually apply for them.

    -
    Payment Methods
    +
    {% include badge.html color="success" text="Payment Methods" %}

    Disroot accepts Bitcoin and Faircoin as payment methods. They also accept PayPal, direct bank deposit, and Patreon payments. Disroot is a not-for-profit organization that also accepts donations through Liberapay, Flattr, and Monero, but these payment methods cannot be used to purchase services.

    -
    Account Security
    +
    {% include badge.html color="success" text="Account Security" %}

    Disroot supports TOTP two factor authentication for webmail only. They do not allow U2F security key authentication.

    -
    Data Security
    +
    {% include badge.html color="warning" text="Data Security" %}

    Disroot uses full disk encryption. However, it doesn't appear to be "zero access", meaning it is technically possible for them to decrypt the data they have.

    Disroot also uses the standard CalDAV and CardDAV protocols for calendars and contacts, which do not support E2EE. A standalone option may be more appropriate.

    -
    Email Encryption
    +
    {% include badge.html color="success" text="Email Encryption" %}

    Disroot allows for encrypted emails to be sent from their webmail application using OpenPGP. However, Disroot has not integrated a Web Key Directory (WKD) for users on their platform.

    -
    .onion Service
    +
    {% include badge.html color="danger" text=".onion Service" %}

    Disroot does not operate a .onion service.

    -
    Extra Functionality
    +
    {% include badge.html color="info" text="Extra Functionality" %}

    They offer other services such as NextCloud, XMPP Chat, Etherpad, Ethercalc, Pastebin, Online polls and a Gitea instance. They also have an app available in F-Droid.

    @@ -201,32 +201,32 @@ alt="Tutanota">
    -

    Tutanota Free

    +

    Tutanota {% include badge.html color="info" text="Free" %}

    Tutanota.com is an email service with a focus on security and privacy through the use of encryption. Tutanota has been in operation since 2011 and is based in Hanover, Germany. Accounts start with 1GB storage with their free plan.

    Tutanota doesn't allow the use of third-party email clients. There are plans to allow Tutanota pull email from external email accounts using the IMAP protocol. Email import is currently not possible.

    Emails can be exported individually or by bulk selection. Tutanota does not allow for subfolders as you might expect with other email providers.

    Tutanota is working on a desktop client and they have an app available in F-Droid. They also have their app in conventional stores such as App Store on iOS and Google Play for Android.

    -
    Domains and Aliases
    +
    {% include badge.html color="success" text="Domains and Aliases" %}

    Paid Tutanota accounts can use up to 5 aliases and custom domains. Tutanota doesn't allow for subaddressing (plus addresses), but you can use a catch-all with a custom domain.

    -
    Payment Methods
    +
    {% include badge.html color="danger" text="Payment Methods" %}

    Tutanota accepts only credit cards and PayPal.

    -
    Account Security
    +
    {% include badge.html color="success" text="Account Security" %}

    Tutanota supports two factor authentication. Users can either use TOTP or U2F. U2F support is not yet available on Android.

    -
    Data Security
    +
    {% include badge.html color="success" text="Data Security" %}

    Tutanota has zero access encryption at rest for your emails, address book contacts, and calendars. This means the messages and other data stored in your account are only readable by you.

    -
    Email Encryption
    +
    {% include badge.html color="warning" text="Email Encryption" %}

    Tutanota does not use OpenPGP. Tutanota users can only receive encrypted emails when external users send them through a temporary Tutanota mailbox.

    Tutanota does have plans to support AutoCrypt. This would allow for external users to send encrypted emails to Tutanota users as long as their email client supports the AutoCrypt headers.

    -
    .onion Service
    +
    {% include badge.html color="danger" text=".onion Service" %}

    Tutanota does not operate a .onion service but may consider it in the future.

    -
    Extra Functionality
    +
    {% include badge.html color="info" text="Extra Functionality" %}

    Tutanota offers the business version of Tutanota to non-profit organizations for free or with a heavy discount.

    Tutanota also has a business feature called Secure Connect. This ensures customer contact to the business uses E2EE. The feature costs €240/y.

    @@ -243,30 +243,30 @@ alt="StartMail">
    -

    StartMail Personal USD $59.95/y

    +

    StartMail {% include badge.html color="info" text="Personal USD $59.95/y" %}

    StartMail.com is an email service with a focus on security and privacy through the use of standard OpenPGP encryption. StartMail has been in operation since 2014 and is based in Boulevard 11, Zeist Netherlands. Accounts start with 10GB. They offer a 30-day trial.

    -
    Domains and Aliases
    +
    {% include badge.html color="success" text="Domains and Aliases" %}

    Personal accounts can use Custom or Generated aliases. Business accounts can use Domain aliases.

    -
    Payment Methods
    +
    {% include badge.html color="warning" text="Payment Methods" %}

    StartMail accepts Visa, MasterCard, American Express and Paypal. StartMail also has other payment options such as Bitcoin (currently only for Personal accounts) and SEPA Direct Debit for accounts older than a year.

    -
    Account Security
    +
    {% include badge.html color="success" text="Account Security" %}

    StartMail supports TOTP two factor authentication for webmail only. They do not allow U2F security key authentication.

    -
    Data Security
    +
    {% include badge.html color="warning" text="Data Security" %}

    StartMail has zero access encryption at rest, using their "user vault" system. When a user logs in, the vault is opened, and the email is then moved to the vault out of the queue where it is decrypted by the corresponding private key.

    StartMail supports importing contacts however, they are only accessible in the webmail and not through protocols such as CalDAV. Contacts are also not stored using zero knowledge encryption, so a standalone option may be more appropriate.

    -
    Email Encryption
    +
    {% include badge.html color="success" text="Email Encryption" %}

    StartMail has integrated encryption in their webmail, which simplifies sending messages to users with public OpenPGP keys.

    -
    .onion Service
    +
    {% include badge.html color="danger" text=".onion Service" %}

    StartMail does not operate a .onion service.

    -
    Extra Functionality
    +
    {% include badge.html color="info" text="Extra Functionality" %}

    StartMail allows for proxying of images within emails. If a user allows the remote image to be loaded, the sender won't know what the user's IP address is.

    diff --git a/_includes/sections/hosting-provider.html b/_includes/sections/hosting-provider.html index 2f0c739c..a3d49dfa 100644 --- a/_includes/sections/hosting-provider.html +++ b/_includes/sections/hosting-provider.html @@ -1,39 +1,39 @@

    Secure Hosting Provider

    {% include cardv2.html -title="Data Center: Bahnhof" -image="/assets/img/svg/3rd-party/bahnhof.svg" -image-dark="/assets/img/svg/3rd-party/bahnhof-dark.svg" -description="Bahnhof is one of Sweden’s largest network operators, founded in 1994. They specialize in innovative data center construction: Extreme security coupled with low-cost green energy has made them world famous." -website="https://www.bahnhof.net/" -privacy-policy="https://www.bahnhof.net/page/privacy-policy" -forum="https://forum.privacytools.io/t/discussion-bahnhof-net/341" + title="Data Center: Bahnhof" + image="/assets/img/svg/3rd-party/bahnhof.svg" + image-dark="/assets/img/svg/3rd-party/bahnhof-dark.svg" + description="Bahnhof is one of Sweden’s largest network operators, founded in 1994. They specialize in innovative data center construction: Extreme security coupled with low-cost green energy has made them world famous." + website="https://www.bahnhof.net/" + privacy-policy="https://www.bahnhof.net/page/privacy-policy" + forum="https://forum.privacytools.io/t/discussion-bahnhof-net/341" %} {% include cardv2.html -title="VPS & Domain: Njalla" -image="/assets/img/svg/3rd-party/njalla.svg" -image-dark="/assets/img/svg/3rd-party/njalla-dark.svg" -description="Njalla is a privacy-aware domain registration service and VPS provider based in Nevis (with VPS data centers in Sweden). It is created by people from The Pirate Bay and IPredator VPN. Accepted payments: Bitcoin, Litecoin, Monero, Zcash, DASH, Bitcoin Cash and PayPal." -website="https://njal.la/" -tor="http://njalladnspotetti.onion" -forum="https://forum.privacytools.io/t/discussion-njalla/339" + title="VPS & Domain: Njalla" + image="/assets/img/svg/3rd-party/njalla.svg" + image-dark="/assets/img/svg/3rd-party/njalla-dark.svg" + description="Njalla is a privacy-aware domain registration service and VPS provider based in Nevis (with VPS data centers in Sweden). It is created by people from The Pirate Bay and IPredator VPN. Accepted payments: Bitcoin, Litecoin, Monero, Zcash, DASH, Bitcoin Cash and PayPal." + website="https://njal.la/" + tor="http://njalladnspotetti.onion" + forum="https://forum.privacytools.io/t/discussion-njalla/339" %} {% include cardv2.html -title="Colocation: DataCell" -image="/assets/img/png/3rd-party/datacell.png" -description="DataCell is a data center providing secure colocating in Switzerland and Iceland." -website="https://datacell.is/" -privacy-policy="https://datacell.is/privacy/" -forum="https://forum.privacytools.io/t/discussion-datacell-is/342" + title="Colocation: DataCell" + image="/assets/img/png/3rd-party/datacell.png" + description="DataCell is a data center providing secure colocating in Switzerland and Iceland." + website="https://datacell.is/" + privacy-policy="https://datacell.is/privacy/" + forum="https://forum.privacytools.io/t/discussion-datacell-is/342" %} {% include cardv2.html -title="VPS, Hosting, & Domain: Orange Website" -image="/assets/img/png/3rd-party/orange_website.png" -description="Orange Website is an Icelandic web hosting provider that prides themselves in protecting online privacy and free speech." -website="https://www.orangewebsite.com/" -privacy-policy="https://www.orangewebsite.com/docs/privacy-policy.php" -forum="https://forum.privacytools.io/t/discussion-orange-website/343" + title="VPS, Hosting, & Domain: Orange Website" + image="/assets/img/png/3rd-party/orange_website.png" + description="Orange Website is an Icelandic web hosting provider that prides themselves in protecting online privacy and free speech." + website="https://www.orangewebsite.com/" + privacy-policy="https://www.orangewebsite.com/docs/privacy-policy.php" + forum="https://forum.privacytools.io/t/discussion-orange-website/343" %} diff --git a/_includes/sections/notebooks.html b/_includes/sections/notebooks.html index 94dc0e9a..fefd06a8 100644 --- a/_includes/sections/notebooks.html +++ b/_includes/sections/notebooks.html @@ -5,53 +5,53 @@ {% include cardv2.html -title="Joplin" -image="/assets/img/svg/3rd-party/joplin.svg" -description="Joplin is a free, open-source, and fully-featured note-taking and to-do application which can handle a large number of markdown notes organized into notebooks and tags. It offers end-to-end encryption and can sync through Nextcloud, Dropbox, and more. It also offers easy import from Evernote and plain-text notes." -website="https://joplinapp.org/" -privacy-policy="https://joplinapp.org/privacy/" -github="https://github.com/laurent22/joplin" -windows="https://joplinapp.org/#desktop-applications" -mac="https://joplinapp.org/#desktop-applications" -linux="https://joplinapp.org/#desktop-applications" -freebsd="https://www.npmjs.com/package/joplin" -googleplay="https://play.google.com/store/apps/details?id=net.cozic.joplin" -android="https://joplinapp.org/#mobile-applications" -ios="https://itunes.apple.com/us/app/joplin/id1315599797" -firefox="https://addons.mozilla.org/en-US/firefox/addon/joplin-web-clipper/" -chrome="https://chrome.google.com/webstore/detail/joplin-web-clipper/alofnhikmmkdbbbgpnglcpdollgjjfek" + title="Joplin" + image="/assets/img/svg/3rd-party/joplin.svg" + description="Joplin is a free, open-source, and fully-featured note-taking and to-do application which can handle a large number of markdown notes organized into notebooks and tags. It offers end-to-end encryption and can sync through Nextcloud, Dropbox, and more. It also offers easy import from Evernote and plain-text notes." + website="https://joplinapp.org/" + privacy-policy="https://joplinapp.org/privacy/" + github="https://github.com/laurent22/joplin" + windows="https://joplinapp.org/#desktop-applications" + mac="https://joplinapp.org/#desktop-applications" + linux="https://joplinapp.org/#desktop-applications" + freebsd="https://www.npmjs.com/package/joplin" + googleplay="https://play.google.com/store/apps/details?id=net.cozic.joplin" + android="https://joplinapp.org/#mobile-applications" + ios="https://itunes.apple.com/us/app/joplin/id1315599797" + firefox="https://addons.mozilla.org/en-US/firefox/addon/joplin-web-clipper/" + chrome="https://chrome.google.com/webstore/detail/joplin-web-clipper/alofnhikmmkdbbbgpnglcpdollgjjfek" %} {% include cardv2.html -title="Standard Notes" -image="/assets/img/svg/3rd-party/standard_notes.svg" -description='Standard Notes is a simple and private notes app that makes your notes easy and available everywhere you are. It features end-to-end encryption on every platform, and a powerful desktop experience with themes and custom editors. It has also been independently audited (PDF).' -website="https://standardnotes.org/" -privacy-policy="https://standardnotes.org/privacy" -github="https://github.com/standardnotes" -windows="https://standardnotes.org/#get-started" -mac="https://standardnotes.org/#get-started" -linux="https://standardnotes.org/#get-started" -ios="https://itunes.apple.com/us/app/standard-notes/id1285392450" -fdroid="https://f-droid.org/packages/com.standardnotes/" -googleplay="https://play.google.com/store/apps/details?id=com.standardnotes" -web="https://app.standardnotes.org/" + title="Standard Notes" + image="/assets/img/svg/3rd-party/standard_notes.svg" + description='Standard Notes is a simple and private notes app that makes your notes easy and available everywhere you are. It features end-to-end encryption on every platform, and a powerful desktop experience with themes and custom editors. It has also been independently audited (PDF).' + website="https://standardnotes.org/" + privacy-policy="https://standardnotes.org/privacy" + github="https://github.com/standardnotes" + windows="https://standardnotes.org/#get-started" + mac="https://standardnotes.org/#get-started" + linux="https://standardnotes.org/#get-started" + ios="https://itunes.apple.com/us/app/standard-notes/id1285392450" + fdroid="https://f-droid.org/packages/com.standardnotes/" + googleplay="https://play.google.com/store/apps/details?id=com.standardnotes" + web="https://app.standardnotes.org/" %} {% include cardv2.html -title="Turtl" -image="/assets/img/svg/3rd-party/turtl.svg" -description="Turtl lets you take notes, bookmark websites, and store documents for sensitive projects. From sharing passwords with your coworkers to tracking research on an article you're writing, Turtl keeps it all safe from everyone but you and those you share with." -website="https://turtlapp.com/" -privacy-policy="https://turtlapp.com/privacy/" -github="https://github.com/turtl" -windows="https://turtlapp.com/download/" -mac="https://turtlapp.com/download/" -linux="https://turtlapp.com/download/" -googleplay="https://play.google.com/store/apps/details?id=com.lyonbros.turtl" -android="https://turtlapp.com/download/" -firefox="https://addons.mozilla.org/en-US/firefox/addon/turtl-bookmarking/" -chrome="https://chrome.google.com/webstore/detail/turtl/dgcojenhfdjhieoglmiaheihjadlpcml" + title="Turtl" + image="/assets/img/svg/3rd-party/turtl.svg" + description="Turtl lets you take notes, bookmark websites, and store documents for sensitive projects. From sharing passwords with your coworkers to tracking research on an article you're writing, Turtl keeps it all safe from everyone but you and those you share with." + website="https://turtlapp.com/" + privacy-policy="https://turtlapp.com/privacy/" + github="https://github.com/turtl" + windows="https://turtlapp.com/download/" + mac="https://turtlapp.com/download/" + linux="https://turtlapp.com/download/" + googleplay="https://play.google.com/store/apps/details?id=com.lyonbros.turtl" + android="https://turtlapp.com/download/" + firefox="https://addons.mozilla.org/en-US/firefox/addon/turtl-bookmarking/" + chrome="https://chrome.google.com/webstore/detail/turtl/dgcojenhfdjhieoglmiaheihjadlpcml" %}

    Warning

    diff --git a/_includes/sections/operating-systems.html b/_includes/sections/operating-systems.html index 3f1209c7..2fe24f81 100644 --- a/_includes/sections/operating-systems.html +++ b/_includes/sections/operating-systems.html @@ -5,8 +5,8 @@ {% include cardv2.html -title="Qubes OS" -image="/assets/img/svg/3rd-party/qubes_os.svg" + title="Qubes OS" + image="/assets/img/svg/3rd-party/qubes_os.svg" description='Qubes is an open-source operating system designed to provide strong security for desktop computing. Qubes is based on Xen, the X Window System, and Linux, and can run most Linux applications and utilize most of the Linux drivers.' badges="info:Xen" labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." diff --git a/_includes/sections/search-engines.html b/_includes/sections/search-engines.html index 44d720ff..dc2d5c4b 100644 --- a/_includes/sections/search-engines.html +++ b/_includes/sections/search-engines.html @@ -5,47 +5,47 @@ {% -include cardv2.html -title="Searx" -image="/assets/img/svg/3rd-party/searx.svg" -description='Searx is an open-source, self-hostable, metasearch engine, aggregating the results of other search engines while not storing information about its users. There is a list of public instances or you can try the PrivacyTools instance.' -website="https://searx.me/" -tor="http://ulrn6sryqaifefld.onion" -forum="https://forum.privacytools.io/t/discussion-searx/283" -github="https://github.com/asciimoo/searx" + include cardv2.html + title="Searx" + image="/assets/img/svg/3rd-party/searx.svg" + description='Searx is an open-source, self-hostable, metasearch engine, aggregating the results of other search engines while not storing information about its users. There is a list of public instances or you can try the PrivacyTools instance.' + website="https://searx.me/" + tor="http://ulrn6sryqaifefld.onion" + forum="https://forum.privacytools.io/t/discussion-searx/283" + github="https://github.com/asciimoo/searx" %} {% -include cardv2.html -title="DuckDuckGo" -image="/assets/img/svg/3rd-party/duckduckgo.svg" -description='DuckDuckGo is a "search engine that doesn\'t track you." Some of DuckDuckGo\'s code is free software hosted at GitHub, but the core is proprietary. The company is based in the USA.' -website="https://duckduckgo.com/" -privacy-policy="https://duckduckgo.com/privacy" -tor="http://3g2upl4pq6kufc4m.onion" -forum="https://forum.privacytools.io/t/discussion-duckduckgo/285" -github="https://github.com/duckduckgo" + include cardv2.html + title="DuckDuckGo" + image="/assets/img/svg/3rd-party/duckduckgo.svg" + description='DuckDuckGo is a "search engine that doesn\'t track you." Some of DuckDuckGo\'s code is free software hosted at GitHub, but the core is proprietary. The company is based in the USA.' + website="https://duckduckgo.com/" + privacy-policy="https://duckduckgo.com/privacy" + tor="http://3g2upl4pq6kufc4m.onion" + forum="https://forum.privacytools.io/t/discussion-duckduckgo/285" + github="https://github.com/duckduckgo" %} {% -include cardv2.html -title="Qwant" -image="/assets/img/svg/3rd-party/qwant.svg" -description='Qwant is a search engine with its philosophy based on two principles: no user tracking and no filter bubble. The company is based in France.' -website="https://www.qwant.com/" -privacy-policy="https://about.qwant.com/legal/privacy/" -forum="https://forum.privacytools.io/t/discussion-qwant/286" -github="https://github.com/Qwant/" + include cardv2.html + title="Qwant" + image="/assets/img/svg/3rd-party/qwant.svg" + description='Qwant is a search engine with its philosophy based on two principles: no user tracking and no filter bubble. The company is based in France.' + website="https://www.qwant.com/" + privacy-policy="https://about.qwant.com/legal/privacy/" + forum="https://forum.privacytools.io/t/discussion-qwant/286" + github="https://github.com/Qwant/" %} {% include cardv2.html -title="Startpage.com" -image="/assets/img/svg/3rd-party/startpage.svg" -description='Startpage.com is a search engine that provides Google search results with complete privacy protection. Startpage BV is a Netherlands-based company that has been dedicated to privacy-respecting search since 2006.' -labels="color==warning::link==https://support.startpage.com/index.php?/Knowledgebase/Article/View/1277/0/startpage-ceo-robert-beens-discusses-the-investment-from-privacy-one--system1::text==Warning::tooltip==Startpage.com was recently acquired by United States-based System1." -website="https://www.startpage.com/" -privacy-policy="https://www.startpage.com/en/privacy-policy/" -forum="https://forum.privacytools.io/t/delisted-discussion-startpage/284" + title="Startpage.com" + image="/assets/img/svg/3rd-party/startpage.svg" + description='Startpage.com is a search engine that provides Google search results with complete privacy protection. Startpage BV is a Netherlands-based company that has been dedicated to privacy-respecting search since 2006.' + labels="color==warning::link==https://support.startpage.com/index.php?/Knowledgebase/Article/View/1277/0/startpage-ceo-robert-beens-discusses-the-investment-from-privacy-one--system1::text==Warning::tooltip==Startpage.com was recently acquired by United States-based System1." + website="https://www.startpage.com/" + privacy-policy="https://www.startpage.com/en/privacy-policy/" + forum="https://forum.privacytools.io/t/delisted-discussion-startpage/284" %}

    Worth Mentioning

    diff --git a/_includes/sections/self-contained-networks.html b/_includes/sections/self-contained-networks.html index b3cb305a..a467ab96 100644 --- a/_includes/sections/self-contained-networks.html +++ b/_includes/sections/self-contained-networks.html @@ -5,71 +5,99 @@ {% include cardv2.html -title="Tor" -image="/assets/img/svg/3rd-party/tor.svg" -description="The Tor network is a group of volunteer-operated servers that allows people to improve their privacy and security on the Internet. Tor's users employ this network by connecting through a series of virtual tunnels rather than making a direct connection, thus allowing both organizations and individuals to share information over public networks without compromising their privacy. Tor is an effective censorship circumvention tool." -website="https://www.torproject.org/" -tor="http://expyuzz4wqqyqhjn.onion" -forum="https://forum.privacytools.io/t/discussion-tor/1589" -windows="https://www.torproject.org/download/" -mac="https://www.torproject.org/download/" -linux="https://www.torproject.org/download/" -freebsd="https://www.freshports.org/security/tor" -openbsd="http://openports.se/net/tor" -netbsd="http://pkgsrc.se/net/tor" -fdroid="https://support.torproject.org/tormobile/tormobile-7/" -googleplay="https://play.google.com/store/apps/details?id=org.torproject.torbrowser" -android="https://www.torproject.org/download/#android" -git="https://gitweb.torproject.org/tor.git" + title="Tor" + image="/assets/img/svg/3rd-party/tor.svg" + description="The Tor network is a group of volunteer-operated servers that allows people to improve their privacy and security on the Internet. Tor's users employ this network by connecting through a series of virtual tunnels rather than making a direct connection, thus allowing both organizations and individuals to share information over public networks without compromising their privacy. Tor is an effective censorship circumvention tool." + website="https://www.torproject.org/" + tor="http://expyuzz4wqqyqhjn.onion" + forum="https://forum.privacytools.io/t/discussion-tor/1589" + windows="https://www.torproject.org/download/" + mac="https://www.torproject.org/download/" + linux="https://www.torproject.org/download/" + freebsd="https://www.freshports.org/security/tor" + openbsd="http://openports.se/net/tor" + netbsd="http://pkgsrc.se/net/tor" + fdroid="https://support.torproject.org/tormobile/tormobile-7/" + googleplay="https://play.google.com/store/apps/details?id=org.torproject.torbrowser" + android="https://www.torproject.org/download/#android" + git="https://gitweb.torproject.org/tor.git" %} {% include cardv2.html -title="I2P Anonymous Network" -image="/assets/img/svg/3rd-party/i2p.svg" -image-dark="/assets/img/svg/3rd-party/i2p-dark.svg" -description="The Invisible Internet Project (I2P) is a computer network layer that allows applications to send messages to each other pseudonymously and securely. Uses include anonymous Web surfing, chatting, blogging, and file transfers. The software that implements this layer is called an I2P router and a computer running I2P is called an I2P node. The software is free and open-source and is published under multiple licenses." -website="https://geti2p.net/" -forum="https://forum.privacytools.io/t/discussion-i2p/1590" -i2p="http://i2p-projekt.i2p/" -windows="https://geti2p.net/en/download#windows" -mac="https://geti2p.net/en/download#mac" -linux="https://geti2p.net/en/download#unix" -freebsd="https://www.freshports.org/security/i2p/" -openbsd="http://openports.se/net/i2pd" -netbsd="http://pkgsrc.se/wip/i2pd" -fdroid="https://f-droid.org/app/net.i2p.android.router" -googleplay="https://play.google.com/store/apps/details?id=net.i2p.android" -android="https://download.i2p2.de/android/current/" -source="https://geti2p.net/en/get-involved/guides/new-developers#getting-the-i2p-code" + title="I2P Anonymous Network" + image="/assets/img/svg/3rd-party/i2p.svg" + image-dark="/assets/img/svg/3rd-party/i2p-dark.svg" + description="The Invisible Internet Project (I2P) is a computer network layer that allows applications to send messages to each other pseudonymously and securely. Uses include anonymous Web surfing, chatting, blogging, and file transfers. The software that implements this layer is called an I2P router and a computer running I2P is called an I2P node. The software is free and open-source and is published under multiple licenses." + website="https://geti2p.net/" + forum="https://forum.privacytools.io/t/discussion-i2p/1590" + i2p="http://i2p-projekt.i2p/" + windows="https://geti2p.net/en/download#windows" + mac="https://geti2p.net/en/download#mac" + linux="https://geti2p.net/en/download#unix" + freebsd="https://www.freshports.org/security/i2p/" + openbsd="http://openports.se/net/i2pd" + netbsd="http://pkgsrc.se/wip/i2pd" + fdroid="https://f-droid.org/app/net.i2p.android.router" + googleplay="https://play.google.com/store/apps/details?id=net.i2p.android" + android="https://download.i2p2.de/android/current/" + source="https://geti2p.net/en/get-involved/guides/new-developers#getting-the-i2p-code" %} {% include cardv2.html -title="The Freenet Project" -image="/assets/img/svg/3rd-party/freenet.svg" -description="Freenet is a peer-to-peer platform for censorship-resistant communication. It uses a decentralized distributed data store to keep and deliver information, and has a suite of free software for publishing and communicating on the Web without fear of censorship. Both Freenet and some of its associated tools were originally designed by Ian Clarke, who defined Freenet's goal as providing freedom of speech on the Internet with strong anonymity protection." -website="https://freenetproject.org/" -forum="https://forum.privacytools.io/t/discussion-freenet/1591" -windows="https://freenetproject.org/pages/download.html#windows" -mac="https://freenetproject.org/pages/download.html#os-x" -linux="https://freenetproject.org/pages/download.html#gnulinux-posix" -freebsd="https://freenetproject.org/pages/download.html#gnulinux-posix" -openbsd="https://freenetproject.org/pages/download.html#gnulinux-posix" -netbsd="https://freenetproject.org/pages/download.html#gnulinux-posix" -github="https://github.com/freenet/" + title="The Freenet Project" + image="/assets/img/svg/3rd-party/freenet.svg" + description="Freenet is a peer-to-peer platform for censorship-resistant communication. It uses a decentralized distributed data store to keep and deliver information, and has a suite of free software for publishing and communicating on the Web without fear of censorship. Both Freenet and some of its associated tools were originally designed by Ian Clarke, who defined Freenet's goal as providing freedom of speech on the Internet with strong anonymity protection." + website="https://freenetproject.org/" + forum="https://forum.privacytools.io/t/discussion-freenet/1591" + windows="https://freenetproject.org/pages/download.html#windows" + mac="https://freenetproject.org/pages/download.html#os-x" + linux="https://freenetproject.org/pages/download.html#gnulinux-posix" + freebsd="https://freenetproject.org/pages/download.html#gnulinux-posix" + openbsd="https://freenetproject.org/pages/download.html#gnulinux-posix" + netbsd="https://freenetproject.org/pages/download.html#gnulinux-posix" + github="https://github.com/freenet/" %}

    Worth Mentioning

      -
    • ZeroNet - Open, free, and uncensorable websites, using Bitcoin cryptography and BitTorrent network. privacy warning
    • +
    • + ZeroNet - Open, free, and uncensorable websites, using Bitcoin cryptography and BitTorrent network. + {% include badge.html + color="danger" + icon="fas fa-exclamation-triangle" + tooltip="Your IP address isn't hidden by default and won't be, unless you enforce Tor usage." + text="Not anonymous" + %} +
    • RetroShare - An open source, cross-platform, friend-to-friend, secure, and decentralized communication platform.
    • I2P-Bote - End-to-end encrypted decentralized mail system within the I2P network.
    • GNUnet - GNUnet provides a strong foundation of free software for a global, distributed network that provides security and privacy.
    • -
    • IPFS and IPFS Companion- A peer-to-peer hypermedia protocol to make the web faster, safer, and more open. IPFS Companion is a browser extension for redirecting queries to a gateway of your choice (generally local). - - - Important privacy warning - -
    • -
    • Yggdrasil - An early-stage implementation of a fully end-to-end encrypted IPv6 network. It is lightweight, self-arranging, supported on multiple platforms, and allows pretty much any IPv6-capable application to communicate securely with other Yggdrasil nodes. Yggdrasil does not require you to have IPv6 Internet connectivity - it also works over IPv4. experimental privacy warning
    • +
    • + IPFS and IPFS Companion- A peer-to-peer hypermedia protocol to make the web faster, safer, and more open. IPFS Companion is a browser extension for redirecting queries to a gateway of your choice (generally local). + {% include badge.html + color="warning" + icon="fas fa-exclamation-triangle" + link="https://github.com/privacytools/privacytools.io/pull/361#issuecomment-344414022" + text="Supercookie warning" + %} +
    • +
    • + Yggdrasil + - An early-stage implementation of a fully end-to-end encrypted IPv6 network. It is lightweight, self-arranging, supported on multiple platforms, and allows pretty much any IPv6-capable application to communicate securely with other Yggdrasil nodes. Yggdrasil does not require you to have IPv6 Internet connectivity - it also works over IPv4. + + {% include badge.html + color="warning" + icon="far fa-question-circle" + tooltip="The project is currently in early stages but it is being actively developed." + text="Experimental" + %} + {% include badge.html + color="danger" + icon="fas fa-exclamation-triangle" + link="" + tooltip="Yggdrasil doesn't provide anonymity by default. Your peers know your IP address unless you configure it to only use Tor/I2P peers." + text="Not anonymous by default" + %} +
    diff --git a/_includes/sections/social-networks.html b/_includes/sections/social-networks.html index 27292440..25a498d2 100644 --- a/_includes/sections/social-networks.html +++ b/_includes/sections/social-networks.html @@ -5,74 +5,74 @@ {% include cardv2.html -title="Mastodon - Twitter Alternative" -image="/assets/img/svg/3rd-party/mastodon.svg" -description='Mastodon is a social network based on open web protocols and free, open-source software. It is decentralized like email, users can exist on different servers or even different platforms but still communicate with each other. It also has the most users, and the most diverse (in terms of interests) users, it looks good, and it is easy to setup yourself. If you are looking for a server to join, you are welcome to join our hosted instance: social.privacytools.io' -website="https://joinmastodon.org/" -forum="https://forum.privacytools.io/t/discussion-mastodon/289" -github="https://github.com/tootsuite/mastodon" -windows="https://joinmastodon.org/apps" -mac="https://joinmastodon.org/apps" -linux="https://joinmastodon.org/apps" -freebsd="https://joinmastodon.org/apps" -openbsd="https://joinmastodon.org/apps" -netbsd="https://joinmastodon.org/apps" -android="https://joinmastodon.org/apps" -sailfish="https://joinmastodon.org/apps" -ios="https://joinmastodon.org/apps" -web="https://joinmastodon.org/#getting-started" + title="Mastodon - Twitter Alternative" + image="/assets/img/svg/3rd-party/mastodon.svg" + description='Mastodon is a social network based on open web protocols and free, open-source software. It is decentralized like email, users can exist on different servers or even different platforms but still communicate with each other. It also has the most users, and the most diverse (in terms of interests) users, it looks good, and it is easy to setup yourself. If you are looking for a server to join, you are welcome to join our hosted instance: social.privacytools.io' + website="https://joinmastodon.org/" + forum="https://forum.privacytools.io/t/discussion-mastodon/289" + github="https://github.com/tootsuite/mastodon" + windows="https://joinmastodon.org/apps" + mac="https://joinmastodon.org/apps" + linux="https://joinmastodon.org/apps" + freebsd="https://joinmastodon.org/apps" + openbsd="https://joinmastodon.org/apps" + netbsd="https://joinmastodon.org/apps" + android="https://joinmastodon.org/apps" + sailfish="https://joinmastodon.org/apps" + ios="https://joinmastodon.org/apps" + web="https://joinmastodon.org/#getting-started" %} {% include cardv2.html -title="diaspora* - Google+ Alternative" -image="/assets/img/svg/3rd-party/diaspora.svg" -description="diaspora* is based on three key philosophies: Decentralization, Freedom, and Privacy. It is intended to address privacy concerns related to centralized social networks by allowing users set up their own server (or \"pod\") to host content. Pods can then interact to share status updates, photographs, and other social data." -website="https://diasporafoundation.org/" -forum="https://forum.privacytools.io/t/discussion-diaspora/290" -github="https://github.com/diaspora/diaspora" -android="https://wiki.diasporafoundation.org/Tools_to_use_with_Diaspora#Android" -web="https://diasporafoundation.org/" + title="diaspora* - Google+ Alternative" + image="/assets/img/svg/3rd-party/diaspora.svg" + description="diaspora* is based on three key philosophies: Decentralization, Freedom, and Privacy. It is intended to address privacy concerns related to centralized social networks by allowing users set up their own server (or \"pod\") to host content. Pods can then interact to share status updates, photographs, and other social data." + website="https://diasporafoundation.org/" + forum="https://forum.privacytools.io/t/discussion-diaspora/290" + github="https://github.com/diaspora/diaspora" + android="https://wiki.diasporafoundation.org/Tools_to_use_with_Diaspora#Android" + web="https://diasporafoundation.org/" %} {% include cardv2.html -title="Friendica - Facebook Alternative" -image="/assets/img/svg/3rd-party/friendica.svg" -description="Friendica has an emphasis on extensive privacy settings and easy server installation. It aims to federate with as many other social networks as possible. Currently, Friendica users can integrate contacts from Facebook, Twitter, Diaspora, GNU social, App.net, Pump.io and other services in their social streams." -website="https://friendi.ca/" -forum="https://forum.privacytools.io/t/discussion-friendica/291" -github="https://github.com/friendica/friendica" -windows="https://friendi.ca/resources/mobile-clients/" -linux="https://friendi.ca/resources/mobile-clients/" -android="https://friendi.ca/resources/mobile-clients/" -sailfish="https://friendi.ca/resources/mobile-clients/" -web="https://friendi.ca/" + title="Friendica - Facebook Alternative" + image="/assets/img/svg/3rd-party/friendica.svg" + description="Friendica has an emphasis on extensive privacy settings and easy server installation. It aims to federate with as many other social networks as possible. Currently, Friendica users can integrate contacts from Facebook, Twitter, Diaspora, GNU social, App.net, Pump.io and other services in their social streams." + website="https://friendi.ca/" + forum="https://forum.privacytools.io/t/discussion-friendica/291" + github="https://github.com/friendica/friendica" + windows="https://friendi.ca/resources/mobile-clients/" + linux="https://friendi.ca/resources/mobile-clients/" + android="https://friendi.ca/resources/mobile-clients/" + sailfish="https://friendi.ca/resources/mobile-clients/" + web="https://friendi.ca/" %} {% include cardv2.html -title="PixelFed - Instagram Alternative" -image="/assets/img/svg/3rd-party/pixelfed.svg" -description='PixelFed is a free and ethical photo sharing platform, powered by ActivityPub federation. Pixelfed is an open-source, federated platform. You can run your own instance or join an existing one.' -website="https://pixelfed.org/" -forum="https://forum.privacytools.io/t/discussion-pixelfed/293" -github="https://github.com/pixelfed" -web="https://pixelfed.org/" + title="PixelFed - Instagram Alternative" + image="/assets/img/svg/3rd-party/pixelfed.svg" + description='PixelFed is a free and ethical photo sharing platform, powered by ActivityPub federation. Pixelfed is an open-source, federated platform. You can run your own instance or join an existing one.' + website="https://pixelfed.org/" + forum="https://forum.privacytools.io/t/discussion-pixelfed/293" + github="https://github.com/pixelfed" + web="https://pixelfed.org/" %} {% include cardv2.html -title="Pleroma - Twitter Alternative" -image="/assets/img/svg/3rd-party/pleroma.svg" -description="Pleroma is a free, federated social networking server built on open protocols. It is compatible with Mastodon and many other ActivityPub and OStatus implementations." -website="https://pleroma.social" -forum="https://forum.privacytools.io/t/discussion-pleroma/2307" -gitlab="https://git.pleroma.social/pleroma/pleroma/" -windows="https://docs-develop.pleroma.social/backend/clients/#desktop" -mac="https://docs-develop.pleroma.social/backend/clients/#desktop" -linux="https://docs-develop.pleroma.social/backend/clients/#desktop" -android="https://docs-develop.pleroma.social/backend/clients/#handheld" -fdroid="https://docs-develop.pleroma.social/backend/clients/#handheld" -googleplay="https://docs-develop.pleroma.social/backend/clients/#handheld" -ios="https://docs-develop.pleroma.social/backend/clients/#handheld" -web="https://docs-develop.pleroma.social/backend/clients/#alternative-web-interfaces" + title="Pleroma - Twitter Alternative" + image="/assets/img/svg/3rd-party/pleroma.svg" + description="Pleroma is a free, federated social networking server built on open protocols. It is compatible with Mastodon and many other ActivityPub and OStatus implementations." + website="https://pleroma.social" + forum="https://forum.privacytools.io/t/discussion-pleroma/2307" + gitlab="https://git.pleroma.social/pleroma/pleroma/" + windows="https://docs-develop.pleroma.social/backend/clients/#desktop" + mac="https://docs-develop.pleroma.social/backend/clients/#desktop" + linux="https://docs-develop.pleroma.social/backend/clients/#desktop" + android="https://docs-develop.pleroma.social/backend/clients/#handheld" + fdroid="https://docs-develop.pleroma.social/backend/clients/#handheld" + googleplay="https://docs-develop.pleroma.social/backend/clients/#handheld" + ios="https://docs-develop.pleroma.social/backend/clients/#handheld" + web="https://docs-develop.pleroma.social/backend/clients/#alternative-web-interfaces" %}

    Worth Mentioning

    diff --git a/_includes/sections/vpn.html b/_includes/sections/vpn.html index a2a4d90a..2d765027 100644 --- a/_includes/sections/vpn.html +++ b/_includes/sections/vpn.html @@ -19,30 +19,30 @@

    Mullvad - EUR €60/y + {% include badge.html color="info" text="EUR €60/y" %}

    Mullvad.net is a fast and inexpensive VPN with a serious focus on transparency and security. They have been in operation since 2009. Mullvad is based in Sweden and does not have a free trial.

    -
    35 Countries
    +
    {% include badge.html color="success" text="35 Countries" %}

    Mullvad has servers in 35 countries at the time of writing this page. Picking a VPN provider with a server nearest to you will reduce latency of the network traffic you send. This is because of a shorter route (less hops) to the destination.

    We also think it's better for the security of the VPN provider's private keys if they use dedicated servers, instead of cheaper shared solutions (with other customers) such as virtual private servers.

    -
    Independently Audited
    +
    {% include badge.html color="success" text="Independently Audited" %}

    Mullvad's VPN clients have been audited by Cure53 and Assured AB in a pentest report published at cure53.de. The security researchers concluded:

    ...Cure53 and Assured AB are happy with the results of the audit and the software leaves an overall positive impression. With security dedication of the in-house team at the Mullvad VPN compound, the testers have no doubts about the project being on the right track from a security standpoint.

    -
    Open Source Clients
    +
    {% include badge.html color="success" text="Open Source Clients" %}

    Mullvad provides the source code for their desktop and mobile clients in their GitHub organization.

    -
    Accepts Bitcoin
    +
    {% include badge.html color="success" text="Accepts Bitcoin" %}

    Mullvad in addition to accepting credit/debit cards and PayPal, accepts Bitcoin, Bitcoin Cash, and cash/local currency as anonymous forms of payment. They also accept Swish and bank wire transfers.

    -
    WireGuard Support
    +
    {% include badge.html color="success" text="WireGuard Support" %}

    In addition to standard OpenVPN connections, Mullvad supports WireGuard. WireGuard is an experimental protocol with theoretically better security and higher reliability, although it is not currently recommended for production use.

    -
    IPv6 Support
    +
    {% include badge.html color="success" text="IPv6 Support" %}

    Mullvad supports the future of networking IPv6. Their network allows users to access services hosted on IPv6 as opposed to other providers who block IPv6 connections.

    -
    Remote Port Forwarding
    +
    {% include badge.html color="success" text="Remote Port Forwarding" %}

    Remote port forwarding is allowed on Mullvad, see Port forwarding with Mullvad VPN.

    -
    Mobile Clients
    +
    {% include badge.html color="success" text="Mobile Clients" %}

    Mullvad has published App Store and Google Play clients, both supporting an easy-to use interface as opposed to requiring users to manual configure their WireGuard connections.

    -
    Extra Functionality
    +
    {% include badge.html color="info" text="Extra Functionality" %}

    The Mullvad VPN clients have a built-in killswitch to block internet connections outside of the VPN. They also are able to automatically start on boot. The Mullvad website is also accessible via Tor at xcln5hkbriyklr6n.onion.

    @@ -53,25 +53,25 @@

    ProtonVPN - Free - Basic USD $48/y - Plus USD $96/y + {% include badge.html color="info" text="Free" %} + {% include badge.html color="info" text="Basic USD $48/y" %} + {% include badge.html color="secondary" text="Plus USD $96/y" %}

    ProtonVPN.com is a strong contender in the VPN space, and they have been in operation since 2016. ProtonVPN is based in Switzerland and offers a limited free pricing tier, as well as premium options. They offer a further 14% discount for buying a 2 year subscription.

    -
    44 Countries
    +
    {% include badge.html color="success" text="44 Countries" %}

    ProtonVPN has servers in 44 countries at the time of writing this page. Picking a VPN provider with a server nearest to you will reduce latency of the network traffic you send. This is because of a shorter route (less hops) to the destination.

    We also think it's better for the security of the VPN provider's private keys if they use dedicated servers, instead of cheaper shared solutions (with other customers) such as virtual private servers.

    -
    Independently Audited
    +
    {% include badge.html color="success" text="Independently Audited" %}

    As of January 2020 ProtonVPN has undergone an independent audit by SEC Consult. SEC Consult found some medium and low risk vulnerabilities in ProtonVPN's Windows, Android, and iOS applications, all of which were "properly fixed" by ProtonVPN before the reports were published. None of the issues identified would have provided an attacker remote access to a user's device or traffic. You can view individual reports for each platform at protonvpn.com. -

    Open Source Clients
    +
    {% include badge.html color="success" text="Open Source Clients" %}

    ProtonVPN provides the source code for their desktop and mobile clients in their GitHub organization.

    -
    Accepts Bitcoin
    +
    {% include badge.html color="success" text="Accepts Bitcoin" %}

    ProtonVPN does technically accept Bitcoin payments; however, you either need to have an existing account, or contact their support team in advance to register with Bitcoin.

    -
    Mobile Clients
    +
    {% include badge.html color="success" text="Mobile Clients" %}

    In addition to providing standard OpenVPN configuration files, ProtonVPN has mobile clients for App Store and Google Play allowing for easy connections to their servers. The mobile client on Android is also available in F-Droid, which ensures that it is compiled with reproducable builds.

    -
    No Port Forwarding
    +
    {% include badge.html color="warning" text="No Port Forwarding" %}

    ProtonVPN does not currently support remote port forwarding, which may impact some applications. Especially Peer-to-Peer applications like Torrent clients.

    -
    Extra Functionality
    +
    {% include badge.html color="info" text="Extra Functionality" %}

    The ProtonVPN clients have a built-in killswitch to block internet connections outside of the VPN. They also are able to automatically start on boot. ProtonVPN also offers "Tor" servers allowing you to easily connect to onion sites, but we still strongly recommend using the official Tor Browser for this purpose.

    @@ -82,26 +82,26 @@

    IVPN - Standard USD $60/y - Pro USD $100/y + {% include badge.html color="info" text="Standard USD $60/y" %} + {% include badge.html color="secondary" text="Pro USD $100/y" %}

    IVPN.net is another premium VPN provider, and they have been in operation since 2009. IVPN is based in Gibraltar and offers a 3 day free trial.

    -
    32 Countries
    +
    {% include badge.html color="success" text="32 Countries" %}

    IVPN has servers in 32 countries at the time of writing this page. Picking a VPN provider with a server nearest to you will reduce latency of the network traffic you send. This is because of a shorter route (less hops) to the destination.

    We also think it's better for the security of the VPN provider's private keys if they use dedicated servers, instead of cheaper shared solutions (with other customers) such as virtual private servers.

    -
    Independently Audited
    +
    {% include badge.html color="success" text="Independently Audited" %}

    IVPN has undergone a no-logging audit from Cure53 which concluded in agreement with IVPN's no-logging claim. IVPN has also completed a comprehensive pentest report Cure53 in January 2020. IVPN has also said they plan to have annual reports in the future.

    -
    Open Source Clients
    +
    {% include badge.html color="success" text="Open Source Clients" %}

    As of Feburary 2020 IVPN applications are now open source. Source code can be obtained from their GitHub organization.

    -
    Accepts Bitcoin
    +
    {% include badge.html color="success" text="Accepts Bitcoin" %}

    In addition to accepting credit/debit cards and PayPal, IVPN accepts Bitcoin and cash/local currency (on annual plans) as anonymous forms of payment.

    -
    WireGuard Support
    +
    {% include badge.html color="success" text="WireGuard Support" %}

    In addition to standard OpenVPN connections, IVPN supports WireGuard. WireGuard is an experimental protocol with theoretically better security and higher reliability, although it is not currently recommended for production use.

    -
    Remote Port Forwarding
    +
    {% include badge.html color="success" text="Remote Port Forwarding" %}

    Remote port forwarding is possible with a Pro plan. Port forwarding can be activated via the client area. Port forwarding is only available on IVPN when using OpenVPN and is disabled on US servers.

    -
    Mobile Clients
    +
    {% include badge.html color="success" text="Mobile Clients" %}

    In addition to providing standard OpenVPN configuration files, IVPN has mobile clients for App Store and Google Play allowing for easy connections to their servers. The mobile client on Android is also available in F-Droid, which ensures that it is compiled with reproducable builds.

    -
    Extra Functionality
    +
    {% include badge.html color="info" text="Extra Functionality" %}

    The IVPN clients have a built-in killswitch to block internet connections outside of the VPN. They also are able to automatically start on boot. IVPN also provides "AntiTracker" functionality, which blocks advertising networks and trackers from the network level.

    diff --git a/pages/providers/email.html b/pages/providers/email.html index 66c9a0fd..3fb50be1 100644 --- a/pages/providers/email.html +++ b/pages/providers/email.html @@ -17,7 +17,7 @@ description: "Find a secure email provider that will keep your privacy in mind.
    -

    Jurisdiction

    +

    {% include badge.html color="info" text="Jurisdiction" %}

    Operating outside the five/nine/fourteen-eyes countries is not necessarily a guarantee of privacy, and there are other factors to consider. However, we believe that avoiding these countries is important if you wish to avoid mass government dragnet surveillance, especially from the United States. Read our page on global mass surveillance and avoiding the US and UK to learn more about why we feel this is important.

    @@ -35,7 +35,7 @@ description: "Find a secure email provider that will keep your privacy in mind.
    -

    Technology

    +

    {% include badge.html color="info" text="Technology" %}

    We regard these features as important in order to provide a safe and optimal service to users. Users should consider the provider which has the features they require.

    @@ -60,7 +60,7 @@ description: "Find a secure email provider that will keep your privacy in mind.
    -

    Privacy

    +

    {% include badge.html color="info" text="Privacy" %}

    We prefer our recommended providers to collect as little data as possible.

    @@ -79,7 +79,7 @@ description: "Find a secure email provider that will keep your privacy in mind.
    -

    Security

    +

    {% include badge.html color="info" text="Security" %}

    Email servers deal with a lot of very sensitive data. We expect that providers will adopt best industry practices in order to protect their users.

    @@ -118,7 +118,7 @@ description: "Find a secure email provider that will keep your privacy in mind.
    -

    Trust

    +

    {% include badge.html color="info" text="Trust" %}

    You wouldn't trust your finances to someone with a fake identity, so why trust them with your email? We require our recommended providers to be public about their ownership or leadership. We also would like to see frequent transparency reports, especially in regard to how government requests are handled.

    @@ -136,7 +136,7 @@ description: "Find a secure email provider that will keep your privacy in mind.
    -

    Marketing

    +

    {% include badge.html color="info" text="Marketing" %}

    With the email providers we recommend we like to see responsible marketing.

    @@ -162,7 +162,7 @@ description: "Find a secure email provider that will keep your privacy in mind.
    -

    Additional Functionality

    +

    {% include badge.html color="info" text="Additional Functionality" %}

    While not strictly requirements, there are some factors we looked into when determining which providers to recommend.

    diff --git a/pages/providers/vpn.html b/pages/providers/vpn.html index 80e4c6b2..affd07bd 100644 --- a/pages/providers/vpn.html +++ b/pages/providers/vpn.html @@ -29,7 +29,7 @@ breadcrumb: "VPN"
    -

    Jurisdiction

    +

    {% include badge.html color="info" text="Jurisdiction" %}

    Operating outside the five/nine/fourteen-eyes countries is not a guarantee of privacy necessarily, and there are other factors to consider. However, we believe that avoiding these countries is important if you wish to avoid mass government dragnet surveillance, especially from the United States. Read our page on global mass surveillance and avoiding the US and UK to learn more about why we feel this is important.

    @@ -47,7 +47,7 @@ breadcrumb: "VPN"
    -

    Technology

    +

    {% include badge.html color="info" text="Technology" %}

    We require all our recommended VPN providers to provide OpenVPN configuration files to be used in any client. If a VPN provides their own custom client, we require a killswitch to block network data leaks when disconnected.

    @@ -70,7 +70,7 @@ breadcrumb: "VPN"
    -

    Privacy

    +

    {% include badge.html color="info" text="Privacy" %}

    We prefer our recommended providers to collect as little data as possible. Not collecting personal information on registration, and accepting anonymous forms of payment are required.

    @@ -89,7 +89,7 @@ breadcrumb: "VPN"
    -

    Security

    +

    {% include badge.html color="info" text="Security" %}

    A VPN is pointless if it can't even provide adequate security. We require all our recommended providers to abide by current security standards for their OpenVPN connections. Ideally, they would use more future-proof encryption schemes by default. We also require an independent third-party to audit the provider's security, ideally in a very comprehensive manner and on a repeated (yearly) basis.

    @@ -111,7 +111,7 @@ breadcrumb: "VPN"
    -

    Trust

    +

    {% include badge.html color="info" text="Trust" %}

    You wouldn't trust your finances to someone with a fake identity, so why trust them with your internet data? We require our recommended providers to be public about their ownership or leadership. We also would like to see frequent transparency reports, especially in regard to how government requests are handled.

    @@ -129,7 +129,7 @@ breadcrumb: "VPN"
    -

    Marketing

    +

    {% include badge.html color="info" text="Marketing" %}

    With the VPN providers we recommend we like to see responsible marketing.

    @@ -159,7 +159,7 @@ breadcrumb: "VPN"
    -

    Additional Functionality

    +

    {% include badge.html color="info" text="Additional Functionality" %}

    While not strictly requirements, there are some factors we looked into when determining which providers to recommend. These include adblocking/tracker-blocking functionality, warrant canaries, multihop connections, excellent customer support, the number of allowed simultaneous connections, etc.

    @@ -230,21 +230,33 @@ breadcrumb: "VPN"
  • Don't use LT2P IPSec, use other protocols.
  • Free VPN App Investigation - - Warning - + {% include badge.html + color="warning" + icon="fas fa-exclamation-triangle" + link="https://blog.privacytools.io/the-trouble-with-vpn-and-privacy-reviews" + tooltip="This site has affiliate based recommendations. They get paid for referring visitors to specific VPN providers." + text="Affiliate program" + %}
  • Hidden VPN owners unveiled: 101 VPN products run by just 23 companies - - Warning - + {% include badge.html + color="warning" + icon="fas fa-exclamation-triangle" + link="https://blog.privacytools.io/the-trouble-with-vpn-and-privacy-reviews" + tooltip="This site has affiliate based recommendations. They get paid for referring visitors to specific VPN providers." + text="Affiliate program" + %}
  • This Chinese company is secretly behind 24 popular apps seeking dangerous permissions - - Warning - + {% include badge.html + color="warning" + icon="fas fa-exclamation-triangle" + link="https://blog.privacytools.io/the-trouble-with-vpn-and-privacy-reviews" + tooltip="This site has affiliate based recommendations. They get paid for referring visitors to specific VPN providers." + text="Affiliate program" + %}
  • -- 2.47.2 From 5c4e6d6fd65e99ca551bbbcb1149b0ed13eedf75 Mon Sep 17 00:00:00 2001 From: Freddy Marsden Date: Wed, 27 May 2020 14:02:21 +0100 Subject: [PATCH 053/173] Updated chat.privacytools.io link (#1933) Updated from chat.privacytools.io to riot.privacytools.io --- pages/about.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/about.html b/pages/about.html index 64b76eb9..92f8d069 100644 --- a/pages/about.html +++ b/pages/about.html @@ -155,7 +155,7 @@ emeritus=true

    Open an issue on GitHub

    Suggest something new on our subreddit

    For complete transparency, software and providers will only be considered for this website after discussions take place on our GitHub issue tracker. We of course don't make any changes in secret.

    -

    Join our Matrix room at #general:privacytools.io or join the privacytools_io Keybase team to chat with us and other members about this site and privacy in general! If you need a Matrix account, you can sign up with our own homeserver (https://chat.privacytools.io) using Riot.

    +

    Join our Matrix room at #general:privacytools.io or join the privacytools_io Keybase team to chat with us and other members about this site and privacy in general! If you need a Matrix account, you can sign up with our own homeserver (https://riot.privacytools.io) using Riot.

    You can also email the team at support@privacytools.io and find us on Twitter and Mastodon.

    -- 2.47.2 From a3e4379a94e003831f5308e7cb562642bab8e487 Mon Sep 17 00:00:00 2001 From: Jonah Aragon Date: Thu, 28 May 2020 11:49:39 -0500 Subject: [PATCH 054/173] Update sponsorship listings --- _includes/sponsors/list.html | 3 + _includes/sponsors/silver.html | 9 + .../img/svg/3rd-party/sponsors/techlore.svg | 9706 +++++++++++++++++ pages/sponsors.html | 115 +- 4 files changed, 9783 insertions(+), 50 deletions(-) create mode 100644 _includes/sponsors/list.html create mode 100644 _includes/sponsors/silver.html create mode 100644 assets/img/svg/3rd-party/sponsors/techlore.svg diff --git a/_includes/sponsors/list.html b/_includes/sponsors/list.html new file mode 100644 index 00000000..2f1b182e --- /dev/null +++ b/_includes/sponsors/list.html @@ -0,0 +1,3 @@ +
      +
    • PablO
    • +
    diff --git a/_includes/sponsors/silver.html b/_includes/sponsors/silver.html new file mode 100644 index 00000000..16cf650c --- /dev/null +++ b/_includes/sponsors/silver.html @@ -0,0 +1,9 @@ +
    +
    +
    Techlore Logo
    +
    +

    Techlore

    + https://techlore.tech +
    +
    +
    diff --git a/assets/img/svg/3rd-party/sponsors/techlore.svg b/assets/img/svg/3rd-party/sponsors/techlore.svg new file mode 100644 index 00000000..1ec25fbc --- /dev/null +++ b/assets/img/svg/3rd-party/sponsors/techlore.svg @@ -0,0 +1,9706 @@ + + + + + + diff --git a/pages/sponsors.html b/pages/sponsors.html index 79e3c562..d9f9ebb2 100644 --- a/pages/sponsors.html +++ b/pages/sponsors.html @@ -4,57 +4,72 @@ active_page: sponsors permalink: /sponsors/ --- -
    -
    -
    -
    -

    Sponsors of {{ site.name }}

    -
    -
    - {% include sponsors/gold.html %} -
    -
    -

    The {{ site.name }} website and services are a community project. There is no advertising, affiliate links, or other forms of monetization.
    Your donations here directly support hosting this website and compensating contributors to this project.

    -

    - Become a Sponsor - Donate Directly -

    -
    +
    +
    +
    +

    Sponsors of {{ site.name }}

    +

    A massive thank you to the following gold sponsors of {{ site.name }}, who have pledged $250+ to the organization:

    +
    +
    + {% include sponsors/gold.html %} +
    +
    +

    The {{ site.name }} website and services are a community project. There is no advertising, affiliate links, or other forms of monetization.
    Your donations here directly support hosting this website and compensating contributors to this project.

    +

    + Become a Sponsor + Donate Directly +

    - -

    Why sponsor {{ site.name }}?

    -

    This sponsorship program is designed to allow companies, organizations, and individuals partner with the {{ site.name }} team to support our vision of a more privacy-respecting internet and the greater online community.

    -

    With this exposure and sponsorship, your customers will recognize your intrinsic understanding and commitment to user privacy. Moreover, you'll directly contribute to our mission of spreading privacy-respecting tools and knowledge worldwide!

    -

    At PrivacyTools, we believe in...

    -
      -
    • Privacy, of course. Privacy gives you as a user control over how your information is used and spread online. Trustworthy and secure products and services are the key to that future.
    • -
    • Security. We believe services cannot provide privacy at all without being secure. Strong encryption is the only way to prevent malicious actors from snooping in on our communications.
    • -
    • Freedom. The right to express your opinion online without interference or surveillance is the only way we can grow as a society, and privacy-respecting tools should foster that growth.
    • -
    -

    We reserve the right or deny all sponsors from receiving the benefits detailed below if we believe that your organization or product is not aligned with our key values. Therefore, if you are interested in sponsoring our project, please first email sponsors@privacytools.io so we may discuss further.

    -

    As a sponsor of {{ site.name }}, your company will be widely recognized in a variety of ways, some of which we've detailed below.

    -
    General Information
    -

    This website receives well over 250,000 pageviews on a monthly basis and is highly ranked for privacy-related keywords. In addition to the benefits below your contribution will be featured on our OpenCollective page and we will thank you via social media for your contribution.

    -
    🥉 Bronze Sponsorship - Info
    -
      -
    • Your name and link along with a small logo or avatar on the sponsors page of this website.
    • -
    -
    🥈 Silver Sponsorship - Info
    -
      -
    • Your medium-sized logo as a link at the top of our sponsors page.
    • -
    -
    🥇 Gold Sponsorship - Info
    -
      -
    • Your medium-sized logo as a link on the {{ site.name }} homepage and at the very top of our sponsors page.
    • -
    -
    We will not provide...
    -

    We pride ourselves on our integrity and commitment to spreading unbiased and fact-based information regarding privacy and privacy-respecting tools. All tools we recommend throughout our website are subject to strict criteria as judged by our team and the community across our various platforms. Your sponsorship will not grant your organization any special consideration when choosing our recommendations throughout the website, a process which we make clear via our transparent ledger on OpenCollective and our public discussions on GitHub. Your sponsorship benefits are limited to those outlined above.

    -
    Tax and Financial Information
    -

    Your contribution to {{ site.name }} will be handled by the Open Collective Foundation 501(c)(3). For US companies and taxpayers, this means your contribution is tax deductible. As a non-profit, your sponsorship contribution will not be used for private profit and will only be used to cover expenses incurred by the project. All of our transactions (donations and expenses) are published transparently on OpenCollective. For the benefit of our readership, anonymous contributions will not be eligible for the sponsorship opportunities outlined above.

    -
    More Information
    -

    If you are interested and have further questions, you are welcome to reach out to us directly at sponsors@privacytools.io.

    - +
    +
    +

    Silver Sponsors

    +

    Silver sponsors of {{ site.name }} have pledged $100 - $249 to the organization.

    +
    +
    + {% include sponsors/silver.html %}
    +

    Sponsors

    +

    These individuals and organizations have pledged $10 - $99 to the organization.

    +{% include sponsors/list.html %} + +

    Why sponsor {{ site.name }}?

    +

    This sponsorship program is designed to allow companies, organizations, and individuals partner with the {{ site.name }} team to support our vision of a more privacy-respecting internet and the greater online community.

    +

    With this exposure and sponsorship, your customers will recognize your intrinsic understanding and commitment to user privacy. Moreover, you'll directly contribute to our mission of spreading privacy-respecting tools and knowledge worldwide!

    +

    At PrivacyTools, we believe in...

    +
      +
    • Privacy, of course. Privacy gives you as a user control over how your information is used and spread online. Trustworthy and secure products and services are the key to that future.
    • +
    • Security. We believe services cannot provide privacy at all without being secure. Strong encryption is the only way to prevent malicious actors from snooping in on our communications.
    • +
    • Freedom. The right to express your opinion online without interference or surveillance is the only way we can grow as a society, and privacy-respecting tools should foster that growth.
    • +
    +

    We reserve the right or deny all sponsors from receiving the benefits detailed below if we believe that your organization or product is not aligned with our key values. Therefore, if you are interested in sponsoring our project, please first email sponsors@privacytools.io so we may discuss further.

    +

    As a sponsor of {{ site.name }}, your company will be widely recognized in a variety of ways, some of which we've detailed below.

    +
    General Information
    +

    This website receives well over 250,000 pageviews on a monthly basis and is highly ranked for privacy-related keywords. In addition to the benefits below your contribution will be featured on our OpenCollective page and we will thank you via social media for your contribution.

    +
    Sponsors - $10–$24
    +
      +
    • Your name added to the list of sponsors on this page.
    • +
    +
    Highlighted Sponsors - $25–$99
    +
      +
    • Your name in bold at the top of our general sponsors list.
    • +
    +
    Silver Sponsorship - $100–$249
    +
      +
    • Your square logo, name, and link above the general sponsors list.
    • +
    +
    Gold Sponsorship - $250+
    +
      +
    • Your medium-sized logo as a prominent link on our homepage and at the very top of our sponsors page.
    • +
    +
    We will not provide...
    +

    We pride ourselves on our integrity and commitment to spreading unbiased and fact-based information regarding privacy and privacy-respecting tools. All tools we recommend throughout our website are subject to strict criteria as judged by our team and the community across our various platforms. Your sponsorship will not grant your organization any special consideration when choosing our recommendations throughout the website, a process which we make clear via our transparent ledger on OpenCollective and our public discussions on GitHub. Your sponsorship benefits are limited to those outlined above.

    +
    Tax and Financial Information
    +

    Your contribution to {{ site.name }} will be handled by the Open Collective Foundation 501(c)(3). For US companies and taxpayers, this means your contribution is likely tax deductible, but you should consult with your accountant regarding your specific circumstances. As a non-profit, your sponsorship contribution will not be used for private profit and will only be used to cover expenses incurred by the project. All of our transactions (donations and expenses) are published transparently on OpenCollective. For the benefit of our readership, anonymous contributions will not be eligible for the sponsorship opportunities outlined above.

    +
    More Information
    +

    If you are interested and have further questions, you are welcome to reach out to us directly at sponsors@privacytools.io.

    + -- 2.47.2 From 93b3b611f03bba2f66eabd929ec8d4058e07073c Mon Sep 17 00:00:00 2001 From: Jonah Aragon Date: Fri, 29 May 2020 22:21:45 -0500 Subject: [PATCH 055/173] Revert "Updated chat.privacytools.io link (#1933)" This reverts commit 5c4e6d6fd65e99ca551bbbcb1149b0ed13eedf75. --- pages/about.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/about.html b/pages/about.html index 92f8d069..64b76eb9 100644 --- a/pages/about.html +++ b/pages/about.html @@ -155,7 +155,7 @@ emeritus=true

    Open an issue on GitHub

    Suggest something new on our subreddit

    For complete transparency, software and providers will only be considered for this website after discussions take place on our GitHub issue tracker. We of course don't make any changes in secret.

    -

    Join our Matrix room at #general:privacytools.io or join the privacytools_io Keybase team to chat with us and other members about this site and privacy in general! If you need a Matrix account, you can sign up with our own homeserver (https://riot.privacytools.io) using Riot.

    +

    Join our Matrix room at #general:privacytools.io or join the privacytools_io Keybase team to chat with us and other members about this site and privacy in general! If you need a Matrix account, you can sign up with our own homeserver (https://chat.privacytools.io) using Riot.

    You can also email the team at support@privacytools.io and find us on Twitter and Mastodon.

    -- 2.47.2 From 607b9d73d5a93ad538f888be2640adefb059ff03 Mon Sep 17 00:00:00 2001 From: nitrohorse <1514352+nitrohorse@users.noreply.github.com> Date: Thu, 4 Jun 2020 09:00:31 -0700 Subject: [PATCH 056/173] Update DNS page with card-based client recommendations (#1900) * WIP: Add icons * Add Google Play and App Store links * Add tentative Android logo * Update Unbound logo, text cleanup, formatting * Add banner for anonymized dns, more cleanup * Some text clarification * Add "https:" for local development * Update terms formatting and include anonymized dnscrypt * Move terms section to bottom of page * Add LibreDNS * Update AdGuard hosting provider * Add forum links * Reword "terms" to "definitions" * Add card for Stubby * Add warning link to Android 9 card * LibreDNS supports QNAME min --- _includes/sections/dns.html | 67 +++++++- assets/img/png/3rd-party/dnscloak.png | Bin 0 -> 24433 bytes assets/img/png/3rd-party/nebulo.png | Bin 0 -> 88381 bytes assets/img/png/3rd-party/stubby.png | Bin 0 -> 10524 bytes assets/img/svg/3rd-party/android.svg | 19 +++ assets/img/svg/3rd-party/unbound.svg | 2 + pages/providers/dns.html | 227 +++++++++++++------------- 7 files changed, 194 insertions(+), 121 deletions(-) create mode 100644 assets/img/png/3rd-party/dnscloak.png create mode 100644 assets/img/png/3rd-party/nebulo.png create mode 100644 assets/img/png/3rd-party/stubby.png create mode 100644 assets/img/svg/3rd-party/android.svg create mode 100644 assets/img/svg/3rd-party/unbound.svg diff --git a/_includes/sections/dns.html b/_includes/sections/dns.html index 240d87b7..ff9a008d 100644 --- a/_includes/sections/dns.html +++ b/_includes/sections/dns.html @@ -1,10 +1,12 @@ -

    Encrypted Domain Name System (DNS) Resolvers

    +

    + Encrypted DNS Resolvers +

    -
    +
    @@ -46,10 +48,7 @@ - + @@ -240,6 +246,51 @@ + + + + + + + + + + + + + + - + -- 2.47.2 From 6fdb0100824e53472a100f38fd3515f501aaae5d Mon Sep 17 00:00:00 2001 From: Jonah Aragon Date: Thu, 18 Jun 2020 20:43:25 -0500 Subject: [PATCH 062/173] Update list.html --- _includes/sponsors/list.html | 1 + 1 file changed, 1 insertion(+) diff --git a/_includes/sponsors/list.html b/_includes/sponsors/list.html index 0fbf0e42..cb908b09 100644 --- a/_includes/sponsors/list.html +++ b/_includes/sponsors/list.html @@ -1,4 +1,5 @@
    • Michael DeMichillie
    • PablO
    • +
    • Syfaer
    -- 2.47.2 From eb875687ab078daf583aff84da5162b2f3248c77 Mon Sep 17 00:00:00 2001 From: Jonah Aragon Date: Thu, 18 Jun 2020 21:18:48 -0500 Subject: [PATCH 063/173] Add OpenCollective information to README --- README.md | 38 +++++++++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index bd76e7f9..762334a2 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,17 @@ +
    PrivacyTools - -_Encryption Against Global Mass Surveillance._ - -[![Netlify Status](https://api.netlify.com/api/v1/badges/afd98777-c205-4928-a301-f57a1448113f/deploy-status)](https://app.netlify.com/sites/privacytools-io/deploys) +

    + Encryption Against Global Mass Surveillance. +

    + + + + + + +
    # Contributing @@ -28,17 +35,26 @@ If you want to discuss privacy in general, a new tool, or just something else, f # Support -- [Donate.](https://www.privacytools.io/donate/) -- [Spread the word.](https://www.privacytools.io/#participate) -- [Join our Discourse community.](https://forum.privacytools.io/) -- [Make suggestions on reddit.](https://www.reddit.com/r/privacytoolsIO/) +- [Donate](https://www.privacytools.io/sponsors/) +- [Spread the word](https://www.privacytools.io/#participate) +- [Join our Discourse community](https://forum.privacytools.io/) +- [Make suggestions on reddit](https://www.reddit.com/r/privacytoolsIO/) - View and edit our website source code here on GitHub. -# Sponsors +## Backers -- [Safing](https://safing.io/) +Like what we're doing? [Become a backer](https://opencollective.com/privacytools) and show your support for our project. -# Community Translations +![](https://opencollective.com/privacytools/tiers/sponsor.svg?avatarHeight=64&width=890) + +## Sponsors + +Are you working with a privacy focused company? Ask your manager or marketing team if your company would be interested in supporting our project. Your support will help us continue to develop this website, promote privacy-respecting tools and services, and reach out to thousands of data privacy newcomers every month. Also, your company's logo will show on GitHub and [our site](https://www.privacytools.io/sponsors/), and who doesn't like a little extra exposure? + +[![](https://opencollective.com/privacytools/tiers/gold.svg?avatarHeight=64&width=890&button=false)](https://opencollective.com/privacytools/contribute/gold-12312) +[![](https://opencollective.com/privacytools/tiers/silver.svg?avatarHeight=64&width=890&button=false)](https://opencollective.com/privacytools/contribute/silver-12311) + +## Community Translations - [繁体中文 / Chinese](https://privacytools.twngo.xyz/) - [GitHub](https://github.com/twngo/privacytools-zh) - [Español / Spanish](https://victorhck.gitlab.io/privacytools-es/) - [GitLab](https://gitlab.com/victorhck/privacytools-es) - [Polski / Polish](https://pl.privacytools.io) - [Gitea](https://git.privacytools.io/pl-privacytoolsIO/pl.privacytools.io) -- 2.47.2 From 81c4ed400287e842e8b393328e567a35b978f4a8 Mon Sep 17 00:00:00 2001 From: Daniel Nathan Gray Date: Wed, 24 Jun 2020 16:10:47 +0000 Subject: [PATCH 064/173] Mullvad now available in F-Droid (#1964) --- _includes/sections/vpn.html | 2 +- pages/providers/vpn.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/_includes/sections/vpn.html b/_includes/sections/vpn.html index 2d765027..ffb205f7 100644 --- a/_includes/sections/vpn.html +++ b/_includes/sections/vpn.html @@ -41,7 +41,7 @@
    {% include badge.html color="success" text="Remote Port Forwarding" %}

    Remote port forwarding is allowed on Mullvad, see Port forwarding with Mullvad VPN.

    {% include badge.html color="success" text="Mobile Clients" %}
    -

    Mullvad has published App Store and Google Play clients, both supporting an easy-to use interface as opposed to requiring users to manual configure their WireGuard connections.

    +

    Mullvad has published App Store and Google Play clients, both supporting an easy-to use interface as opposed to requiring users to manual configure their WireGuard connections. The mobile client on Android is also available in F-Droid, which ensures that it is compiled with reproducable builds.

    {% include badge.html color="info" text="Extra Functionality" %}

    The Mullvad VPN clients have a built-in killswitch to block internet connections outside of the VPN. They also are able to automatically start on boot. The Mullvad website is also accessible via Tor at xcln5hkbriyklr6n.onion.

    diff --git a/pages/providers/vpn.html b/pages/providers/vpn.html index 2c8f62dd..b3a1ff96 100644 --- a/pages/providers/vpn.html +++ b/pages/providers/vpn.html @@ -55,7 +55,7 @@ breadcrumb: "VPN"
    • OpenVPN support.
    • Killswitch built in to clients.
    • -
    • If VPN clients are provided, they should be open source, like the VPN software they generally have built into them. We believe that source code availability provides greater transparency to the user about what their device is actually doing. Ideally we like to see these applications available in F-Droid.
    • +
    • If VPN clients are provided, they should be open source, like the VPN software they generally have built into them. We believe that source code availability provides greater transparency to the user about what their device is actually doing. We like to see these applications available in F-Droid.
    -- 2.47.2 From ef9a1cc7eb9cc73acbc58cedf4b4fa34c386abcf Mon Sep 17 00:00:00 2001 From: Jonah Aragon Date: Wed, 24 Jun 2020 11:29:02 -0500 Subject: [PATCH 065/173] Update list.html --- _includes/sponsors/list.html | 1 + 1 file changed, 1 insertion(+) diff --git a/_includes/sponsors/list.html b/_includes/sponsors/list.html index cb908b09..eaf17c40 100644 --- a/_includes/sponsors/list.html +++ b/_includes/sponsors/list.html @@ -2,4 +2,5 @@
  • Michael DeMichillie
  • PablO
  • Syfaer
  • +
  • the0
  • -- 2.47.2 From 1cb6fba8fa506bf40495920a44c29365e46bef72 Mon Sep 17 00:00:00 2001 From: Jonah Aragon Date: Wed, 24 Jun 2020 17:31:21 -0500 Subject: [PATCH 066/173] Update tier names --- pages/sponsors.html | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pages/sponsors.html b/pages/sponsors.html index 639b6f57..c2d05a92 100644 --- a/pages/sponsors.html +++ b/pages/sponsors.html @@ -8,7 +8,7 @@ permalink: /sponsors/

    Sponsors of {{ site.name }}

    -

    A massive thank you to the following gold sponsors of {{ site.name }}, who have pledged $250+ to the organization:

    +

    A massive thank you to the following organization-level sponsors of {{ site.name }}, who have pledged $250+:

    {% include sponsors/gold.html %} @@ -24,14 +24,14 @@ permalink: /sponsors/
    -

    Silver Sponsors

    -

    Silver sponsors of {{ site.name }} have pledged $100 - $249 to the organization.

    +

    Advocates

    +

    These individuals and organizations have pledged $100 - $249 to the organization.

    {% include sponsors/silver.html %}
    -

    Sponsors

    +

    Backers

    These individuals and organizations have pledged $10 - $99 to the organization.

    {% include sponsors/list.html %} @@ -49,19 +49,19 @@ permalink: /sponsors/
    General Information

    This website receives well over 250,000 pageviews on a monthly basis and is highly ranked for privacy-related keywords. In addition to the benefits below your contribution will be featured on our OpenCollective page and we will thank you via social media for your contribution.

    Please note that this page is updated manually, and while we're generally on top of things, please don't hesitate to reach out to sponsors@privacytools.io if you think we've missed something :)

    -
    Sponsors - $10–$24
    +
    Backers - $10–$24
    • Your name added to the list of sponsors on this page.
    -
    Highlighted Sponsors - $25–$99
    +
    Highlighted Backers - $25–$99
    • Your name in bold at the top of our general sponsors list.
    -
    Silver Sponsorship - $100–$249
    +
    Advocates - $100–$249
    • Your square logo, name, and link above the general sponsors list.
    -
    Gold Sponsorship - $250+
    +
    Organizations - $250+
    • Your medium-sized logo as a prominent link on our homepage and at the very top of our sponsors page.
    -- 2.47.2 From 5c4eb096e10584f4d33e97fca7b11aae11575e2a Mon Sep 17 00:00:00 2001 From: blacklight447 Date: Wed, 1 Jul 2020 02:14:17 +0200 Subject: [PATCH 067/173] De-list/Remove Keybase (#1951) * Update instant-messenger.html * Update teamchat.html See #1951 * Remove Keybase * Remove Keybase References Co-authored-by: Freddy Marsden Co-authored-by: Jonah Aragon --- _includes/sections/cloud-storage.html | 20 -------------------- _includes/sections/instant-messenger.html | 21 --------------------- _includes/sections/teamchat.html | 21 --------------------- assets/img/svg/3rd-party/keybase.svg | 2 -- pages/about.html | 2 +- pages/software/real-time-communication.html | 1 - 6 files changed, 1 insertion(+), 66 deletions(-) delete mode 100644 assets/img/svg/3rd-party/keybase.svg diff --git a/_includes/sections/cloud-storage.html b/_includes/sections/cloud-storage.html index ff1645cc..cabdf36b 100644 --- a/_includes/sections/cloud-storage.html +++ b/_includes/sections/cloud-storage.html @@ -24,26 +24,6 @@ github="https://github.com/nextcloud" %} -{% - include cardv2.html - title="Keybase KBFS" - image="/assets/img/svg/3rd-party/keybase.svg" - description='Keybase provides 250GB of E2EE cloud storage for free. Its protocol has also been indepedently audited (PDF). Keybase allows you to share files with any Keybase user, or social media user through the use of "identity proofs". They currently do not offer additional space above your quota.' - labels="color==warning::link==https://github.com/keybase/client/issues/6374::text==Warning::tooltip==This software relies on a closed-source central server.| color==info::link==https://github.com/privacytools/privacytools.io/issues/1894::text==Ownership change::tooltip==Keybase has recently been acquired by Zoom." - website="https://book.keybase.io/docs/files" - privacy-policy="https://keybase.io/docs/privacypolicy" - forum="https://forum.privacytools.io/t/discussion-keybase/1224" - tor="http://keybase5wmilwokqirssclfnsqrjdsi7jdir5wy7y7iu3tanwmtp6oid.onion/" - github="https://github.com/keybase/client/tree/master/go/kbfs" - windows="https://keybase.io/docs/the_app/install_windows" - mac="https://keybase.io/docs/the_app/install_macos" - linux="https://keybase.io/docs/the_app/install_linux" - freebsd="https://www.freshports.org/security/keybase/" - googleplay="https://play.google.com/store/apps/details?id=io.keybase.ossifrage" - ios="https://apps.apple.com/app/keybase-crypto-for-everyone/id1044461770" -%} - -

    Worth Mentioning

      diff --git a/_includes/sections/instant-messenger.html b/_includes/sections/instant-messenger.html index 2ed4eed9..45b5c350 100644 --- a/_includes/sections/instant-messenger.html +++ b/_includes/sections/instant-messenger.html @@ -37,27 +37,6 @@ ios="https://apps.apple.com/app/signal-private-messenger/id874139669" %} -{% - include cardv2.html - title="Keybase" - image="/assets/img/svg/3rd-party/keybase.svg" - description='Keybase provides a hosted team chat with E2EE. Its protocol has also been indepedently audited (PDF). Keybase can help you prove you own social media accounts though the use of cryptographic signing of "identity proofs".' - labels="color==warning::link==https://github.com/keybase/client/issues/6374::text==Warning::tooltip==This software relies on a closed-source central server.| color==info::link==https://github.com/privacytools/privacytools.io/issues/1894::text==Ownership change::tooltip==Keybase has recently been acquired by Zoom." - website="https://keybase.io/" - privacy-policy="https://keybase.io/docs/privacypolicy" - forum="https://forum.privacytools.io/t/discussion-keybase/1224" - tor="http://keybase5wmilwokqirssclfnsqrjdsi7jdir5wy7y7iu3tanwmtp6oid.onion/" - github="https://github.com/Keybase" - windows="https://keybase.io/docs/the_app/install_windows" - mac="https://keybase.io/docs/the_app/install_macos" - linux="https://keybase.io/docs/the_app/install_linux" - freebsd="https://www.freshports.org/security/keybase/" - googleplay="https://play.google.com/store/apps/details?id=io.keybase.ossifrage" - ios="https://apps.apple.com/app/keybase-crypto-for-everyone/id1044461770" - firefox="https://addons.mozilla.org/firefox/addon/keybase-for-firefox/" - chrome="https://chrome.google.com/webstore/detail/keybase-for-reddit/ognfafcpbkogffpmmdglhbjboeojlefj" -%} -
      diff --git a/_includes/sections/teamchat.html b/_includes/sections/teamchat.html index fc3e3d12..5d2483f2 100644 --- a/_includes/sections/teamchat.html +++ b/_includes/sections/teamchat.html @@ -44,24 +44,3 @@ googleplay="https://play.google.com/store/apps/details?id=chat.rocket.android" ios="https://itunes.apple.com/app/rocket-chat/id1148741252" %} - -{% - include cardv2.html - title="Keybase" - image="/assets/img/svg/3rd-party/keybase.svg" - description='Keybase provides a hosted team chat with E2EE. Its protocol has also been indepedently audited (PDF). Keybase can help you prove you own social media accounts through the use of cryptographic signing of "identity proofs".' - labels="color==warning::link==https://github.com/keybase/client/issues/6374::text==Warning::tooltip==This software relies on a closed-source central server.| color==info::link==https://github.com/privacytools/privacytools.io/issues/1894::text==Ownership change::tooltip==Keybase has recently been acquired by Zoom." - website="https://keybase.io/" - privacy-policy="https://keybase.io/docs/privacypolicy" - forum="https://forum.privacytools.io/t/discussion-keybase/1224" - tor="http://keybase5wmilwokqirssclfnsqrjdsi7jdir5wy7y7iu3tanwmtp6oid.onion/" - github="https://github.com/Keybase" - windows="https://keybase.io/docs/the_app/install_windows" - mac="https://keybase.io/docs/the_app/install_macos" - linux="https://keybase.io/docs/the_app/install_linux" - freebsd="https://www.freshports.org/security/keybase/" - googleplay="https://play.google.com/store/apps/details?id=io.keybase.ossifrage" - ios="https://apps.apple.com/app/keybase-crypto-for-everyone/id1044461770" - firefox="https://addons.mozilla.org/firefox/addon/keybase-for-firefox/" - chrome="https://chrome.google.com/webstore/detail/keybase-for-reddit/ognfafcpbkogffpmmdglhbjboeojlefj" -%} diff --git a/assets/img/svg/3rd-party/keybase.svg b/assets/img/svg/3rd-party/keybase.svg deleted file mode 100644 index c258fb47..00000000 --- a/assets/img/svg/3rd-party/keybase.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/pages/about.html b/pages/about.html index 64b76eb9..d8d3fe2a 100644 --- a/pages/about.html +++ b/pages/about.html @@ -155,7 +155,7 @@ emeritus=true

      Open an issue on GitHub

      Suggest something new on our subreddit

      For complete transparency, software and providers will only be considered for this website after discussions take place on our GitHub issue tracker. We of course don't make any changes in secret.

      -

      Join our Matrix room at #general:privacytools.io or join the privacytools_io Keybase team to chat with us and other members about this site and privacy in general! If you need a Matrix account, you can sign up with our own homeserver (https://chat.privacytools.io) using Riot.

      +

      Join our Matrix room at #general:privacytools.io to chat with us and other members about this site and privacy in general! If you need a Matrix account, you can sign up with our own homeserver (https://chat.privacytools.io) using Riot.

      You can also email the team at support@privacytools.io and find us on Twitter and Mastodon.

      diff --git a/pages/software/real-time-communication.html b/pages/software/real-time-communication.html index e06237d7..4e4481c8 100644 --- a/pages/software/real-time-communication.html +++ b/pages/software/real-time-communication.html @@ -72,7 +72,6 @@ description: "Discover secure and private ways to communicate with others online

      Independent security audits

      -- 2.47.2 From 801e7a17d189be28c61ca6ffb9becadd3afeb80b Mon Sep 17 00:00:00 2001 From: Jack Chou Date: Thu, 2 Jul 2020 10:53:59 -0700 Subject: [PATCH 068/173] Updated Bitwarden logo (#1968) * Updated Bitwarden logo in assets/img/svg/3rd-party folder * Updated dimensions in accordance to contributiing guidelines * Optimize SVG in Inkscape Co-authored-by: Daniel Gray --- assets/img/svg/3rd-party/bitwarden.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/img/svg/3rd-party/bitwarden.svg b/assets/img/svg/3rd-party/bitwarden.svg index 8ee9b014..28d315ac 100644 --- a/assets/img/svg/3rd-party/bitwarden.svg +++ b/assets/img/svg/3rd-party/bitwarden.svg @@ -1,2 +1,2 @@ - + -- 2.47.2 From c9079bdd51f9a5c2fdb96a5137c1bc9559741bdb Mon Sep 17 00:00:00 2001 From: Jack Chou Date: Fri, 3 Jul 2020 20:11:57 -0700 Subject: [PATCH 069/173] Added SVG optimization guideline (#1972) --- .github/CONTRIBUTING.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 2bda11ec..c987415d 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -96,8 +96,12 @@ See https://www.privacytools.io/providers/vpn/#criteria for more details. ## Images - SVG file format is strongly preferred. PNG files can be used as a fallback if images are too complex or otherwise unsuitable as a vector format. +- We like to optimize all SVGs we add to the site. [This](https://github.com/privacytools/privacytools.io/pull/1968#issuecomment-652773633) is a helpful guide as to how we do it with [Inkscape](https://inkscape.org/) + - Some SVGs generated by Illustrator or Sketch are broken, therefore copying the SVG content to a new canvas is sometimes required. (We found this with the Mailcow logo). Looked fine in local builds but was wrong once rendered through netlify preview etc. +- We only have SVGs that have a canvas size of 128x128px or 384x128px. - Provider logo dimensions are 384px x 128px ([example](https://github.com/privacytools/privacytools.io/blob/master/assets/img/svg/3rd-party/mullvad.svg)) -- Tool logo dimensions are 120px x 120px ([SVG example](https://github.com/privacytools/privacytools.io/blob/master/assets/img/svg/3rd-party/firefox_browser.svg), [PNG example](https://github.com/privacytools/privacytools.io/blob/master/assets/img/png/3rd-party/claws_mail.png)) +- Tool logo dimensions are 128px x 128px ([SVG example](https://github.com/privacytools/privacytools.io/blob/master/assets/img/svg/3rd-party/firefox_browser.svg), [PNG example](https://github.com/privacytools/privacytools.io/blob/master/assets/img/png/3rd-party/claws_mail.png)) + ## Licensing -- 2.47.2 From 692d891ae21dadf5accc29a72e6e2602036a6593 Mon Sep 17 00:00:00 2001 From: Daniel Nathan Gray Date: Sat, 4 Jul 2020 04:02:20 +0000 Subject: [PATCH 070/173] Add mention of LAED 2020 bill (#1965) --- pages/software/real-time-communication.html | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pages/software/real-time-communication.html b/pages/software/real-time-communication.html index 4e4481c8..69285c20 100644 --- a/pages/software/real-time-communication.html +++ b/pages/software/real-time-communication.html @@ -14,6 +14,12 @@ description: "Discover secure and private ways to communicate with others online Recent news about breaking E2EE on centralized instant messengers +
      June 2020
      + +
      March 2020
      • The Graham-Blumenthal Bill: A New Path for DOJ to Finally Break Encryption (EFF)
      • -- 2.47.2 From 8a722843936d83a6a1a7ecc7549e6a119c266062 Mon Sep 17 00:00:00 2001 From: Jonah Aragon Date: Sun, 5 Jul 2020 12:04:29 -0500 Subject: [PATCH 071/173] Update sponsors --- _includes/sponsors/list.html | 1 + pages/sponsors.html | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/_includes/sponsors/list.html b/_includes/sponsors/list.html index eaf17c40..dc4b4ce4 100644 --- a/_includes/sponsors/list.html +++ b/_includes/sponsors/list.html @@ -3,4 +3,5 @@
      • PablO
      • Syfaer
      • the0
      • +
      • Troy Vassalotti
      diff --git a/pages/sponsors.html b/pages/sponsors.html index c2d05a92..081c0dd4 100644 --- a/pages/sponsors.html +++ b/pages/sponsors.html @@ -8,7 +8,7 @@ permalink: /sponsors/

      Sponsors of {{ site.name }}

      -

      A massive thank you to the following organization-level sponsors of {{ site.name }}, who have pledged $250+:

      +

      A massive thank you to the following organization-level sponsors of {{ site.name }}, who pledge $250+:

      {% include sponsors/gold.html %} @@ -25,14 +25,14 @@ permalink: /sponsors/

      Advocates

      -

      These individuals and organizations have pledged $100 - $249 to the organization.

      +

      These individuals and organizations pledge $100 - $249 to the organization.

      {% include sponsors/silver.html %}

      Backers

      -

      These individuals and organizations have pledged $10 - $99 to the organization.

      +

      These individuals and organizations pledge $10 - $99 to the organization.

      {% include sponsors/list.html %}

      Why sponsor {{ site.name }}?

      -- 2.47.2 From 58885e3426b8ff4235ed0d2e40d3a45065c02aab Mon Sep 17 00:00:00 2001 From: Daniel Nathan Gray Date: Sun, 5 Jul 2020 20:16:54 +0000 Subject: [PATCH 072/173] Remove erroneous NextCloud link from Signal badge (#1979) --- _includes/sections/instant-messenger.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/sections/instant-messenger.html b/_includes/sections/instant-messenger.html index 45b5c350..18c7e63b 100644 --- a/_includes/sections/instant-messenger.html +++ b/_includes/sections/instant-messenger.html @@ -24,7 +24,7 @@ title="Signal" image="/assets/img/svg/3rd-party/signal.svg" description='Signal is a mobile app developed by Signal Messenger LLC. The app provides instant messaging, as well as voice and video calling. All communications are E2EE unless you choose to send as SMS. Its protocol has also been indepedently audited (PDF)' - labels="color==warning::link==https://github.com/nextcloud/end_to_end_encryption/issues/111::text==Requires phone number::tooltip==Signal requires your phone number as an personal identifier which means anyone you communicate with will see it.|text==VoIP" + labels="color==warning::text==Requires phone number::tooltip==Signal requires your phone number as an personal identifier which means anyone you communicate with will see it.|text==VoIP" website="https://signal.org/" privacy-policy="https://signal.org/legal/" forum="https://forum.privacytools.io/t/discussion-signal/664" -- 2.47.2 From 24238188020ee26d0fab803ab641455c1d399139 Mon Sep 17 00:00:00 2001 From: LisaWilbourn <67932294+LisaWilbourn@users.noreply.github.com> Date: Mon, 6 Jul 2020 22:34:02 -0400 Subject: [PATCH 073/173] Remove Reset the Net from Privacy Resources (#1982) --- _includes/sections/privacy-resources.html | 1 - 1 file changed, 1 deletion(-) diff --git a/_includes/sections/privacy-resources.html b/_includes/sections/privacy-resources.html index c8ebe0d7..d294f741 100644 --- a/_includes/sections/privacy-resources.html +++ b/_includes/sections/privacy-resources.html @@ -33,7 +33,6 @@
    • Security in-a-Box - A guide to digital security for activists and human rights defenders throughout the world.
    • SecureDrop - An open-source whistleblower submission system that media organizations can use to securely accept documents from and communicate with anonymous sources. It was originally created by the late Aaron Swartz and is currently managed by Freedom of the Press Foundation.
    • -
    • Reset The Net - Privacy Pack - Help fight to end mass surveillance. Get these tools to protect yourself and your friends.
    • Security First - Umbrella is an Android app that provides all the advice needed to operate safely in a hostile environment.
    • Osalt - A directory to help you find open source alternatives to proprietary tools.
    • AlternativeTo - A directory to help find alternatives to other software, with the option to only show open source software
    • -- 2.47.2 From 825c653c3daf1ba93f9af944c12bfbaefc322713 Mon Sep 17 00:00:00 2001 From: Jonah Aragon Date: Thu, 9 Jul 2020 02:52:11 -0500 Subject: [PATCH 074/173] Update team members (#1987) --- pages/about.html | 41 ++++++++++++++++------------------------- 1 file changed, 16 insertions(+), 25 deletions(-) diff --git a/pages/about.html b/pages/about.html index d8d3fe2a..be650f85 100644 --- a/pages/about.html +++ b/pages/about.html @@ -60,31 +60,6 @@ mastodon="https://social.privacytools.io/@blacklight447" blog="blacklight447" %} -{% include team.html -avatar="danarel.png" -name="Dan Arel" -role="Blogging & Education" -bio="I'm an author, columnist, and privacy advocate whose work has appeared in Time, Huff Post, OpenSource, and more." -website="https://danarel.com" -email="mailto:dan@privacytools.io" -keys="https://www.danarel.com/keys/" -twitter="danarel" -mastodon="https://mastodon.technology/@danarel" -blog="danarel" -%} - -{% include team.html -avatar="dawid.svg" -name="Dawid Potocki" -role="Developer" -bio="I'm a student interested in software development. I help improve PrivacyTools and promote using free libre software." -website="https://dawidpotocki.com" -email="https://dawidpotocki.com/accounts/#email" -keys="https://dawidpotocki.com/accounts/#pgp" -mastodon="https://social.privacytools.io/@dawidpotocki" -blog="dawidpotocki" -%} - {% include team.html avatar="dngray.png" name="dngray" @@ -145,6 +120,22 @@ website="https://mikaela.info/" keys="https://gitea.blesmrt.net/mikaela/shell-things/src/branch/master/.mikaela/keys" emeritus=true %} + +{% include team.html +name="Dan Arel" +website="https://danarel.com" +keys="https://www.danarel.com/keys/" +blog="danarel" +emeritus=true +%} + +{% include team.html +name="Dawid Potocki" +website="https://dawidpotocki.com" +keys="https://dawidpotocki.com/accounts/#pgp" +blog="dawidpotocki" +emeritus=true +%}
      -- 2.47.2 From b05bdd77b0840cb6ae24457884520f30dbac0ac8 Mon Sep 17 00:00:00 2001 From: Daniel Nathan Gray Date: Fri, 10 Jul 2020 02:15:20 +0000 Subject: [PATCH 075/173] PC Operating systems 2.0 (#1969) --- _includes/nav.html | 2 +- ...ms.html => android-operating-systems.html} | 49 ++----- .../sections/live-operating-systems.html | 33 ----- _includes/sections/operating-systems.html | 120 +++++++++--------- .../other-mobile-operating-systems.html | 11 ++ _includes/sections/router-firmware.html | 40 ------ _includes/sections/tor-operating-systems.html | 23 ++++ assets/img/svg/3rd-party/alpinelinux.svg | 2 + assets/img/svg/3rd-party/archlinux.svg | 2 + assets/img/svg/3rd-party/calyxos.svg | 2 + assets/img/svg/3rd-party/nixos.svg | 2 + assets/img/svg/3rd-party/whonix.svg | 2 + pages/old.html | 6 +- pages/os.html | 35 +---- 14 files changed, 124 insertions(+), 205 deletions(-) rename _includes/sections/{mobile-operating-systems.html => android-operating-systems.html} (57%) delete mode 100644 _includes/sections/live-operating-systems.html create mode 100644 _includes/sections/other-mobile-operating-systems.html create mode 100644 _includes/sections/tor-operating-systems.html create mode 100644 assets/img/svg/3rd-party/alpinelinux.svg create mode 100644 assets/img/svg/3rd-party/archlinux.svg create mode 100644 assets/img/svg/3rd-party/calyxos.svg create mode 100644 assets/img/svg/3rd-party/nixos.svg create mode 100644 assets/img/svg/3rd-party/whonix.svg diff --git a/_includes/nav.html b/_includes/nav.html index a649fe92..5db86462 100644 --- a/_includes/nav.html +++ b/_includes/nav.html @@ -87,7 +87,7 @@ PC OS - PC Live OS + Tor focused distributions Mobile OS Android Privacy Add-ons Router Firmware diff --git a/_includes/sections/mobile-operating-systems.html b/_includes/sections/android-operating-systems.html similarity index 57% rename from _includes/sections/mobile-operating-systems.html rename to _includes/sections/android-operating-systems.html index 1b1de836..6825a1bf 100644 --- a/_includes/sections/mobile-operating-systems.html +++ b/_includes/sections/android-operating-systems.html @@ -1,16 +1,26 @@

      Mobile Operating Systems

      +

      Android-based Operating Systems

      + +{% include cardv2.html + title="CalyxOS" + image="/assets/img/svg/3rd-party/calyxos.svg" + description='CalyxOS is a custom ROM based on the Android Open Source Project with Pixel phones. It aims to be secure and private by default including a number of good choices for default applications. It also supports verified boot.' + badges="info:AOSP" + website="https://calyxos.org" + gitlab="https://gitlab.com/calyxos" +%} + {% include cardv2.html title="GrapheneOS" image="/assets/img/svg/3rd-party/grapheneos.svg" image-dark="/assets/img/svg/3rd-party/grapheneos-dark.svg" description='GrapheneOS (formerly known as CopperheadOS) is a free and open-source security- and privacy-focused mobile operating system built on top of the Android Open Source Project. It currently specifically targets devices offering strong hardware security.' badges="info:AOSP" - labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." website="https://grapheneos.org/" github="https://github.com/GrapheneOS/" %} @@ -20,49 +30,14 @@ image="/assets/img/svg/3rd-party/lineageos.svg" description='LineageOS is a custom ROM based on the Android Open Source Project with official support for a wide variety of devices. The project is the successor to the popular CyanogenMod project, focusing on system control and customization, device longevity, and privacy. For security reasons, we do not recommend third-party builds of LineageOS for unsupported devices.' badges="info:AOSP" - labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." website="https://www.lineageos.org/" privacy-policy="https://www.lineageos.org/legal/" github="https://github.com/LineageOS" %} -{% include cardv2.html - title="Ubuntu Touch" - image="/assets/img/svg/3rd-party/ubuntu.svg" - description="Ubuntu Touch is a free and open-source operating system for smartphones and tablets. It's an alternative to the current popular mobile operating systems on the market. Only a few devices are supported." - badges="info:GNU/Linux" - labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." - website="https://ubuntu-touch.io/" - privacy-policy="https://ubports.com/privacy" - github="https://github.com/ubports" -%} -

      Worth Mentioning

        -
      • Replicant - {% include badge.html - color="info" - text="AOSP" - %} - - An open-source operating system based on Android, aiming to replace all proprietary components with free software. -
      • - -
      • - OmniROM - {% include badge.html - color="info" - text="AOSP" - %} - {% include badge.html - color="warning" - icon="far fa-question-circle" - text="contrib" - tooltip="This software may depend on or recommend non-free software." - %} - - A free-software operating system for smartphones and tablet computers, based on the Android mobile platform. -
      • -
      • MicroG {% include badge.html @@ -72,8 +47,6 @@ {% include badge.html color="warning" icon="far fa-question-circle" - text="contrib" - tooltip="This software may depend on or recommend non-free software." %} - A project that aims to reimplement the proprietary Google Play Services in the Android operating system with a FLOSS replacement. The microG project also maintains a fork of LineageOS with microG and F-Droid preinstalled at Lineage for microG.
      • diff --git a/_includes/sections/live-operating-systems.html b/_includes/sections/live-operating-systems.html deleted file mode 100644 index af0a1014..00000000 --- a/_includes/sections/live-operating-systems.html +++ /dev/null @@ -1,33 +0,0 @@ -

        PC Live Operating Systems

        - -{% include cardv2.html - title="Tails" - image="/assets/img/svg/3rd-party/tails.svg" - description='Tails is a live operating system that can boot on almost any computer from a DVD, USB stick, or SD card you control. It aims at preserving privacy and anonymity, and circumventing censorship by forcing Internet connections through the Tor network; leaving no trace on the computer; and using state-of-the-art cryptographic tools to encrypt files, emails, and instant messages.' - badges="info:GNU/Linux" - labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." - website="https://tails.boum.org/" - git="https://git-tails.immerda.ch/tails/" -%} - -

        Worth Mentioning

        - -
          -
        • - Fedora Workstation - {% include badge.html - color="info" - text="GNU/Linux" - %} - - Fedora is a Linux distribution developed by the Fedora Project and sponsored by Red Hat. Fedora Workstation is a secure, reliable, and user-friendly edition developed for desktops and laptops, using GNOME as the default desktop environment. -
        • - -
        • - Debian - {% include badge.html - color="info" - text="GNU/Linux" - %} - - Debian is a Unix-like computer operating system and a Linux distribution that is composed entirely of free and open-source software, most of which is under the GNU General Public License, and packaged by a group of individuals known as the Debian project. -
        • -
        diff --git a/_includes/sections/operating-systems.html b/_includes/sections/operating-systems.html index 2fe24f81..0882ebee 100644 --- a/_includes/sections/operating-systems.html +++ b/_includes/sections/operating-systems.html @@ -4,83 +4,83 @@ If you are currently using an operating system like Windows 10, you should pick an alternative here.
      -{% include cardv2.html - title="Qubes OS" - image="/assets/img/svg/3rd-party/qubes_os.svg" - description='Qubes is an open-source operating system designed to provide strong security for desktop computing. Qubes is based on Xen, the X Window System, and Linux, and can run most Linux applications and utilize most of the Linux drivers.' - badges="info:Xen" - labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." - website="https://www.qubes-os.org/" - privacy-policy="https://www.qubes-os.org/privacy/" - github="https://github.com/QubesOS" - tor="http://qubesosfasa4zl44o4tws22di6kepyzfeqv3tg4e3ztknltfxqrymdad.onion/" -%} - {% include cardv2.html title="Fedora Workstation" image="/assets/img/svg/3rd-party/fedora.svg" description='Fedora is a Linux distribution developed by the Fedora Project and sponsored by Red Hat. Fedora Workstation is a secure, reliable, and user-friendly edition developed for desktops and laptops, using GNOME as the default desktop environment.' - badges="info:GNU/Linux" - labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." + badges="info:Linux" website="https://getfedora.org/" privacy-policy="https://fedoraproject.org/wiki/Legal:PrivacyPolicy?rd=Legal/PrivacyPolicy" git="https://src.fedoraproject.org/" %} +{% include cardv2.html + title="Ubuntu" + image="/assets/img/svg/3rd-party/ubuntu.svg" + description='Ubuntu is a Linux distribution developed by Canonical Ltd. Ubuntu is a reliable and distribution that is user-friendly and can be run on desktops, servers, and IoT devices.' + badges="info:Linux" + website="https://ubuntu.com" + privacy-policy="https://ubuntu.com/legal/data-privacy" + git="https://launchpad.net/ubuntu" +%} + +

      Advanced Operating Systems

      + + + +{% include cardv2.html + title="Alpine Linux" + image="/assets/img/svg/3rd-party/alpinelinux.svg" + description='Alpine Linux is a very minimal distribution designed to be secure and very resource efficient. Alpine Linux can run from RAM, and merge configuration files into the system on boot using Alpine local backup. Alpine Linux is often used on servers and in Linux containers.' + badges="info:Linux" + website="https://alpinelinux.org/" + privacy-policy="https://alpinelinux.org/privacy-policy.html" + gitlab="https://gitlab.alpinelinux.org" +%} + +{% include cardv2.html + title="Arch Linux" + image="/assets/img/svg/3rd-party/archlinux.svg" + description='A simple, lightweight Linux distribution. It is composed predominantly of free and open-source software, and supports community involvement.' + badges="info:Linux" + labels="color==success::link==https://tests.reproducible-builds.org/archlinux/archlinux.html::text==Reproducable builds" + website="https://www.archlinux.org/" + privacy-policy="https://wiki.archlinux.org/index.php/ArchWiki:Privacy_policy" + gitlab="https://gitlab.archlinux.org" +%} + {% include cardv2.html title="Debian" image="/assets/img/svg/3rd-party/debian.svg" description='Debian is a Unix-like computer operating system and a Linux distribution that is composed entirely of free and open-source software, most of which is under the GNU General Public License, and packaged by a group of individuals known as the Debian project.' - badges="info:GNU/Linux" + badges="info:Linux" + labels="color==success::link==https://reproducible.debian.net::text==Reproducable builds" website="https://www.debian.org/" privacy-policy="https://www.debian.org/legal/privacy" tor="http://sejnfjrq6szgca7v.onion" gitlab="https://salsa.debian.org/qa/debsources" %} -

      Worth Mentioning

      +{% include cardv2.html + title="NixOS" + image="/assets/img/svg/3rd-party/nixos.svg" + description='NixOS is a Linux distribution with a unique approach to package and configuration management. Built on top of the Nix package manager, it is completely declarative, makes upgrading systems reliable, and has many other advantages.' + badges="info:Linux" + labels="color==success::link==https://r13y.com::text==Reproducable builds" + website="https://nixos.org" + privacy-policy="https://nixos.wiki/wiki/NixOS_Wiki:Privacy_policy" + github="https://github.com/NixOS" +%} -
        -
      • OpenBSD - {% include badge.html - color="info" - text="BSD" - %} - - A project that produces a free, multi-platform 4.4BSD-based UNIX-like operating system. Emphasizes portability, standardization, correctness, proactive security and integrated cryptography. -
      • - -
      • - Arch Linux - {% include badge.html - color="info" - text="GNU/Linux" - %} - {% include badge.html - color="warning" - icon="far fa-question-circle" - text="contrib" - tooltip="This software may depend on or recommend non-free software." - %} - - A simple, lightweight Linux distribution. It is composed predominantly of free and open-source software, and supports community involvement. Parabola is a - completely open source version of Arch Linux. -
      • - -
      • - Trisquel - {% include badge.html - color="info" - text="GNU/Linux" - %} - - Derived from Ubuntu, this project aims for a fully free software system without proprietary software or firmware and uses Linux-libre, a version of the Linux kernel with the non-free code (binary blobs) removed. -
      • - -
      • - Whonix - {% include badge.html - color="info" - text="GNU/Linux" - %} - - A Debian-based security-focused Linux distribution. It aims to provide privacy, security and anonymity on the internet. The operating system consists of two virtual machines, a "Workstation" - and a Tor "Gateway". All communication are forced through the Tor network to accomplish this. -
      • -
      +{% include cardv2.html + title="Qubes OS" + image="/assets/img/svg/3rd-party/qubes_os.svg" + description='Qubes is an open-source operating system designed to provide strong security for desktop computing. Qubes is based on Xen, the X Window System, and Linux, and can run most Linux applications and utilize most of the Linux drivers.' + badges="info:Xen" + website="https://www.qubes-os.org/" + privacy-policy="https://www.qubes-os.org/privacy/" + github="https://github.com/QubesOS" + tor="http://qubesosfasa4zl44o4tws22di6kepyzfeqv3tg4e3ztknltfxqrymdad.onion/" +%} diff --git a/_includes/sections/other-mobile-operating-systems.html b/_includes/sections/other-mobile-operating-systems.html new file mode 100644 index 00000000..f1cb488d --- /dev/null +++ b/_includes/sections/other-mobile-operating-systems.html @@ -0,0 +1,11 @@ +

      Other Mobile Operating Systems

      + +{% include cardv2.html + title="Ubuntu Touch" + image="/assets/img/svg/3rd-party/ubuntu.svg" + description="Ubuntu Touch is a free and open-source operating system for smartphones and tablets. It's an alternative to the current popular mobile operating systems on the market. Only a few devices are supported." + badges="info:Linux" + website="https://ubuntu-touch.io/" + privacy-policy="https://ubports.com/privacy" + github="https://github.com/ubports" +%} diff --git a/_includes/sections/router-firmware.html b/_includes/sections/router-firmware.html index c2dbea93..b8a2c0f0 100644 --- a/_includes/sections/router-firmware.html +++ b/_includes/sections/router-firmware.html @@ -6,7 +6,6 @@ image-dark="/assets/img/svg/3rd-party/openwrt-dark.svg" description="OpenWrt is an operating system (in particular, an embedded operating system) based on the Linux kernel, primarily used on embedded devices to route network traffic. The main components are the Linux kernel, util-linux, uClibc and BusyBox. All components have been optimized for size, to be small enough for fitting into the limited storage and memory available in home routers." badges="info:Linux" - labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." website="https://openwrt.org/" git="https://git.openwrt.org/" %} @@ -17,46 +16,7 @@ image-dark="/assets/img/svg/3rd-party/pfsense-dark.svg" description="pfSense is an open source firewall/router computer software distribution based on FreeBSD. It is installed on a computer to make a dedicated firewall/router for a network and is noted for its reliability and offering features often only found in expensive commercial firewalls. pfSense is commonly deployed as a perimeter firewall, router, wireless access point, DHCP server, DNS server, and as a VPN endpoint." badges="info:BSD" - labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." website="https://www.pfsense.org/" privacy-policy="https://www.pfsense.org/privacy.html" github="https://github.com/pfsense/" %} - -{% include cardv2.html - title="LibreCMC" - image="/assets/img/svg/3rd-party/librecmc.svg" - image-dark="/assets/img/svg/3rd-party/librecmc-dark.svg" - description="LibreCMC is a GNU/Linux-libre distribution for computers with minimal resources, such as the Ben Nanonote, ath9k-based Wi-Fi routers, and other hardware with emphasis on free software. The project's current goal is to aim for compliance with the GNU Free System Distribution Guidelines (GNU FSDG) and ensure that the project continues to meet these requirements set forth by the Free Software Foundation (FSF)." - badges="info:GNU/Linux" - website="https://librecmc.org" - git="https://gogs.librecmc.org/libreCMC/libreCMC" -%} - -

      Worth Mentioning

      - -
        -
      • - OpenBSD - {% include badge.html - color="info" - text="BSD" - %} - - A project that produces a free, multi-platform 4.4BSD-based UNIX-like operating system. Emphasizes portability, standardization, correctness, proactive security and integrated cryptography. -
      • - -
      • - DD-WRT - {% include badge.html - color="info" - text="GNU/Linux" - %} - {% include badge.html - color="warning" - icon="far fa-question-circle" - text="contrib" - tooltip="This software may depend on or recommend non-free software." - %} - - A Linux-based open-source firmware compatible with several models of routers and access points. -
      • -
      diff --git a/_includes/sections/tor-operating-systems.html b/_includes/sections/tor-operating-systems.html new file mode 100644 index 00000000..e5e09d9d --- /dev/null +++ b/_includes/sections/tor-operating-systems.html @@ -0,0 +1,23 @@ +

      Tor-Focused Distributions

      + + + +{% include cardv2.html + title="Tails" + image="/assets/img/svg/3rd-party/tails.svg" + description='Tails is a live operating system that can boot on almost any computer from a DVD, USB stick, or SD card you control. It aims at preserving privacy and anonymity, and circumventing censorship by forcing Internet connections through the Tor network; leaving no trace on the computer; and using state-of-the-art cryptographic tools to encrypt files, emails, and instant messages.' + badges="info:Linux" + website="https://tails.boum.org/" + git="https://git-tails.immerda.ch/tails/" + %} + +{% include cardv2.html + title="Whonix" + image="/assets/img/svg/3rd-party/whonix.svg" + description='A Debian-based security-focused Linux distribution. It aims to provide privacy, security and anonymity on the internet. The operating system consists of two virtual machines, a "Workstation" and a Tor "Gateway". All communication are forced through the Tor network to accomplish this. Whonix is best used in conjunction with Qubes.' + badges="info:Linux" + website="https://www.whonix.org/" + github="https://github.com/Whonix" +%} diff --git a/assets/img/svg/3rd-party/alpinelinux.svg b/assets/img/svg/3rd-party/alpinelinux.svg new file mode 100644 index 00000000..e2aef2d3 --- /dev/null +++ b/assets/img/svg/3rd-party/alpinelinux.svg @@ -0,0 +1,2 @@ + + diff --git a/assets/img/svg/3rd-party/archlinux.svg b/assets/img/svg/3rd-party/archlinux.svg new file mode 100644 index 00000000..4b46a612 --- /dev/null +++ b/assets/img/svg/3rd-party/archlinux.svg @@ -0,0 +1,2 @@ + + diff --git a/assets/img/svg/3rd-party/calyxos.svg b/assets/img/svg/3rd-party/calyxos.svg new file mode 100644 index 00000000..21743c85 --- /dev/null +++ b/assets/img/svg/3rd-party/calyxos.svg @@ -0,0 +1,2 @@ + + diff --git a/assets/img/svg/3rd-party/nixos.svg b/assets/img/svg/3rd-party/nixos.svg new file mode 100644 index 00000000..dacba154 --- /dev/null +++ b/assets/img/svg/3rd-party/nixos.svg @@ -0,0 +1,2 @@ + + diff --git a/assets/img/svg/3rd-party/whonix.svg b/assets/img/svg/3rd-party/whonix.svg new file mode 100644 index 00000000..212ea7db --- /dev/null +++ b/assets/img/svg/3rd-party/whonix.svg @@ -0,0 +1,2 @@ + + diff --git a/pages/old.html b/pages/old.html index c7149c09..8e7e86e3 100644 --- a/pages/old.html +++ b/pages/old.html @@ -73,12 +73,14 @@ permalink: /classic/ {% include sections/operating-systems.html %} -{% include sections/live-operating-systems.html %} +{% include sections/tor-operating-systems.html %} -{% include sections/mobile-operating-systems.html %} +{% include sections/android-operating-systems.html %} {% include sections/android-addons.html %} +{% include sections/other-mobile-operating-systems.html %} + {% include sections/router-firmware.html %} {% include sections/windows10.html %} diff --git a/pages/os.html b/pages/os.html index 08d138da..536f2cf3 100644 --- a/pages/os.html +++ b/pages/os.html @@ -13,41 +13,14 @@ description: "Even your own computer could be compromising your privacy. Discove
    • Don't use Windows 10 - It's a privacy nightmare
    -

    Remember to check CPU vulnerability mitigations

    +{% include sections/tor-operating-systems.html %} -

    This also affects Windows 10, but it doesn't expose this information or mitigation instructions as easily. MacOS users check How to enable full mitigation for Microarchitectural Data Sampling (MDS) vulnerabilities on Apple Support.

    - -

    When running a recent enough Linux kernel, you can check the CPU vulnerabilities it detects by tail -n +1 /sys/devices/system/cpu/vulnerabilities/*. By using tail -n +1 instead of cat, the file names are also visible.

    - -

    - In case you have an Intel CPU, you may notice "SMT vulnerable" display after running the tail command. To mitigate this, disable hyper-threading from the UEFI/BIOS. You can also take the following mitigation steps below if your system/distribution uses GRUB and supports /etc/default/grub.d/: -

    - -
      -
    1. sudo mkdir /etc/default/grub.d/ to create a directory for additional grub configuration
    2. -
    3. echo GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT l1tf=full,force mds=full,nosmt mitigations=auto,nosmt nosmt=force" | sudo tee /etc/default/grub.d/mitigations.cfg to create a new grub config file source with the echoed content
    4. -
    5. sudo grub-mkconfig -o /boot/grub/grub.cfg to generate a new grub config file including these new kernel boot flags
    6. -
    7. sudo reboot to reboot
    8. -
    9. after the reboot, check tail -n +1 /sys/devices/system/cpu/vulnerabilities/* again to see that everything referring to SMT now says "SMT disabled."
    10. -
    - -
    Further reading
    - - - -{% include sections/live-operating-systems.html %} - -{% include sections/mobile-operating-systems.html %} +{% include sections/android-operating-systems.html %} {% include sections/android-addons.html %} +{% include sections/other-mobile-operating-systems.html %} + {% include sections/router-firmware.html %} {% include sections/windows10.html %} -- 2.47.2 From da9ee2b87df98646c88377f839b9d9438225e0cc Mon Sep 17 00:00:00 2001 From: Jonah Aragon Date: Sun, 12 Jul 2020 20:47:00 -0500 Subject: [PATCH 076/173] Update team members --- assets/img/png/team/danarel.png | Bin 116874 -> 0 bytes assets/img/png/team/nitrohorse.png | Bin 35177 -> 0 bytes assets/img/svg/team/dawid.svg | 2 -- pages/about.html | 22 +++++++++------------- 4 files changed, 9 insertions(+), 15 deletions(-) delete mode 100644 assets/img/png/team/danarel.png delete mode 100644 assets/img/png/team/nitrohorse.png delete mode 100644 assets/img/svg/team/dawid.svg diff --git a/assets/img/png/team/danarel.png b/assets/img/png/team/danarel.png deleted file mode 100644 index 3fa5769bc9092a060dad8e8aaae72368a048b4f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116874 zcmV((K;XZLP)Px#32;bRa{vG?BLDy{BLR4&KXw2BEy{XSSaechcOYnZ981a}^X1WA#(!5n|SM~lj;=`QK6 z7U>MhSlrFkR0-fMAZXwDzyIfcfBW0tEW}v9Tw1TA*1&&xER#$oj-s6zGfl6 z-~axf{rTO#fBB8bpNT)y?~5(}`EL62^}oNq{`Dsp`WN4@@*jR6{q;8SpWnF6KVOd_ z{(pDWVr=1`|Lgzw|K8p2J-?@$xv~uP_fWsL`2KzwUbtAL^nR@JtMPx~@9q5>{OVx_ zw;Xoxu=wRRELsZJvhB~NT|2h<)6KcZ98YZg8KcMazSdKVBYFzSQr0iKv89oA>M16V zC#96X6#u#xd+$5m`?+=Ac^fZ{#>I>u`7eKc|J@7zonQBQV2#Xpdi%3h+*gc>gJ~I) ze&=Nb#O|NCmAAlu|Mk~@-#-O55yA47x$}TCtluS8v47-NdI^wtUE$APep%a!T6|fO zdGEr_SRw?WS}IoU<%3yHu@j)loyU~pA_7)Q+}vc$DOFV>c=zjH1w#0GO+5KYHfFlxy|3}7=?ACk zk5{cc_8FT+iRAM8LeIK&?xfpyyB?{rB7DJX9eJm$E3r-rgR_V$@7M-+mG?fEf8s5CWMl1~H&0qUaWybg*KIQ$9*F#! z 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%0DJD0UTfEXuxUg6y3VQUc{|AHdpvYQ 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 U8i- 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 XNpILRHJ=HS00000NkvXXu0mjflZGl1 diff --git a/assets/img/png/team/nitrohorse.png b/assets/img/png/team/nitrohorse.png deleted file mode 100644 index 1fb4348986c2c77a146b14cfa625013c06cd97d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35177 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 diff --git a/assets/img/svg/team/dawid.svg b/assets/img/svg/team/dawid.svg deleted file mode 100644 index 2c072eb4..00000000 --- a/assets/img/svg/team/dawid.svg +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/pages/about.html b/pages/about.html index be650f85..9b336141 100644 --- a/pages/about.html +++ b/pages/about.html @@ -71,19 +71,6 @@ keys="https://keybase.io/dngray" mastodon="https://social.privacytools.io/@dngray" %} -{% include team.html -avatar="nitrohorse.png" -name="Andreas Basurto" -nick="nitrohorse" -role="Developer" -bio="I'm a privacy advocate and software developer. I write web extensions, help research, and make updates to the site." -website="https://nitrohorse.com/" -email="mailto:nitrohorse@privacytools.io" -keys="https://nitrohorse.com/keys" -mastodon="https://nitro.horse/@andreas" -blog="nitrohorse" -%} - {% include team.html avatar="trai_dep.png" name="trai_dep" @@ -136,6 +123,15 @@ keys="https://dawidpotocki.com/accounts/#pgp" blog="dawidpotocki" emeritus=true %} + +{% include team.html +name="Andreas Basurto" +nick="nitrohorse" +website="https://nitrohorse.com/" +keys="https://nitrohorse.com/keys" +blog="nitrohorse" +emeritus=true +%}

    -- 2.47.2 From eb814cc9672276476a0f129928bbcc38f19b6ed7 Mon Sep 17 00:00:00 2001 From: Mikaela Suomalainen Date: Thu, 16 Jul 2020 17:28:31 +0300 Subject: [PATCH 077/173] operating-systems: mention other Fedora Flavours and Ubuntu Spins (#1988) * operating-systems: mention other Fedora Flavours and Ubuntu Spins * Remove slash, merge with existing sentence Co-authored-by: Daniel Gray --- _includes/sections/operating-systems.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_includes/sections/operating-systems.html b/_includes/sections/operating-systems.html index 0882ebee..953cabe2 100644 --- a/_includes/sections/operating-systems.html +++ b/_includes/sections/operating-systems.html @@ -7,7 +7,7 @@ {% include cardv2.html title="Fedora Workstation" image="/assets/img/svg/3rd-party/fedora.svg" - description='Fedora is a Linux distribution developed by the Fedora Project and sponsored by Red Hat. Fedora Workstation is a secure, reliable, and user-friendly edition developed for desktops and laptops, using GNOME as the default desktop environment.' + description='Fedora is a Linux distribution developed by the Fedora Project and sponsored by Red Hat. Fedora Workstation is a secure, reliable, and user-friendly edition developed for desktops and laptops. Fedora by default comes with the GNOME desktop environment, other desktop environments are also available.' badges="info:Linux" website="https://getfedora.org/" privacy-policy="https://fedoraproject.org/wiki/Legal:PrivacyPolicy?rd=Legal/PrivacyPolicy" @@ -17,7 +17,7 @@ {% include cardv2.html title="Ubuntu" image="/assets/img/svg/3rd-party/ubuntu.svg" - description='Ubuntu is a Linux distribution developed by Canonical Ltd. Ubuntu is a reliable and distribution that is user-friendly and can be run on desktops, servers, and IoT devices.' + description='Ubuntu is a Linux distribution developed by Canonical Ltd. Ubuntu is a reliable and distribution that is user-friendly and can be run on desktops, servers, and IoT devices. Ubuntu uses GNOME as the default desktop environment, while other desktop environments are also available.' badges="info:Linux" website="https://ubuntu.com" privacy-policy="https://ubuntu.com/legal/data-privacy" -- 2.47.2 From 557d222fc9e9e189dc386ea18fc304a0c4c14444 Mon Sep 17 00:00:00 2001 From: Daniel Nathan Gray Date: Fri, 17 Jul 2020 00:30:46 +0000 Subject: [PATCH 078/173] Riot becomes Element (#1991) --- _includes/sections/instant-messenger.html | 20 ++++++++++---------- _includes/sections/teamchat.html | 20 ++++++++++---------- assets/img/svg/3rd-party/element.svg | 2 ++ assets/img/svg/3rd-party/riotim.svg | 2 -- 4 files changed, 22 insertions(+), 22 deletions(-) create mode 100644 assets/img/svg/3rd-party/element.svg delete mode 100644 assets/img/svg/3rd-party/riotim.svg diff --git a/_includes/sections/instant-messenger.html b/_includes/sections/instant-messenger.html index 18c7e63b..d2a3ca96 100644 --- a/_includes/sections/instant-messenger.html +++ b/_includes/sections/instant-messenger.html @@ -71,21 +71,21 @@ {% include cardv2.html - title="Riot" - image="/assets/img/svg/3rd-party/riotim.svg" - description='Riot.im is the reference client for the Matrix network. The Matrix open standard is an open-source standard for secure, decentralized, real-time communication.' + title="Element" + image="/assets/img/svg/3rd-party/element.svg" + description='Element (formerly Riot) is the reference client for the Matrix network. The Matrix open standard is an open-source standard for secure, decentralized, real-time communication.' labels="text==VoIP" - website="https://about.riot.im/" - privacy-policy="https://riot.im/privacy" + website="https://element.io" + privacy-policy="https://element.io/privacy" forum="https://forum.privacytools.io/t/discussion-riot-im/665/" github="https://github.com/vector-im/riot-web/" - windows="https://riot.im/download/desktop/" - mac="https://riot.im/download/desktop/" + windows="https://element.io/get-started" + mac="https://element.io/get-started" linux="https://riot.im/download/desktop/" - fdroid="https://f-droid.org/repository/browse/?fdid=im.vector.alpha" + fdroid="https://f-droid.org/packages/im.vector.alpha" googleplay="https://play.google.com/store/apps/details?id=im.vector.app" - ios="https://itunes.apple.com/app/vector.im/id1083446067" - web="https://riot.im/app/" + ios="https://apps.apple.com/app/vector/id1083446067" + web="https://app.element.io" %}
    diff --git a/_includes/sections/teamchat.html b/_includes/sections/teamchat.html index 5d2483f2..d874c11d 100644 --- a/_includes/sections/teamchat.html +++ b/_includes/sections/teamchat.html @@ -10,21 +10,21 @@ {% include cardv2.html - title="Riot" - image="/assets/img/svg/3rd-party/riotim.svg" - description='Riot.im is the reference client for the Matrix network. The Matrix open standard is an open-source standard for secure, decentralized, real-time communication.
    ' + title="Element" + image="/assets/img/svg/3rd-party/element.svg" + description='Element (formerly Riot) is the reference client for the Matrix network. The Matrix open standard is an open-source standard for secure, decentralized, real-time communication.' labels="text==VoIP" - website="https://about.riot.im/" - privacy-policy="https://riot.im/privacy" + website="https://element.io" + privacy-policy="https://element.io/privacy" forum="https://forum.privacytools.io/t/discussion-riot-im/665/" github="https://github.com/vector-im/riot-web/" - windows="https://riot.im/download/desktop/" - mac="https://riot.im/download/desktop/" + windows="https://element.io/get-started" + mac="https://element.io/get-started" linux="https://riot.im/download/desktop/" - fdroid="https://f-droid.org/repository/browse/?fdid=im.vector.alpha" + fdroid="https://f-droid.org/packages/im.vector.alpha" googleplay="https://play.google.com/store/apps/details?id=im.vector.app" - ios="https://itunes.apple.com/app/vector.im/id1083446067" - web="https://riot.im/app/" + ios="https://apps.apple.com/app/vector/id1083446067" + web="https://app.element.io" %} {% diff --git a/assets/img/svg/3rd-party/element.svg b/assets/img/svg/3rd-party/element.svg new file mode 100644 index 00000000..d449ae7c --- /dev/null +++ b/assets/img/svg/3rd-party/element.svg @@ -0,0 +1,2 @@ + + diff --git a/assets/img/svg/3rd-party/riotim.svg b/assets/img/svg/3rd-party/riotim.svg deleted file mode 100644 index 02b85dd5..00000000 --- a/assets/img/svg/3rd-party/riotim.svg +++ /dev/null @@ -1,2 +0,0 @@ - - -- 2.47.2 From f2a26d6e99a302248b013d33da47a5e5ff3ba866 Mon Sep 17 00:00:00 2001 From: Freddy Marsden Date: Fri, 17 Jul 2020 09:39:22 +0100 Subject: [PATCH 079/173] Remove Datacell, Orange web hosting providers (#1992) --- _includes/sections/hosting-provider.html | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/_includes/sections/hosting-provider.html b/_includes/sections/hosting-provider.html index a3d49dfa..d8f9c470 100644 --- a/_includes/sections/hosting-provider.html +++ b/_includes/sections/hosting-provider.html @@ -20,20 +20,3 @@ forum="https://forum.privacytools.io/t/discussion-njalla/339" %} -{% include cardv2.html - title="Colocation: DataCell" - image="/assets/img/png/3rd-party/datacell.png" - description="DataCell is a data center providing secure colocating in Switzerland and Iceland." - website="https://datacell.is/" - privacy-policy="https://datacell.is/privacy/" - forum="https://forum.privacytools.io/t/discussion-datacell-is/342" -%} - -{% include cardv2.html - title="VPS, Hosting, & Domain: Orange Website" - image="/assets/img/png/3rd-party/orange_website.png" - description="Orange Website is an Icelandic web hosting provider that prides themselves in protecting online privacy and free speech." - website="https://www.orangewebsite.com/" - privacy-policy="https://www.orangewebsite.com/docs/privacy-policy.php" - forum="https://forum.privacytools.io/t/discussion-orange-website/343" -%} -- 2.47.2 From 1b7edaac0b917943180a9d4697f27858d372ae81 Mon Sep 17 00:00:00 2001 From: Freddy Marsden Date: Fri, 17 Jul 2020 20:56:51 +0100 Subject: [PATCH 080/173] Add warning that Njalla blocks port 25 traffic (#1993) --- _includes/sections/hosting-provider.html | 1 + 1 file changed, 1 insertion(+) diff --git a/_includes/sections/hosting-provider.html b/_includes/sections/hosting-provider.html index d8f9c470..12acbc6a 100644 --- a/_includes/sections/hosting-provider.html +++ b/_includes/sections/hosting-provider.html @@ -16,6 +16,7 @@ image-dark="/assets/img/svg/3rd-party/njalla-dark.svg" description="Njalla is a privacy-aware domain registration service and VPS provider based in Nevis (with VPS data centers in Sweden). It is created by people from The Pirate Bay and IPredator VPN. Accepted payments: Bitcoin, Litecoin, Monero, Zcash, DASH, Bitcoin Cash and PayPal." website="https://njal.la/" + labels="color==warning::link==https://github.com/privacytools/privacytools.io/issues/1920::text==Warning::tooltip==Njalla blocks port 25 traffic." tor="http://njalladnspotetti.onion" forum="https://forum.privacytools.io/t/discussion-njalla/339" %} -- 2.47.2 From 62f667c533d8c5f0016e44a12120ce579c95f01a Mon Sep 17 00:00:00 2001 From: Daniel Nathan Gray Date: Sun, 19 Jul 2020 23:43:48 +0000 Subject: [PATCH 081/173] Update some other old Riot links (#1997) --- _includes/sections/instant-messenger.html | 6 +++--- _includes/sections/teamchat.html | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/_includes/sections/instant-messenger.html b/_includes/sections/instant-messenger.html index d2a3ca96..bf7d6b53 100644 --- a/_includes/sections/instant-messenger.html +++ b/_includes/sections/instant-messenger.html @@ -77,12 +77,12 @@ labels="text==VoIP" website="https://element.io" privacy-policy="https://element.io/privacy" - forum="https://forum.privacytools.io/t/discussion-riot-im/665/" + forum="https://forum.privacytools.io/t/discussion-element-io/665" github="https://github.com/vector-im/riot-web/" windows="https://element.io/get-started" mac="https://element.io/get-started" - linux="https://riot.im/download/desktop/" - fdroid="https://f-droid.org/packages/im.vector.alpha" + linux="https://element.io/get-started" + fdroid="https://f-droid.org/packages/im.vector.app/" googleplay="https://play.google.com/store/apps/details?id=im.vector.app" ios="https://apps.apple.com/app/vector/id1083446067" web="https://app.element.io" diff --git a/_includes/sections/teamchat.html b/_includes/sections/teamchat.html index d874c11d..207912cf 100644 --- a/_includes/sections/teamchat.html +++ b/_includes/sections/teamchat.html @@ -16,12 +16,12 @@ labels="text==VoIP" website="https://element.io" privacy-policy="https://element.io/privacy" - forum="https://forum.privacytools.io/t/discussion-riot-im/665/" + forum="https://forum.privacytools.io/t/discussion-element-io/665" github="https://github.com/vector-im/riot-web/" windows="https://element.io/get-started" mac="https://element.io/get-started" - linux="https://riot.im/download/desktop/" - fdroid="https://f-droid.org/packages/im.vector.alpha" + linux="https://element.io/get-started" + fdroid="https://f-droid.org/packages/im.vector.app/" googleplay="https://play.google.com/store/apps/details?id=im.vector.app" ios="https://apps.apple.com/app/vector/id1083446067" web="https://app.element.io" -- 2.47.2 From 9f263334e068453c25dd44608e69bfaff3fec08d Mon Sep 17 00:00:00 2001 From: Ashley Date: Sun, 19 Jul 2020 19:46:18 -0400 Subject: [PATCH 082/173] Updated Onion Browser iOS limitations link (#2000) The original link (https://onionbrowser.com/#security-advisories) defaulted to the homepage with no information about iOS's limitations. Replaced it with the about page which has information on the limitations. --- _includes/sections/browser-recommendation.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/sections/browser-recommendation.html b/_includes/sections/browser-recommendation.html index 9acf1d64..d5b9f244 100644 --- a/_includes/sections/browser-recommendation.html +++ b/_includes/sections/browser-recommendation.html @@ -112,7 +112,7 @@ {% include cardv2.html title="Onion Browser" image="/assets/img/svg/3rd-party/onion_browser.svg" - description='Onion Browser is an open-source browser that lets you browse the web anonymously over the Tor network on iOS devices and is endorsed by the Tor Project. Warning: there are certain anonymity-related issues with Onion Browser due to iOS limitations.' + description='Onion Browser is an open-source browser that lets you browse the web anonymously over the Tor network on iOS devices and is endorsed by the Tor Project. Warning: there are certain anonymity-related issues with Onion Browser due to iOS limitations.' website="https://onionbrowser.com/" privacy-policy="https://onionbrowser.com/privacy-policy" forum="https://forum.privacytools.io/t/discussion-onion-browser-browsers/1523" -- 2.47.2 From cc7ae00085d6f6d902662077f14bc51df3a9b99b Mon Sep 17 00:00:00 2001 From: Jonah Aragon Date: Thu, 23 Jul 2020 17:13:10 -0500 Subject: [PATCH 083/173] Matrix chat information (#1994) Co-authored-by: Daniel Gray --- _includes/sections/participate.html | 2 +- pages/{ => about}/about.html | 0 pages/services/chat.html | 101 ++++++++++++++++++++++++++++ pages/{ => services}/services.html | 2 +- 4 files changed, 103 insertions(+), 2 deletions(-) rename pages/{ => about}/about.html (100%) create mode 100644 pages/services/chat.html rename pages/{ => services}/services.html (95%) diff --git a/_includes/sections/participate.html b/_includes/sections/participate.html index d367dfbe..674557a7 100644 --- a/_includes/sections/participate.html +++ b/_includes/sections/participate.html @@ -2,7 +2,7 @@

    Participate with suggestions and constructive criticism

    -

    It's important for a website like {{ site.name }} to stay up-to-date. Keep an eye on software updates for the applications listed on our site. Follow recent news about providers that we recommend. We try our best to keep up, but we're not perfect and the internet is changing fast. If you find an error, or you think a provider should not be listed here, or a qualified service provider is missing, or a browser plugin is not the best choice anymore, or anything else... Talk to us please. You can also find us on several Matrix rooms mainly #general:privacytools.io. XMPP users can join there through #general#privacytools.io@matrix.org. When using our services, users should follow our Code of Conduct.

    +

    It's important for a website like {{ site.name }} to stay up-to-date. Keep an eye on software updates for the applications listed on our site. Follow recent news about providers that we recommend. We try our best to keep up, but we're not perfect and the internet is changing fast. If you find an error, or you think a provider should not be listed here, or a qualified service provider is missing, or a browser plugin is not the best choice anymore, or anything else... Talk to us please. You can also find us on several Matrix rooms, primarily #general:privacytools.io. XMPP users can join there via #general#privacytools.io@matrix.org. When using our services, users should follow our Code of Conduct.

    diff --git a/pages/about.html b/pages/about/about.html similarity index 100% rename from pages/about.html rename to pages/about/about.html diff --git a/pages/services/chat.html b/pages/services/chat.html new file mode 100644 index 00000000..2c924824 --- /dev/null +++ b/pages/services/chat.html @@ -0,0 +1,101 @@ +--- +layout: default +permalink: /services/chat/ +title: "Matrix" +description: "chat.privacytools.io is our official Matrix homeserver. You can register a user account on this homeserver using any Matrix client, no email required." +--- + +{% include breadcrumbs.html %} + +
    +

    Matrix

    +

    chat.privacytools.io is our official Matrix homeserver.

    +
    +

    You can register a user account on this homeserver using any Matrix client, no email required. However, you do not need to be a member of this homeserver to join our rooms, and choosing a smaller instance or buying or hosting your own will help promote decentralization and performance in the Matrix fediverse!

    +

    + Open in Element + Find Another Homeserver +

    +
    + +

    Connection Information

    +

    To register on or connect to our homeserver, simply use https://chat.privacytools.io as the homeserver in your Matrix client.

    + +{% + include cardv2.html + title="Element" + image="/assets/img/svg/3rd-party/element.svg" + description='Element (formerly Riot) is the reference client for the Matrix network. The Matrix open standard is an open-source standard for secure, decentralized, real-time communication.' + labels="text==VoIP" + website="https://element.io" + privacy-policy="https://element.io/privacy" + forum="https://forum.privacytools.io/t/discussion-element-io/665" + github="https://github.com/vector-im/riot-web/" + windows="https://element.io/get-started" + mac="https://element.io/get-started" + linux="https://element.io/get-started" + fdroid="https://f-droid.org/packages/im.vector.app/" + googleplay="https://play.google.com/store/apps/details?id=im.vector.app" + ios="https://apps.apple.com/app/vector/id1083446067" + web="https://app.element.io" +%} + +

    If you're asked to enter a custom homeserver URL in a Matrix client, enter https://chat.privacytools.io, not privacytools.io or element.privacytools.io. You do not need to change your identity server, in fact https://vector.im is the only functional one, by design.

    + +

    These details will be autofilled for you in most clients if you enter your full username (e.g. @alice:privacytools.io rather than alice) into the username field. In general it is preferable to do that rather than trying to remember what the homeserver URL is.

    + +

    Frequently Asked Questions

    + +

    Is #general:privacytools.io or #privacy:privacytools.io chat end-to-end encrypted?

    +

    No. Messages sent to the #general chat are encrypted from with client-to-server encryption, i.e. HTTPS. This means that your messages can't be viewed by an attacker on your network, or your ISP, etc. However, because this is a public chat room anybody can view your messages if they are a member, and newcomers will be able to see all message history. Do not say anything in rooms that don't use End-to-End (E2E) encryption that you wouldn't want tied to you personally.

    + +

    Isn't Matrix behind Cloudflare?

    +

    Matrix.org is, chat.privacytools.io isn't. If you use our homeserver and our Element install, you should be good.

    + +

    Isn't Matrix slow?

    +

    It can be, for some! Due to the trememdous amount of people registering on the matrix.org homeserver, it is often overloaded and occasionally slow to respond. Therefore, users on that homeserver occasionally report a less than ideal chat experience. If that's you, you can fix this problem by switching to another homeserver. Good alternatives include... +

      +
    • ours of course, at chat.privacytools.io, you're here right?
    • +
    • feneas.org, tchncs.de, weho.st, pine64.org, mozilla.org, kde.org, halogen.city...
    • +
    • purchasing an instance from Element Matrix Services
    • +
    • running your own by installing synapse — certainly the best option for the technically inclined!
    • +
    +

    Note that at time of writing, switching homeservers requires re-registering with another account at that server, as nomadic identities haven't been implemented yet.

    + +

    What happens when I remove a message in Element?

    +

    Your homeserver will send a removal request for that message and some clients will render it as a black line, but by editing the source it's possibly for homeserver to not respect it and do nothing. If the room is bridged to protocols that don't support message removals (IRC, XMPP), their users see nothing happening. Don’t say anything you wouldn’t want to remain in the chat forever.

    + +

    Why do XMPP users keep joining and leaving all the time?

    +

    It's an issue with the XMPP bridge.

    + +

    Rooms

    +

    To join a room, just type /join [room address] in any room. You can run this command from any server, not just ours!

    +

    The PrivacyTools administration operates the following channels:

    +
      +
    • #dev:privacytools.io: Discussions relating to building www.privacytools.io.
    • +
    • #forum:privacytools.io: All PrivacyTools Forum updates (Automated).
    • +
    • #general:privacytools.io: Main discussion room.
    • +
    • #github:privacytools.io: GitHub updates for @privacytoolsIO (Automated).
    • +
    • #guides:privacytools.io: Privacy Guides development work.
    • +
    • #privacy:privacytools.io: On-topic privacy, security, opsec discussion and support.
    • +
    • #wiki:privacytools.io: Wiki-building discussion room.
    • +
    +

    If you're looking for more things to chat about, check out these rooms as well:

    +
      +
    • #disroot:disroot.org: Disroot.org room
    • +
    • #freenode_#opennic:matrix.org: OpenNIC IRC Channel.
    • +
    • #matrix:matrix.org: Discuss Matrix itself!
    • +
    • #nothing_to_hide:privacytools.io: More general privacy chat.
    • +
    • #_oftc_#Tor-Project:matrix.org: Official Tor Project chat room!
    • +
    • #plume:disroot.org: Discussion for Plume: Federated blogging.
    • +
    • #element-android:matrix.org: Element Android discussion and support.
    • +
    • #element-ios:matrix.org: Element iOS discussion and support.
    • +
    • #riotx:matrix.org: RiotX (soon to be: Element Android) discussion and support.
    • +
    • #element-web:matrix.org: Element Web/Desktop discussion and support.
    • +
    +

    If you are a room operator and want your room listed here, feel free to contact us. Especially if you operate a large room and/or are a member of our homeserver!

    +

    We do not necessarily endorse any of the content in these listed rooms.

    + +

    Contact

    +

    For server related issues, the administrator of this homeserver is Jonah, who can be reached on Matrix at @jonah:privacytools.io. +

    For moderation related issues or anything else, you can contact Jonah or anyone in the team (listed in the +team:privacytools.io community) via Matrix, or via email at support@privacytools.io.

    diff --git a/pages/services.html b/pages/services/services.html similarity index 95% rename from pages/services.html rename to pages/services/services.html index 4669ea64..32e54528 100644 --- a/pages/services.html +++ b/pages/services/services.html @@ -11,7 +11,7 @@ description: "The PrivacyTools team is proud to introduce a suite of privacy-cen
    +
    +
    +
    Awesome Resources Logo
    +
    +

    Awesome Resources Ltd

    + https://www.awesomeresources.co.uk +
    +
    +
    +
    +
    +
    Look To The Right Logo
    +
    +

    Look To The Right

    + https://looktotheright.com +
    +
    +
    diff --git a/assets/img/png/3rd-party/sponsors/awesomeresources.png b/assets/img/png/3rd-party/sponsors/awesomeresources.png new file mode 100644 index 0000000000000000000000000000000000000000..cf8d43b8ab2a7e09e70d787763d03e951ec29438 GIT binary patch literal 3367 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 WR`74~X?G583;6Q}xUzHh5&r`?lHxJ| literal 0 HcmV?d00001 diff --git a/assets/img/png/3rd-party/sponsors/looktotheright.png b/assets/img/png/3rd-party/sponsors/looktotheright.png new file mode 100644 index 0000000000000000000000000000000000000000..77126b113d9ae631d84ecc16d309fe2646f65f3f GIT binary patch literal 5823 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 Date: Mon, 27 Jul 2020 15:25:06 +0000 Subject: [PATCH 085/173] Fix domain owned by domain squatters (#2004) --- pages/providers/social-networks.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/providers/social-networks.html b/pages/providers/social-networks.html index 744363c9..6c4bbdeb 100644 --- a/pages/providers/social-networks.html +++ b/pages/providers/social-networks.html @@ -19,5 +19,5 @@ description: "Find a social network that doesn't pry into your data or monetize
  • Delete your Facebook account - Direct link to delete your Facebook account without being able to reactivate it again.
  • How To Permanently Delete A Facebook Account - This guide will take you through a smooth and successful Facebook account deletion.
  • Facebook Container by Mozilla - Prevent Facebook from tracking you around the web.
  • -
  • Stop using Facebook - A curated list of reasons to stop using Facebook and how to do it.
  • +
  • Stop using Facebook - A curated list of reasons to stop using Facebook and how to do it.
  • -- 2.47.2 From a5a60440f15dd863d73c6569a46cf84096401b06 Mon Sep 17 00:00:00 2001 From: Daniel Nathan Gray Date: Mon, 27 Jul 2020 15:29:15 +0000 Subject: [PATCH 086/173] Change PC Operating Systems to Introductory Operating Systems (#1995) --- _includes/nav.html | 2 +- _includes/sections/operating-systems.html | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/_includes/nav.html b/_includes/nav.html index 5db86462..670f62a4 100644 --- a/_includes/nav.html +++ b/_includes/nav.html @@ -86,7 +86,7 @@ - PC OS + PC OS Tor focused distributions Mobile OS Android Privacy Add-ons diff --git a/_includes/sections/operating-systems.html b/_includes/sections/operating-systems.html index 953cabe2..cf5045ee 100644 --- a/_includes/sections/operating-systems.html +++ b/_includes/sections/operating-systems.html @@ -1,7 +1,7 @@ -

    PC Operating Systems

    +

    Introductory Operating Systems

    {% include cardv2.html -- 2.47.2 From cdbcd96517b17454734b5782039c1cf91359107d Mon Sep 17 00:00:00 2001 From: Jonah Aragon Date: Mon, 27 Jul 2020 10:30:53 -0500 Subject: [PATCH 087/173] Add video hosting platforms category (#1974) --- _includes/nav.html | 1 + _includes/sections/decentralized-video.html | 14 ++++++++++++++ _includes/sections/video-frontends.html | 14 ++++++++++++++ assets/img/svg/3rd-party/invidious.svg | 1 + assets/img/svg/3rd-party/lbrytv.svg | 1 + assets/img/svg/3rd-party/peertube.svg | 1 + pages/old.html | 4 ++++ pages/providers/video.html | 10 ++++++++++ pages/services/services.html | 1 + 9 files changed, 47 insertions(+) create mode 100644 _includes/sections/decentralized-video.html create mode 100644 _includes/sections/video-frontends.html create mode 100644 assets/img/svg/3rd-party/invidious.svg create mode 100644 assets/img/svg/3rd-party/lbrytv.svg create mode 100644 assets/img/svg/3rd-party/peertube.svg create mode 100644 pages/providers/video.html diff --git a/_includes/nav.html b/_includes/nav.html index 670f62a4..83db1f58 100644 --- a/_includes/nav.html +++ b/_includes/nav.html @@ -32,6 +32,7 @@ Search Engines Social Networks Social News Aggregators + Video Platforms VPN
    diff --git a/_includes/sections/decentralized-video.html b/_includes/sections/decentralized-video.html new file mode 100644 index 00000000..6893b395 --- /dev/null +++ b/_includes/sections/decentralized-video.html @@ -0,0 +1,14 @@ +

    Decentralized Video Platforms

    + + + +{% include cardv2.html + title="PeerTube" + image="/assets/img/svg/3rd-party/peertube.svg" + description='PeerTube, developed by Framasoft, is a free and decentralized alternative to video platforms, with over 400,000 videos published by over 50,000 users and viewed over 10 million times. If you are looking for a server to join, you are welcome to join our hosted instance: tube.privacytools.io' + website="https://joinpeertube.org" + github="https://github.com/Chocobozzz/PeerTube" + web="https://joinpeertube.org/#what-is-peertube" +%} diff --git a/_includes/sections/video-frontends.html b/_includes/sections/video-frontends.html new file mode 100644 index 00000000..c790135b --- /dev/null +++ b/_includes/sections/video-frontends.html @@ -0,0 +1,14 @@ +

    Frontends and Proxies

    + + + +{% include cardv2.html + title="Invidious" + image="/assets/img/svg/3rd-party/invidious.svg" + description='Invidious is an alternative front-end to YouTube. It is free software, with no advertising or Javascript dependency to play videos, with lots of other features that allow you to have a complete YouTube experience, sans Google.' + website="https://invidio.us" + github="https://github.com/omarroth/invidious" + web="https://instances.invidio.us" +%} diff --git a/assets/img/svg/3rd-party/invidious.svg b/assets/img/svg/3rd-party/invidious.svg new file mode 100644 index 00000000..1e1c6d2d --- /dev/null +++ b/assets/img/svg/3rd-party/invidious.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/img/svg/3rd-party/lbrytv.svg b/assets/img/svg/3rd-party/lbrytv.svg new file mode 100644 index 00000000..5e10da6e --- /dev/null +++ b/assets/img/svg/3rd-party/lbrytv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/img/svg/3rd-party/peertube.svg b/assets/img/svg/3rd-party/peertube.svg new file mode 100644 index 00000000..b749f75f --- /dev/null +++ b/assets/img/svg/3rd-party/peertube.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/pages/old.html b/pages/old.html index 8e7e86e3..646299fe 100644 --- a/pages/old.html +++ b/pages/old.html @@ -63,6 +63,10 @@ permalink: /classic/ {% include sections/social-news-aggregator.html %} +{% include sections/decentralized-video.html %} + +{% include sections/video-frontends.html %} + {% include sections/dns.html %} {% include sections/notebooks.html %} diff --git a/pages/providers/video.html b/pages/providers/video.html new file mode 100644 index 00000000..21fb82c5 --- /dev/null +++ b/pages/providers/video.html @@ -0,0 +1,10 @@ +--- +layout: page +permalink: /providers/video/ +title: "Video Platforms" +description: "Find a platform to watch and host videos that doesn't pry into your data or monetize your profile." +--- + +{% include sections/decentralized-video.html %} + +{% include sections/video-frontends.html %} diff --git a/pages/services/services.html b/pages/services/services.html index 32e54528..fe374139 100644 --- a/pages/services/services.html +++ b/pages/services/services.html @@ -13,6 +13,7 @@ description: "The PrivacyTools team is proud to introduce a suite of privacy-cen
  • Mastodon - Tracker Free Social Networking at social.privacytools.io
  • Matrix - Federated private chat at chat.privacytools.io
  • Discourse - Forum at forum.privacytools.io
  • +
  • PeerTube - Decentralized Video at tube.privacytools.io
  • Write Freely - Federated minimalist blog at write.privacytools.io
  • PrivateBin - Encrypted Pastebin at bin.privacytools.io
  • -- 2.47.2 From 20df59307c611301c2e8ed6cc04efcfc35369d23 Mon Sep 17 00:00:00 2001 From: Jonah Aragon Date: Mon, 27 Jul 2020 11:41:39 -0500 Subject: [PATCH 088/173] Remove mozilla.org as a suggested Matrix homeserver They seem to have some strange moderation practices. --- pages/services/chat.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/services/chat.html b/pages/services/chat.html index 2c924824..de105b51 100644 --- a/pages/services/chat.html +++ b/pages/services/chat.html @@ -56,7 +56,7 @@ description: "chat.privacytools.io is our official Matrix homeserver. You can re

    It can be, for some! Due to the trememdous amount of people registering on the matrix.org homeserver, it is often overloaded and occasionally slow to respond. Therefore, users on that homeserver occasionally report a less than ideal chat experience. If that's you, you can fix this problem by switching to another homeserver. Good alternatives include...

    • ours of course, at chat.privacytools.io, you're here right?
    • -
    • feneas.org, tchncs.de, weho.st, pine64.org, mozilla.org, kde.org, halogen.city...
    • +
    • feneas.org, tchncs.de, weho.st, pine64.org, kde.org, halogen.city...
    • purchasing an instance from Element Matrix Services
    • running your own by installing synapse — certainly the best option for the technically inclined!
    -- 2.47.2 From 8cb456c82244214ba61c9c1752f0e73c24ef5fdc Mon Sep 17 00:00:00 2001 From: Jonah Aragon Date: Mon, 3 Aug 2020 21:26:13 -0500 Subject: [PATCH 089/173] Update sponsors --- _includes/sponsors/list.html | 1 + _includes/sponsors/silver.html | 9 +++++++++ assets/img/png/3rd-party/sponsors/scamsinfo.png | Bin 0 -> 8216 bytes 3 files changed, 10 insertions(+) create mode 100644 assets/img/png/3rd-party/sponsors/scamsinfo.png diff --git a/_includes/sponsors/list.html b/_includes/sponsors/list.html index 41592d51..02b610c5 100644 --- a/_includes/sponsors/list.html +++ b/_includes/sponsors/list.html @@ -1,6 +1,7 @@
    • Daw-Ran Liou
    • Michael DeMichillie
    • +
    • Nathan Myers
    • PablO
    • Syfaer
    • the0
    • diff --git a/_includes/sponsors/silver.html b/_includes/sponsors/silver.html index 29cac152..55f493d5 100644 --- a/_includes/sponsors/silver.html +++ b/_includes/sponsors/silver.html @@ -25,3 +25,12 @@ +
      +
      +
      scams.info
      +
      +

      scams.info

      + https://www.scams.info +
      +
      +
      diff --git a/assets/img/png/3rd-party/sponsors/scamsinfo.png b/assets/img/png/3rd-party/sponsors/scamsinfo.png new file mode 100644 index 0000000000000000000000000000000000000000..91607c1159356a44526b501f41b433feeab84b75 GIT binary patch literal 8216 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 Date: Tue, 4 Aug 2020 11:33:48 +0200 Subject: [PATCH 090/173] Update + promote Jitsi Meet to recommended VoIP now it has E2EE (#1945) --- _includes/sections/voice-video-messenger.html | 42 ++++++++----------- assets/img/svg/3rd-party/jitsi.svg | 2 + 2 files changed, 20 insertions(+), 24 deletions(-) create mode 100644 assets/img/svg/3rd-party/jitsi.svg diff --git a/_includes/sections/voice-video-messenger.html b/_includes/sections/voice-video-messenger.html index a05c30e2..f3e39871 100644 --- a/_includes/sections/voice-video-messenger.html +++ b/_includes/sections/voice-video-messenger.html @@ -17,7 +17,24 @@ mac="https://www.linphone.org/technical-corner/linphone?qt-technical_corner=2#qt-technical_corner" fdroid="https://f-droid.org/packages/org.linphone" googleplay="https://play.google.com/store/apps/details?id=org.linphone" - ios="https://itunes.apple.com/us/app/linphone/id360065638?mt=8" + ios="https://apps.apple.com/us/app/linphone/id360065638" +%} + +{% include cardv2.html + title="Jitsi Meet" + image="/assets/img/svg/3rd-party/jitsi.svg" + website="https://jitsi.org/jitsi-meet/" + privacy-policy="https://jitsi.org/security/" + description='Jitsi Meet is a free and open-source multiplatform voice (VoIP), video conferencing, and instant messaging application with optional E2EE. It can be used from the browser, in desktop applications or on smartphones. Additional features include screen sharing for presentations and an always-on-top floating call window when minimized. See the list of public Jitsi Meet instances.' + labels="color==warning::text==Requires WebRTC::tooltip==Our Firefox tweaks recommend disabling WebRTC as it can be used to leak your IP address even behind a VPN, which is why Tor Browser disables it.|color==warning::link==https://github.com/jitsi/lib-jitsi-meet/blob/master/doc/e2ee.md::text==Experimental E2EE::tooltip==E2EE in Jitsi Meet is dependent on Insertable Streams, which is currently supported in Chrome but not Firefox. The mobile apps also do not support E2EE for the moment. Prefer to use the desktop apps instead." + forum="https://forum.privacytools.io/t/discussion-jitsi-meet/1577" + github="https://github.com/jitsi/jitsi-meet" + windows="https://github.com/jitsi/jitsi-meet-electron/releases" + linux="https://github.com/jitsi/jitsi-meet-electron/releases" + mac="https://github.com/jitsi/jitsi-meet-electron/releases" + fdroid="https://f-droid.org/en/packages/org.jitsi.meet/" + googleplay="https://play.google.com/store/apps/details?id=org.jitsi.meet" + ios="https://apps.apple.com/us/app/jitsi-meet/id1165103905" %} {% include cardv2.html @@ -34,29 +51,6 @@ ios="https://apps.apple.com/us/app/mumble/id443472808?ls=1" %} -

      Worth Mentioning

      - -
        -
      • - Jitsi Meet - Jitsi Meet is a free and open-source multiplatform voice (VoIP), video conferencing, and instant messaging application. - - {% include badge.html - color="warning" - icon="fas fa-exclamation-triangle" - text="Requires WebRTC" - tooltip="Our Firefox tweaks recommend disabling WebRTC as it can be used to leak your IP address even behind a VPN, which is why Tor Browser disables it." - %} - - {% include badge.html - color="warning" - icon="fas fa-exclamation-triangle" - link="https://jitsi.org/security" - text="Multiparty meetings are not E2EE" - %} - - See also list of public Jitsi Meet instances. -
      • -

      Related Information

        diff --git a/assets/img/svg/3rd-party/jitsi.svg b/assets/img/svg/3rd-party/jitsi.svg new file mode 100644 index 00000000..1f495867 --- /dev/null +++ b/assets/img/svg/3rd-party/jitsi.svg @@ -0,0 +1,2 @@ + + -- 2.47.2 From 6a37720bc43892e0bd8fd4d783899eeb090c1fca Mon Sep 17 00:00:00 2001 From: Jonah Aragon Date: Thu, 6 Aug 2020 14:11:47 -0500 Subject: [PATCH 091/173] Add Onion-Location Header Closes #2007 Co-Authored-By: Dawid Potocki --- nginx/010-headers.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/nginx/010-headers.conf b/nginx/010-headers.conf index 9713656a..c230eeb7 100644 --- a/nginx/010-headers.conf +++ b/nginx/010-headers.conf @@ -5,6 +5,7 @@ add_header Content-Security-Policy "default-src 'none'; script-src 'self' https: add_header 'Access-Control-Allow-Origin' '*'; add_header Strict-Transport-Security "max-age=31557600; includeSubDomains; preload"; add_header Alt-Svc 'h2="privacy2zbidut4m4jyj3ksdqidzkw3uoip2vhvhbvwxbqux5xy5obyd.onion:443"; ma=86400; persist=1'; +add_header Onion-Location http://www.privacy2zbidut4m4jyj3ksdqidzkw3uoip2vhvhbvwxbqux5xy5obyd.onion$request_uri always; add_header Expect-CT 'max-age=86400, enforce'; add_header Referrer-Policy "strict-origin"; add_header Feature-Policy "geolocation none;midi none;notifications none;push none;sync-xhr none;microphone none;camera none;magnetometer none;gyroscope none;speaker self;vibrate none;fullscreen self;payment none;"; -- 2.47.2 From fe53e312ac8541675d6f1fbd7eecc6c05212fac4 Mon Sep 17 00:00:00 2001 From: Stephen Karl Larroque Date: Tue, 11 Aug 2020 07:43:34 +0200 Subject: [PATCH 092/173] add xBrowserSync in Recommended Browser Addons + add floccus as mention (#1946) --- _includes/sections/browser-addons.html | 18 ++++++++++++++++++ assets/img/svg/3rd-party/xbrowsersync.svg | 2 ++ 2 files changed, 20 insertions(+) create mode 100644 assets/img/svg/3rd-party/xbrowsersync.svg diff --git a/_includes/sections/browser-addons.html b/_includes/sections/browser-addons.html index 20ce2291..0a59874f 100644 --- a/_includes/sections/browser-addons.html +++ b/_includes/sections/browser-addons.html @@ -57,6 +57,24 @@ edge="https://microsoftedge.microsoft.com/addons/detail/mdkdmaickkfdekbjdoojfalpbkgaddei" %} +{% include cardv2.html + title="xBrowserSync" + image="/assets/img/svg/3rd-party/xbrowsersync.svg" + description='xBrowserSync synchronizes bookmarks across devices and browsers with end-to-end encryption. Data is encrypted and decrypted on the device, no one but you can read it. No registration is needed, just enter a randomly generated id or QR code on all devices. Different servers are available, and it can also be self-hosted.' + website="https://www.xbrowsersync.org/" + privacy-policy="https://www.xbrowsersync.org/privacypolicy" + github="https://github.com/xbrowsersync" + firefox="https://addons.mozilla.org/firefox/addon/xbs/" + chrome="https://chrome.google.com/webstore/detail/xbrowsersync/lcbjdhceifofjlpecfpeimnnphbcjgnc" + googleplay="https://play.google.com/store/apps/details?id=com.xBrowserSync.android" +%} + +

        Worth Mentioning

        + +
          +
        • floccus - Synchronize bookmarks across browsers via Nextcloud, WebDAV or a local file (and thus any file sync solution). For Firefox, Chrome, Edge.
        • +
        +

        Additional Functionality

      Note that at time of writing, switching homeservers requires re-registering with another account at that server, as nomadic identities haven't been implemented yet.

      @@ -75,10 +76,10 @@ description: "chat.privacytools.io is our official Matrix homeserver. You can re

      To join a room, just type /join [room address] in any room. You can run this command from any server, not just ours!

      The PrivacyTools administration operates the following channels:

        -
      • #dev:privacytools.io: Discussions relating to building www.privacytools.io.
      • +
      • #dev:privacytools.io: Discussions relating to building www.privacytools.io.
      • #forum:privacytools.io: All PrivacyTools Forum updates (Automated).
      • #general:privacytools.io: Main discussion room.
      • -
      • #github:privacytools.io: GitHub updates for @privacytoolsIO (Automated).
      • +
      • #github:privacytools.io: GitHub updates for @privacytools (Automated).
      • #guides:privacytools.io: Privacy Guides development work.
      • #privacy:privacytools.io: On-topic privacy, security, opsec discussion and support.
      • #wiki:privacytools.io: Wiki-building discussion room.
      • @@ -93,7 +94,6 @@ description: "chat.privacytools.io is our official Matrix homeserver. You can re
      • #plume:disroot.org: Discussion for Plume: Federated blogging.
      • #element-android:matrix.org: Element Android discussion and support.
      • #element-ios:matrix.org: Element iOS discussion and support.
      • -
      • #riotx:matrix.org: RiotX (soon to be: Element Android) discussion and support.
      • #element-web:matrix.org: Element Web/Desktop discussion and support.

      If you are a room operator and want your room listed here, feel free to contact us. Especially if you operate a large room and/or are a member of our homeserver!

      -- 2.47.2 From 90d581d33f7bb50c1f96131bb497d73c4b8cf24f Mon Sep 17 00:00:00 2001 From: Jacob Neplokh Date: Sat, 22 Aug 2020 21:13:10 -0700 Subject: [PATCH 097/173] Remove Root mode in Orbot (#2021) --- _includes/sections/android-addons.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/sections/android-addons.html b/_includes/sections/android-addons.html index 598cd1f5..7aa3116d 100644 --- a/_includes/sections/android-addons.html +++ b/_includes/sections/android-addons.html @@ -18,7 +18,7 @@

      Tor for Android with Orbot

      -

      Orbot is a free proxy app that empowers other apps to use the internet more securely. Orbot uses Tor to encrypt your Internet traffic and then hides it by bouncing through a series of computers around the world. Root Mode: Orbot can be configured to transparently proxy all of your Internet traffic through Tor. You can also choose which specific apps you wish to use through Tor.

      +

      Orbot is a free proxy app that empowers other apps to use the internet more securely. Orbot uses Tor to encrypt your Internet traffic and then hides it by bouncing through a series of computers around the world.

      -- 2.47.2 From de2345bbdb265d06c1ead6d1eb0638e09fa493f2 Mon Sep 17 00:00:00 2001 From: Jack Chou Date: Sun, 23 Aug 2020 02:57:35 -0700 Subject: [PATCH 098/173] Updated Cloudflare DNS logging policy tooltip and link (#2018) --- _includes/sections/dns.html | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/_includes/sections/dns.html b/_includes/sections/dns.html index 2c980c45..5c2508c5 100644 --- a/_includes/sections/dns.html +++ b/_includes/sections/dns.html @@ -147,12 +147,6 @@ We also log how many times this or that tracker has been blocked. We need this i
    - + @@ -420,11 +414,6 @@ We also log how many times this or that tracker has been blocked. We need this i
    Yes - Ads, trackers, - - - malicious domains + Based on server choice @@ -60,6 +59,9 @@ + + Choopa, LLC, + Serveroid, LLC @@ -168,7 +170,11 @@ DoH, DoT Yes YesNo + + Based on server choice + + ? Self
    + LibreDNS + + + + Germany + + + + + + + + Informal collective + + NoDoH, DoTYesYes + + Based on server choice only for DoH + + + + + + + + Hetzner Online GmbH + +
    NextDNS diff --git a/assets/img/png/3rd-party/dnscloak.png b/assets/img/png/3rd-party/dnscloak.png new file mode 100644 index 0000000000000000000000000000000000000000..ecb9ca87eac6fa6cf3588ee1c592c11526e5b0d7 GIT binary patch literal 24433 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 k!I=)2@SGGTJiiaHS)x7~&vaY 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

    qU+BtDCb0qKyn!T|eV-!>kRU`b`|WNnoV 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

  • 3{Uq& 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 IM6N<$f?!NlsQ>@~ literal 0 HcmV?d00001 diff --git a/assets/img/png/3rd-party/stubby.png b/assets/img/png/3rd-party/stubby.png new file mode 100644 index 0000000000000000000000000000000000000000..0f7ea7b74b526482c72c6c96c8cb5a5c6d2986a0 GIT binary patch literal 10524 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 e*LQ{@34Z}ogF5dYL@-SN0000 + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/img/svg/3rd-party/unbound.svg b/assets/img/svg/3rd-party/unbound.svg new file mode 100644 index 00000000..91a1a492 --- /dev/null +++ b/assets/img/svg/3rd-party/unbound.svg @@ -0,0 +1,2 @@ + + diff --git a/pages/providers/dns.html b/pages/providers/dns.html index 3c8718d9..34a8f7dc 100644 --- a/pages/providers/dns.html +++ b/pages/providers/dns.html @@ -8,121 +8,122 @@ breadcrumb: "DNS" {% include sections/dns.html %} -

    Terms

    +

    + + + Encrypted DNS Client Recommendations for Desktop +

    -
      -
    • DNS-over-TLS (DoT) - A security protocol for encrypted DNS on a dedicated port 853. Some providers support port 443 which generally works everywhere while port 853 is often blocked by restrictive firewalls. DoT has two modes:
    • -
        -
      • Oppurtunistic mode: the client attempts to form a DNS-over-TLS connection to the server on port 853 without performing certificate validation. If it fails, it will use unencrypted DNS. - {% include badge.html - color="warning" - icon="fas fa-exclamation-triangle" - tooltip="In other words automatic mode leaves your DNS traffic vulnerable to SSL strip and MITM attacks." - %}
      • -
      • Strict mode: the client connects to a specific hostname and performs certificate validation for it. If it fails, no DNS queries are made until it succeeds.
      • -
      -
    • DNS-over-HTTPS (DoH) - Similar to DoT, but uses HTTPS instead, being indistinguishable from "normal" HTTPS traffic on port 443. - {% include badge.html - color="warning" - icon="fas fa-exclamation-triangle" - link="https://tools.ietf.org/html/rfc8484#section-8.2" - tooltip="DoH contains metadata such as user-agent (which may include system information) that is sent to the DNS server." - %}
    • -
    • DNSCrypt - An older yet robust method of encrypting DNS.
    • -
    +{% + include cardv2.html + title="Unbound" + image="/assets/img/svg/3rd-party/unbound.svg" + description='A validating, recursive, caching DNS resolver, supporting DNS-over-TLS, and has been independently audited.' + website="https://nlnetlabs.nl/projects/unbound/about/" + forum="https://forum.privacytools.io/t/discussion-unbound/3563" + github="https://github.com/NLnetLabs/unbound" +%} -

    How to verify DNS is encrypted

    +{% + include cardv2.html + title="dnscrypt-proxy" + image="/assets/img/svg/3rd-party/dnscrypt-proxy.svg" + description='A DNS proxy with support for DNSCrypt, DNS-over-HTTPS, and Anonymized DNSCrypt, a relay-based protocol that the hides client IP address.' + website="https://github.com/DNSCrypt/dnscrypt-proxy/wiki" + forum="https://forum.privacytools.io/t/discussion-dnscrypt-proxy/1498" + github="https://github.com/DNSCrypt/dnscrypt-proxy" +%} -
      -
    • DoH / DoT -
        -
      • Check DNSLeakTest.com. - {% include badge.html - color="warning" - icon="fas fa-exclamation-triangle" - tooltip="Your DNS provider may not appear with their own name, so compare the responses to what you know or can find about your DNS provider. Just ensure you don't see your ISP or old unencrypted DNS provider." - %}
      • -
      • Check the website of your DNS provider. They may have a page for telling "you are using our DNS." Examples include AdGuard and Cloudflare.
      • -
      • If using Firefox's trusted recursive resolver (TRR), navigate to about:networking#dns. If the TRR column says "true" for some fields, you are using DoH. - {% include badge.html - color="warning" - icon="fas fa-exclamation-triangle" - link="https://wiki.mozilla.org/Trusted_Recursive_Resolver" - tooltip="Some fields will say 'false' depending on the the value of network.trr.mode in about:config" - %}
      • -
      -
    • -
    • dnscrypt-proxy - Check dnscrypt-proxy's wiki on how to verify that your DNS is encrypted.
    • -
    • DNSSEC - Check DNSSEC Resolver Test by Matthäus Wander.
    • -
    • QNAME Minimization - Run dig +short txt qnamemintest.internet.nl from the command-line (taken from this NLnet Labs presentation). If you are on Windows 10, run Resolve-DnsName -Type TXT -Name qnamemintest.internet.nl from the PowerShell. You should see this display: "HOORAY - QNAME minimisation is enabled on your resolver :)!"
    • -
    +{% + include cardv2.html + title="Stubby" + image="/assets/img/png/3rd-party/stubby.png" + description='An application that acts as a local DNS-over-TLS stub resolver. Stubby can be used in combination with Unbound by managing the upstream TLS connections (since Unbound cannot yet re-use TCP/TLS connections) with Unbound providing a local cache.' + website="https://dnsprivacy.org/wiki/display/DP/DNS+Privacy+Daemon+-+Stubby" + forum="https://forum.privacytools.io/t/discussion-stubby/3582" + github="https://github.com/getdnsapi/stubby" +%} -

    Software suggestions and Additional Information

    +{% + include cardv2.html + title="Firefox's built-in DNS-over-HTTPS resolver" + image="/assets/img/svg/3rd-party/firefox_browser.svg" + description='Firefox comes with built-in DNS-over-HTTPS support for NextDNS and Cloudflare but users can manually any other DoH resolver.' + labels="color==warning::icon==fas fa-exclamation-triangle::link==https://developers.cloudflare.com/1.1.1.1/privacy/firefox::text==Warning::tooltip==Cloudflare logs a limited amount of data about the DNS requests that are sent to their custom resolver for Firefox." + website="https://support.mozilla.org/en-US/kb/firefox-dns-over-https" + privacy-policy="https://wiki.mozilla.org/Security/DOH-resolver-policy" + forum="https://forum.privacytools.io/t/discussion-firefox-s-built-in-dns-over-https-resolver/3564" +%} -
      -
    • Encrypted DNS clients for desktop: -
        -
      • Firefox comes with built-in DoH support with Cloudflare set as the default resolver, but can be configured to use any DoH resolver. - {% include badge.html - color="warning" - icon="fas fa-exclamation-triangle" - link="https://developers.cloudflare.com/1.1.1.1/commitment-to-privacy/privacy-policy/firefox/" - tooltip=""Cloudflare has agreed to collect only a limited amount of data about the DNS requests that are sent to the Cloudflare Resolver for Firefox via the Firefox browser."" - %} - Currently Mozilla is conducting studies before enabling DoH by default for all US-based Firefox users.
      • -
          -
        • DNS over HTTPS can be enabled in Menu -> Preferences (about:preferences) -> Network Settings -> Enable DNS over HTTPS. Set "Use Provider" to "Custom", and enter your DoH provider's address.
        • -
        • Advanced users may enable it in about:config by setting network.trr.custom_uri and network.trr.uri as the address you find from the documentation of your DoH provider and network.trr.mode as 2. It may also be desirable to set network.security.esni.enabled to True in order to enable encrypted SNI and make sites supporting ESNI a bit more difficult to track.
        • -
        -
      -
    • -
    • Encrypted DNS clients for mobile: -
        -
      • Android 9 comes with a DoT client by default. - {% include badge.html - color="warning" - icon="fas fa-exclamation-triangle" - link="https://www.quad9.net/private-dns-quad9-android9/" - tooltip="...but with some caveats" - %}
      • -
          -
        • We recommend selecting Private DNS provider hostname and entering the DoT address from documentation of your DoT provider to enable strict mode (see Terms above). - {% include badge.html - color="warning" - icon="fas fa-exclamation-triangle" - tooltip="If you are on a network blocking access to port 853, Android will error about the network not having internet connectivity." - %}
        • -
        -
      • DNSCloak - An open-source DNSCrypt and DoH client for iOS by
  • the Center for the Cultivation of Technology gemeinnuetzige GmbH. -
  • Nebulo - An open-source application for Android supporting DoH and DoT. It also supports caching DNS responses and locally logging DNS queries.
  • - - -
  • Local DNS servers: -
      -
    • Stubby - An open-source application for Linux, macOS, and Windows that acts as a local DNS Privacy stub resolver using DoT.
    • -
    • Unbound - a validating, recursive, caching DNS resolver. It can also be ran network-wide and has supported DNS-over-TLS since version 1.7.3.
    • - -
    -
  • -
  • Network wide DNS servers: -
      -
    • Pi-hole - A network-wide DNS server mainly for the Raspberry Pi. Blocks ads, tracking, and malicious domains for all devices on your network.
    • -
    • NoTrack - A network-wide DNS server like Pi-hole for blocking ads, tracking, and malicious domains.
    • -
    -
  • -
  • Further reading: - -
  • - +

    + + + Encrypted DNS Client Recommendations for Android +

    + +{% + include cardv2.html + title="Android 9's built-in DNS-over-TLS resolver" + image="/assets/img/svg/3rd-party/android.svg" + description="Android 9 (Pie) comes with built-in DNS-over-TLS support without the need for a 3rd-party application." + labels="color==warning::icon==fas fa-exclamation-triangle::link==https://developers.google.com/speed/public-dns/docs/using#android_9_pie_or_later::text==Warning::tooltip==Android 9's DoT settings have no effect when used concurrently with VPN-based apps which override the DNS." + website="https://support.google.com/android/answer/9089903#private_dns" + forum="https://forum.privacytools.io/t/discussion-android-9s-built-in-dns-over-tls-resolver/3562" +%} + +{% + include cardv2.html + title="Nebulo" + image="/assets/img/png/3rd-party/nebulo.png" + description='An open-source Android client supporting DNS-over-HTTPS and DNS-over-TLS, caching DNS responses, and locally logging DNS queries.' + website="https://git.frostnerd.com/PublicAndroidApps/smokescreen/-/blob/master/README.md" + privacy-policy="https://smokescreen.app/privacypolicy" + forum="https://forum.privacytools.io/t/discussion-nebulo/3565" + fdroid="https://git.frostnerd.com/PublicAndroidApps/smokescreen#f-droid" + googleplay="https://play.google.com/store/apps/details?id=com.frostnerd.smokescreen" + source="https://git.frostnerd.com/PublicAndroidApps/smokescreen" +%} + +

    + + + Encrypted DNS Client Recommendations for iOS +

    + +{% + include cardv2.html + title="DNSCloak" + image="/assets/img/png/3rd-party/dnscloak.png" + description='An open-source iOS client supporting DNS-over-HTTPS, DNSCrypt, and dnscrypt-proxy options such as caching DNS responses, locally logging DNS queries, and custom block lists. Users can add custom resolvers by DNS stamp.' + website="https://github.com/s-s/dnscloak/blob/master/README.md" + privacy-policy="https://drive.google.com/file/d/1050No_pU74CAWUS5-BwQWyO2x_aiMzWc/view" + forum="https://forum.privacytools.io/t/discussion-dnscloak/3566" + ios="https://apps.apple.com/app/id1452162351" + github="https://github.com/s-s/dnscloak" +%} + +

    + + + Definitions +

    + +

    DNS-over-TLS (DoT)

    +

    + A security protocol for encrypted DNS on a dedicated port 853. Some providers support port 443 which generally works everywhere while port 853 is often blocked by restrictive firewalls. +

    + +

    DNS-over-HTTPS (DoH)

    +

    + Similar to DoT, but uses HTTPS instead, being indistinguishable from "normal" HTTPS traffic on port 443 and more difficult to block. {% include badge.html color="warning" text="Warning" tooltip="DoH contains metadata such as user-agent (which may include system information) that is sent to the DNS server." link="https://tools.ietf.org/html/rfc8484#section-8.2" icon="fas fa-exclamation-triangle" %} +

    + +

    DNSCrypt

    +

    + With an open specification, DNSCrypt is an older, yet robust method for encrypting DNS. +

    + +

    Anonymized DNSCrypt

    +

    + A lightweight protocol that hides the client IP address by using pre-configured relays to forward encrypted DNS data. This is a relatively new protocol created in 2019 currently only supported by dnscrypt-proxy and a limited number of relays. +

    -- 2.47.2 From 6bf0534ca0f9c9b492491ed768cc03c81486897e Mon Sep 17 00:00:00 2001 From: Jonah Aragon Date: Thu, 4 Jun 2020 19:39:42 -0500 Subject: [PATCH 057/173] Update list.html --- _includes/sponsors/list.html | 1 + pages/sponsors.html | 1 + 2 files changed, 2 insertions(+) diff --git a/_includes/sponsors/list.html b/_includes/sponsors/list.html index 2f1b182e..0fbf0e42 100644 --- a/_includes/sponsors/list.html +++ b/_includes/sponsors/list.html @@ -1,3 +1,4 @@
      +
    • Michael DeMichillie
    • PablO
    diff --git a/pages/sponsors.html b/pages/sponsors.html index d9f9ebb2..639b6f57 100644 --- a/pages/sponsors.html +++ b/pages/sponsors.html @@ -48,6 +48,7 @@ permalink: /sponsors/

    As a sponsor of {{ site.name }}, your company will be widely recognized in a variety of ways, some of which we've detailed below.

    General Information

    This website receives well over 250,000 pageviews on a monthly basis and is highly ranked for privacy-related keywords. In addition to the benefits below your contribution will be featured on our OpenCollective page and we will thank you via social media for your contribution.

    +

    Please note that this page is updated manually, and while we're generally on top of things, please don't hesitate to reach out to sponsors@privacytools.io if you think we've missed something :)

    Sponsors - $10–$24
    • Your name added to the list of sponsors on this page.
    • -- 2.47.2 From 72e0f325c91fb11aff45179d0333cf29f416a60f Mon Sep 17 00:00:00 2001 From: Jonah Aragon Date: Sun, 7 Jun 2020 13:29:47 -0500 Subject: [PATCH 058/173] Only recommend LineageOS official builds (#1935) * Only recommend LineageOS official builds * Update mobile-operating-systems.html --- _includes/sections/mobile-operating-systems.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_includes/sections/mobile-operating-systems.html b/_includes/sections/mobile-operating-systems.html index 91ba166d..1b1de836 100644 --- a/_includes/sections/mobile-operating-systems.html +++ b/_includes/sections/mobile-operating-systems.html @@ -16,9 +16,9 @@ %} {% include cardv2.html - title="LineageOS" + title="LineageOS (Official Builds)" image="/assets/img/svg/3rd-party/lineageos.svg" - description='LineageOS is a free and open-source operating system for smartphones and tablets, based on the official releases of the Android Open Source Project. It is the continuation of the CyanogenMod project.' + description='LineageOS is a custom ROM based on the Android Open Source Project with official support for a wide variety of devices. The project is the successor to the popular CyanogenMod project, focusing on system control and customization, device longevity, and privacy. For security reasons, we do not recommend third-party builds of LineageOS for unsupported devices.' badges="info:AOSP" labels="color==warning::text==contrib::tooltip==This software may depend on or recommend non-free software." website="https://www.lineageos.org/" -- 2.47.2 From fd89836040c153b357bddca235057fb8f7567ac6 Mon Sep 17 00:00:00 2001 From: blacklight447 Date: Mon, 15 Jun 2020 04:48:39 +0200 Subject: [PATCH 059/173] fix typo in clear url description (#1953) --- _includes/sections/browser-addons.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/sections/browser-addons.html b/_includes/sections/browser-addons.html index 4d880754..20ce2291 100644 --- a/_includes/sections/browser-addons.html +++ b/_includes/sections/browser-addons.html @@ -47,7 +47,7 @@ {% include cardv2.html title="ClearURLs" image="/assets/img/svg/3rd-party/clearurls.svg" - description="ClearURLs will automatically remove tracking elements from URLs to help protect your privacy when browse through the Internet." + description="ClearURLs will automatically remove tracking elements from URLs to help protect your privacy when browsing through the Internet." website="https://gitlab.com/KevinRoebert/ClearUrls" privacy-policy="https://gitlab.com/KevinRoebert/ClearUrls/-/blob/master/PRIVACY.md" forum="https://forum.privacytools.io/t/discussion-clearurls/3353" -- 2.47.2 From e1c51afd2494aa1d4497c94896e21be3e325b1e7 Mon Sep 17 00:00:00 2001 From: Daniel Nathan Gray Date: Thu, 18 Jun 2020 06:29:27 +0000 Subject: [PATCH 060/173] Spelling correction (#1957) Thanks reaper. --- pages/providers/vpn.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/providers/vpn.html b/pages/providers/vpn.html index affd07bd..2c8f62dd 100644 --- a/pages/providers/vpn.html +++ b/pages/providers/vpn.html @@ -55,7 +55,7 @@ breadcrumb: "VPN"
      • OpenVPN support.
      • Killswitch built in to clients.
      • -
      • If VPN cients are provided, they should be open source, like the VPN software they generally have built into them. We believe that source code availability provides greater transparency to the user about what their device is actually doing. Ideally we like to see these applications available in F-Droid.
      • +
      • If VPN clients are provided, they should be open source, like the VPN software they generally have built into them. We believe that source code availability provides greater transparency to the user about what their device is actually doing. Ideally we like to see these applications available in F-Droid.
      -- 2.47.2 From 34bfa9b64ba6475eccbd6c1e694ca1e3f4ca1c2a Mon Sep 17 00:00:00 2001 From: blacklight447 Date: Thu, 18 Jun 2020 08:30:30 +0200 Subject: [PATCH 061/173] Update AdGuard Logging Info (#1952) --- _includes/sections/dns.html | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/_includes/sections/dns.html b/_includes/sections/dns.html index ff9a008d..2c980c45 100644 --- a/_includes/sections/dns.html +++ b/_includes/sections/dns.html @@ -42,7 +42,9 @@
    CommercialNoSome DoH, DoT, DNSCrypt Yes Yes
    Cloudflare - {% include badge.html - link="https://codeberg.org/crimeflare/cloudflare-tor/" - color="warning" - icon="fas fa-exclamation-triangle" - tooltip="Cloudflare is one of the world's largest networks, and a problem considering anonymity and decentralization." - %} Anycast (based in @@ -168,7 +162,7 @@ We also log how many times this or that tracker has been blocked. We need this i CommercialSomeSome DoH, DoT Yes Yes
    Quad9 - {% include badge.html - color="warning" - icon="fas fa-exclamation-triangle" - tooltip="Founders include the Global Cyber Alliance, composed of the City of London Police and Manhattan District Attorney's Office." - %} Anycast (based in -- 2.47.2 From 25bac31d26d00bd95a2c800b72f91b92df9e3a63 Mon Sep 17 00:00:00 2001 From: Jacob Neplokh Date: Tue, 25 Aug 2020 01:53:52 -0700 Subject: [PATCH 099/173] Add PrivacyTools Blog Post about VPN Review sites (#2027) --- pages/providers/vpn.html | 1 + 1 file changed, 1 insertion(+) diff --git a/pages/providers/vpn.html b/pages/providers/vpn.html index b3a1ff96..d8452a76 100644 --- a/pages/providers/vpn.html +++ b/pages/providers/vpn.html @@ -222,6 +222,7 @@ breadcrumb: "VPN"
    + +

    + + + Encrypted DNS Client Recommendations for Desktop +

    + +{% + include cardv2.html + title="Unbound" + image="/assets/img/svg/3rd-party/unbound.svg" + description='A validating, recursive, caching DNS resolver, supporting DNS-over-TLS, and has been independently audited.' + website="https://nlnetlabs.nl/projects/unbound/about/" + forum="https://forum.privacytools.io/t/discussion-unbound/3563" + github="https://github.com/NLnetLabs/unbound" +%} + +{% + include cardv2.html + title="dnscrypt-proxy" + image="/assets/img/svg/3rd-party/dnscrypt-proxy.svg" + description='A DNS proxy with support for DNSCrypt, DNS-over-HTTPS, and Anonymized DNSCrypt, a relay-based protocol that the hides client IP address.' + website="https://github.com/DNSCrypt/dnscrypt-proxy/wiki" + forum="https://forum.privacytools.io/t/discussion-dnscrypt-proxy/1498" + github="https://github.com/DNSCrypt/dnscrypt-proxy" +%} + +{% + include cardv2.html + title="Stubby" + image="/assets/img/png/3rd-party/stubby.png" + description='An application that acts as a local DNS-over-TLS stub resolver. Stubby can be used in combination with Unbound by managing the upstream TLS connections (since Unbound cannot yet re-use TCP/TLS connections) with Unbound providing a local cache.' + website="https://dnsprivacy.org/wiki/display/DP/DNS+Privacy+Daemon+-+Stubby" + forum="https://forum.privacytools.io/t/discussion-stubby/3582" + github="https://github.com/getdnsapi/stubby" +%} + +{% + include cardv2.html + title="Firefox's built-in DNS-over-HTTPS resolver" + image="/assets/img/svg/3rd-party/firefox_browser.svg" + description='Firefox comes with built-in DNS-over-HTTPS support for NextDNS and Cloudflare but users can manually any other DoH resolver.' + labels="color==warning::icon==fas fa-exclamation-triangle::link==https://developers.cloudflare.com/1.1.1.1/privacy/firefox::text==Warning::tooltip==Cloudflare logs a limited amount of data about the DNS requests that are sent to their custom resolver for Firefox." + website="https://support.mozilla.org/en-US/kb/firefox-dns-over-https" + privacy-policy="https://wiki.mozilla.org/Security/DOH-resolver-policy" + forum="https://forum.privacytools.io/t/discussion-firefox-s-built-in-dns-over-https-resolver/3564" +%} + +

    + + + Encrypted DNS Client Recommendations for Android +

    + +{% + include cardv2.html + title="Android 9's built-in DNS-over-TLS resolver" + image="/assets/img/svg/3rd-party/android.svg" + description="Android 9 (Pie) comes with built-in DNS-over-TLS support without the need for a 3rd-party application." + labels="color==warning::icon==fas fa-exclamation-triangle::link==https://developers.google.com/speed/public-dns/docs/using#android_9_pie_or_later::text==Warning::tooltip==Android 9's DoT settings have no effect when used concurrently with VPN-based apps which override the DNS." + website="https://support.google.com/android/answer/9089903#private_dns" + forum="https://forum.privacytools.io/t/discussion-android-9s-built-in-dns-over-tls-resolver/3562" +%} + +{% + include cardv2.html + title="Nebulo" + image="/assets/img/png/3rd-party/nebulo.png" + description='An open-source Android client supporting DNS-over-HTTPS and DNS-over-TLS, caching DNS responses, and locally logging DNS queries.' + website="https://git.frostnerd.com/PublicAndroidApps/smokescreen/-/blob/master/README.md" + privacy-policy="https://smokescreen.app/privacypolicy" + forum="https://forum.privacytools.io/t/discussion-nebulo/3565" + fdroid="https://git.frostnerd.com/PublicAndroidApps/smokescreen#f-droid" + googleplay="https://play.google.com/store/apps/details?id=com.frostnerd.smokescreen" + source="https://git.frostnerd.com/PublicAndroidApps/smokescreen" +%} + +

    + + + Encrypted DNS Client Recommendations for iOS +

    + +{% + include cardv2.html + title="DNSCloak" + image="/assets/img/png/3rd-party/dnscloak.png" + description='An open-source iOS client supporting DNS-over-HTTPS, DNSCrypt, and dnscrypt-proxy options such as caching DNS responses, locally logging DNS queries, and custom block lists. Users can add custom resolvers by DNS stamp.' + website="https://github.com/s-s/dnscloak/blob/master/README.md" + privacy-policy="https://drive.google.com/file/d/1050No_pU74CAWUS5-BwQWyO2x_aiMzWc/view" + forum="https://forum.privacytools.io/t/discussion-dnscloak/3566" + ios="https://apps.apple.com/app/id1452162351" + github="https://github.com/s-s/dnscloak" +%} + +

    + + + Definitions +

    + +

    DNS-over-TLS (DoT)

    +

    + A security protocol for encrypted DNS on a dedicated port 853. Some providers support port 443 which generally works everywhere while port 853 is often blocked by restrictive firewalls. +

    + +

    DNS-over-HTTPS (DoH)

    +

    + Similar to DoT, but uses HTTPS instead, being indistinguishable from "normal" HTTPS traffic on port 443 and more difficult to block. {% include badge.html color="warning" text="Warning" tooltip="DoH contains metadata such as user-agent (which may include system information) that is sent to the DNS server." link="https://tools.ietf.org/html/rfc8484#section-8.2" icon="fas fa-exclamation-triangle" %} +

    + +

    DNSCrypt

    +

    + With an open specification, DNSCrypt is an older, yet robust method for encrypting DNS. +

    + +

    Anonymized DNSCrypt

    +

    + A lightweight protocol that hides the client IP address by using pre-configured relays to forward encrypted DNS data. This is a relatively new protocol created in 2019 currently only supported by dnscrypt-proxy and a limited number of relays. +

    diff --git a/pages/providers/dns.html b/pages/providers/dns.html index 34a8f7dc..a8d1196d 100644 --- a/pages/providers/dns.html +++ b/pages/providers/dns.html @@ -8,122 +8,3 @@ breadcrumb: "DNS" {% include sections/dns.html %} -

    - - - Encrypted DNS Client Recommendations for Desktop -

    - -{% - include cardv2.html - title="Unbound" - image="/assets/img/svg/3rd-party/unbound.svg" - description='A validating, recursive, caching DNS resolver, supporting DNS-over-TLS, and has been independently audited.' - website="https://nlnetlabs.nl/projects/unbound/about/" - forum="https://forum.privacytools.io/t/discussion-unbound/3563" - github="https://github.com/NLnetLabs/unbound" -%} - -{% - include cardv2.html - title="dnscrypt-proxy" - image="/assets/img/svg/3rd-party/dnscrypt-proxy.svg" - description='A DNS proxy with support for DNSCrypt, DNS-over-HTTPS, and Anonymized DNSCrypt, a relay-based protocol that the hides client IP address.' - website="https://github.com/DNSCrypt/dnscrypt-proxy/wiki" - forum="https://forum.privacytools.io/t/discussion-dnscrypt-proxy/1498" - github="https://github.com/DNSCrypt/dnscrypt-proxy" -%} - -{% - include cardv2.html - title="Stubby" - image="/assets/img/png/3rd-party/stubby.png" - description='An application that acts as a local DNS-over-TLS stub resolver. Stubby can be used in combination with Unbound by managing the upstream TLS connections (since Unbound cannot yet re-use TCP/TLS connections) with Unbound providing a local cache.' - website="https://dnsprivacy.org/wiki/display/DP/DNS+Privacy+Daemon+-+Stubby" - forum="https://forum.privacytools.io/t/discussion-stubby/3582" - github="https://github.com/getdnsapi/stubby" -%} - -{% - include cardv2.html - title="Firefox's built-in DNS-over-HTTPS resolver" - image="/assets/img/svg/3rd-party/firefox_browser.svg" - description='Firefox comes with built-in DNS-over-HTTPS support for NextDNS and Cloudflare but users can manually any other DoH resolver.' - labels="color==warning::icon==fas fa-exclamation-triangle::link==https://developers.cloudflare.com/1.1.1.1/privacy/firefox::text==Warning::tooltip==Cloudflare logs a limited amount of data about the DNS requests that are sent to their custom resolver for Firefox." - website="https://support.mozilla.org/en-US/kb/firefox-dns-over-https" - privacy-policy="https://wiki.mozilla.org/Security/DOH-resolver-policy" - forum="https://forum.privacytools.io/t/discussion-firefox-s-built-in-dns-over-https-resolver/3564" -%} - -

    - - - Encrypted DNS Client Recommendations for Android -

    - -{% - include cardv2.html - title="Android 9's built-in DNS-over-TLS resolver" - image="/assets/img/svg/3rd-party/android.svg" - description="Android 9 (Pie) comes with built-in DNS-over-TLS support without the need for a 3rd-party application." - labels="color==warning::icon==fas fa-exclamation-triangle::link==https://developers.google.com/speed/public-dns/docs/using#android_9_pie_or_later::text==Warning::tooltip==Android 9's DoT settings have no effect when used concurrently with VPN-based apps which override the DNS." - website="https://support.google.com/android/answer/9089903#private_dns" - forum="https://forum.privacytools.io/t/discussion-android-9s-built-in-dns-over-tls-resolver/3562" -%} - -{% - include cardv2.html - title="Nebulo" - image="/assets/img/png/3rd-party/nebulo.png" - description='An open-source Android client supporting DNS-over-HTTPS and DNS-over-TLS, caching DNS responses, and locally logging DNS queries.' - website="https://git.frostnerd.com/PublicAndroidApps/smokescreen/-/blob/master/README.md" - privacy-policy="https://smokescreen.app/privacypolicy" - forum="https://forum.privacytools.io/t/discussion-nebulo/3565" - fdroid="https://git.frostnerd.com/PublicAndroidApps/smokescreen#f-droid" - googleplay="https://play.google.com/store/apps/details?id=com.frostnerd.smokescreen" - source="https://git.frostnerd.com/PublicAndroidApps/smokescreen" -%} - -

    - - - Encrypted DNS Client Recommendations for iOS -

    - -{% - include cardv2.html - title="DNSCloak" - image="/assets/img/png/3rd-party/dnscloak.png" - description='An open-source iOS client supporting DNS-over-HTTPS, DNSCrypt, and dnscrypt-proxy options such as caching DNS responses, locally logging DNS queries, and custom block lists. Users can add custom resolvers by DNS stamp.' - website="https://github.com/s-s/dnscloak/blob/master/README.md" - privacy-policy="https://drive.google.com/file/d/1050No_pU74CAWUS5-BwQWyO2x_aiMzWc/view" - forum="https://forum.privacytools.io/t/discussion-dnscloak/3566" - ios="https://apps.apple.com/app/id1452162351" - github="https://github.com/s-s/dnscloak" -%} - -

    - - - Definitions -

    - -

    DNS-over-TLS (DoT)

    -

    - A security protocol for encrypted DNS on a dedicated port 853. Some providers support port 443 which generally works everywhere while port 853 is often blocked by restrictive firewalls. -

    - -

    DNS-over-HTTPS (DoH)

    -

    - Similar to DoT, but uses HTTPS instead, being indistinguishable from "normal" HTTPS traffic on port 443 and more difficult to block. {% include badge.html color="warning" text="Warning" tooltip="DoH contains metadata such as user-agent (which may include system information) that is sent to the DNS server." link="https://tools.ietf.org/html/rfc8484#section-8.2" icon="fas fa-exclamation-triangle" %} -

    - -

    DNSCrypt

    -

    - With an open specification, DNSCrypt is an older, yet robust method for encrypting DNS. -

    - -

    Anonymized DNSCrypt

    -

    - A lightweight protocol that hides the client IP address by using pre-configured relays to forward encrypted DNS data. This is a relatively new protocol created in 2019 currently only supported by dnscrypt-proxy and a limited number of relays. -

    -- 2.47.2 From 04efe21273e09a79ae41f1e7a6505c13069c5eb3 Mon Sep 17 00:00:00 2001 From: Jonah Aragon Date: Thu, 17 Sep 2020 08:47:13 -0500 Subject: [PATCH 104/173] Update arkenfox user.js name (#2051) Resolves #2051, Closes #2052 Co-Authored-By: Mikaela Suomalainen --- _includes/sections/browser-tweaks.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/sections/browser-tweaks.html b/_includes/sections/browser-tweaks.html index 00fdb762..8ff7df02 100644 --- a/_includes/sections/browser-tweaks.html +++ b/_includes/sections/browser-tweaks.html @@ -120,7 +120,7 @@

    Firefox user.js Templates

      -
    • ghacks-user.js - An ongoing comprehensive user.js template for configuring and hardening Firefox privacy, security and anti-fingerprinting.
    • +
    • arkenfox user.js (formerly ghacks-user.js) - An ongoing comprehensive user.js template for configuring and hardening Firefox privacy, security and anti-fingerprinting.
    -- 2.47.2 From fb2cfa9056b7a7378bd52d88955b296ebfaf99d2 Mon Sep 17 00:00:00 2001 From: Jonah Aragon Date: Thu, 17 Sep 2020 08:50:27 -0500 Subject: [PATCH 105/173] s/reproducable/reproducible (#2048) Closes #2048 Co-Authored-By: Daniel Nathan Gray --- _includes/sections/operating-systems.html | 6 +++--- _includes/sections/vpn.html | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/_includes/sections/operating-systems.html b/_includes/sections/operating-systems.html index cf5045ee..cb30dec5 100644 --- a/_includes/sections/operating-systems.html +++ b/_includes/sections/operating-systems.html @@ -45,7 +45,7 @@ image="/assets/img/svg/3rd-party/archlinux.svg" description='A simple, lightweight Linux distribution. It is composed predominantly of free and open-source software, and supports community involvement.' badges="info:Linux" - labels="color==success::link==https://tests.reproducible-builds.org/archlinux/archlinux.html::text==Reproducable builds" + labels="color==success::link==https://tests.reproducible-builds.org/archlinux/archlinux.html::text==Reproducible builds" website="https://www.archlinux.org/" privacy-policy="https://wiki.archlinux.org/index.php/ArchWiki:Privacy_policy" gitlab="https://gitlab.archlinux.org" @@ -56,7 +56,7 @@ image="/assets/img/svg/3rd-party/debian.svg" description='Debian is a Unix-like computer operating system and a Linux distribution that is composed entirely of free and open-source software, most of which is under the GNU General Public License, and packaged by a group of individuals known as the Debian project.' badges="info:Linux" - labels="color==success::link==https://reproducible.debian.net::text==Reproducable builds" + labels="color==success::link==https://reproducible.debian.net::text==Reproducible builds" website="https://www.debian.org/" privacy-policy="https://www.debian.org/legal/privacy" tor="http://sejnfjrq6szgca7v.onion" @@ -68,7 +68,7 @@ image="/assets/img/svg/3rd-party/nixos.svg" description='NixOS is a Linux distribution with a unique approach to package and configuration management. Built on top of the Nix package manager, it is completely declarative, makes upgrading systems reliable, and has many other advantages.' badges="info:Linux" - labels="color==success::link==https://r13y.com::text==Reproducable builds" + labels="color==success::link==https://r13y.com::text==Reproducible builds" website="https://nixos.org" privacy-policy="https://nixos.wiki/wiki/NixOS_Wiki:Privacy_policy" github="https://github.com/NixOS" diff --git a/_includes/sections/vpn.html b/_includes/sections/vpn.html index ffb205f7..c9ef2109 100644 --- a/_includes/sections/vpn.html +++ b/_includes/sections/vpn.html @@ -41,7 +41,7 @@
    {% include badge.html color="success" text="Remote Port Forwarding" %}

    Remote port forwarding is allowed on Mullvad, see Port forwarding with Mullvad VPN.

    {% include badge.html color="success" text="Mobile Clients" %}
    -

    Mullvad has published App Store and Google Play clients, both supporting an easy-to use interface as opposed to requiring users to manual configure their WireGuard connections. The mobile client on Android is also available in F-Droid, which ensures that it is compiled with reproducable builds.

    +

    Mullvad has published App Store and Google Play clients, both supporting an easy-to use interface as opposed to requiring users to manual configure their WireGuard connections. The mobile client on Android is also available in F-Droid, which ensures that it is compiled with reproducible builds.

    {% include badge.html color="info" text="Extra Functionality" %}

    The Mullvad VPN clients have a built-in killswitch to block internet connections outside of the VPN. They also are able to automatically start on boot. The Mullvad website is also accessible via Tor at xcln5hkbriyklr6n.onion.

    @@ -68,7 +68,7 @@
    {% include badge.html color="success" text="Accepts Bitcoin" %}

    ProtonVPN does technically accept Bitcoin payments; however, you either need to have an existing account, or contact their support team in advance to register with Bitcoin.

    {% include badge.html color="success" text="Mobile Clients" %}
    -

    In addition to providing standard OpenVPN configuration files, ProtonVPN has mobile clients for App Store and Google Play allowing for easy connections to their servers. The mobile client on Android is also available in F-Droid, which ensures that it is compiled with reproducable builds.

    +

    In addition to providing standard OpenVPN configuration files, ProtonVPN has mobile clients for App Store and Google Play allowing for easy connections to their servers. The mobile client on Android is also available in F-Droid, which ensures that it is compiled with reproducible builds.

    {% include badge.html color="warning" text="No Port Forwarding" %}

    ProtonVPN does not currently support remote port forwarding, which may impact some applications. Especially Peer-to-Peer applications like Torrent clients.

    {% include badge.html color="info" text="Extra Functionality" %}
    @@ -100,7 +100,7 @@
    {% include badge.html color="success" text="Remote Port Forwarding" %}

    Remote port forwarding is possible with a Pro plan. Port forwarding can be activated via the client area. Port forwarding is only available on IVPN when using OpenVPN and is disabled on US servers.

    {% include badge.html color="success" text="Mobile Clients" %}
    -

    In addition to providing standard OpenVPN configuration files, IVPN has mobile clients for App Store and Google Play allowing for easy connections to their servers. The mobile client on Android is also available in F-Droid, which ensures that it is compiled with reproducable builds.

    +

    In addition to providing standard OpenVPN configuration files, IVPN has mobile clients for App Store and Google Play allowing for easy connections to their servers. The mobile client on Android is also available in F-Droid, which ensures that it is compiled with reproducible builds.

    {% include badge.html color="info" text="Extra Functionality" %}

    The IVPN clients have a built-in killswitch to block internet connections outside of the VPN. They also are able to automatically start on boot. IVPN also provides "AntiTracker" functionality, which blocks advertising networks and trackers from the network level.

    -- 2.47.2 From 4d903cd930e948d0315816238a817770b1152f55 Mon Sep 17 00:00:00 2001 From: Jacob Neplokh Date: Thu, 17 Sep 2020 06:52:07 -0700 Subject: [PATCH 106/173] =?UTF-8?q?Don=E2=80=99t=20refer=20to=20Matrix=20a?= =?UTF-8?q?s=20part=20of=20the=20=E2=80=9Cfediverse=E2=80=9D=20(#2045)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/services/chat.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/services/chat.html b/pages/services/chat.html index 33292e96..56aaa20d 100644 --- a/pages/services/chat.html +++ b/pages/services/chat.html @@ -11,7 +11,7 @@ description: "chat.privacytools.io is our official Matrix homeserver. You can re

    Matrix

    chat.privacytools.io is our official Matrix homeserver.


    -

    You can register a user account on this homeserver using any Matrix client, no email required. However, you do not need to be a member of this homeserver to join our rooms, and choosing a smaller instance or buying or hosting your own will help promote decentralization and performance in the Matrix fediverse!

    +

    You can register a user account on this homeserver using any Matrix client, no email required. However, you do not need to be a member of this homeserver to join our rooms, and choosing a smaller instance or buying or hosting your own will help promote decentralization and performance on Matrix!

    Open in Element Find Another Homeserver -- 2.47.2 From 0be78e0134ad629cb42d4a98889919948c65f4fd Mon Sep 17 00:00:00 2001 From: Chad Birch Date: Thu, 17 Sep 2020 07:53:56 -0600 Subject: [PATCH 107/173] Social news aggregators: Fix license for Tildes (#2053) --- _includes/sections/social-news-aggregator.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/sections/social-news-aggregator.html b/_includes/sections/social-news-aggregator.html index c9d590a6..70805e56 100644 --- a/_includes/sections/social-news-aggregator.html +++ b/_includes/sections/social-news-aggregator.html @@ -20,7 +20,7 @@ linux="https://getaether.net/download/" {% include cardv2.html title="Tildes" image="/assets/img/svg/3rd-party/tildes.svg" -description='Tildes is a web-based self-hostable online bulletin board. It is licensed under GPL 3.0.' +description='Tildes is a web-based self-hostable online bulletin board. It is licensed under AGPLv3.' website="https://tildes.net" privacy-policy="https://docs.tildes.net/policies/privacy-policy" forum="https://forum.privacytools.io/t/discussion-tildes/1257" -- 2.47.2 From d2ae6d6195b78300aa62a421218480e4fc45fc26 Mon Sep 17 00:00:00 2001 From: Panagiotis Vasilopoulos Date: Thu, 17 Sep 2020 13:55:20 +0000 Subject: [PATCH 108/173] Replaced invidio.us link with an alternative Invidious instance (#2043) --- pages/providers/vpn.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/providers/vpn.html b/pages/providers/vpn.html index d8452a76..90c0394d 100644 --- a/pages/providers/vpn.html +++ b/pages/providers/vpn.html @@ -271,7 +271,7 @@ breadcrumb: "VPN"

    Related Videos

    - + Date: Thu, 17 Sep 2020 15:05:36 +0100 Subject: [PATCH 109/173] Added .onion adress for Whonix (#2042) --- _includes/sections/tor-operating-systems.html | 1 + 1 file changed, 1 insertion(+) diff --git a/_includes/sections/tor-operating-systems.html b/_includes/sections/tor-operating-systems.html index e5e09d9d..835df24f 100644 --- a/_includes/sections/tor-operating-systems.html +++ b/_includes/sections/tor-operating-systems.html @@ -19,5 +19,6 @@ description='A Debian-based security-focused Linux distribution. It aims to provide privacy, security and anonymity on the internet. The operating system consists of two virtual machines, a "Workstation" and a Tor "Gateway". All communication are forced through the Tor network to accomplish this. Whonix is best used in conjunction with Qubes.' badges="info:Linux" website="https://www.whonix.org/" + tor="http://www.dds6qkxpwdeubwucdiaord2xgbbeyds25rbsgr73tbfpqpt4a6vjwsyd.onion/" github="https://github.com/Whonix" %} -- 2.47.2 From bed5758791d43b4ad4682126f95eab2db52fd701 Mon Sep 17 00:00:00 2001 From: edoo Date: Thu, 17 Sep 2020 22:07:24 +0800 Subject: [PATCH 110/173] Remove BlahDNS datacenter and add Singapore server (#2025) --- _includes/sections/dns.html | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/_includes/sections/dns.html b/_includes/sections/dns.html index 161b68a7..2705c6e4 100644 --- a/_includes/sections/dns.html +++ b/_includes/sections/dns.html @@ -87,6 +87,10 @@ We also log how many times this or that tracker has been blocked. We need this i Japan + + + Singapore +
    malicious domains - {% include badge.html - link="https://github.com/ookangzheng/blahdns#default-blocked-wildcard-domain" - color="warning" - icon="fas fa-exclamation-triangle" - tooltip="And some wildcard and IDN domains." - %} + + + Based on server choice only for DoH
    @@ -135,9 +136,6 @@ We also log how many times this or that tracker has been blocked. We need this i Choopa, LLC, - - Data Center Light, - Hetzner Online GmbH -- 2.47.2 From 8d79fbd42995a4a1e5ccbcd94bcde7d774b23fbb Mon Sep 17 00:00:00 2001 From: Freddy Date: Thu, 17 Sep 2020 15:08:17 +0100 Subject: [PATCH 111/173] Update Bahnhof Privacy Policy (#2037) --- _includes/sections/hosting-provider.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/sections/hosting-provider.html b/_includes/sections/hosting-provider.html index 12acbc6a..72d6cb58 100644 --- a/_includes/sections/hosting-provider.html +++ b/_includes/sections/hosting-provider.html @@ -6,7 +6,7 @@ image-dark="/assets/img/svg/3rd-party/bahnhof-dark.svg" description="Bahnhof is one of Sweden’s largest network operators, founded in 1994. They specialize in innovative data center construction: Extreme security coupled with low-cost green energy has made them world famous." website="https://www.bahnhof.net/" - privacy-policy="https://www.bahnhof.net/page/privacy-policy" + privacy-policy="https://bahnhof.se/filestorage/userfiles/file/PrivacyPolicy_Bahnhof.pdf" forum="https://forum.privacytools.io/t/discussion-bahnhof-net/341" %} -- 2.47.2 From 228be8b844ec0a6f823e15406cfa3e015eb9987b Mon Sep 17 00:00:00 2001 From: Daniel Nathan Gray Date: Thu, 17 Sep 2020 14:08:50 +0000 Subject: [PATCH 112/173] Remove Soverin (#2022) --- _includes/sections/email-providers.html | 36 ------------------------- assets/img/svg/3rd-party/soverin.svg | 2 -- 2 files changed, 38 deletions(-) delete mode 100644 assets/img/svg/3rd-party/soverin.svg diff --git a/_includes/sections/email-providers.html b/_includes/sections/email-providers.html index f5659e4b..ae636377 100644 --- a/_includes/sections/email-providers.html +++ b/_includes/sections/email-providers.html @@ -117,42 +117,6 @@

    Posteo allows users to set up their own mailing lists. Each account can create one list for free.

    -
    -
    - Soverin -
    -
    -

    Soverin {% include badge.html color="info" text="€29/y" %}

    -

    Soverin.net is an email provider which focuses on being private, ad-free, and powered by sustainable energy. They have been in operation since 2015. Soverin is based in Amsterdam and does not have a free trial. Accounts start at 25 GB.

    - -
    {% include badge.html color="success" text="Domains and Aliases" %}
    -

    Soverin lets users use their own domain. Soverin users can also use catch-all and aliases for domains they own. Soverin also allows for subaddressing, which is useful for users who don't want to purchase a domain.

    - -
    {% include badge.html color="success" text="Payment Methods" %}
    -

    Soverin accepts Bitcoin as payment. They also accept credit/debit cards, PayPal, and the Netherlands-specific payment gateway iDEAL.

    - -
    {% include badge.html color="success" text="Account Security" %}
    -

    Soverin supports TOTP two factor authentication for webmail only. They do not allow U2F security key authentication.

    - -
    {% include badge.html color="warning" text="Data Security" %}
    -

    Soverin has encryption at rest however it doesn't appear to be "zero access", meaning it is technically possible for them to decrypt the data they have.

    -

    Soverin also uses the standard CalDAV and CardDAV protocols for calendars and contacts, which do not support E2EE. A standalone option may be more appropriate.

    - -
    {% include badge.html color="success" text="Email Encryption" %}
    -

    Soverin has integrated encryption in their webmail, which simplifies sending messages to users. However, Soverin has not integrated a Web Key Directory (WKD) for users on their platform.

    - -

    {% include badge.html color="danger" text=".onion Service" %}
    -

    Soverin does not operate a .onion service.

    - -
    {% include badge.html color="info" text="Extra Functionality" %}
    -

    Soverin also providers users with space for a personal webpage.

    -
    -
    - -- 2.47.2 From 1df5acd832067500ad3775c4159a094c2aaf96b4 Mon Sep 17 00:00:00 2001 From: Daniel Nathan Gray Date: Thu, 17 Sep 2020 14:09:32 +0000 Subject: [PATCH 113/173] Mention Mullvad's recent audit (#2009) Co-authored-by: Jonah Aragon --- _includes/sections/vpn.html | 1 + 1 file changed, 1 insertion(+) diff --git a/_includes/sections/vpn.html b/_includes/sections/vpn.html index c9ef2109..7f7ba113 100644 --- a/_includes/sections/vpn.html +++ b/_includes/sections/vpn.html @@ -30,6 +30,7 @@

    ...Cure53 and Assured AB are happy with the results of the audit and the software leaves an overall positive impression. With security dedication of the in-house team at the Mullvad VPN compound, the testers have no doubts about the project being on the right track from a security standpoint.

    +

    In 2020 a second audit was announced and the final audit report was made available on Cure53's website.

    {% include badge.html color="success" text="Open Source Clients" %}

    Mullvad provides the source code for their desktop and mobile clients in their GitHub organization.

    {% include badge.html color="success" text="Accepts Bitcoin" %}
    -- 2.47.2 From f7be6f4c638ae2255f84262fc13d896eebd616e1 Mon Sep 17 00:00:00 2001 From: Daniel Nathan Gray Date: Fri, 25 Sep 2020 15:28:16 +0000 Subject: [PATCH 114/173] Mention discontinuation uMatrix, mention uBlock advanced mode (#2058) --- _includes/sections/browser-addons.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_includes/sections/browser-addons.html b/_includes/sections/browser-addons.html index 0a59874f..0c37fb7c 100644 --- a/_includes/sections/browser-addons.html +++ b/_includes/sections/browser-addons.html @@ -7,7 +7,7 @@ {% include cardv2.html title="uBlock Origin: Block Ads and Trackers" image="/assets/img/svg/3rd-party/ublock_origin.svg" - description="uBlock Origin is an efficient wide-spectrum blocker that is easy on memory, and yet can load and enforce thousands more filters than other popular blockers out there. It has no monetization strategy and is completely open source." + description="

    uBlock Origin is an efficient wide-spectrum blocker that is easy on memory, and yet can load and enforce thousands more filters than other popular blockers out there. It has no monetization strategy and is completely open source. Advanced mode allows for dynamic filtering. Dynamic filtering allows for extended blocking similar to NoScript and uMatrix (E.g. medium or hard) blocking.

    " website="https://addons.mozilla.org/firefox/addon/ublock-origin/" privacy-policy="https://github.com/gorhill/uBlock/wiki/Privacy-policy" forum="https://forum.privacytools.io/t/discussion-ublock-origin/266" @@ -171,7 +171,7 @@ {% include cardv2.html title="uMatrix: Stop Cross-Site Requests" image="/assets/img/png/3rd-party/umatrix.png" - description="uMatrix gives you control over the requests that websites make to other websites. Many websites integrate features which let other websites track you, such as Facebook Like Buttons or Google Analytics. uMatrix allows 1st party scripts in its default configuration. If you want the default functionality of NoScript consider blocking 1st party scripts everywhere by default." + description="uMatrix gives you control over the requests that websites make to other websites. Many websites integrate features which let other websites track you, such as Facebook Like Buttons or Google Analytics. uMatrix allows 1st party scripts in its default configuration. If you want the default functionality of NoScript consider blocking 1st party scripts everywhere by default. This addon has been discontinued." website="https://addons.mozilla.org/firefox/addon/umatrix/" privacy-policy="https://github.com/gorhill/uMatrix/wiki/Privacy-policy" forum="https://forum.privacytools.io/t/discussion-umatrix/271" -- 2.47.2 From 551bf77b9347f3f27a6e733d24ecf21f641b4f7c Mon Sep 17 00:00:00 2001 From: Daniel Nathan Gray Date: Fri, 25 Sep 2020 15:28:35 +0000 Subject: [PATCH 115/173] No key disclosure in Canada (#2062) --- _includes/sections/key-disclosure-law.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/sections/key-disclosure-law.html b/_includes/sections/key-disclosure-law.html index 40b36dbb..c51e857f 100644 --- a/_includes/sections/key-disclosure-law.html +++ b/_includes/sections/key-disclosure-law.html @@ -12,7 +12,6 @@
    1. Antigua and Barbuda
    2. Australia
    3. -
    4. Canada
    5. France
    6. India
    7. Ireland
    8. @@ -42,6 +41,7 @@ title="Key disclosure laws don't apply" body='
        +
      1. Canada
      2. Czech Republic
      3. Germany
      4. Iceland
      5. -- 2.47.2 From 85b48d88994d01a841098e1682d7e0b8ecbf4b85 Mon Sep 17 00:00:00 2001 From: Daniel Nathan Gray Date: Fri, 25 Sep 2020 15:29:06 +0000 Subject: [PATCH 116/173] Firefox send is discontinued (#2061) --- _includes/sections/file-sharing.html | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/_includes/sections/file-sharing.html b/_includes/sections/file-sharing.html index 619dedc3..68336e02 100644 --- a/_includes/sections/file-sharing.html +++ b/_includes/sections/file-sharing.html @@ -1,18 +1,5 @@

        File Sharing

        -{% include cardv2.html - title="Firefox Send" - image="/assets/img/svg/3rd-party/firefox_send.svg" - labels="color==warning::link==https://send.firefox.com/legal::text==Warning::tooltip==IP addresses are retained in logs for 90 days." - description="Firefox Send uses end-to-end encryption to keep your data secure from the moment you share to the moment your file is opened. It also offers security controls that you can set. You can choose when your file link expires, the number of downloads, and whether you would like to add a password for an extra layer of security." - website="https://send.firefox.com/" - privacy-policy="https://send.firefox.com/legal" - forum="https://forum.privacytools.io/t/discussion-firefox-send/755" - github="https://github.com/mozilla/send" - web="https://send.firefox.com/" - googleplay="https://play.google.com/store/apps/details?id=org.mozilla.firefoxsend" -%} - {% include cardv2.html title="OnionShare" image="/assets/img/svg/3rd-party/onionshare.svg" -- 2.47.2 From e623acdac97b663da5809f19b0fbfe9f65340746 Mon Sep 17 00:00:00 2001 From: Lynn Stephenson <63118982+lynn-stephenson@users.noreply.github.com> Date: Fri, 25 Sep 2020 15:30:09 +0000 Subject: [PATCH 117/173] Add Team Member (#2065) --- pages/about/about.html | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pages/about/about.html b/pages/about/about.html index 0c3fd2ac..a49e3233 100644 --- a/pages/about/about.html +++ b/pages/about/about.html @@ -75,13 +75,21 @@ mastodon="https://social.privacytools.io/@dngray" avatar="freddy.png" name="Freddy Marsden" nick="Freddy" -bio="I'm an amateur writer covering, privacy, security and open-source development." +bio="I'm an amateur writer covering privacy, security and open-source development." role="Blogging & Education" website="https://write.privacytools.io/freddy/" email="mailto:freddy@privacytools.io" mastodon="https://social.privacytools.io/@freddy" blog="freddy" %} + +{% include team.html +name="Lynn Stephenson" +bio="I'm a software developer doing some pentesting on the side, specializing in security, cryptography, networking, web development, and accessibility." +role="Researcher" +email="mailto:lynn@privacytools.io" +mastodon="https://ioc.exchange/@lynn_stephenson" +%} {% include team.html avatar="trai_dep.png" -- 2.47.2 From 0635874123de8b56208fdc2579745d3762b108dd Mon Sep 17 00:00:00 2001 From: Daniel Nathan Gray Date: Mon, 28 Sep 2020 06:30:44 +0000 Subject: [PATCH 118/173] Librecmc, not affected by iGPU vulnerability (#2067) --- _includes/sections/router-firmware.html | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/_includes/sections/router-firmware.html b/_includes/sections/router-firmware.html index b8a2c0f0..c9d36cf6 100644 --- a/_includes/sections/router-firmware.html +++ b/_includes/sections/router-firmware.html @@ -20,3 +20,13 @@ privacy-policy="https://www.pfsense.org/privacy.html" github="https://github.com/pfsense/" %} + +{% include cardv2.html + title="LibreCMC" + image="/assets/img/svg/3rd-party/librecmc.svg" + image-dark="/assets/img/svg/3rd-party/librecmc-dark.svg" + description="LibreCMC is a GNU/Linux-libre distribution for computers with minimal resources, such as the Ben Nanonote, ath9k-based Wi-Fi routers, and other hardware with emphasis on free software. The project's current goal is to aim for compliance with the GNU Free System Distribution Guidelines (GNU FSDG) and ensure that the project continues to meet these requirements set forth by the Free Software Foundation (FSF)." + badges="info:GNU/Linux" + website="https://librecmc.org" + git="https://gogs.librecmc.org/libreCMC/libreCMC" +%} -- 2.47.2 From 6abf734f67857bdd7f2c6eb3fd39c05156e48262 Mon Sep 17 00:00:00 2001 From: Adam Sroka <45038919+adam-sroka@users.noreply.github.com> Date: Sun, 4 Oct 2020 03:29:59 +0000 Subject: [PATCH 119/173] Update relays.md link to v3 (#2076) --- _includes/sections/dns.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/sections/dns.html b/_includes/sections/dns.html index 2705c6e4..f2985792 100644 --- a/_includes/sections/dns.html +++ b/_includes/sections/dns.html @@ -648,5 +648,5 @@ We also log how many times this or that tracker has been blocked. We need this i

        Anonymized DNSCrypt

        - A lightweight protocol that hides the client IP address by using pre-configured relays to forward encrypted DNS data. This is a relatively new protocol created in 2019 currently only supported by dnscrypt-proxy and a limited number of relays. + A lightweight protocol that hides the client IP address by using pre-configured relays to forward encrypted DNS data. This is a relatively new protocol created in 2019 currently only supported by dnscrypt-proxy and a limited number of relays.

        -- 2.47.2 From 649fa5b71d62bd1dfbf9108fb6ee8b8e0a9afa86 Mon Sep 17 00:00:00 2001 From: Jacob Neplokh Date: Sat, 3 Oct 2020 20:30:54 -0700 Subject: [PATCH 120/173] Change anchor link to go to correct section (#2074) --- _includes/sections/android-addons.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/sections/android-addons.html b/_includes/sections/android-addons.html index 7aa3116d..9220156f 100644 --- a/_includes/sections/android-addons.html +++ b/_includes/sections/android-addons.html @@ -28,6 +28,6 @@ -- 2.47.2 From fd2edeca0ac1d9193484efc326cb25667fdfc975 Mon Sep 17 00:00:00 2001 From: LABB Date: Wed, 7 Oct 2020 04:49:01 +0000 Subject: [PATCH 121/173] Fixes some typos and updates a few service names on pages/providers/email.html (#2080) --- pages/providers/email.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/providers/email.html b/pages/providers/email.html index 3fb50be1..ac9a6f64 100644 --- a/pages/providers/email.html +++ b/pages/providers/email.html @@ -177,7 +177,7 @@ description: "Find a secure email provider that will keep your privacy in mind.

        End-to-end encryption (E2EE) is a way of encrypting email contents so that nobody but the recipient(s) can read the email message.

        How can I encrypt my email?

        The standard way to do email E2EE and have it work between different email providers is with OpenPGP. There are different implementations of the OpenPGP standard, the most common being GnuPG and OpenPGP.js.

        -

        There is another standard that was popular with business called S/MIME, however it requires a certificate issued from a Certificate Authority (not all of them issue S/MIME certificates). It has support in G Suite Enterprise/Education and Office 365 Business or Exchange Server 2016, 2019.

        +

        There is another standard that was popular with business called S/MIME, however it requires a certificate issued from a Certificate Authority (not all of them issue S/MIME certificates). It has support in Google Workplace and Outlook for Web or Exchange Server 2016, 2019.

        What software can I use to get E2EE?

        Email providers which allow you to use standard access protocols like IMAP and SMTP can be used with any of the email clients we recommend. This can be less secure as you are now relying on email providers to ensure that their encryption implementation works and has not been compromised in anyway.

    @@ -205,7 +205,7 @@ description: "Find a secure email provider that will keep your privacy in mind.

    Where is the email metadata?

    Email metadata is stored in the message header of the email message.

    Why can't email metadata be E2EE?

    -

    Email metadata is is cruicial to the most basic functionality of email (where it came from, and where it has to go). E2EE was not built into the email protocols originally and is also optional, therefore, only the message content is protected.

    +

    Email metadata is crucial to the most basic functionality of email (where it came from, and where it has to go). E2EE was not built into the email protocols originally and is also optional, therefore, only the message content is protected.

    How is my metadata protected?

    When emails travel between email providers an encrypted connection is negotiated using Opportunistic TLS. This protects the metadata from outside observers, but as it is not E2EE, server administrators can snoop on the metadata of an email.

    -- 2.47.2 From 132997e957c76f9dd0ce3a8f37bcd9ee7a07c2c8 Mon Sep 17 00:00:00 2001 From: jus9 <72120996+jus9@users.noreply.github.com> Date: Wed, 7 Oct 2020 04:53:50 +0000 Subject: [PATCH 122/173] Update the "about:config" tweaks' instructions (#2077) --- _includes/sections/browser-tweaks.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/sections/browser-tweaks.html b/_includes/sections/browser-tweaks.html index 8ff7df02..9b69d737 100644 --- a/_includes/sections/browser-tweaks.html +++ b/_includes/sections/browser-tweaks.html @@ -7,7 +7,7 @@
    1. Enter "about:config" in the firefox address bar and press enter.
    2. Press the button "Accept the Risk and Continue" [FF71+] or "I accept the risk".
    3. -
    4. Follow the instructions below...
    5. +
    6. Copy and paste each of the preferences below (for example "webgl.disabled") into the search bar, and set each of them to the stated value (such as "true").

    Getting started:

    -- 2.47.2 From 1fffeea1780a9d7ac7222fceaa16d430d02a306f Mon Sep 17 00:00:00 2001 From: Lynn Stephenson <63118982+lynn-stephenson@users.noreply.github.com> Date: Wed, 7 Oct 2020 23:09:50 +0000 Subject: [PATCH 123/173] Remove NextCloud's experimental E2EE warning. (#2083) --- _includes/sections/cloud-storage.html | 1 - _includes/sections/selfhosted-cloud.html | 1 - 2 files changed, 2 deletions(-) diff --git a/_includes/sections/cloud-storage.html b/_includes/sections/cloud-storage.html index cabdf36b..252c6746 100644 --- a/_includes/sections/cloud-storage.html +++ b/_includes/sections/cloud-storage.html @@ -8,7 +8,6 @@ title="Nextcloud - Choose your hoster" image="/assets/img/svg/3rd-party/nextcloud.svg" description="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. The only limits on storage and bandwidth are the limits on the server provider you choose." - labels="color==warning::link==https://github.com/nextcloud/end_to_end_encryption/issues/111::text==Experimental E2EE::tooltip==Regarding E2EE their description states 'End-to-end encryption is still in alpha state, don't use this in production and only with test data!'." website="https://nextcloud.com/" privacy-policy="https://nextcloud.com/privacy/" forum="https://forum.privacytools.io/t/discussion-nextcloud/287" diff --git a/_includes/sections/selfhosted-cloud.html b/_includes/sections/selfhosted-cloud.html index a8e02543..ff6899c5 100644 --- a/_includes/sections/selfhosted-cloud.html +++ b/_includes/sections/selfhosted-cloud.html @@ -8,7 +8,6 @@ title="Nextcloud" image="/assets/img/svg/3rd-party/nextcloud.svg" description="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. The only limits on storage and bandwidth are the limits on the server provider you choose." - labels="color==warning::link==https://github.com/nextcloud/end_to_end_encryption/issues/111::text==Experimental E2EE::tooltip==Regarding E2EE their description states 'End-to-end encryption is still in alpha state, don't use this in production and only with test data!'." website="https://nextcloud.com/" privacy-policy="https://nextcloud.com/privacy/" forum="https://forum.privacytools.io/t/discussion-nextcloud/287" -- 2.47.2 From 5218730c58acb3122374eeb3e1df19afba47d1de Mon Sep 17 00:00:00 2001 From: Burung Hantu <11730911+BurungHantu1605@users.noreply.github.com> Date: Fri, 9 Oct 2020 07:33:19 +0800 Subject: [PATCH 124/173] Update README.md removed gold/silver sponsors. outdated. --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index 762334a2..03044557 100644 --- a/README.md +++ b/README.md @@ -51,9 +51,6 @@ Like what we're doing? [Become a backer](https://opencollective.com/privacytools Are you working with a privacy focused company? Ask your manager or marketing team if your company would be interested in supporting our project. Your support will help us continue to develop this website, promote privacy-respecting tools and services, and reach out to thousands of data privacy newcomers every month. Also, your company's logo will show on GitHub and [our site](https://www.privacytools.io/sponsors/), and who doesn't like a little extra exposure? -[![](https://opencollective.com/privacytools/tiers/gold.svg?avatarHeight=64&width=890&button=false)](https://opencollective.com/privacytools/contribute/gold-12312) -[![](https://opencollective.com/privacytools/tiers/silver.svg?avatarHeight=64&width=890&button=false)](https://opencollective.com/privacytools/contribute/silver-12311) - ## Community Translations - [繁体中文 / Chinese](https://privacytools.twngo.xyz/) - [GitHub](https://github.com/twngo/privacytools-zh) - [Español / Spanish](https://victorhck.gitlab.io/privacytools-es/) - [GitLab](https://gitlab.com/victorhck/privacytools-es) -- 2.47.2 From 4dde28f9fc2ef4f4fc7a1723c1eaa62dda4bfaac Mon Sep 17 00:00:00 2001 From: Burung Hantu <11730911+BurungHantu1605@users.noreply.github.com> Date: Fri, 9 Oct 2020 07:35:53 +0800 Subject: [PATCH 125/173] Update README.md fixed opencollective image and link. --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 03044557..cacbb5bf 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,9 @@ If you want to discuss privacy in general, a new tool, or just something else, f Like what we're doing? [Become a backer](https://opencollective.com/privacytools) and show your support for our project. -![](https://opencollective.com/privacytools/tiers/sponsor.svg?avatarHeight=64&width=890) + + opencollective.com + ## Sponsors -- 2.47.2 From 21e7a6da907a6c5cffc39375025a107d08cdc038 Mon Sep 17 00:00:00 2001 From: Daniel Nathan Gray Date: Fri, 9 Oct 2020 15:35:42 +0000 Subject: [PATCH 126/173] Section introducing VPN breaches (#2010) * Add exclusive section of VPN breaches * Fix div --- pages/providers/vpn.html | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/pages/providers/vpn.html b/pages/providers/vpn.html index 90c0394d..0b8f168d 100644 --- a/pages/providers/vpn.html +++ b/pages/providers/vpn.html @@ -267,6 +267,21 @@ breadcrumb: "VPN"
    + +
    -- 2.47.2 From 08a85975db8cfae9af57d972eb975088a647c667 Mon Sep 17 00:00:00 2001 From: Jonah Aragon Date: Sun, 11 Oct 2020 10:50:57 -0500 Subject: [PATCH 127/173] Update Sponsors and About Pages --- _includes/sponsors/gold.html | 7 ++++ _includes/sponsors/list.html | 2 ++ .../img/png/3rd-party/sponsors/deleteme.png | Bin 0 -> 7965 bytes assets/img/png/team/jonah.png | Bin 201022 -> 0 bytes assets/img/png/team/lynn.png | Bin 0 -> 128444 bytes pages/about/about.html | 31 +++++++++--------- 6 files changed, 24 insertions(+), 16 deletions(-) create mode 100644 assets/img/png/3rd-party/sponsors/deleteme.png delete mode 100644 assets/img/png/team/jonah.png create mode 100644 assets/img/png/team/lynn.png diff --git a/_includes/sponsors/gold.html b/_includes/sponsors/gold.html index 271affea..c1496050 100644 --- a/_includes/sponsors/gold.html +++ b/_includes/sponsors/gold.html @@ -22,4 +22,11 @@ title="Insurgo Technologies Libres / Open Technologies — Empower yourself!" alt="Insurgo Logo" /> + + DeleteMe Logo +
    diff --git a/_includes/sponsors/list.html b/_includes/sponsors/list.html index 02b610c5..a28494ae 100644 --- a/_includes/sponsors/list.html +++ b/_includes/sponsors/list.html @@ -1,5 +1,7 @@
      +
    • Alex
    • Daw-Ran Liou
    • +
    • Greg Werbin
    • Michael DeMichillie
    • Nathan Myers
    • PablO
    • diff --git a/assets/img/png/3rd-party/sponsors/deleteme.png b/assets/img/png/3rd-party/sponsors/deleteme.png new file mode 100644 index 0000000000000000000000000000000000000000..e0f50614e4c4ddf4e261a371a2341c97b46993ef GIT binary patch literal 7965 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

      AIhJWO+W;DMNNjEg#Gt&upLXB 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%0A0U)hzH)C))2QBHL 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 literal 0 HcmV?d00001 diff --git a/pages/about/about.html b/pages/about/about.html index a49e3233..64e5f15a 100644 --- a/pages/about/about.html +++ b/pages/about/about.html @@ -27,19 +27,6 @@ hidedesc: true

    -{% include team.html -avatar="jonah.png" -name="Jonah Aragon" -role="Administrator" -bio="I run the website and services for PrivacyTools. My goal is to spread the word about data privacy as widely as possible." -email="mailto:jonah@privacytools.io" -website="https://www.jonaharagon.com" -keys="https://keybase.io/jonaharagon" -mastodon="https://social.privacytools.io/@jonah" -twitter="JonahAragon" -blog="jonah" -%} - {% include team.html avatar="burung.png" name="Burung Hantu" @@ -70,10 +57,10 @@ email="https://dngray.netlify.com/email" keys="https://keybase.io/dngray" mastodon="https://social.privacytools.io/@dngray" %} - + {% include team.html avatar="freddy.png" -name="Freddy Marsden" +name="Freddy Marsden" nick="Freddy" bio="I'm an amateur writer covering privacy, security and open-source development." role="Blogging & Education" @@ -82,8 +69,9 @@ email="mailto:freddy@privacytools.io" mastodon="https://social.privacytools.io/@freddy" blog="freddy" %} - + {% include team.html +avatar="lynn.png" name="Lynn Stephenson" bio="I'm a software developer doing some pentesting on the side, specializing in security, cryptography, networking, web development, and accessibility." role="Researcher" @@ -152,6 +140,17 @@ keys="https://nitrohorse.com/keys" blog="nitrohorse" emeritus=true %} + +{% include team.html +name="Jonah Aragon" +role="Former Sysadmin" +website="https://jonaharagon.com" +keys="https://jonaharagon.com/accounts/" +mastodon="https://social.privacytools.io/@jonah" +blog="jonah" +twitter="JonahAragon" +emeritus=true +%}
    -- 2.47.2 From 7db82b296bd34c41adac437fad0ba5928318ccd5 Mon Sep 17 00:00:00 2001 From: Mikaela Suomalainen Date: Thu, 22 Oct 2020 10:15:15 +0300 Subject: [PATCH 128/173] DNS: document iOS 14+ & macOS Big Sur encrypted DNS (#2099) * dns: begin another take at Apple's native encrypted DNS * dns.html: mention mobileconfigs, versions and where to find them * dns.html: fix clumsy heading * dns: remove excess > * dns: small clarification open in Safari, others won't work * Use two spaces, slightly reword. * Use nice name Co-authored-by: Daniel Gray --- _includes/sections/dns.html | 144 ++++++++++++++++++++---------------- 1 file changed, 80 insertions(+), 64 deletions(-) diff --git a/_includes/sections/dns.html b/_includes/sections/dns.html index f2985792..62a51046 100644 --- a/_includes/sections/dns.html +++ b/_includes/sections/dns.html @@ -538,97 +538,113 @@ We also log how many times this or that tracker has been blocked. We need this i {% - include cardv2.html - title="Unbound" - image="/assets/img/svg/3rd-party/unbound.svg" - description='A validating, recursive, caching DNS resolver, supporting DNS-over-TLS, and has been independently audited.' - website="https://nlnetlabs.nl/projects/unbound/about/" - forum="https://forum.privacytools.io/t/discussion-unbound/3563" - github="https://github.com/NLnetLabs/unbound" + include cardv2.html + title="Unbound" + image="/assets/img/svg/3rd-party/unbound.svg" + description='A validating, recursive, caching DNS resolver, supporting DNS-over-TLS, and has been independently audited.' + website="https://nlnetlabs.nl/projects/unbound/about/" + forum="https://forum.privacytools.io/t/discussion-unbound/3563" + github="https://github.com/NLnetLabs/unbound" %} {% - include cardv2.html - title="dnscrypt-proxy" - image="/assets/img/svg/3rd-party/dnscrypt-proxy.svg" - description='A DNS proxy with support for DNSCrypt, DNS-over-HTTPS, and Anonymized DNSCrypt, a relay-based protocol that the hides client IP address.' - website="https://github.com/DNSCrypt/dnscrypt-proxy/wiki" - forum="https://forum.privacytools.io/t/discussion-dnscrypt-proxy/1498" - github="https://github.com/DNSCrypt/dnscrypt-proxy" + include cardv2.html + title="dnscrypt-proxy" + image="/assets/img/svg/3rd-party/dnscrypt-proxy.svg" + description='A DNS proxy with support for DNSCrypt, DNS-over-HTTPS, and Anonymized DNSCrypt, a relay-based protocol that the hides client IP address.' + website="https://github.com/DNSCrypt/dnscrypt-proxy/wiki" + forum="https://forum.privacytools.io/t/discussion-dnscrypt-proxy/1498" + github="https://github.com/DNSCrypt/dnscrypt-proxy" %} {% - include cardv2.html - title="Stubby" - image="/assets/img/png/3rd-party/stubby.png" - description='An application that acts as a local DNS-over-TLS stub resolver. Stubby can be used in combination with Unbound by managing the upstream TLS connections (since Unbound cannot yet re-use TCP/TLS connections) with Unbound providing a local cache.' - website="https://dnsprivacy.org/wiki/display/DP/DNS+Privacy+Daemon+-+Stubby" - forum="https://forum.privacytools.io/t/discussion-stubby/3582" - github="https://github.com/getdnsapi/stubby" + include cardv2.html + title="Stubby" + image="/assets/img/png/3rd-party/stubby.png" + description='An application that acts as a local DNS-over-TLS stub resolver. Stubby can be used in combination with Unbound by managing the upstream TLS connections (since Unbound cannot yet re-use TCP/TLS connections) with Unbound providing a local cache.' + website="https://dnsprivacy.org/wiki/display/DP/DNS+Privacy+Daemon+-+Stubby" + forum="https://forum.privacytools.io/t/discussion-stubby/3582" + github="https://github.com/getdnsapi/stubby" %} {% - include cardv2.html - title="Firefox's built-in DNS-over-HTTPS resolver" - image="/assets/img/svg/3rd-party/firefox_browser.svg" - description='Firefox comes with built-in DNS-over-HTTPS support for NextDNS and Cloudflare but users can manually any other DoH resolver.' - labels="color==warning::icon==fas fa-exclamation-triangle::link==https://developers.cloudflare.com/1.1.1.1/privacy/firefox::text==Warning::tooltip==Cloudflare logs a limited amount of data about the DNS requests that are sent to their custom resolver for Firefox." - website="https://support.mozilla.org/en-US/kb/firefox-dns-over-https" - privacy-policy="https://wiki.mozilla.org/Security/DOH-resolver-policy" - forum="https://forum.privacytools.io/t/discussion-firefox-s-built-in-dns-over-https-resolver/3564" + include cardv2.html + title="Firefox's built-in DNS-over-HTTPS resolver" + image="/assets/img/svg/3rd-party/firefox_browser.svg" + description='Firefox comes with built-in DNS-over-HTTPS support for NextDNS and Cloudflare but users can manually any other DoH resolver.' + labels="color==warning::icon==fas fa-exclamation-triangle::link==https://developers.cloudflare.com/1.1.1.1/privacy/firefox::text==Warning::tooltip==Cloudflare logs a limited amount of data about the DNS requests that are sent to their custom resolver for Firefox." + website="https://support.mozilla.org/en-US/kb/firefox-dns-over-https" + privacy-policy="https://wiki.mozilla.org/Security/DOH-resolver-policy" + forum="https://forum.privacytools.io/t/discussion-firefox-s-built-in-dns-over-https-resolver/3564" %}

    - - - Encrypted DNS Client Recommendations for Android + + + Encrypted DNS Client Recommendations for Android

    {% - include cardv2.html - title="Android 9's built-in DNS-over-TLS resolver" - image="/assets/img/svg/3rd-party/android.svg" - description="Android 9 (Pie) comes with built-in DNS-over-TLS support without the need for a 3rd-party application." - labels="color==warning::icon==fas fa-exclamation-triangle::link==https://developers.google.com/speed/public-dns/docs/using#android_9_pie_or_later::text==Warning::tooltip==Android 9's DoT settings have no effect when used concurrently with VPN-based apps which override the DNS." - website="https://support.google.com/android/answer/9089903#private_dns" - forum="https://forum.privacytools.io/t/discussion-android-9s-built-in-dns-over-tls-resolver/3562" + include cardv2.html + title="Android 9's built-in DNS-over-TLS resolver" + image="/assets/img/svg/3rd-party/android.svg" + description="Android 9 (Pie) comes with built-in DNS-over-TLS support without the need for a 3rd-party application." + labels="color==warning::icon==fas fa-exclamation-triangle::link==https://developers.google.com/speed/public-dns/docs/using#android_9_pie_or_later::text==Warning::tooltip==Android 9's DoT settings have no effect when used concurrently with VPN-based apps which override the DNS." + website="https://support.google.com/android/answer/9089903#private_dns" + forum="https://forum.privacytools.io/t/discussion-android-9s-built-in-dns-over-tls-resolver/3562" %} {% - include cardv2.html - title="Nebulo" - image="/assets/img/png/3rd-party/nebulo.png" - description='An open-source Android client supporting DNS-over-HTTPS and DNS-over-TLS, caching DNS responses, and locally logging DNS queries.' - website="https://git.frostnerd.com/PublicAndroidApps/smokescreen/-/blob/master/README.md" - privacy-policy="https://smokescreen.app/privacypolicy" - forum="https://forum.privacytools.io/t/discussion-nebulo/3565" - fdroid="https://git.frostnerd.com/PublicAndroidApps/smokescreen#f-droid" - googleplay="https://play.google.com/store/apps/details?id=com.frostnerd.smokescreen" - source="https://git.frostnerd.com/PublicAndroidApps/smokescreen" + include cardv2.html + title="Nebulo" + image="/assets/img/png/3rd-party/nebulo.png" + description='An open-source Android client supporting DNS-over-HTTPS and DNS-over-TLS, caching DNS responses, and locally logging DNS queries.' + website="https://git.frostnerd.com/PublicAndroidApps/smokescreen/-/blob/master/README.md" + privacy-policy="https://smokescreen.app/privacypolicy" + forum="https://forum.privacytools.io/t/discussion-nebulo/3565" + fdroid="https://git.frostnerd.com/PublicAndroidApps/smokescreen#f-droid" + googleplay="https://play.google.com/store/apps/details?id=com.frostnerd.smokescreen" + source="https://git.frostnerd.com/PublicAndroidApps/smokescreen" %}

    - - - Encrypted DNS Client Recommendations for iOS + + + Encrypted DNS Client Recommendations for iOS

    {% - include cardv2.html - title="DNSCloak" - image="/assets/img/png/3rd-party/dnscloak.png" - description='An open-source iOS client supporting DNS-over-HTTPS, DNSCrypt, and dnscrypt-proxy options such as caching DNS responses, locally logging DNS queries, and custom block lists. Users can add custom resolvers by DNS stamp.' - website="https://github.com/s-s/dnscloak/blob/master/README.md" - privacy-policy="https://drive.google.com/file/d/1050No_pU74CAWUS5-BwQWyO2x_aiMzWc/view" - forum="https://forum.privacytools.io/t/discussion-dnscloak/3566" - ios="https://apps.apple.com/app/id1452162351" - github="https://github.com/s-s/dnscloak" + include cardv2.html + title="DNSCloak" + image="/assets/img/png/3rd-party/dnscloak.png" + description='An open-source iOS client supporting DNS-over-HTTPS, DNSCrypt, and dnscrypt-proxy options such as caching DNS responses, locally logging DNS queries, and custom block lists. Users can add custom resolvers by DNS stamp.' + website="https://github.com/s-s/dnscloak/blob/master/README.md" + privacy-policy="https://drive.google.com/file/d/1050No_pU74CAWUS5-BwQWyO2x_aiMzWc/view" + forum="https://forum.privacytools.io/t/discussion-dnscloak/3566" + ios="https://apps.apple.com/app/id1452162351" + github="https://github.com/s-s/dnscloak" %} +

    + + + Apple's native support +

    + +

    + In iOS, iPadOS, tvOS 14 and macOS 11, DoT and DoH were introduced. DoT and DoH are supported natively by installation of profiles (through mobileconfig files opened in Safari). + After installation, the encrypted DNS server can be selected in Settings → General → VPN and Network → DNS. +

    + + +

    - - - Definitions + + + Definitions

    DNS-over-TLS (DoT)

    -- 2.47.2 From 256fae4bdfb65eaa58036990769465f69352e2bd Mon Sep 17 00:00:00 2001 From: Lynn Stephenson Date: Wed, 21 Oct 2020 23:35:55 -0800 Subject: [PATCH 129/173] Add Kryptor as worth mentioning. (#2100) --- _includes/sections/file-encryption.html | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/_includes/sections/file-encryption.html b/_includes/sections/file-encryption.html index ff9a1da2..2cd7fa28 100644 --- a/_includes/sections/file-encryption.html +++ b/_includes/sections/file-encryption.html @@ -72,4 +72,10 @@ link="https://github.com/aonez/Keka#so-where-is-the-source-code" tooltip="This software is no longer open source." %} +
  • Kryptor is a file encryption program for Windows, MacOS, and Linux. + {% include badge.html + color="warning" + icon="fas fa-exclamation-triangle" + tooltip="As Kryptor is still in beta, it may not be stable." + %}
  • -- 2.47.2 From e42553fbc252eea973e0cbb4bf210ae4537f9e0a Mon Sep 17 00:00:00 2001 From: Lynn Stephenson Date: Thu, 22 Oct 2020 17:25:52 -0800 Subject: [PATCH 130/173] Change K-9 Mail's link to the official site. (#2101) --- _includes/sections/email-clients.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/sections/email-clients.html b/_includes/sections/email-clients.html index 2fcdde77..4b3ce053 100644 --- a/_includes/sections/email-clients.html +++ b/_includes/sections/email-clients.html @@ -45,7 +45,7 @@

    Worth Mentioning

      -
    • K-9 Mail - An independent mail application for Android. It supports both POP3 and IMAP mailboxes, but only supports push mail for IMAP.
    • +
    • K-9 Mail - An independent mail application for Android. It supports both POP3 and IMAP mailboxes, but only supports push mail for IMAP.
    • GNU Privacy Guard - Email Encryption. GnuPG is a GPL Licensed alternative to the PGP suite of cryptographic software. Tutorial. Use GPGTools for macOS.
    • Mailpile (Beta) - A modern, fast web-mail client with user-friendly encryption and privacy features.
    -- 2.47.2 From 085256ee88af391cae2201e081571d6c256b2e38 Mon Sep 17 00:00:00 2001 From: David Breese Date: Tue, 27 Oct 2020 10:34:10 -0500 Subject: [PATCH 131/173] Fix broken Bootstrap license link in LibreJS page (#2103) --- pages/about/librejs.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/about/librejs.html b/pages/about/librejs.html index 8b130ecf..43d7ba5c 100644 --- a/pages/about/librejs.html +++ b/pages/about/librejs.html @@ -17,7 +17,7 @@ permalink: /about/javascript/
    bootstrap.min.jsExpatExpat
    jquery-3.3.1.min.js
    @@ -186,7 +186,7 @@ We also log how many times this or that tracker has been blocked. We need this i
    @@ -507,7 +507,7 @@ We also log how many times this or that tracker has been blocked. We need this i
    diff --git a/assets/css/style.scss b/assets/css/style.scss index 1693f0af..8f0afb62 100644 --- a/assets/css/style.scss +++ b/assets/css/style.scss @@ -406,3 +406,55 @@ input#nav-toggle, font-size: 0.875em; content: "\f186"; } + +/* Vanilla CSS implementation for tooltip */ +[data-toggle="tooltip"] { + cursor: pointer; + position: relative; + z-index: 1337; +} + +[data-toggle="tooltip"]:before, +[data-toggle="tooltip"]:after { + opacity: 0; + transition: opacity 0.15s linear; + pointer-events: none; +} + +[data-toggle="tooltip"]:before { + background-color: #000; + border-radius: 3px; + bottom: 150%; + content: attr(data-original-title); + color: #fff; + font-size: 14px; + left: 50%; + line-height: 1.2; + margin-bottom: 5px; + margin-left: -100px; + padding: 7px; + position: absolute; + text-align: center; + width: 200px; +} + +/* Little arrow */ +[data-toggle="tooltip"]:after { + border-style: solid; + border-left-color: transparent; + border-right-color: transparent; + border-top-color: #000; + border-width: 5px; + border-bottom: none; + bottom: 150%; + content: " "; + left: 50%; + margin-left: -5px; + position: absolute; + width: 0; +} + +[data-toggle="tooltip"]:hover:before, +[data-toggle="tooltip"]:hover:after { + opacity: .9; +} \ No newline at end of file diff --git a/assets/js/jquery-3.3.1.min.js b/assets/js/jquery-3.3.1.min.js deleted file mode 100644 index 4d9b3a25..00000000 --- a/assets/js/jquery-3.3.1.min.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in v)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var b="3.3.1",w=function(e,t){return new w.fn.init(e,t)},T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,y,v,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ae(),k=ae(),S=ae(),D=function(e,t){return e===t&&(f=!0),0},N={}.hasOwnProperty,A=[],j=A.pop,q=A.push,L=A.push,H=A.slice,O=function(e,t){for(var n=0,r=e.length;n+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(A=H.call(w.childNodes),w.childNodes),A[w.childNodes.length].nodeType}catch(e){L={apply:A.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,s,l,c,f,h,v,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=J.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!S[e+" "]&&(!y||!y.test(e))){if(1!==T)m=t,v=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=b),s=(h=a(e)).length;while(s--)h[s]="#"+c+" "+ve(h[s]);v=h.join(","),m=K.test(e)&&ge(t.parentNode)||t}if(v)try{return L.apply(r,m.querySelectorAll(v)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(d=a,h=d.documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],y=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||y.push("~="),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||y.push(".#.+[+~]")}),ue(function(e){e.innerHTML="";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(n.matchesSelector=Q.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),v.push("!=",W)}),y=y.length&&new RegExp(y.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?ce(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(z,"='$1']"),n.matchesSelector&&g&&!S[t+" "]&&(!v||!v.test(t))&&(!y||!y.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(D),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,v=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(y){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&m){x=(d=(l=(c=(f=(p=y)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&y.childNodes[d];while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===v:1===p.nodeType)&&++x&&(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p===t))break;return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=O(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?se(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return U.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n){for(var r=0,i=t.length;r-1&&(o[l]=!(a[l]=f))}}else v=we(v===a?v.splice(h,v.length):v),i?i(null,a,v,u):L.apply(a,v)})}function Ce(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return O(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u1&&xe(p),u>1&&ve(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u0,i=e.length>0,o=function(o,a,s,u,c){var f,h,y,v=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=a===d||a||c);m!==k&&null!=(f=C[m]);m++){if(i&&f){h=0,a||f.ownerDocument===d||(p(f),s=!g);while(y=e[h++])if(y(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!y&&f)&&v--,o&&x.push(f))}if(v+=m,n&&m!==v){h=0;while(y=t[h++])y(x,b,a,s);if(o){if(v>0)while(m--)x[m]||b[m]||(b[m]=j.call(u));b=we(b)}L.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&oe.uniqueSort(u)}return c&&(T=E,l=w),x};return n?se(o):o}return s=oe.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Ce(t[n]))[b]?r.push(o):i.push(o);(o=S(e,Ee(i,r))).selector=e}return o},u=oe.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}o=V.needsContext.test(e)?0:u.length;while(o--){if(l=u[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),K.test(u[0].type)&&ge(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&ve(u)))return L.apply(n,i),n;break}}}return(p||s(e,d))(i,t,!g,n,!t||K.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(D).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||le(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var k=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=w.expr.match.needsContext;function N(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return u.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&D.test(e)?w(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,q=w(r);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(w(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return k(e,"parentNode")},parentsUntil:function(e,t,n){return k(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return k(e,"nextSibling")},prevAll:function(e){return k(e,"previousSibling")},nextUntil:function(e,t,n){return k(e,"nextSibling",n)},prevUntil:function(e,t,n){return k(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return N(e,"iframe")?e.contentDocument:(N(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),H.test(e)&&i.reverse()),this.pushStack(i)}});var M=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(M)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1){n=a.shift();while(++s-1)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function I(e){return e}function W(e){throw e}function $(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t=o&&(r!==W&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:I,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:I)),n[2][3].add(a(0,e,g(r)?r:W))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&($(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)$(i[n],s(n),a.reject);return a.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&B.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function _(){r.removeEventListener("DOMContentLoaded",_),e.removeEventListener("load",_),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",_),e.addEventListener("load",_));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n)){i=!0;for(s in n)z(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:w.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?w.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var be=r.documentElement,we=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Se(){try{return r.activeElement}catch(e){}}function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)De(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ke;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.get(e);if(y){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(be,i),n.guid||(n.guid=w.guid++),(u=y.events)||(u=y.events={}),(a=y.handle)||(a=y.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(M)||[""]).length;while(l--)d=g=(s=Ce.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.hasData(e)&&J.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(M)||[""]).length;while(l--)if(s=Ce.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||w.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,s,u=new Array(arguments.length),l=(J.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(u[0]=t,n=1;n=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/\s*$/g;function Le(e,t){return N(e,"table")&&N(11!==t.nodeType?t:t.firstChild,"tr")?w(e).children("tbody")[0]||e:e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Oe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Pe(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(J.hasData(e)&&(o=J.access(e),a=J.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n1&&"string"==typeof y&&!h.checkClone&&je.test(y))return e.each(function(i){var o=e.eq(i);v&&(t[0]=y.call(this,i,o.html())),Re(o,t,n,r)});if(p&&(i=xe(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(u=(s=w.map(ye(i,"script"),He)).length;f")},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ye(s),r=0,i=(o=ye(e)).length;r0&&ve(a,!u&&ye(e,"script")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Ie(this,e,!0)},remove:function(e){return Ie(this,e)},text:function(e){return z(this,function(e){return void 0===e?w.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return z(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ae.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))),u}function et(e,t,n){var r=$e(e),i=Fe(e,t,r),o="border-box"===w.css(e,"boxSizing",!1,r),a=o;if(We.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=G(t),u=Xe.test(t),l=e.style;if(u||(t=Je(s)),a=w.cssHooks[t]||w.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=ue(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[s]?"":"px")),h.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=G(t);return Xe.test(t)||(t=Je(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Ve&&(i=Ve[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!ze.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):se(e,Ue,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=$e(e),a="border-box"===w.css(e,"boxSizing",!1,o),s=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),s&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ke(e,n,s)}}}),w.cssHooks.marginLeft=_e(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-se(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Ke)}),w.fn.extend({css:function(e,t){return z(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=$e(e),i=t.length;a1)}});function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}w.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[w.cssProps[e.prop]]&&!w.cssHooks[e.prop]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=tt.prototype.init,w.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===r.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(at):e.setTimeout(at,w.fx.interval),w.fx.tick())}function st(){return e.setTimeout(function(){nt=void 0}),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=oe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(pt.tweeners[t]||[]).concat(pt.tweeners["*"]),o=0,a=i.length;o1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&N(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(M);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),dt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ht[t]||w.find.attr;ht[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ht[a],ht[a]=i,i=null!=n(e,t,r)?a:null,ht[a]=o),i}});var gt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return z(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),h.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this});function vt(e){return(e.match(M)||[]).join(" ")}function mt(e){return e.getAttribute&&e.getAttribute("class")||""}function xt(e){return Array.isArray(e)?e:"string"==typeof e?e.match(M)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,mt(this)))});if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,mt(this)))});if(!arguments.length)return this.attr("class","");if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])while(r.indexOf(" "+o+" ")>-1)r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,mt(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=xt(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&"boolean"!==n||((t=mt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&(" "+vt(mt(n))+" ").indexOf(t)>-1)return!0;return!1}});var bt=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(bt,""):null==n?"":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:vt(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var wt=/^(?:focusinfocus|focusoutblur)$/,Tt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,s,u,l,c,p,d,h,v=[i||r],m=f.call(t,"type")?t.type:t,x=f.call(t,"namespace")?t.namespace.split("."):[];if(s=h=u=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!wt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(m=(x=m.split(".")).shift(),x.sort()),c=m.indexOf(":")<0&&"on"+m,t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),d=w.event.special[m]||{},o||!d.trigger||!1!==d.trigger.apply(i,n))){if(!o&&!d.noBubble&&!y(i)){for(l=d.delegateType||m,wt.test(l+m)||(s=s.parentNode);s;s=s.parentNode)v.push(s),u=s;u===(i.ownerDocument||r)&&v.push(u.defaultView||u.parentWindow||e)}a=0;while((s=v[a++])&&!t.isPropagationStopped())h=s,t.type=a>1?l:d.bindType||m,(p=(J.get(s,"events")||{})[t.type]&&J.get(s,"handle"))&&p.apply(s,n),(p=c&&s[c])&&p.apply&&Y(s)&&(t.result=p.apply(s,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(v.pop(),n)||!Y(i)||c&&g(i[m])&&!y(i)&&((u=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,Tt),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,Tt),w.event.triggered=void 0,u&&(i[c]=u)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var Ct=e.location,Et=Date.now(),kt=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var St=/\[\]$/,Dt=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function jt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||St.test(e)?r(e,i):jt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)jt(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(Dt,"\r\n")}}):{name:t.name,value:n.replace(Dt,"\r\n")}}).get()}});var qt=/%20/g,Lt=/#.*$/,Ht=/([?&])_=[^&]*/,Ot=/^(.*?):[ \t]*([^\r\n]*)$/gm,Pt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mt=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Bt=r.createElement("a");Bt.href=Ct.href;function Ft(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(M)||[];if(g(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function _t(e,t,n,r){var i={},o=e===Wt;function a(s){var u;return i[s]=!0,w.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function zt(e,t){var n,r,i=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}function Xt(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}function Ut(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Pt.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,w.ajaxSettings),t):zt(w.ajaxSettings,e)},ajaxPrefilter:Ft(It),ajaxTransport:Ft(Wt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,p,d,h=w.ajaxSetup({},n),g=h.context||h,y=h.context&&(g.nodeType||g.jquery)?w(g):w.event,v=w.Deferred(),m=w.Callbacks("once memory"),x=h.statusCode||{},b={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s){s={};while(t=Ot.exec(a))s[t[1].toLowerCase()]=t[2]}t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return i&&i.abort(t),k(0,t),this}};if(v.promise(E),h.url=((t||h.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(M)||[""],null==h.crossDomain){l=r.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=Bt.protocol+"//"+Bt.host!=l.protocol+"//"+l.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=w.param(h.data,h.traditional)),_t(It,h,n,E),c)return E;(f=w.event&&h.global)&&0==w.active++&&w.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Mt.test(h.type),o=h.url.replace(Lt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(qt,"+")):(d=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(kt.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Ht,"$1"),d=(kt.test(o)?"&":"?")+"_="+Et+++d),h.url=o+d),h.ifModified&&(w.lastModified[o]&&E.setRequestHeader("If-Modified-Since",w.lastModified[o]),w.etag[o]&&E.setRequestHeader("If-None-Match",w.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&E.setRequestHeader("Content-Type",h.contentType),E.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+$t+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)E.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,E,h)||c))return E.abort();if(C="abort",m.add(h.complete),E.done(h.success),E.fail(h.error),i=_t(Wt,h,n,E)){if(E.readyState=1,f&&y.trigger("ajaxSend",[E,h]),c)return E;h.async&&h.timeout>0&&(u=e.setTimeout(function(){E.abort("timeout")},h.timeout));try{c=!1,i.send(b,k)}catch(e){if(c)throw e;k(-1,e)}}else k(-1,"No Transport");function k(t,n,r,s){var l,p,d,b,T,C=n;c||(c=!0,u&&e.clearTimeout(u),i=void 0,a=s||"",E.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(b=Xt(h,E,r)),b=Ut(h,b,E,l),l?(h.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(w.lastModified[o]=T),(T=E.getResponseHeader("etag"))&&(w.etag[o]=T)),204===t||"HEAD"===h.type?C="nocontent":304===t?C="notmodified":(C=b.state,p=b.data,l=!(d=b.error))):(d=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",l?v.resolveWith(g,[p,C,E]):v.rejectWith(g,[E,C,d]),E.statusCode(x),x=void 0,f&&y.trigger(l?"ajaxSuccess":"ajaxError",[E,h,l?p:d]),m.fireWith(g,[E,C]),f&&(y.trigger("ajaxComplete",[E,h]),--w.active||w.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],function(e,t){w[t]=function(e,n,r,i){return g(n)&&(i=i||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:i,data:n,success:r},w.isPlainObject(e)&&e))}}),w._evalUrl=function(e){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Vt={0:200,1223:204},Gt=w.ajaxSettings.xhr();h.cors=!!Gt&&"withCredentials"in Gt,h.ajax=Gt=!!Gt,w.ajaxTransport(function(t){var n,r;if(h.cors||Gt&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Vt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),w.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),w.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),w.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,o){t=w(" - + + diff --git a/assets/js/bootstrap.min.js b/assets/js/bootstrap.min.js index d030ffb3..1bca7633 100644 --- a/assets/js/bootstrap.min.js +++ b/assets/js/bootstrap.min.js @@ -1,6 +1,6 @@ /*! - * Bootstrap v4.1.3 (https://getbootstrap.com/) - * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * Bootstrap v5.0.0-beta1 (https://getbootstrap.com/) + * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e(t.bootstrap={},t.jQuery,t.Popper)}(this,function(t,e,h){"use strict";function i(t,e){for(var n=0;nthis._items.length-1||t<0))if(this._isSliding)P(this._element).one(Q.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=ndocument.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right
    ',trigger:"hover focus",title:"",delay:0,html:!(Ie={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"}),selector:!(Se={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)"}),placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},we="out",Ne={HIDE:"hide"+Ee,HIDDEN:"hidden"+Ee,SHOW:(De="show")+Ee,SHOWN:"shown"+Ee,INSERTED:"inserted"+Ee,CLICK:"click"+Ee,FOCUSIN:"focusin"+Ee,FOCUSOUT:"focusout"+Ee,MOUSEENTER:"mouseenter"+Ee,MOUSELEAVE:"mouseleave"+Ee},Oe="fade",ke="show",Pe=".tooltip-inner",je=".arrow",He="hover",Le="focus",Re="click",xe="manual",We=function(){function i(t,e){if("undefined"==typeof h)throw new TypeError("Bootstrap tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=pe(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),pe(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(pe(this.getTipElement()).hasClass(ke))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),pe.removeData(this.element,this.constructor.DATA_KEY),pe(this.element).off(this.constructor.EVENT_KEY),pe(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&pe(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===pe(this.element).css("display"))throw new Error("Please use show on visible elements");var t=pe.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){pe(this.element).trigger(t);var n=pe.contains(this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!n)return;var i=this.getTipElement(),r=Fn.getUID(this.constructor.NAME);i.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&pe(i).addClass(Oe);var o="function"==typeof this.config.placement?this.config.placement.call(this,i,this.element):this.config.placement,s=this._getAttachment(o);this.addAttachmentClass(s);var a=!1===this.config.container?document.body:pe(document).find(this.config.container);pe(i).data(this.constructor.DATA_KEY,this),pe.contains(this.element.ownerDocument.documentElement,this.tip)||pe(i).appendTo(a),pe(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new h(this.element,i,{placement:s,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:je},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){e._handlePopperPlacementChange(t)}}),pe(i).addClass(ke),"ontouchstart"in document.documentElement&&pe(document.body).children().on("mouseover",null,pe.noop);var l=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,pe(e.element).trigger(e.constructor.Event.SHOWN),t===we&&e._leave(null,e)};if(pe(this.tip).hasClass(Oe)){var c=Fn.getTransitionDurationFromElement(this.tip);pe(this.tip).one(Fn.TRANSITION_END,l).emulateTransitionEnd(c)}else l()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=pe.Event(this.constructor.Event.HIDE),r=function(){e._hoverState!==De&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),pe(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(pe(this.element).trigger(i),!i.isDefaultPrevented()){if(pe(n).removeClass(ke),"ontouchstart"in document.documentElement&&pe(document.body).children().off("mouseover",null,pe.noop),this._activeTrigger[Re]=!1,this._activeTrigger[Le]=!1,this._activeTrigger[He]=!1,pe(this.tip).hasClass(Oe)){var o=Fn.getTransitionDurationFromElement(n);pe(n).one(Fn.TRANSITION_END,r).emulateTransitionEnd(o)}else r();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){pe(this.getTipElement()).addClass(Te+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||pe(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(pe(t.querySelectorAll(Pe)),this.getTitle()),pe(t).removeClass(Oe+" "+ke)},t.setElementContent=function(t,e){var n=this.config.html;"object"==typeof e&&(e.nodeType||e.jquery)?n?pe(e).parent().is(t)||t.empty().append(e):t.text(pe(e).text()):t[n?"html":"text"](e)},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},t._getAttachment=function(t){return Ie[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)pe(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==xe){var e=t===He?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===He?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;pe(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}pe(i.element).closest(".modal").on("hide.bs.modal",function(){return i.hide()})}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||pe(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),pe(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Le:He]=!0),pe(e.getTipElement()).hasClass(ke)||e._hoverState===De?e._hoverState=De:(clearTimeout(e._timeout),e._hoverState=De,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===De&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||pe(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),pe(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Le:He]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=we,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===we&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){return"number"==typeof(t=l({},this.constructor.Default,pe(this.element).data(),"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),Fn.typeCheckConfig(ve,t,this.constructor.DefaultType),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=pe(this.getTipElement()),e=t.attr("class").match(be);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(pe(t).removeClass(Oe),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=pe(this).data(ye),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),pe(this).data(ye,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return Ae}},{key:"NAME",get:function(){return ve}},{key:"DATA_KEY",get:function(){return ye}},{key:"Event",get:function(){return Ne}},{key:"EVENT_KEY",get:function(){return Ee}},{key:"DefaultType",get:function(){return Se}}]),i}(),pe.fn[ve]=We._jQueryInterface,pe.fn[ve].Constructor=We,pe.fn[ve].noConflict=function(){return pe.fn[ve]=Ce,We._jQueryInterface},We),Jn=(qe="popover",Ke="."+(Fe="bs.popover"),Me=(Ue=e).fn[qe],Qe="bs-popover",Be=new RegExp("(^|\\s)"+Qe+"\\S+","g"),Ve=l({},zn.Default,{placement:"right",trigger:"click",content:"",template:''}),Ye=l({},zn.DefaultType,{content:"(string|element|function)"}),ze="fade",Ze=".popover-header",Ge=".popover-body",$e={HIDE:"hide"+Ke,HIDDEN:"hidden"+Ke,SHOW:(Je="show")+Ke,SHOWN:"shown"+Ke,INSERTED:"inserted"+Ke,CLICK:"click"+Ke,FOCUSIN:"focusin"+Ke,FOCUSOUT:"focusout"+Ke,MOUSEENTER:"mouseenter"+Ke,MOUSELEAVE:"mouseleave"+Ke},Xe=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var r=i.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.addAttachmentClass=function(t){Ue(this.getTipElement()).addClass(Qe+"-"+t)},r.getTipElement=function(){return this.tip=this.tip||Ue(this.config.template)[0],this.tip},r.setContent=function(){var t=Ue(this.getTipElement());this.setElementContent(t.find(Ze),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(Ge),e),t.removeClass(ze+" "+Je)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=Ue(this.getTipElement()),e=t.attr("class").match(Be);null!==e&&0=this._offsets[r]&&("undefined"==typeof this._offsets[r+1]||t0,i._pointerEvent=Boolean(window.PointerEvent),i._addEventListeners(),i}r(e,t);var n=e.prototype;return n.next=function(){this._isSliding||this._slide("next")},n.nextWhenVisible=function(){!document.hidden&&v(this._element)&&this.next()},n.prev=function(){this._isSliding||this._slide("prev")},n.pause=function(t){t||(this._isPaused=!0),V.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(p(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},n.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},n.to=function(t){var e=this;this._activeElement=V.findOne(".active.carousel-item",this._element);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)Q.one(this._element,"slid.bs.carousel",(function(){return e.to(t)}));else{if(n===t)return this.pause(),void this.cycle();var i=t>n?"next":"prev";this._slide(i,this._items[t])}},n.dispose=function(){t.prototype.dispose.call(this),Q.off(this._element,G),this._items=null,this._config=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},n._getConfig=function(t){return t=s({},Z,t),_($,t,J),t},n._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},n._addEventListeners=function(){var t=this;this._config.keyboard&&Q.on(this._element,"keydown.bs.carousel",(function(e){return t._keydown(e)})),"hover"===this._config.pause&&(Q.on(this._element,"mouseenter.bs.carousel",(function(e){return t.pause(e)})),Q.on(this._element,"mouseleave.bs.carousel",(function(e){return t.cycle(e)}))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()},n._addTouchEventListeners=function(){var t=this,e=function(e){t._pointerEvent&&tt[e.pointerType.toUpperCase()]?t.touchStartX=e.clientX:t._pointerEvent||(t.touchStartX=e.touches[0].clientX)},n=function(e){t._pointerEvent&&tt[e.pointerType.toUpperCase()]&&(t.touchDeltaX=e.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),500+t._config.interval))};V.find(".carousel-item img",this._element).forEach((function(t){Q.on(t,"dragstart.bs.carousel",(function(t){return t.preventDefault()}))})),this._pointerEvent?(Q.on(this._element,"pointerdown.bs.carousel",(function(t){return e(t)})),Q.on(this._element,"pointerup.bs.carousel",(function(t){return n(t)})),this._element.classList.add("pointer-event")):(Q.on(this._element,"touchstart.bs.carousel",(function(t){return e(t)})),Q.on(this._element,"touchmove.bs.carousel",(function(e){return function(e){e.touches&&e.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.touches[0].clientX-t.touchStartX}(e)})),Q.on(this._element,"touchend.bs.carousel",(function(t){return n(t)})))},n._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.key){case"ArrowLeft":t.preventDefault(),this.prev();break;case"ArrowRight":t.preventDefault(),this.next()}},n._getItemIndex=function(t){return this._items=t&&t.parentNode?V.find(".carousel-item",t.parentNode):[],this._items.indexOf(t)},n._getItemByDirection=function(t,e){var n="next"===t,i="prev"===t,o=this._getItemIndex(e),s=this._items.length-1;if((i&&0===o||n&&o===s)&&!this._config.wrap)return e;var r=(o+("prev"===t?-1:1))%this._items.length;return-1===r?this._items[this._items.length-1]:this._items[r]},n._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(V.findOne(".active.carousel-item",this._element));return Q.trigger(this._element,"slide.bs.carousel",{relatedTarget:t,direction:e,from:i,to:n})},n._setActiveIndicatorElement=function(t){if(this._indicatorsElement){for(var e=V.find(".active",this._indicatorsElement),n=0;n0)for(var i=0;i0&&s--,"ArrowDown"===t.key&&sdocument.documentElement.clientHeight;e||(this._element.style.overflowY="hidden"),this._element.classList.add("modal-static");var n=h(this._dialog);Q.off(this._element,"transitionend"),Q.one(this._element,"transitionend",(function(){t._element.classList.remove("modal-static"),e||(Q.one(t._element,"transitionend",(function(){t._element.style.overflowY=""})),m(t._element,n))})),m(this._element,n),this._element.focus()}},n._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;(!this._isBodyOverflowing&&t&&!T||this._isBodyOverflowing&&!t&&T)&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),(this._isBodyOverflowing&&!t&&!T||!this._isBodyOverflowing&&t&&T)&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},n._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},n._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(t.left+t.right)
    ',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",container:!1,fallbackPlacements:null,boundary:"clippingParents",customClass:"",sanitize:!0,sanitizeFn:null,allowList:Tt,popperConfig:null},Ot={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},It=function(e){function i(t,i){var o;if(void 0===n)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");return(o=e.call(this,t)||this)._isEnabled=!0,o._timeout=0,o._hoverState="",o._activeTrigger={},o._popper=null,o.config=o._getConfig(i),o.tip=null,o._setListeners(),o}r(i,e);var a=i.prototype;return a.enable=function(){this._isEnabled=!0},a.disable=function(){this._isEnabled=!1},a.toggleEnabled=function(){this._isEnabled=!this._isEnabled},a.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=L(t.delegateTarget,e);n||(n=new this.constructor(t.delegateTarget,this._getDelegateConfig()),A(t.delegateTarget,e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(this.getTipElement().classList.contains("show"))return void this._leave(null,this);this._enter(null,this)}},a.dispose=function(){clearTimeout(this._timeout),Q.off(this._element,this.constructor.EVENT_KEY),Q.off(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.parentNode.removeChild(this.tip),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.config=null,this.tip=null,e.prototype.dispose.call(this)},a.show=function(){var e=this;if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(this.isWithContent()&&this._isEnabled){var n=Q.trigger(this._element,this.constructor.Event.SHOW),i=function t(e){if(!document.documentElement.attachShadow)return null;if("function"==typeof e.getRootNode){var n=e.getRootNode();return n instanceof ShadowRoot?n:null}return e instanceof ShadowRoot?e:e.parentNode?t(e.parentNode):null}(this._element),o=null===i?this._element.ownerDocument.documentElement.contains(this._element):i.contains(this._element);if(n.defaultPrevented||!o)return;var s=this.getTipElement(),r=c(this.constructor.NAME);s.setAttribute("id",r),this._element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&s.classList.add("fade");var a="function"==typeof this.config.placement?this.config.placement.call(this,s,this._element):this.config.placement,l=this._getAttachment(a);this._addAttachmentClass(l);var u=this._getContainer();A(s,this.constructor.DATA_KEY,this),this._element.ownerDocument.documentElement.contains(this.tip)||u.appendChild(s),Q.trigger(this._element,this.constructor.Event.INSERTED),this._popper=t.createPopper(this._element,s,this._getPopperConfig(l)),s.classList.add("show");var d,f,p="function"==typeof this.config.customClass?this.config.customClass():this.config.customClass;if(p)(d=s.classList).add.apply(d,p.split(" "));if("ontouchstart"in document.documentElement)(f=[]).concat.apply(f,document.body.children).forEach((function(t){Q.on(t,"mouseover",(function(){}))}));var g=function(){var t=e._hoverState;e._hoverState=null,Q.trigger(e._element,e.constructor.Event.SHOWN),"out"===t&&e._leave(null,e)};if(this.tip.classList.contains("fade")){var _=h(this.tip);Q.one(this.tip,"transitionend",g),m(this.tip,_)}else g()}},a.hide=function(){var t=this;if(this._popper){var e=this.getTipElement(),n=function(){"show"!==t._hoverState&&e.parentNode&&e.parentNode.removeChild(e),t._cleanTipClass(),t._element.removeAttribute("aria-describedby"),Q.trigger(t._element,t.constructor.Event.HIDDEN),t._popper&&(t._popper.destroy(),t._popper=null)};if(!Q.trigger(this._element,this.constructor.Event.HIDE).defaultPrevented){var i;if(e.classList.remove("show"),"ontouchstart"in document.documentElement)(i=[]).concat.apply(i,document.body.children).forEach((function(t){return Q.off(t,"mouseover",b)}));if(this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this.tip.classList.contains("fade")){var o=h(e);Q.one(e,"transitionend",n),m(e,o)}else n();this._hoverState=""}}},a.update=function(){null!==this._popper&&this._popper.update()},a.isWithContent=function(){return Boolean(this.getTitle())},a.getTipElement=function(){if(this.tip)return this.tip;var t=document.createElement("div");return t.innerHTML=this.config.template,this.tip=t.children[0],this.tip},a.setContent=function(){var t=this.getTipElement();this.setElementContent(V.findOne(".tooltip-inner",t),this.getTitle()),t.classList.remove("fade","show")},a.setElementContent=function(t,e){if(null!==t)return"object"==typeof e&&g(e)?(e.jquery&&(e=e[0]),void(this.config.html?e.parentNode!==t&&(t.innerHTML="",t.appendChild(e)):t.textContent=e.textContent)):void(this.config.html?(this.config.sanitize&&(e=kt(e,this.config.allowList,this.config.sanitizeFn)),t.innerHTML=e):t.textContent=e)},a.getTitle=function(){var t=this._element.getAttribute("data-bs-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this._element):this.config.title),t},a.updateAttachment=function(t){return"right"===t?"end":"left"===t?"start":t},a._getPopperConfig=function(t){var e=this,n={name:"flip",options:{altBoundary:!0}};return this.config.fallbackPlacements&&(n.options.fallbackPlacements=this.config.fallbackPlacements),s({},{placement:t,modifiers:[n,{name:"preventOverflow",options:{rootBoundary:this.config.boundary}},{name:"arrow",options:{element:"."+this.constructor.NAME+"-arrow"}},{name:"onChange",enabled:!0,phase:"afterWrite",fn:function(t){return e._handlePopperPlacementChange(t)}}],onFirstUpdate:function(t){t.options.placement!==t.placement&&e._handlePopperPlacementChange(t)}},this.config.popperConfig)},a._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-tooltip-"+this.updateAttachment(t))},a._getContainer=function(){return!1===this.config.container?document.body:g(this.config.container)?this.config.container:V.findOne(this.config.container)},a._getAttachment=function(t){return St[t.toUpperCase()]},a._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)Q.on(t._element,t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if("manual"!==e){var n="hover"===e?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,i="hover"===e?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;Q.on(t._element,n,t.config.selector,(function(e){return t._enter(e)})),Q.on(t._element,i,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t._element&&t.hide()},Q.on(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=s({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},a._fixTitle=function(){var t=this._element.getAttribute("title"),e=typeof this._element.getAttribute("data-bs-original-title");(t||"string"!==e)&&(this._element.setAttribute("data-bs-original-title",t||""),!t||this._element.getAttribute("aria-label")||this._element.textContent||this._element.setAttribute("aria-label",t),this._element.setAttribute("title",""))},a._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||L(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),A(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),e.getTipElement().classList.contains("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e.config.delay&&e.config.delay.show?e._timeout=setTimeout((function(){"show"===e._hoverState&&e.show()}),e.config.delay.show):e.show())},a._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||L(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),A(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e.config.delay&&e.config.delay.hide?e._timeout=setTimeout((function(){"out"===e._hoverState&&e.hide()}),e.config.delay.hide):e.hide())},a._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},a._getConfig=function(t){var e=q.getDataAttributes(this._element);return Object.keys(e).forEach((function(t){Ct.has(t)&&delete e[t]})),t&&"object"==typeof t.container&&t.container.jquery&&(t.container=t.container[0]),"number"==typeof(t=s({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),_(At,t,this.constructor.DefaultType),t.sanitize&&(t.template=kt(t.template,t.allowList,t.sanitizeFn)),t},a._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},a._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(Lt);null!==e&&e.length>0&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},a._handlePopperPlacementChange=function(t){var e=t.state;e&&(this.tip=e.elements.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement)))},i.jQueryInterface=function(t){return this.each((function(){var e=L(this,"bs.tooltip"),n="object"==typeof t&&t;if((e||!/dispose|hide/.test(t))&&(e||(e=new i(this,n)),"string"==typeof t)){if(void 0===e[t])throw new TypeError('No method named "'+t+'"');e[t]()}}))},o(i,null,[{key:"Default",get:function(){return Nt}},{key:"NAME",get:function(){return At}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return Ot}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return Dt}}]),i}(U);E((function(){var t=w();if(t){var e=t.fn[At];t.fn[At]=It.jQueryInterface,t.fn[At].Constructor=It,t.fn[At].noConflict=function(){return t.fn[At]=e,It.jQueryInterface}}}));var jt="popover",Pt=new RegExp("(^|\\s)bs-popover\\S+","g"),xt=s({},It.Default,{placement:"right",trigger:"click",content:"",template:''}),Ht=s({},It.DefaultType,{content:"(string|element|function)"}),Bt={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},Mt=function(t){function e(){return t.apply(this,arguments)||this}r(e,t);var n=e.prototype;return n.isWithContent=function(){return this.getTitle()||this._getContent()},n.setContent=function(){var t=this.getTipElement();this.setElementContent(V.findOne(".popover-header",t),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this._element)),this.setElementContent(V.findOne(".popover-body",t),e),t.classList.remove("fade","show")},n._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-popover-"+this.updateAttachment(t))},n._getContent=function(){return this._element.getAttribute("data-bs-content")||this.config.content},n._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(Pt);null!==e&&e.length>0&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},e.jQueryInterface=function(t){return this.each((function(){var n=L(this,"bs.popover"),i="object"==typeof t?t:null;if((n||!/dispose|hide/.test(t))&&(n||(n=new e(this,i),A(this,"bs.popover",n)),"string"==typeof t)){if(void 0===n[t])throw new TypeError('No method named "'+t+'"');n[t]()}}))},o(e,null,[{key:"Default",get:function(){return xt}},{key:"NAME",get:function(){return jt}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return Bt}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return Ht}}]),e}(It);E((function(){var t=w();if(t){var e=t.fn[jt];t.fn[jt]=Mt.jQueryInterface,t.fn[jt].Constructor=Mt,t.fn[jt].noConflict=function(){return t.fn[jt]=e,Mt.jQueryInterface}}}));var Rt="scrollspy",Kt={offset:10,method:"auto",target:""},Qt={offset:"number",method:"string",target:"(string|element)"},Ut=function(t){function e(e,n){var i;return(i=t.call(this,e)||this)._scrollElement="BODY"===e.tagName?window:e,i._config=i._getConfig(n),i._selector=i._config.target+" .nav-link, "+i._config.target+" .list-group-item, "+i._config.target+" .dropdown-item",i._offsets=[],i._targets=[],i._activeTarget=null,i._scrollHeight=0,Q.on(i._scrollElement,"scroll.bs.scrollspy",(function(t){return i._process(t)})),i.refresh(),i._process(),i}r(e,t);var n=e.prototype;return n.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?"offset":"position",n="auto"===this._config.method?e:this._config.method,i="position"===n?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),V.find(this._selector).map((function(t){var e=d(t),o=e?V.findOne(e):null;if(o){var s=o.getBoundingClientRect();if(s.width||s.height)return[q[n](o).top+i,e]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},n.dispose=function(){t.prototype.dispose.call(this),Q.off(this._scrollElement,".bs.scrollspy"),this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},n._getConfig=function(t){if("string"!=typeof(t=s({},Kt,"object"==typeof t&&t?t:{})).target&&g(t.target)){var e=t.target.id;e||(e=c(Rt),t.target.id=e),t.target="#"+e}return _(Rt,t,Qt),t},n._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},n._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},n._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},n._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&(void 0===this._offsets[o+1]||t li > .active":".active";e=(e=V.find(o,i))[e.length-1]}var s=null;if(e&&(s=Q.trigger(e,"hide.bs.tab",{relatedTarget:this._element})),!(Q.trigger(this._element,"show.bs.tab",{relatedTarget:e}).defaultPrevented||null!==s&&s.defaultPrevented)){this._activate(this._element,i);var r=function(){Q.trigger(e,"hidden.bs.tab",{relatedTarget:t._element}),Q.trigger(t._element,"shown.bs.tab",{relatedTarget:e})};n?this._activate(n,n.parentNode,r):r()}}},n._activate=function(t,e,n){var i=this,o=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?V.children(e,".active"):V.find(":scope > li > .active",e))[0],s=n&&o&&o.classList.contains("fade"),r=function(){return i._transitionComplete(t,o,n)};if(o&&s){var a=h(o);o.classList.remove("show"),Q.one(o,"transitionend",r),m(o,a)}else r()},n._transitionComplete=function(t,e,n){if(e){e.classList.remove("active");var i=V.findOne(":scope > .dropdown-menu .active",e.parentNode);i&&i.classList.remove("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}(t.classList.add("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),y(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&t.parentNode.classList.contains("dropdown-menu"))&&(t.closest(".dropdown")&&V.find(".dropdown-toggle").forEach((function(t){return t.classList.add("active")})),t.setAttribute("aria-expanded",!0));n&&n()},e.jQueryInterface=function(t){return this.each((function(){var n=L(this,"bs.tab")||new e(this);if("string"==typeof t){if(void 0===n[t])throw new TypeError('No method named "'+t+'"');n[t]()}}))},o(e,null,[{key:"DATA_KEY",get:function(){return"bs.tab"}}]),e}(U);Q.on(document,"click.bs.tab.data-api",'[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',(function(t){t.preventDefault(),(L(this,"bs.tab")||new Wt(this)).show()})),E((function(){var t=w();if(t){var e=t.fn.tab;t.fn.tab=Wt.jQueryInterface,t.fn.tab.Constructor=Wt,t.fn.tab.noConflict=function(){return t.fn.tab=e,Wt.jQueryInterface}}}));var Ft={animation:"boolean",autohide:"boolean",delay:"number"},Yt={animation:!0,autohide:!0,delay:5e3},zt=function(t){function e(e,n){var i;return(i=t.call(this,e)||this)._config=i._getConfig(n),i._timeout=null,i._setListeners(),i}r(e,t);var n=e.prototype;return n.show=function(){var t=this;if(!Q.trigger(this._element,"show.bs.toast").defaultPrevented){this._clearTimeout(),this._config.animation&&this._element.classList.add("fade");var e=function(){t._element.classList.remove("showing"),t._element.classList.add("show"),Q.trigger(t._element,"shown.bs.toast"),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove("hide"),y(this._element),this._element.classList.add("showing"),this._config.animation){var n=h(this._element);Q.one(this._element,"transitionend",e),m(this._element,n)}else e()}},n.hide=function(){var t=this;if(this._element.classList.contains("show")&&!Q.trigger(this._element,"hide.bs.toast").defaultPrevented){var e=function(){t._element.classList.add("hide"),Q.trigger(t._element,"hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var n=h(this._element);Q.one(this._element,"transitionend",e),m(this._element,n)}else e()}},n.dispose=function(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),Q.off(this._element,"click.dismiss.bs.toast"),t.prototype.dispose.call(this),this._config=null},n._getConfig=function(t){return t=s({},Yt,q.getDataAttributes(this._element),"object"==typeof t&&t?t:{}),_("toast",t,this.constructor.DefaultType),t},n._setListeners=function(){var t=this;Q.on(this._element,"click.dismiss.bs.toast",'[data-bs-dismiss="toast"]',(function(){return t.hide()}))},n._clearTimeout=function(){clearTimeout(this._timeout),this._timeout=null},e.jQueryInterface=function(t){return this.each((function(){var n=L(this,"bs.toast");if(n||(n=new e(this,"object"==typeof t&&t)),"string"==typeof t){if(void 0===n[t])throw new TypeError('No method named "'+t+'"');n[t](this)}}))},o(e,null,[{key:"DefaultType",get:function(){return Ft}},{key:"Default",get:function(){return Yt}},{key:"DATA_KEY",get:function(){return"bs.toast"}}]),e}(U);return E((function(){var t=w();if(t){var e=t.fn.toast;t.fn.toast=zt.jQueryInterface,t.fn.toast.Constructor=zt,t.fn.toast.noConflict=function(){return t.fn.toast=e,zt.jQueryInterface}}})),{Alert:F,Button:Y,Carousel:et,Collapse:st,Dropdown:mt,Modal:bt,Popover:Mt,ScrollSpy:Ut,Tab:Wt,Toast:zt,Tooltip:It}})); diff --git a/assets/js/popper.min.js b/assets/js/popper.min.js index 5582ff5c..57ccdfd9 100644 --- a/assets/js/popper.min.js +++ b/assets/js/popper.min.js @@ -1,4 +1,5 @@ -/* - Copyright (C) Federico Zivolo 2018 - Distributed under the MIT License (license terms are at http://opensource.org/licenses/MIT). - */(function(e,t){'object'==typeof exports&&'undefined'!=typeof module?module.exports=t():'function'==typeof define&&define.amd?define(t):e.Popper=t()})(this,function(){'use strict';function e(e){return e&&'[object Function]'==={}.toString.call(e)}function t(e,t){if(1!==e.nodeType)return[];var o=getComputedStyle(e,null);return t?o[t]:o}function o(e){return'HTML'===e.nodeName?e:e.parentNode||e.host}function n(e){if(!e)return document.body;switch(e.nodeName){case'HTML':case'BODY':return e.ownerDocument.body;case'#document':return e.body;}var i=t(e),r=i.overflow,p=i.overflowX,s=i.overflowY;return /(auto|scroll|overlay)/.test(r+s+p)?e:n(o(e))}function r(e){return 11===e?re:10===e?pe:re||pe}function p(e){if(!e)return document.documentElement;for(var o=r(10)?document.body:null,n=e.offsetParent;n===o&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&'BODY'!==i&&'HTML'!==i?-1!==['TD','TABLE'].indexOf(n.nodeName)&&'static'===t(n,'position')?p(n):n:e?e.ownerDocument.documentElement:document.documentElement}function s(e){var t=e.nodeName;return'BODY'!==t&&('HTML'===t||p(e.firstElementChild)===e)}function d(e){return null===e.parentNode?e:d(e.parentNode)}function a(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return document.documentElement;var o=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,n=o?e:t,i=o?t:e,r=document.createRange();r.setStart(n,0),r.setEnd(i,0);var l=r.commonAncestorContainer;if(e!==l&&t!==l||n.contains(i))return s(l)?l:p(l);var f=d(e);return f.host?a(f.host,t):a(e,d(t).host)}function l(e){var t=1=o.clientWidth&&n>=o.clientHeight}),l=0a[e]&&!t.escapeWithReference&&(n=J(f[o],a[e]-('right'===e?f.width:f.height))),ae({},o,n)}};return l.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';f=le({},f,m[t](e))}),e.offsets.popper=f,e},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,o=t.popper,n=t.reference,i=e.placement.split('-')[0],r=Z,p=-1!==['top','bottom'].indexOf(i),s=p?'right':'bottom',d=p?'left':'top',a=p?'width':'height';return o[s]r(n[s])&&(e.offsets.popper[d]=r(n[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,o){var n;if(!q(e.instance.modifiers,'arrow','keepTogether'))return e;var i=o.element;if('string'==typeof i){if(i=e.instance.popper.querySelector(i),!i)return e;}else if(!e.instance.popper.contains(i))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),e;var r=e.placement.split('-')[0],p=e.offsets,s=p.popper,d=p.reference,a=-1!==['left','right'].indexOf(r),l=a?'height':'width',f=a?'Top':'Left',m=f.toLowerCase(),h=a?'left':'top',c=a?'bottom':'right',u=S(i)[l];d[c]-us[c]&&(e.offsets.popper[m]+=d[m]+u-s[c]),e.offsets.popper=g(e.offsets.popper);var b=d[m]+d[l]/2-u/2,y=t(e.instance.popper),w=parseFloat(y['margin'+f],10),E=parseFloat(y['border'+f+'Width'],10),v=b-e.offsets.popper[m]-w-E;return v=$(J(s[l]-u,v),0),e.arrowElement=i,e.offsets.arrow=(n={},ae(n,m,Q(v)),ae(n,h,''),n),e},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(e,t){if(W(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var o=v(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),n=e.placement.split('-')[0],i=T(n),r=e.placement.split('-')[1]||'',p=[];switch(t.behavior){case he.FLIP:p=[n,i];break;case he.CLOCKWISE:p=z(n);break;case he.COUNTERCLOCKWISE:p=z(n,!0);break;default:p=t.behavior;}return p.forEach(function(s,d){if(n!==s||p.length===d+1)return e;n=e.placement.split('-')[0],i=T(n);var a=e.offsets.popper,l=e.offsets.reference,f=Z,m='left'===n&&f(a.right)>f(l.left)||'right'===n&&f(a.left)f(l.top)||'bottom'===n&&f(a.top)f(o.right),g=f(a.top)f(o.bottom),b='left'===n&&h||'right'===n&&c||'top'===n&&g||'bottom'===n&&u,y=-1!==['top','bottom'].indexOf(n),w=!!t.flipVariations&&(y&&'start'===r&&h||y&&'end'===r&&c||!y&&'start'===r&&g||!y&&'end'===r&&u);(m||b||w)&&(e.flipped=!0,(m||b)&&(n=p[d+1]),w&&(r=G(r)),e.placement=n+(r?'-'+r:''),e.offsets.popper=le({},e.offsets.popper,C(e.instance.popper,e.offsets.reference,e.placement)),e=P(e.instance.modifiers,e,'flip'))}),e},behavior:'flip',padding:5,boundariesElement:'viewport'},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,o=t.split('-')[0],n=e.offsets,i=n.popper,r=n.reference,p=-1!==['left','right'].indexOf(o),s=-1===['top','left'].indexOf(o);return i[p?'left':'top']=r[o]-(s?i[p?'width':'height']:0),e.placement=T(t),e.offsets.popper=g(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!q(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,o=D(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottomo.right||t.top>o.bottom||t.right["html","body"].indexOf(a(e));){if("none"!==(r=c(e)).transform||"none"!==r.perspective||r.willChange&&"auto"!==r.willChange){r=e;break e}e=e.parentNode}r=null}return r||t}function v(e){var t=new Map,n=new Set,r=[];return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||function e(o){n.add(o.name),[].concat(o.requires||[],o.requiresIfExists||[]).forEach((function(r){n.has(r)||(r=t.get(r))&&e(r)})),r.push(o)}(e)})),r}function b(e){var t;return function(){return t||(t=new Promise((function(n){Promise.resolve().then((function(){t=void 0,n(e())}))}))),t}}function y(e){return e.split("-")[0]}function O(e,t){var r,o=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if((r=o)&&(r=o instanceof(r=n(o).ShadowRoot)||o instanceof ShadowRoot),r)do{if(t&&e.isSameNode(t))return!0;t=t.parentNode||t.host}while(t);return!1}function w(e){return Object.assign(Object.assign({},e),{},{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function x(e,o){if("viewport"===o){o=n(e);var a=s(e);o=o.visualViewport;var p=a.clientWidth;a=a.clientHeight;var l=0,u=0;o&&(p=o.width,a=o.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(l=o.offsetLeft,u=o.offsetTop)),e=w(e={width:p,height:a,x:l+f(e),y:u})}else i(o)?((e=t(o)).top+=o.clientTop,e.left+=o.clientLeft,e.bottom=e.top+o.clientHeight,e.right=e.left+o.clientWidth,e.width=o.clientWidth,e.height=o.clientHeight,e.x=e.left,e.y=e.top):(u=s(e),e=s(u),l=r(u),o=u.ownerDocument.body,p=Math.max(e.scrollWidth,e.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=Math.max(e.scrollHeight,e.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),u=-l.scrollLeft+f(u),l=-l.scrollTop,"rtl"===c(o||e).direction&&(u+=Math.max(e.clientWidth,o?o.clientWidth:0)-p),e=w({width:p,height:a,x:u,y:l}));return e}function j(e,t,n){return t="clippingParents"===t?function(e){var t=m(d(e)),n=0<=["absolute","fixed"].indexOf(c(e).position)&&i(e)?g(e):e;return o(n)?t.filter((function(e){return o(e)&&O(e,n)&&"body"!==a(e)})):[]}(e):[].concat(t),(n=(n=[].concat(t,[n])).reduce((function(t,n){return n=x(e,n),t.top=Math.max(n.top,t.top),t.right=Math.min(n.right,t.right),t.bottom=Math.min(n.bottom,t.bottom),t.left=Math.max(n.left,t.left),t}),x(e,n[0]))).width=n.right-n.left,n.height=n.bottom-n.top,n.x=n.left,n.y=n.top,n}function M(e){return 0<=["top","bottom"].indexOf(e)?"x":"y"}function E(e){var t=e.reference,n=e.element,r=(e=e.placement)?y(e):null;e=e?e.split("-")[1]:null;var o=t.x+t.width/2-n.width/2,i=t.y+t.height/2-n.height/2;switch(r){case"top":o={x:o,y:t.y-n.height};break;case"bottom":o={x:o,y:t.y+t.height};break;case"right":o={x:t.x+t.width,y:i};break;case"left":o={x:t.x-n.width,y:i};break;default:o={x:t.x,y:t.y}}if(null!=(r=r?M(r):null))switch(i="y"===r?"height":"width",e){case"start":o[r]-=t[i]/2-n[i]/2;break;case"end":o[r]+=t[i]/2-n[i]/2}return o}function D(e){return Object.assign(Object.assign({},{top:0,right:0,bottom:0,left:0}),e)}function P(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function L(e,n){void 0===n&&(n={});var r=n;n=void 0===(n=r.placement)?e.placement:n;var i=r.boundary,a=void 0===i?"clippingParents":i,f=void 0===(i=r.rootBoundary)?"viewport":i;i=void 0===(i=r.elementContext)?"popper":i;var c=r.altBoundary,p=void 0!==c&&c;r=D("number"!=typeof(r=void 0===(r=r.padding)?0:r)?r:P(r,T));var l=e.elements.reference;c=e.rects.popper,a=j(o(p=e.elements[p?"popper"===i?"reference":"popper":i])?p:p.contextElement||s(e.elements.popper),a,f),p=E({reference:f=t(l),element:c,strategy:"absolute",placement:n}),c=w(Object.assign(Object.assign({},c),p)),f="popper"===i?c:f;var u={top:a.top-f.top+r.top,bottom:f.bottom-a.bottom+r.bottom,left:a.left-f.left+r.left,right:f.right-a.right+r.right};if(e=e.modifiersData.offset,"popper"===i&&e){var d=e[n];Object.keys(u).forEach((function(e){var t=0<=["right","bottom"].indexOf(e)?1:-1,n=0<=["top","bottom"].indexOf(e)?"y":"x";u[e]+=d[n]*t}))}return u}function k(){for(var e=arguments.length,t=Array(e),n=0;n(v.devicePixelRatio||1)?"translate("+e+"px, "+l+"px)":"translate3d("+e+"px, "+l+"px, 0)",d)):Object.assign(Object.assign({},r),{},((t={})[h]=a?l+"px":"",t[m]=u?e+"px":"",t.transform="",t))}function A(e){return e.replace(/left|right|bottom|top/g,(function(e){return G[e]}))}function H(e){return e.replace(/start|end/g,(function(e){return J[e]}))}function R(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function S(e){return["top","right","bottom","left"].some((function(t){return 0<=e[t]}))}var T=["top","bottom","right","left"],q=T.reduce((function(e,t){return e.concat([t+"-start",t+"-end"])}),[]),C=[].concat(T,["auto"]).reduce((function(e,t){return e.concat([t,t+"-start",t+"-end"])}),[]),N="beforeRead read afterRead beforeMain main afterMain beforeWrite write afterWrite".split(" "),V={placement:"bottom",modifiers:[],strategy:"absolute"},I={passive:!0},_={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,r=e.instance,o=(e=e.options).scroll,i=void 0===o||o,a=void 0===(e=e.resize)||e,s=n(t.elements.popper),f=[].concat(t.scrollParents.reference,t.scrollParents.popper);return i&&f.forEach((function(e){e.addEventListener("scroll",r.update,I)})),a&&s.addEventListener("resize",r.update,I),function(){i&&f.forEach((function(e){e.removeEventListener("scroll",r.update,I)})),a&&s.removeEventListener("resize",r.update,I)}},data:{}},U={name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state;t.modifiersData[e.name]=E({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},z={top:"auto",right:"auto",bottom:"auto",left:"auto"},F={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options;e=void 0===(e=n.gpuAcceleration)||e;var r=n.adaptive;r=void 0===r||r,n=void 0===(n=n.roundOffsets)||n,e={placement:y(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:e},null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign(Object.assign({},t.styles.popper),W(Object.assign(Object.assign({},e),{},{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:r,roundOffsets:n})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign(Object.assign({},t.styles.arrow),W(Object.assign(Object.assign({},e),{},{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:n})))),t.attributes.popper=Object.assign(Object.assign({},t.attributes.popper),{},{"data-popper-placement":t.placement})},data:{}},X={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},o=t.elements[e];i(o)&&a(o)&&(Object.assign(o.style,n),Object.keys(r).forEach((function(e){var t=r[e];!1===t?o.removeAttribute(e):o.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var r=t.elements[e],o=t.attributes[e]||{};e=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{}),i(r)&&a(r)&&(Object.assign(r.style,e),Object.keys(o).forEach((function(e){r.removeAttribute(e)})))}))}},requires:["computeStyles"]},Y={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.name,r=void 0===(e=e.options.offset)?[0,0]:e,o=(e=C.reduce((function(e,n){var o=t.rects,i=y(n),a=0<=["left","top"].indexOf(i)?-1:1,s="function"==typeof r?r(Object.assign(Object.assign({},o),{},{placement:n})):r;return o=(o=s[0])||0,s=((s=s[1])||0)*a,i=0<=["left","right"].indexOf(i)?{x:s,y:o}:{x:o,y:s},e[n]=i,e}),{}))[t.placement],i=o.x;o=o.y,null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=i,t.modifiersData.popperOffsets.y+=o),t.modifiersData[n]=e}},G={left:"right",right:"left",bottom:"top",top:"bottom"},J={start:"end",end:"start"},K={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options;if(e=e.name,!t.modifiersData[e]._skip){var r=n.mainAxis;r=void 0===r||r;var o=n.altAxis;o=void 0===o||o;var i=n.fallbackPlacements,a=n.padding,s=n.boundary,f=n.rootBoundary,c=n.altBoundary,p=n.flipVariations,l=void 0===p||p,u=n.allowedAutoPlacements;p=y(n=t.options.placement),i=i||(p!==n&&l?function(e){if("auto"===y(e))return[];var t=A(e);return[H(e),t,H(t)]}(n):[A(n)]);var d=[n].concat(i).reduce((function(e,n){return e.concat("auto"===y(n)?function(e,t){void 0===t&&(t={});var n=t.boundary,r=t.rootBoundary,o=t.padding,i=t.flipVariations,a=t.allowedAutoPlacements,s=void 0===a?C:a,f=t.placement.split("-")[1];0===(i=(t=f?i?q:q.filter((function(e){return e.split("-")[1]===f})):T).filter((function(e){return 0<=s.indexOf(e)}))).length&&(i=t);var c=i.reduce((function(t,i){return t[i]=L(e,{placement:i,boundary:n,rootBoundary:r,padding:o})[y(i)],t}),{});return Object.keys(c).sort((function(e,t){return c[e]-c[t]}))}(t,{placement:n,boundary:s,rootBoundary:f,padding:a,flipVariations:l,allowedAutoPlacements:u}):n)}),[]);n=t.rects.reference,i=t.rects.popper;var m=new Map;p=!0;for(var h=d[0],g=0;gi[x]&&(O=A(O)),x=A(O),w=[],r&&w.push(0>=j[b]),o&&w.push(0>=j[O],0>=j[x]),w.every((function(e){return e}))){h=v,p=!1;break}m.set(v,w)}if(p)for(r=function(e){var t=d.find((function(t){if(t=m.get(t))return t.slice(0,e).every((function(e){return e}))}));if(t)return h=t,"break"},o=l?3:1;0JavaScript Licenses - +
    @@ -21,7 +21,7 @@ permalink: /about/javascript/ - + -- 2.47.2 From 431ee210551ffd1a7ad277398d2d34e65bb80656 Mon Sep 17 00:00:00 2001 From: Gusted Date: Tue, 29 Dec 2020 13:58:02 +0000 Subject: [PATCH 143/173] Update Ruby Dependencies (#2168) --- Gemfile.lock | 203 +++++++++++++++++++++++++++------------------------ 1 file changed, 108 insertions(+), 95 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 2dce18a7..9caae865 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,13 +1,14 @@ GEM remote: https://rubygems.org/ specs: - activesupport (4.2.11.1) - i18n (~> 0.7) + activesupport (6.0.3.4) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) minitest (~> 5.1) - thread_safe (~> 0.3, >= 0.3.4) tzinfo (~> 1.1) - addressable (2.6.0) - public_suffix (>= 2.0.2, < 4.0) + zeitwerk (~> 2.2, >= 2.2.2) + addressable (2.7.0) + public_suffix (>= 2.0.2, < 5.0) coffee-script (2.4.1) coffee-script-source execjs @@ -15,65 +16,65 @@ GEM colorator (1.1.0) commonmarker (0.17.13) ruby-enum (~> 0.5) - concurrent-ruby (1.1.5) - dnsruby (1.61.3) - addressable (~> 2.5) - em-websocket (0.5.1) + concurrent-ruby (1.1.7) + dnsruby (1.61.5) + simpleidn (~> 0.1) + em-websocket (0.5.2) eventmachine (>= 0.12.9) http_parser.rb (~> 0.6.0) ethon (0.12.0) ffi (>= 1.3.0) eventmachine (1.2.7) execjs (2.7.0) - faraday (0.15.4) + faraday (1.2.0) multipart-post (>= 1.2, < 3) - ffi (1.11.1) + ruby2_keywords + ffi (1.14.2) forwardable-extended (2.6.0) gemoji (3.0.1) - github-pages (198) - activesupport (= 4.2.11.1) + github-pages (209) github-pages-health-check (= 1.16.1) - jekyll (= 3.8.5) - jekyll-avatar (= 0.6.0) + jekyll (= 3.9.0) + jekyll-avatar (= 0.7.0) jekyll-coffeescript (= 1.1.1) - jekyll-commonmark-ghpages (= 0.1.5) + jekyll-commonmark-ghpages (= 0.1.6) jekyll-default-layout (= 0.1.4) - jekyll-feed (= 0.11.0) + jekyll-feed (= 0.15.1) jekyll-gist (= 1.5.0) - jekyll-github-metadata (= 2.12.1) - jekyll-mentions (= 1.4.1) - jekyll-optional-front-matter (= 0.3.0) + jekyll-github-metadata (= 2.13.0) + jekyll-mentions (= 1.6.0) + jekyll-optional-front-matter (= 0.3.2) jekyll-paginate (= 1.1.0) - jekyll-readme-index (= 0.2.0) - jekyll-redirect-from (= 0.14.0) - jekyll-relative-links (= 0.6.0) - jekyll-remote-theme (= 0.3.1) + jekyll-readme-index (= 0.3.0) + jekyll-redirect-from (= 0.16.0) + jekyll-relative-links (= 0.6.1) + jekyll-remote-theme (= 0.4.2) jekyll-sass-converter (= 1.5.2) - jekyll-seo-tag (= 2.5.0) - jekyll-sitemap (= 1.2.0) - jekyll-swiss (= 0.4.0) + jekyll-seo-tag (= 2.6.1) + jekyll-sitemap (= 1.4.0) + jekyll-swiss (= 1.0.0) jekyll-theme-architect (= 0.1.1) jekyll-theme-cayman (= 0.1.1) jekyll-theme-dinky (= 0.1.1) - jekyll-theme-hacker (= 0.1.1) + jekyll-theme-hacker (= 0.1.2) jekyll-theme-leap-day (= 0.1.1) jekyll-theme-merlot (= 0.1.1) jekyll-theme-midnight (= 0.1.1) jekyll-theme-minimal (= 0.1.1) jekyll-theme-modernist (= 0.1.1) - jekyll-theme-primer (= 0.5.3) + jekyll-theme-primer (= 0.5.4) jekyll-theme-slate (= 0.1.1) jekyll-theme-tactile (= 0.1.1) jekyll-theme-time-machine (= 0.1.1) - jekyll-titles-from-headings (= 0.5.1) - jemoji (= 0.10.2) - kramdown (= 1.17.0) - liquid (= 4.0.0) - listen (= 3.1.5) + jekyll-titles-from-headings (= 0.5.3) + jemoji (= 0.12.0) + kramdown (= 2.3.0) + kramdown-parser-gfm (= 1.1.0) + liquid (= 4.0.3) mercenary (~> 0.3) - minima (= 2.5.0) - nokogiri (>= 1.8.5, < 2.0) - rouge (= 2.2.1) + minima (= 2.5.1) + nokogiri (>= 1.10.4, < 2.0) + rouge (= 3.23.0) terminal-table (~> 1.4) github-pages-health-check (1.16.1) addressable (~> 2.3) @@ -81,68 +82,70 @@ GEM octokit (~> 4.0) public_suffix (~> 3.0) typhoeus (~> 1.3) - html-pipeline (2.12.0) + html-pipeline (2.14.0) activesupport (>= 2) nokogiri (>= 1.4) http_parser.rb (0.6.0) i18n (0.9.5) concurrent-ruby (~> 1.0) - jekyll (3.8.5) + jekyll (3.9.0) addressable (~> 2.4) colorator (~> 1.0) em-websocket (~> 0.5) i18n (~> 0.7) jekyll-sass-converter (~> 1.0) jekyll-watch (~> 2.0) - kramdown (~> 1.14) + kramdown (>= 1.17, < 3) liquid (~> 4.0) mercenary (~> 0.3.3) pathutil (~> 0.9) rouge (>= 1.7, < 4) safe_yaml (~> 1.0) - jekyll-avatar (0.6.0) - jekyll (~> 3.0) + jekyll-avatar (0.7.0) + jekyll (>= 3.0, < 5.0) jekyll-coffeescript (1.1.1) coffee-script (~> 2.2) coffee-script-source (~> 1.11.1) jekyll-commonmark (1.3.1) commonmarker (~> 0.14) jekyll (>= 3.7, < 5.0) - jekyll-commonmark-ghpages (0.1.5) + jekyll-commonmark-ghpages (0.1.6) commonmarker (~> 0.17.6) - jekyll-commonmark (~> 1) - rouge (~> 2) + jekyll-commonmark (~> 1.2) + rouge (>= 2.0, < 4.0) jekyll-default-layout (0.1.4) jekyll (~> 3.0) - jekyll-feed (0.11.0) - jekyll (~> 3.3) + jekyll-feed (0.15.1) + jekyll (>= 3.7, < 5.0) jekyll-gist (1.5.0) octokit (~> 4.2) - jekyll-github-metadata (2.12.1) - jekyll (~> 3.4) + jekyll-github-metadata (2.13.0) + jekyll (>= 3.4, < 5.0) octokit (~> 4.0, != 4.4.0) - jekyll-mentions (1.4.1) + jekyll-mentions (1.6.0) html-pipeline (~> 2.3) - jekyll (~> 3.0) - jekyll-optional-front-matter (0.3.0) - jekyll (~> 3.0) + jekyll (>= 3.7, < 5.0) + jekyll-optional-front-matter (0.3.2) + jekyll (>= 3.0, < 5.0) jekyll-paginate (1.1.0) - jekyll-readme-index (0.2.0) - jekyll (~> 3.0) - jekyll-redirect-from (0.14.0) - jekyll (~> 3.3) - jekyll-relative-links (0.6.0) - jekyll (~> 3.3) - jekyll-remote-theme (0.3.1) - jekyll (~> 3.5) - rubyzip (>= 1.2.1, < 3.0) + jekyll-readme-index (0.3.0) + jekyll (>= 3.0, < 5.0) + jekyll-redirect-from (0.16.0) + jekyll (>= 3.3, < 5.0) + jekyll-relative-links (0.6.1) + jekyll (>= 3.3, < 5.0) + jekyll-remote-theme (0.4.2) + addressable (~> 2.0) + jekyll (>= 3.5, < 5.0) + jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0) + rubyzip (>= 1.3.0, < 3.0) jekyll-sass-converter (1.5.2) sass (~> 3.4) - jekyll-seo-tag (2.5.0) - jekyll (~> 3.3) - jekyll-sitemap (1.2.0) - jekyll (~> 3.3) - jekyll-swiss (0.4.0) + jekyll-seo-tag (2.6.1) + jekyll (>= 3.3, < 5.0) + jekyll-sitemap (1.4.0) + jekyll (>= 3.7, < 5.0) + jekyll-swiss (1.0.0) jekyll-theme-architect (0.1.1) jekyll (~> 3.5) jekyll-seo-tag (~> 2.0) @@ -152,8 +155,8 @@ GEM jekyll-theme-dinky (0.1.1) jekyll (~> 3.5) jekyll-seo-tag (~> 2.0) - jekyll-theme-hacker (0.1.1) - jekyll (~> 3.5) + jekyll-theme-hacker (0.1.2) + jekyll (> 3.5, < 5.0) jekyll-seo-tag (~> 2.0) jekyll-theme-leap-day (0.1.1) jekyll (~> 3.5) @@ -170,8 +173,8 @@ GEM jekyll-theme-modernist (0.1.1) jekyll (~> 3.5) jekyll-seo-tag (~> 2.0) - jekyll-theme-primer (0.5.3) - jekyll (~> 3.5) + jekyll-theme-primer (0.5.4) + jekyll (> 3.5, < 5.0) jekyll-github-metadata (~> 2.9) jekyll-seo-tag (~> 2.0) jekyll-theme-slate (0.1.1) @@ -183,43 +186,47 @@ GEM jekyll-theme-time-machine (0.1.1) jekyll (~> 3.5) jekyll-seo-tag (~> 2.0) - jekyll-titles-from-headings (0.5.1) - jekyll (~> 3.3) + jekyll-titles-from-headings (0.5.3) + jekyll (>= 3.3, < 5.0) jekyll-watch (2.2.1) listen (~> 3.0) - jemoji (0.10.2) + jemoji (0.12.0) gemoji (~> 3.0) html-pipeline (~> 2.2) - jekyll (~> 3.0) - kramdown (1.17.0) - liquid (4.0.0) - listen (3.1.5) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - ruby_dep (~> 1.2) + jekyll (>= 3.0, < 5.0) + kramdown (2.3.0) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.3) + listen (3.3.3) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) mercenary (0.3.6) mini_portile2 (2.4.0) - minima (2.5.0) - jekyll (~> 3.5) + minima (2.5.1) + jekyll (>= 3.5, < 5.0) jekyll-feed (~> 0.9) jekyll-seo-tag (~> 2.1) - minitest (5.11.3) + minitest (5.14.2) multipart-post (2.1.1) - nokogiri (1.10.8) + nokogiri (1.10.10) mini_portile2 (~> 2.4.0) - octokit (4.14.0) + octokit (4.19.0) + faraday (>= 0.9) sawyer (~> 0.8.0, >= 0.5.3) pathutil (0.16.2) forwardable-extended (~> 2.6) public_suffix (3.1.1) - rb-fsevent (0.10.3) - rb-inotify (0.10.0) + rb-fsevent (0.10.4) + rb-inotify (0.10.1) ffi (~> 1.0) - rouge (2.2.1) - ruby-enum (0.7.2) + rexml (3.2.4) + rouge (3.23.0) + ruby-enum (0.8.0) i18n - ruby_dep (1.5.0) - rubyzip (2.0.0) + ruby2_keywords (0.0.2) + rubyzip (2.3.0) safe_yaml (1.0.5) sass (3.7.4) sass-listen (~> 4.0.0) @@ -229,14 +236,20 @@ GEM sawyer (0.8.2) addressable (>= 2.3.5) faraday (> 0.8, < 2.0) + simpleidn (0.1.1) + unf (~> 0.1.4) terminal-table (1.8.0) unicode-display_width (~> 1.1, >= 1.1.1) thread_safe (0.3.6) - typhoeus (1.3.1) + typhoeus (1.4.0) ethon (>= 0.9.0) - tzinfo (1.2.5) + tzinfo (1.2.9) thread_safe (~> 0.1) - unicode-display_width (1.6.0) + unf (0.1.4) + unf_ext + unf_ext (0.0.7.7) + unicode-display_width (1.7.0) + zeitwerk (2.4.2) PLATFORMS ruby -- 2.47.2 From 43aa060b1ef225ed20d298c2d9af33e995e56926 Mon Sep 17 00:00:00 2001 From: Gusted Date: Wed, 6 Jan 2021 16:50:50 +0000 Subject: [PATCH 144/173] Remove IVPN trial notice (#2178) --- _includes/sections/vpn.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/sections/vpn.html b/_includes/sections/vpn.html index 7f7ba113..dea6080d 100644 --- a/_includes/sections/vpn.html +++ b/_includes/sections/vpn.html @@ -86,7 +86,7 @@ {% include badge.html color="info" text="Standard USD $60/y" %} {% include badge.html color="secondary" text="Pro USD $100/y" %} -

    IVPN.net is another premium VPN provider, and they have been in operation since 2009. IVPN is based in Gibraltar and offers a 3 day free trial.

    +

    IVPN.net is another premium VPN provider, and they have been in operation since 2009. IVPN is based in Gibraltar.

    {% include badge.html color="success" text="32 Countries" %}

    IVPN has servers in 32 countries at the time of writing this page. Picking a VPN provider with a server nearest to you will reduce latency of the network traffic you send. This is because of a shorter route (less hops) to the destination.

    We also think it's better for the security of the VPN provider's private keys if they use dedicated servers, instead of cheaper shared solutions (with other customers) such as virtual private servers.

    -- 2.47.2 From c1dbe5890ae5a837be92d66c83a7a3639d04fe29 Mon Sep 17 00:00:00 2001 From: Gusted Date: Wed, 6 Jan 2021 16:52:24 +0000 Subject: [PATCH 145/173] Removed Closed Souce Warning from Cryptomator (#2177) --- _includes/sections/cloud-storage.html | 2 +- _includes/sections/file-encryption.html | 11 +---------- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/_includes/sections/cloud-storage.html b/_includes/sections/cloud-storage.html index 252c6746..3a8881a1 100644 --- a/_includes/sections/cloud-storage.html +++ b/_includes/sections/cloud-storage.html @@ -26,6 +26,6 @@

    Worth Mentioning

      -
    • Cryptomator - Free client-side AES encryption for your cloud files. Open source software: No backdoors, no registration. {% include badge.html color="warning" tooltip="Cryptomator's mobile apps are not open-source." link="https://github.com/cryptomator/cryptomator-android/issues/1#issuecomment-257979375" icon="fas fa-exclamation-triangle" %}
    • +
    • Cryptomator - Free client-side AES encryption for your cloud files. Open source software: No backdoors, no registration.
    • CryptPad - Free and end-to-end encrypted real time collaboration sharing folders, media, and documents.
    diff --git a/_includes/sections/file-encryption.html b/_includes/sections/file-encryption.html index dc85b5df..0d066b1e 100644 --- a/_includes/sections/file-encryption.html +++ b/_includes/sections/file-encryption.html @@ -55,16 +55,7 @@

    Worth Mentioning

      -
    • - Cryptomator - Free client-side AES encryption for your cloud files. Open source software: No backdoors, no registration. - {% include badge.html - color="warning" - text="Closed source" - icon="fas fa-exclamation-triangle" - link="https://github.com/cryptomator/cryptomator-android/issues/1#issuecomment-257979375" - tooltip="Cryptomator's mobile apps are not open-source." - %} -
    • +
    • Cryptomator - Free client-side AES encryption for your cloud files. Open source software: No backdoors, no registration.
    • Linux Unified Key Setup (LUKS) - A full disk encryption system for Linux using dm-crypt as the disk encryption backend. Included by default in Ubuntu. Available for Windows and Linux.
    • Tomb - A simple zsh script for making LUKS containers on the commandline.
    • Hat.sh - A cross-platform, serverless JavaScript web application that provides secure file encryption using the AES-256-GCM algorithm in your browser. It can also be downloaded and run offline.
    • -- 2.47.2 From 2fcb959eb82f5f430b2a951c1a54a44ffe395981 Mon Sep 17 00:00:00 2001 From: Daniel Nathan Gray Date: Wed, 6 Jan 2021 16:53:22 +0000 Subject: [PATCH 146/173] Update Temp container bug (#2173) --- _includes/sections/browser-addons.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/sections/browser-addons.html b/_includes/sections/browser-addons.html index 0c37fb7c..beebabc2 100644 --- a/_includes/sections/browser-addons.html +++ b/_includes/sections/browser-addons.html @@ -138,7 +138,7 @@

      Android

      {% include cardv2.html -- 2.47.2 From 148e1e7455aef96f96d7931b66ff721d8d13cd0a Mon Sep 17 00:00:00 2001 From: Gusted Date: Wed, 13 Jan 2021 10:44:35 +0000 Subject: [PATCH 147/173] Add warning to Invidious (#2182) - Add warning for non-default proxy option. --- _includes/sections/video-frontends.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/_includes/sections/video-frontends.html b/_includes/sections/video-frontends.html index c790135b..c2d94c45 100644 --- a/_includes/sections/video-frontends.html +++ b/_includes/sections/video-frontends.html @@ -8,7 +8,8 @@ title="Invidious" image="/assets/img/svg/3rd-party/invidious.svg" description='Invidious is an alternative front-end to YouTube. It is free software, with no advertising or Javascript dependency to play videos, with lots of other features that allow you to have a complete YouTube experience, sans Google.' + labels="color==warning::icon==fas fa-exclamation-triangle::link==https://github.com/iv-org/documentation/blob/master/Always-use-%22local%22-to-proxy-video-through-the-server-without-creating-an-account.md::text==Warning::tooltip==By default, Invidious will not proxy videos through the instance's proxy." website="https://invidio.us" - github="https://github.com/omarroth/invidious" + github="https://github.com/iv-org/invidious" web="https://instances.invidio.us" %} -- 2.47.2 From 904b699feb6b98efa4ac5254abac4771fad9dc51 Mon Sep 17 00:00:00 2001 From: gudishvibes <30058021+pcpcpc1213@users.noreply.github.com> Date: Sat, 23 Jan 2021 21:32:53 +0000 Subject: [PATCH 148/173] Fix search bar not passing searches to Searx (#2086) The URL to pass searches to was https://search.privacytools.io/searx, instead of https://search.privacytools.io. So I changed the URL of the search bar form. --- _includes/sections/header.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/sections/header.html b/_includes/sections/header.html index 554c681f..06f6fec5 100644 --- a/_includes/sections/header.html +++ b/_includes/sections/header.html @@ -10,7 +10,7 @@

      You are being watched. Private and state-sponsored organizations are monitoring and recording your online activities. {{ site.name }} provides services, tools and knowledge to protect your privacy against global mass surveillance.

      - +
      -- 2.47.2 From 9552a394b55f22d5649044ac11cc4db3c2ba3b71 Mon Sep 17 00:00:00 2001 From: IacobusKopiirefuto <71605946+IacobusKopiirefuto@users.noreply.github.com> Date: Sun, 14 Mar 2021 12:16:32 +0000 Subject: [PATCH 149/173] Onion Browser: link proving Tor Project endorsement (#2179) In the Onion Browser's description is written that it is endorsed by the Tor Project, but the Onion Browser's website has no easy to find link to the Tor Project's website to prove it. For readers convenience I have added link to https://support.torproject.org where they can read about the Onion Browser from the Tor Project's perspective. I know, this is not Wikipedia and we do not have to source everything, however, in the Firefox for iOS, there is link to Disconnect's website, just so users can read about their Tracking protection lists, and being able to quickly verify that the Onion Browser is really officially endorsed by the Tor Project is arguably much more important, therefore the link should be included. Other, more explicit, endorsement on torproject.org is in a small print under Android download page https://torproject.org/download/index.html#android that says "Are you an iOS user? We encourage you to try Onion Browser.", however this one is much less visible, because of that I'm not using this link. --- _includes/sections/browser-recommendation.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/sections/browser-recommendation.html b/_includes/sections/browser-recommendation.html index 96eca12f..406d493e 100644 --- a/_includes/sections/browser-recommendation.html +++ b/_includes/sections/browser-recommendation.html @@ -112,7 +112,7 @@ {% include cardv2.html title="Onion Browser" image="/assets/img/svg/3rd-party/onion_browser.svg" - description='Onion Browser is an open-source browser that lets you browse the web anonymously over the Tor network on iOS devices and is endorsed by the Tor Project. Warning: there are certain anonymity-related issues with Onion Browser due to iOS limitations.' + description='Onion Browser is an open-source browser that lets you browse the web anonymously over the Tor network on iOS devices and is endorsed by the Tor Project. Warning: there are certain anonymity-related issues with Onion Browser due to iOS limitations.' website="https://onionbrowser.com/" privacy-policy="https://onionbrowser.com/privacy-policy" forum="https://forum.privacytools.io/t/discussion-onion-browser-browsers/1523" -- 2.47.2 From accb7ed98dd06376e43e76acef276d1eb639012e Mon Sep 17 00:00:00 2001 From: Freddy Date: Wed, 17 Mar 2021 07:17:37 +0000 Subject: [PATCH 150/173] Uncensored DNS now supports DoH (#2181) --- _includes/sections/dns.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/sections/dns.html b/_includes/sections/dns.html index 7a9180b2..54046d94 100644 --- a/_includes/sections/dns.html +++ b/_includes/sections/dns.html @@ -515,7 +515,7 @@ We also log how many times this or that tracker has been blocked. We need this i
    - + -- 2.47.2 From 4650f5ded902a9777a70d8e880ffcf8e58f5ab68 Mon Sep 17 00:00:00 2001 From: Jacob Neplokh Date: Fri, 26 Mar 2021 01:41:53 -0700 Subject: [PATCH 151/173] Add iOS Addons Section (#2075) - Add references to redirects, pages, and navigation - Add two addons/apps (Passepartout and AdGuard) - Add two images: the respective logos for those apps --- _includes/nav.html | 1 + _includes/sections/ios-addons.html | 31 ++++++++++++++++++++++ assets/img/png/3rd-party/adguard.png | Bin 0 -> 7320 bytes assets/img/png/3rd-party/passepartout.png | Bin 0 -> 2235 bytes assets/js/redirects.js | 1 + pages/os.html | 2 ++ 6 files changed, 35 insertions(+) create mode 100644 _includes/sections/ios-addons.html create mode 100644 assets/img/png/3rd-party/adguard.png create mode 100644 assets/img/png/3rd-party/passepartout.png diff --git a/_includes/nav.html b/_includes/nav.html index 21d80d1d..129f4fe4 100644 --- a/_includes/nav.html +++ b/_includes/nav.html @@ -91,6 +91,7 @@ Tor focused distributions Mobile OS Android Privacy Add-ons + iOS Privacy Add-ons Router Firmware Don't use Windows 10 diff --git a/_includes/sections/ios-addons.html b/_includes/sections/ios-addons.html new file mode 100644 index 00000000..6e9da956 --- /dev/null +++ b/_includes/sections/ios-addons.html @@ -0,0 +1,31 @@ +

    iOS Privacy Add-ons

    + +
    + +
    +
    + Passepartout +
    +
    +

    Use a VPN with Passepartout

    +

    Passepartout is a free, open-source, and user friendly OpenVPN app with presets for multiple providers (including Mullvad and ProtonVPN, two PrivacyTools recommended providers) and easy configurability.

    +
    +
    + +
    +
    + AdGuard +
    +
    +

    Block content in Safari with AdGuard for iOS

    +

    AdGuard for iOS is a free (and open-source) content-blocking app that allows you to set filters within Safari. As required by iOS, it uses the native Content Blocker API for even greater privacy.

    +
    +
    + +

    See also

    + + diff --git a/assets/img/png/3rd-party/adguard.png b/assets/img/png/3rd-party/adguard.png new file mode 100644 index 0000000000000000000000000000000000000000..029cb1f320cc1031d50d19691c6c93374242b3fe GIT binary patch literal 7320 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 Date: Thu, 15 Apr 2021 01:28:03 +0200 Subject: [PATCH 152/173] Arch Linux: Ensure correct link to reproducible builds (#2191) The CI system is a fuzzer for finding upstream and doesn't necessarily reflect the progress made in Arch. The CI are just checking out some files and builds them twice. The link moves this to our current rebuilder setup which reproduces distributed packages. --- _includes/sections/operating-systems.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/sections/operating-systems.html b/_includes/sections/operating-systems.html index cb30dec5..c3b1879d 100644 --- a/_includes/sections/operating-systems.html +++ b/_includes/sections/operating-systems.html @@ -45,7 +45,7 @@ image="/assets/img/svg/3rd-party/archlinux.svg" description='A simple, lightweight Linux distribution. It is composed predominantly of free and open-source software, and supports community involvement.' badges="info:Linux" - labels="color==success::link==https://tests.reproducible-builds.org/archlinux/archlinux.html::text==Reproducible builds" + labels="color==success::link==https://reproducible.archlinux.org::text==Reproducible builds" website="https://www.archlinux.org/" privacy-policy="https://wiki.archlinux.org/index.php/ArchWiki:Privacy_policy" gitlab="https://gitlab.archlinux.org" -- 2.47.2 From 6393fc80bb369baccb089ebaaa41043c0a1fa875 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 May 2021 03:21:36 +0000 Subject: [PATCH 153/173] Bump rexml from 3.2.4 to 3.2.5 (#2275) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 9caae865..d6586624 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -221,7 +221,7 @@ GEM rb-fsevent (0.10.4) rb-inotify (0.10.1) ffi (~> 1.0) - rexml (3.2.4) + rexml (3.2.5) rouge (3.23.0) ruby-enum (0.8.0) i18n -- 2.47.2 From 5a130e2f8ad79a29e4dc04094aa016347154830e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 May 2021 03:22:01 +0000 Subject: [PATCH 154/173] Bump nokogiri from 1.10.10 to 1.11.2 (#2243) --- Gemfile.lock | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index d6586624..b5724e2d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -203,21 +203,23 @@ GEM rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) mercenary (0.3.6) - mini_portile2 (2.4.0) + mini_portile2 (2.5.0) minima (2.5.1) jekyll (>= 3.5, < 5.0) jekyll-feed (~> 0.9) jekyll-seo-tag (~> 2.1) minitest (5.14.2) multipart-post (2.1.1) - nokogiri (1.10.10) - mini_portile2 (~> 2.4.0) + nokogiri (1.11.2) + mini_portile2 (~> 2.5.0) + racc (~> 1.4) octokit (4.19.0) faraday (>= 0.9) sawyer (~> 0.8.0, >= 0.5.3) pathutil (0.16.2) forwardable-extended (~> 2.6) public_suffix (3.1.1) + racc (1.5.2) rb-fsevent (0.10.4) rb-inotify (0.10.1) ffi (~> 1.0) -- 2.47.2 From 0a2611fef197413e0415bf9c35acbe1fa3e4abe2 Mon Sep 17 00:00:00 2001 From: Freddy Date: Tue, 4 May 2021 04:24:12 +0100 Subject: [PATCH 155/173] Update Matrix Room Links (#2196) --- pages/about/about.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/about/about.html b/pages/about/about.html index e826da2a..54d84c96 100644 --- a/pages/about/about.html +++ b/pages/about/about.html @@ -161,7 +161,7 @@ emeritus=true

    Open an issue on GitHub

    Suggest something new on our subreddit

    For complete transparency, software and providers will only be considered for this website after discussions take place on our GitHub issue tracker. We of course don't make any changes in secret.

    -

    Join our Matrix room at #general:privacytools.io to chat with us and other members about this site and privacy in general! If you need a Matrix account, you can sign up with our own homeserver (https://chat.privacytools.io) using Element.

    +

    Join our Matrix rooms at #lounge:privacytools.io to chat with us and other members, and #privacy:privacytools.io for privacy discussions in general! If you need a Matrix account, you can sign up with our own homeserver (https://chat.privacytools.io) using Element.

    You can also email the team at support@privacytools.io and find us on Twitter and Mastodon.

    -- 2.47.2 From e9d9e8fbf641870fea38b0af19a20cb339f58ac9 Mon Sep 17 00:00:00 2001 From: Sergey Musiyenko Date: Tue, 4 May 2021 05:25:05 +0200 Subject: [PATCH 156/173] remove: www.erfahrungen.com (#2250) Looks like it was taken over, all I see is just a bunch of ads on this website --- _includes/sections/privacy-resources.html | 1 - 1 file changed, 1 deletion(-) diff --git a/_includes/sections/privacy-resources.html b/_includes/sections/privacy-resources.html index d294f741..3f80dc94 100644 --- a/_includes/sections/privacy-resources.html +++ b/_includes/sections/privacy-resources.html @@ -15,7 +15,6 @@
    • Freedom of the Press Foundation - Supporting and defending journalism dedicated to transparency and accountability since 2012.
    • -
    • Erfahrungen.com - German review aggregator website of privacy-related services.
    • Open Wireless Movement - a coalition of Internet freedom advocates, companies, organizations, and technologists working to develop new wireless technologies and to inspire a movement of Internet openness.
    • privacy.net - What does the US government know about you?
    • r/privacytoolsIO Wiki - Our Wiki on reddit.com.
    • -- 2.47.2 From 216dd66aba35d64fff79e62ed317a7fa317bb8af Mon Sep 17 00:00:00 2001 From: "J. C" <73438877+1hiking@users.noreply.github.com> Date: Tue, 4 May 2021 03:33:03 +0000 Subject: [PATCH 157/173] Replace tags to and tags to (#2273) --- 404.html | 10 +-- _includes/badge.html | 8 +- _includes/breadcrumbs.html | 2 +- _includes/card.html | 4 +- _includes/cardv2.html | 84 +++++++++---------- _includes/footer.html | 16 ++-- _includes/sections/android-addons.html | 2 +- .../sections/android-operating-systems.html | 4 +- _includes/sections/browser-addons.html | 4 +- _includes/sections/browser-fingerprint.html | 6 +- .../sections/browser-recommendation.html | 6 +- _includes/sections/browser-tweaks.html | 2 +- _includes/sections/browser-webrtc.html | 6 +- .../sections/calendar-contacts-sync.html | 2 +- _includes/sections/cloud-storage.html | 2 +- _includes/sections/decentralized-video.html | 2 +- _includes/sections/dns.html | 14 ++-- _includes/sections/email-clients.html | 8 +- _includes/sections/email-providers.html | 24 ++++-- _includes/sections/email-warning.html | 2 +- _includes/sections/file-encryption.html | 2 +- _includes/sections/file-sharing.html | 2 +- _includes/sections/file-sync.html | 2 +- _includes/sections/fourteen-eyes.html | 2 +- _includes/sections/header.html | 2 +- _includes/sections/hosting-provider.html | 2 +- _includes/sections/instant-messenger.html | 8 +- _includes/sections/ios-addons.html | 2 +- _includes/sections/key-disclosure-law.html | 2 +- _includes/sections/notebooks.html | 2 +- _includes/sections/operating-systems.html | 4 +- .../other-mobile-operating-systems.html | 2 +- _includes/sections/participate.html | 2 +- _includes/sections/password-managers.html | 2 +- _includes/sections/paste-services.html | 2 +- _includes/sections/privacy-resources.html | 2 +- _includes/sections/productivity-tools.html | 4 +- _includes/sections/quotes.html | 2 +- _includes/sections/resources.html | 2 +- _includes/sections/router-firmware.html | 2 +- _includes/sections/search-engines.html | 2 +- .../sections/self-contained-networks.html | 2 +- _includes/sections/selfhosted-cloud.html | 2 +- _includes/sections/social-networks.html | 2 +- .../sections/social-news-aggregator.html | 2 +- _includes/sections/teamchat.html | 2 +- _includes/sections/tor-operating-systems.html | 2 +- _includes/sections/video-frontends.html | 2 +- _includes/sections/voice-video-messenger.html | 2 +- _includes/sections/vpn.html | 8 +- _includes/sections/warrant-canary.html | 2 +- _includes/sections/windows10.html | 2 +- _includes/team.html | 14 ++-- index.html | 2 +- pages/about/about.html | 12 +-- pages/donate.html | 16 ++-- pages/os.html | 2 +- pages/providers.html | 2 +- pages/providers/email.html | 12 +-- pages/providers/vpn.html | 6 +- pages/services/services.html | 16 ++-- pages/software/real-time-communication.html | 2 +- pages/sponsors.html | 8 +- 63 files changed, 195 insertions(+), 185 deletions(-) diff --git a/404.html b/404.html index 6e8e7276..bf23a26f 100644 --- a/404.html +++ b/404.html @@ -11,13 +11,13 @@ active_page: 404
    -

    If you believe you reached this page in error, please contact us!

    +

    If you believe you reached this page in error, please contact us!

    diff --git a/_includes/badge.html b/_includes/badge.html index f069d819..2a2738de 100644 --- a/_includes/badge.html +++ b/_includes/badge.html @@ -3,8 +3,8 @@ href="{{ include.link }}" class="badge badge-{{ include.color | default: "info" }}" {% if include.tooltip %} data-toggle="tooltip" - data-original-title="{{ include.tooltip }}"> {{ include.text }} -{% else %}> {{ include.text }}{% endif %} + data-original-title="{{ include.tooltip }}"> {{ include.text }} +{% else %}> {{ include.text }}{% endif %} {% else %} {{include.text}} + > {{include.text}} {% else %} - > {% if include.icon %}{% endif %} {{include.text}} + > {% if include.icon %}{% endif %} {{include.text}} {% endif %} {% endif %} diff --git a/_includes/breadcrumbs.html b/_includes/breadcrumbs.html index b744bb53..01f198db 100644 --- a/_includes/breadcrumbs.html +++ b/_includes/breadcrumbs.html @@ -2,7 +2,7 @@ {% assign crumbs = page.url | remove:'/index.html' | split: '/' %}
    main.js CC0-1.0-only
    popper.min.jsExpatExpat
    sortable.min.jsHobby Project NoDoT DoH, DoT Yes No No
    +
    -- 2.47.2 From e7cea2c68552ba357ac37e21e880c2419004071f Mon Sep 17 00:00:00 2001 From: L-M-H Date: Tue, 4 May 2021 05:46:24 +0200 Subject: [PATCH 160/173] Update 010-headers.conf (#2231) Changed from Feature-Policy to the new naming and buildup in Permissions-Policy --- nginx/010-headers.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nginx/010-headers.conf b/nginx/010-headers.conf index ec9153bb..ac70938c 100644 --- a/nginx/010-headers.conf +++ b/nginx/010-headers.conf @@ -8,4 +8,4 @@ add_header Alt-Svc 'h2="privacy2zbidut4m4jyj3ksdqidzkw3uoip2vhvhbvwxbqux5xy5obyd add_header Onion-Location http://www.privacy2zbidut4m4jyj3ksdqidzkw3uoip2vhvhbvwxbqux5xy5obyd.onion$request_uri always; add_header Expect-CT 'max-age=86400, enforce'; add_header Referrer-Policy "strict-origin"; -add_header Feature-Policy "geolocation none;midi none;notifications none;push none;sync-xhr none;microphone none;camera none;magnetometer none;gyroscope none;speaker self;vibrate none;fullscreen self;payment none;"; +add_header Permissions-Policy "accelerometer=(),ambient-light-sensor=(),geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=()"; -- 2.47.2 From 6b18243b024d3f33a6d1ee51d09359fa6a332734 Mon Sep 17 00:00:00 2001 From: Samuel Lucas <63159663+samuel-lucas6@users.noreply.github.com> Date: Tue, 4 May 2021 04:47:13 +0100 Subject: [PATCH 161/173] file-encryption.html: Update Kryptor website URL. (#2224) --- _includes/sections/file-encryption.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/sections/file-encryption.html b/_includes/sections/file-encryption.html index b358e44c..3c79a65a 100644 --- a/_includes/sections/file-encryption.html +++ b/_includes/sections/file-encryption.html @@ -60,7 +60,7 @@
  • Tomb - A simple zsh script for making LUKS containers on the commandline.
  • Hat.sh - A cross-platform, serverless JavaScript web application that provides secure file encryption using the AES-256-GCM algorithm in your browser. It can also be downloaded and run offline.
  • - Kryptor is a file encryption program for Windows, MacOS, and Linux. + Kryptor - Free and open source file encryption software for Windows, macOS, and Linux. {% include badge.html color="warning" icon="fas fa-exclamation-triangle" -- 2.47.2 From d0531f06cf1c77e951dc2e6130274c40fa15ccd9 Mon Sep 17 00:00:00 2001 From: Pilou Date: Tue, 4 May 2021 05:48:03 +0200 Subject: [PATCH 162/173] LibreDNS doesn't support DNSSEC (#2216) --- _includes/sections/dns.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/sections/dns.html b/_includes/sections/dns.html index 7131623b..7bf3e1b9 100644 --- a/_includes/sections/dns.html +++ b/_includes/sections/dns.html @@ -264,7 +264,7 @@ We also log how many times this or that tracker has been blocked. We need this i
  • - + - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - +
    main.js CC0-1.0-onlyNo DoH, DoTYesNo Yes -- 2.47.2 From 7f387eb07a8cef77b16ef0f82dec024916e09bcc Mon Sep 17 00:00:00 2001 From: Mikaela Suomalainen Date: Tue, 4 May 2021 06:50:26 +0300 Subject: [PATCH 163/173] DNS: mark Quad9 as Switzerland based (#2214) Resolves: #2212 https://quad9.net/news/blog/quad9-public-domain-name-service-moves-to-switzerland-for-maximum-internet-privacy-protection/ --- _includes/sections/dns.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_includes/sections/dns.html b/_includes/sections/dns.html index 7bf3e1b9..ba4c7ec9 100644 --- a/_includes/sections/dns.html +++ b/_includes/sections/dns.html @@ -415,8 +415,8 @@ We also log how many times this or that tracker has been blocked. We need this i Anycast (based in - - US) + + Switzerland) -- 2.47.2 From 1cdd251824e39247861b95436820f170bb672da6 Mon Sep 17 00:00:00 2001 From: Daniel Nathan Gray Date: Tue, 4 May 2021 04:22:50 +0000 Subject: [PATCH 164/173] Revert "Replace tags to and tags to (#2273)" (#2281) This reverts commit 216dd66aba35d64fff79e62ed317a7fa317bb8af. --- 404.html | 10 +-- _includes/badge.html | 8 +- _includes/breadcrumbs.html | 2 +- _includes/card.html | 4 +- _includes/cardv2.html | 84 +++++++++---------- _includes/footer.html | 16 ++-- _includes/sections/android-addons.html | 2 +- .../sections/android-operating-systems.html | 4 +- _includes/sections/browser-addons.html | 4 +- _includes/sections/browser-fingerprint.html | 6 +- .../sections/browser-recommendation.html | 6 +- _includes/sections/browser-tweaks.html | 2 +- _includes/sections/browser-webrtc.html | 6 +- .../sections/calendar-contacts-sync.html | 2 +- _includes/sections/cloud-storage.html | 2 +- _includes/sections/decentralized-video.html | 2 +- _includes/sections/dns.html | 14 ++-- _includes/sections/email-clients.html | 8 +- _includes/sections/email-providers.html | 24 ++---- _includes/sections/email-warning.html | 2 +- _includes/sections/file-encryption.html | 2 +- _includes/sections/file-sharing.html | 2 +- _includes/sections/file-sync.html | 2 +- _includes/sections/fourteen-eyes.html | 2 +- _includes/sections/header.html | 2 +- _includes/sections/hosting-provider.html | 2 +- _includes/sections/instant-messenger.html | 8 +- _includes/sections/ios-addons.html | 2 +- _includes/sections/key-disclosure-law.html | 2 +- _includes/sections/notebooks.html | 2 +- _includes/sections/operating-systems.html | 4 +- .../other-mobile-operating-systems.html | 2 +- _includes/sections/participate.html | 2 +- _includes/sections/password-managers.html | 2 +- _includes/sections/paste-services.html | 2 +- _includes/sections/privacy-resources.html | 2 +- _includes/sections/productivity-tools.html | 4 +- _includes/sections/quotes.html | 2 +- _includes/sections/resources.html | 2 +- _includes/sections/router-firmware.html | 2 +- _includes/sections/search-engines.html | 2 +- .../sections/self-contained-networks.html | 2 +- _includes/sections/selfhosted-cloud.html | 2 +- _includes/sections/social-networks.html | 2 +- .../sections/social-news-aggregator.html | 2 +- _includes/sections/teamchat.html | 2 +- _includes/sections/tor-operating-systems.html | 2 +- _includes/sections/video-frontends.html | 2 +- _includes/sections/voice-video-messenger.html | 2 +- _includes/sections/vpn.html | 8 +- _includes/sections/warrant-canary.html | 2 +- _includes/sections/windows10.html | 2 +- _includes/team.html | 14 ++-- index.html | 2 +- pages/about/about.html | 12 +-- pages/donate.html | 16 ++-- pages/os.html | 2 +- pages/providers.html | 2 +- pages/providers/email.html | 12 +-- pages/providers/vpn.html | 6 +- pages/services/services.html | 16 ++-- pages/software/real-time-communication.html | 2 +- pages/sponsors.html | 8 +- 63 files changed, 185 insertions(+), 195 deletions(-) diff --git a/404.html b/404.html index bf23a26f..6e8e7276 100644 --- a/404.html +++ b/404.html @@ -11,13 +11,13 @@ active_page: 404 -

    If you believe you reached this page in error, please contact us!

    +

    If you believe you reached this page in error, please contact us!

    diff --git a/_includes/badge.html b/_includes/badge.html index 2a2738de..f069d819 100644 --- a/_includes/badge.html +++ b/_includes/badge.html @@ -3,8 +3,8 @@ href="{{ include.link }}" class="badge badge-{{ include.color | default: "info" }}" {% if include.tooltip %} data-toggle="tooltip" - data-original-title="{{ include.tooltip }}"> {{ include.text }} -{% else %}> {{ include.text }}{% endif %} + data-original-title="{{ include.tooltip }}"> {{ include.text }} +{% else %}> {{ include.text }}{% endif %} {% else %} {{include.text}} + > {{include.text}} {% else %} - > {% if include.icon %}{% endif %} {{include.text}} + > {% if include.icon %}{% endif %} {{include.text}} {% endif %} {% endif %} diff --git a/_includes/breadcrumbs.html b/_includes/breadcrumbs.html index 01f198db..b744bb53 100644 --- a/_includes/breadcrumbs.html +++ b/_includes/breadcrumbs.html @@ -2,7 +2,7 @@ {% assign crumbs = page.url | remove:'/index.html' | split: '/' %}
    - LibreDNS - - - - Germany - - - - - - - - Informal collective - - NoDoH, DoTNoYes - - Based on server choice only for DoH - - - - - - - - Hetzner Online GmbH - -
    NextDNS @@ -317,61 +272,7 @@ We also log how many times this or that tracker has been blocked. We need this i ? Self
    - NixNet - - - Anycast (based in - - US), - - - - US, - - - - Luxembourg - - - - - - - - Informal collective - - NoDoH, DoTYesYes - - Based on server choice - - - - - - - - FranTech Solutions - -
    PowerDNS -- 2.47.2 From b8661944ee9f8fdd8c9f0ba2e31391e3cec522c3 Mon Sep 17 00:00:00 2001 From: Daniel Nathan Gray Date: Fri, 8 Oct 2021 09:41:28 +0000 Subject: [PATCH 173/173] PrivacyTools has become Privacy Guides (#2430) --- README.md | 58 +++++++++++++------------------------------------------ 1 file changed, 13 insertions(+), 45 deletions(-) diff --git a/README.md b/README.md index cacbb5bf..48b4cb3d 100644 --- a/README.md +++ b/README.md @@ -1,68 +1,36 @@
    - - PrivacyTools + + PrivacyTools

    Encryption Against Global Mass Surveillance.

    - - - - - -
    # Contributing -It's important for a website like PrivacyTools to be up-to-date. Keep an eye on software updates of the applications listed here. Follow recent news about providers that are recommended. We try our best to keep up but we're not perfect and the internet is changing fast. So if you find an error, or you think a provider should not be listed here, or a qualified service provider is missing or a browser plugin is not the best choice anymore or anything else... +## This project is archived. -**Talk to us!** If you want to help make privacytools.io the best website it can be, join our Matrix discussion chat at [`#dev:privacytools.io`](https://matrix.to/#/#dev:privacytools.io), where we talk about open issues and PRs in this repo, and changes to the site. You may submit any website suggestions here on GitHub [Issues](https://github.com/privacytools/privacytools.io/issues). Please refer to the [contribution guidelines](.github/CONTRIBUTING.md) and consider stopping by our chat room before submitting. Thank you. +See our [Welcome to Privacy Guides](https://www.privacyguides.org/blog/2021/09/14/welcome-to-privacy-guides) post for more information. Our project has now moved on to [Privacy Guides](https://privacyguides.org). -If you want to discuss privacy in general, a new tool, or just something else, feel free to join [our Discourse community](https://forum.privacytools.io/) or our general Matrix room at [`#general:privacytools.io`](https://matrix.to/#/#general:privacytools.io) and start a discussion! This is a community project and we're aiming to deliver the best information available. Thank you for participating. +It's important for a website on privacy to be up-to-date. Keep an eye on software updates of the applications listed [here](https://github.com/privacyguides/). Follow recent news about providers that are recommended. We try our best to keep up but we're not perfect and the internet is changing fast. So if you find an error, or you think a provider should not be listed, or a qualified service provider is missing or a browser plugin is not the best choice anymore or anything else, feel free to open a [discussion](https://github.com/privacyguides/privacyguides.org/discussions) or [issue](https://github.com/privacyguides/privacyguides.org/issues) to correct errors. -## Developing +**Talk to us!** If you want to help join our lounge chat at [`#lounge:privacyguides.org`](https://matrix.to/#/#lounge:privacyguides.org), or for our on-topic privacy discussion room [`#main:privacyguides.org`](https://matrix.to/#/#main:privacyguides.org). -1. Install the latest stable version of [Ruby](https://www.ruby-lang.org/en/downloads/). -1. Install [Bundler](https://bundler.io/) v2.0.1: - * `gem install bundler -v 2.0.1` -1. Install the required dependencies: - * `bundle install` -1. Build the website (the output can be found in the `_site` directory): - * `bundle exec jekyll build` -1. Serve the website locally with live reloading: - * `bundle exec jekyll serve --incremental --livereload` +# Support PrivacyGuides -# Support - -- [Donate](https://www.privacytools.io/sponsors/) -- [Spread the word](https://www.privacytools.io/#participate) -- [Join our Discourse community](https://forum.privacytools.io/) -- [Make suggestions on reddit](https://www.reddit.com/r/privacytoolsIO/) +- [Donate](https://opencollective.com/privacyguides) +- [Our reddit community](https://www.reddit.com/r/privacyguides/) - View and edit our website source code here on GitHub. ## Backers -Like what we're doing? [Become a backer](https://opencollective.com/privacytools) and show your support for our project. +Like what we're doing? [Become a backer](https://opencollective.com/privacyguides) and show your support for our project. - - opencollective.com + + opencollective.com -## Sponsors - -Are you working with a privacy focused company? Ask your manager or marketing team if your company would be interested in supporting our project. Your support will help us continue to develop this website, promote privacy-respecting tools and services, and reach out to thousands of data privacy newcomers every month. Also, your company's logo will show on GitHub and [our site](https://www.privacytools.io/sponsors/), and who doesn't like a little extra exposure? - -## Community Translations -- [繁体中文 / Chinese](https://privacytools.twngo.xyz/) - [GitHub](https://github.com/twngo/privacytools-zh) -- [Español / Spanish](https://victorhck.gitlab.io/privacytools-es/) - [GitLab](https://gitlab.com/victorhck/privacytools-es) -- [Polski / Polish](https://pl.privacytools.io) - [Gitea](https://git.privacytools.io/pl-privacytoolsIO/pl.privacytools.io) -- [Deutsch / German](https://privacytools.it-sec.rocks/) - [GitHub](https://github.com/Anon215/privacytools.it-sec.rocks) -- [Français / French](https://privacytools.dreads-unlock.fr/) - [GitLab](https://gitlab.com/Booteille/privacytools) -- [Italiano / Italian](https://privacytools-it.github.io/) - [GitHub](https://github.com/privacytools-it/privacytools-it.github.io) -- [Русский / Russian](https://privacytools.ru) - [GitHub](https://github.com/c0rdis/privacytools.ru) -- [Português / Portuguese](https://www.privacidade.digital/) - [GitHub](https://github.com/PrivacidadeDigital/privacidade.digital) - # License & Notices -Please visit [https://www.privacytools.io/notices/](https://www.privacytools.io/notices/) for license information and other disclaimers. PrivacyTools is provided on an "as-is" basis, without warranty, and disclaiming liability for damages. By contributing to this repository you agree to license your work under the terms of the [license](https://github.com/privacytools/privacytools.io/blob/master/LICENSE.txt) in this repository. +PrivacyTools was provided on an "as-is" basis, without warranty, and disclaiming liability for damages. The project was licensed under these terms [license](https://github.com/privacytools/privacytools.io/blob/master/LICENSE.txt). -- 2.47.2