Compare commits
21 Commits
cdn
...
add-beauti
Author | SHA1 | Date | |
---|---|---|---|
c7937a241a | |||
543099e914 | |||
869833c79b | |||
271cee8bca | |||
3e63b62881 | |||
d01b88520a | |||
4c44a3c510 | |||
81a0fd91c2 | |||
0183c0f4f5 | |||
491d2f9eb0 | |||
2a96893aca | |||
635152fbb1 | |||
e18870916a | |||
ecc215531e | |||
af9ea5c286 | |||
69125a052f | |||
dd35fd643a | |||
38d5f9254f | |||
c9f9cf255b | |||
9b4f84d96c | |||
de91049200 |
95
.gitignore
vendored
95
.gitignore
vendored
@ -3,3 +3,98 @@ Gemfile
|
||||
Gemfile.lock
|
||||
.sass-cache/
|
||||
.DS_Store
|
||||
|
||||
# Created by https://www.gitignore.io/api/node
|
||||
# Edit at https://www.gitignore.io/?templates=node
|
||||
|
||||
### Node ###
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
lerna-debug.log*
|
||||
|
||||
# Diagnostic reports (https://nodejs.org/api/report.html)
|
||||
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
||||
|
||||
# Runtime data
|
||||
pids
|
||||
*.pid
|
||||
*.seed
|
||||
*.pid.lock
|
||||
|
||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||
lib-cov
|
||||
|
||||
# Coverage directory used by tools like istanbul
|
||||
coverage
|
||||
*.lcov
|
||||
|
||||
# nyc test coverage
|
||||
.nyc_output
|
||||
|
||||
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
||||
.grunt
|
||||
|
||||
# Bower dependency directory (https://bower.io/)
|
||||
bower_components
|
||||
|
||||
# node-waf configuration
|
||||
.lock-wscript
|
||||
|
||||
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||
build/Release
|
||||
|
||||
# Dependency directories
|
||||
node_modules/
|
||||
jspm_packages/
|
||||
|
||||
# TypeScript v1 declaration files
|
||||
typings/
|
||||
|
||||
# TypeScript cache
|
||||
*.tsbuildinfo
|
||||
|
||||
# Optional npm cache directory
|
||||
.npm
|
||||
|
||||
# Optional eslint cache
|
||||
.eslintcache
|
||||
|
||||
# Optional REPL history
|
||||
.node_repl_history
|
||||
|
||||
# Output of 'npm pack'
|
||||
*.tgz
|
||||
|
||||
# Yarn Integrity file
|
||||
.yarn-integrity
|
||||
|
||||
# dotenv environment variables file
|
||||
.env
|
||||
.env.test
|
||||
|
||||
# parcel-bundler cache (https://parceljs.org/)
|
||||
.cache
|
||||
|
||||
# next.js build output
|
||||
.next
|
||||
|
||||
# nuxt.js build output
|
||||
.nuxt
|
||||
|
||||
# vuepress build output
|
||||
.vuepress/dist
|
||||
|
||||
# Serverless directories
|
||||
.serverless/
|
||||
|
||||
# FuseBox cache
|
||||
.fusebox/
|
||||
|
||||
# DynamoDB Local files
|
||||
.dynamodb/
|
||||
|
||||
# End of https://www.gitignore.io/api/node
|
||||
|
6
.jsbeautifyrc
Normal file
6
.jsbeautifyrc
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"html": {
|
||||
"indent_with_tabs": true,
|
||||
"indent_handlebars": true
|
||||
}
|
||||
}
|
3
.lintstagedrc
Normal file
3
.lintstagedrc
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"*.html": "bin/html-beautify-check.sh"
|
||||
}
|
24
.travis.yml
24
.travis.yml
@ -1,11 +1,19 @@
|
||||
language: ruby
|
||||
rvm:
|
||||
- 2.4.1
|
||||
matrix:
|
||||
include:
|
||||
- language: ruby
|
||||
rvm: 2.4.1
|
||||
|
||||
# Assume bundler is being used, therefore
|
||||
# the `install` step will run `bundle install` by default.
|
||||
script: ./build.sh
|
||||
# Assume bundler is being used, therefore
|
||||
# the `install` step will run `bundle install` by default.
|
||||
script: ./bin/build.sh
|
||||
|
||||
sudo: false # route your build to the container-based infrastructure for a faster build
|
||||
sudo: false # route your build to the container-based infrastructure for a faster build
|
||||
|
||||
cache: bundler # caching bundler gem packages will speed up build
|
||||
cache: bundler # caching bundler gem packages will speed up build
|
||||
|
||||
- language: node_js
|
||||
node_js: v12.7.0
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
script: npm run format-test:html
|
10
README.md
10
README.md
@ -15,9 +15,13 @@ You can submit your suggestions here on GitHub [(Issues)](https://github.com/pri
|
||||
## Building
|
||||
|
||||
1. Install [Ruby](https://www.ruby-lang.org/en/documentation/installation/)
|
||||
1. Install [bundler](https://bundler.io/) by running `gem install bundler`.
|
||||
1. Run `bundle install` to install the required dependencies.
|
||||
1. Use `bundle exec jekyll build` to build the website. The output can be found in the `_site` directory. Live preview is also possible by running `bundle exec jekyll serve`
|
||||
1. Run `gem install bundler` to install [bundler](https://bundler.io/).
|
||||
1. Run `bundle install` to install the required Ruby dependencies.
|
||||
1. Install [Node.js](https://nodejs.org/).
|
||||
1. Run `npm install` to install the required Node dependencies.
|
||||
1. Use `npm run build` to build the website. The output can be found in the `_site` directory.
|
||||
1. Use `npm run serve` for a live preview of the website.
|
||||
1. Use `npm run format:html` to format the HTML source code.
|
||||
|
||||
# Support privacytools.io
|
||||
|
||||
|
@ -17,8 +17,7 @@
|
||||
{% assign text = label_data[1] %}
|
||||
{% assign tooltip = label_data[2] | default: "" %}
|
||||
{% assign help_icon = '<i class="far fa-question-circle"></i>' %}
|
||||
<span class="badge badge-{{color}}" {% if tooltip %} data-toggle="tooltip" title="{{ tooltip }}">{{text}} {{ help_icon
|
||||
}}
|
||||
<span class="badge badge-{{color}}" {% if tooltip %} data-toggle="tooltip" title="{{ tooltip }}">{{text}} {{ help_icon }}
|
||||
{% else %}
|
||||
>{{text}}
|
||||
{% endif %}
|
||||
@ -71,4 +70,4 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -21,7 +21,7 @@
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="{{ page.permalink | prepend: site.url }}" />
|
||||
<meta property="og:image" content="https://www.privacytools.io/assets/img/layout/ogimage.jpg" />
|
||||
<meta property="og:description" content="{% if page.description %}{{ page.description }}{% else %}{{ site.description }}{% endif %}"/>
|
||||
<meta property="og:description" content="{% if page.description %}{{ page.description }}{% else %}{{ site.description }}{% endif %}" />
|
||||
<meta property="og:locale" content="en_GB" />
|
||||
<meta property="og:site_name" content="privacytools.io" />
|
||||
|
||||
|
@ -11,4 +11,4 @@
|
||||
{{include.body}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -3,11 +3,11 @@
|
||||
<script src="/assets/js/bootstrap.min.js?v=4"></script>
|
||||
<script src="/assets/js/sortable.min.js?v=4"></script>
|
||||
<script>
|
||||
$(function () {
|
||||
$(function() {
|
||||
$("[data-toggle='tooltip']").tooltip();
|
||||
});
|
||||
|
||||
$('.navbar a').not(".dropdown-toggle").click(function (e) {
|
||||
$('.navbar a').not(".dropdown-toggle").click(function(e) {
|
||||
if ($(".navbar-toggler").is(":visible")) {
|
||||
$('.navbar-collapse').collapse('toggle');
|
||||
}
|
||||
@ -27,11 +27,17 @@
|
||||
_paq.push(['trackPageView']);
|
||||
_paq.push(['enableLinkTracking']);
|
||||
(function() {
|
||||
var u="https://stats.privacytools.io/";
|
||||
_paq.push(['setTrackerUrl', u+'matomo.php']);
|
||||
var u = "https://stats.privacytools.io/";
|
||||
_paq.push(['setTrackerUrl', u + 'matomo.php']);
|
||||
_paq.push(['setSiteId', '1']);
|
||||
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
||||
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
|
||||
var d = document,
|
||||
g = d.createElement('script'),
|
||||
s = d.getElementsByTagName('script')[0];
|
||||
g.type = 'text/javascript';
|
||||
g.async = true;
|
||||
g.defer = true;
|
||||
g.src = u + 'matomo.js';
|
||||
s.parentNode.insertBefore(g, s);
|
||||
})();
|
||||
</script>
|
||||
<noscript><img src="https://stats.privacytools.io/matomo.php?idsite=1&rec=1" style="border:0" alt=""/></noscript>
|
||||
<noscript><img src="https://stats.privacytools.io/matomo.php?idsite=1&rec=1" style="border:0" alt="" /></noscript>
|
@ -9,9 +9,9 @@
|
||||
<p>When you visit a web page, your browser voluntarily sends information about its configuration, such as available fonts, browser type, and add-ons. If this combination of information is unique, it may be possible to identify and track you without using cookies. EFF created a Tool called <a href="https://panopticlick.eff.org/">Panopticlick</a> to test your browser to see how unique it is.</p>
|
||||
|
||||
<p>
|
||||
<a class="btn btn-warning" href="https://panopticlick.eff.org/">
|
||||
<a class="btn btn-warning" href="https://panopticlick.eff.org/">
|
||||
Test your Browser now
|
||||
</a>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p>You need to find what <strong>most browsers</strong> are reporting, and then use those variables to bring your browser in the same population. This means having the same fonts, plugins, and extensions installed as the large installed base. You should have a <a href="https://addons.mozilla.org/firefox/addon/uaswitcher/">spoofed user agent string</a> to match what the large userbase has. You need to have the same settings enabled and disabled, such as DNT and WebGL. You need your browser to look as common as everyone else. Disabling JavaScript, using Linux, or even the TBB, will make your browser stick out from the masses.</p>
|
||||
|
@ -7,7 +7,7 @@
|
||||
<p>While software like NoScript prevents this, it's probably a good idea to block this protocol directly as well, just to be safe.</p>
|
||||
|
||||
<p>
|
||||
<a class="btn btn-warning" target="_blank" rel="noopener noreferrer" href="https://ipleak.net">Test your Browser now</a>
|
||||
<a class="btn btn-warning" target="_blank" rel="noopener noreferrer" href="https://ipleak.net">Test your Browser now</a>
|
||||
</p>
|
||||
|
||||
<h3>How to disable WebRTC in Firefox?</h3>
|
||||
@ -35,7 +35,7 @@
|
||||
<p>Now you can be 100% sure WebRTC is disabled.</p>
|
||||
|
||||
<p>
|
||||
<a class="btn btn-primary" target="_blank" rel="noopener noreferrer" href="https://ipleak.net">Test your Browser again</a>
|
||||
<a class="btn btn-primary" target="_blank" rel="noopener noreferrer" href="https://ipleak.net">Test your Browser again</a>
|
||||
</p>
|
||||
|
||||
<h3>How to fix the WebRTC Leak in Google Chrome?</h3>
|
||||
|
@ -39,4 +39,4 @@ github="https://github.com/jedisct1/dnscrypt-proxy"
|
||||
<li><a href="https://blahdns.com/">BlahDNS</a> - A small hobby ad-blocking DNS project with DoH, DoT, and DNSCrypt support. Servers located in Switzerland, Japan, and Germany. <span class="badge badge-warning" data-toggle="tooltip" title="'Use at your own risk.', uses Cloudflare">Warnings <i class="far fa-question-circle"></i></a></span></li>
|
||||
<li><a href="https://powerdns.org/">PowerDNS</a> - A best effort DoH service. Servers located in the Netherlands.</li>
|
||||
<li><a href="https://quad9.net/">Quad9 DNS</a> - A non-profit, anycast DNS provider founded by <a href="https://www-03.ibm.com/press/us/en/pressrelease/53388.wss">IBM</a>, <a href="https://www.pch.net/">PCH</a>, and <a href=https://www.globalcyberalliance.org/quad9/"">Global Cyber Alliance</a>. Provides malicious domain filtering and supports DoH, DoT, and DNSCrypt. <span class="badge badge-warning" data-toggle="tooltip" title="Founders of Global Cyber Alliance include: City of London Police & Manhattan District Attorney's Office">Warnings <i class="far fa-question-circle"></i></a></span></li>
|
||||
</ul>
|
||||
</ul>
|
@ -93,7 +93,7 @@
|
||||
|
||||
</td>
|
||||
<td>
|
||||
<a data-toggle="tooltip" data-placement="bottom" data-original-title="https://mailbox.org" href="https://mailbox.org"><img alt="WWW" src="/assets/img/layout/www.png" width="35 "height="35"></a>
|
||||
<a data-toggle="tooltip" data-placement="bottom" data-original-title="https://mailbox.org" href="https://mailbox.org"><img alt="WWW" src="/assets/img/layout/www.png" width="35 " height="35"></a>
|
||||
</td>
|
||||
<td data-value="2014">2014</td>
|
||||
<td><span class="flag-icon flag-icon-de"></span> Germany</td>
|
||||
@ -194,10 +194,11 @@
|
||||
<ul>
|
||||
<li><a href="https://www.confidantmail.org/">Confidant Mail</a> - An open-source non-SMTP cryptographic email system optimized for large file attachments. It is a secure and spam-resistant alternative to regular email and online file drop services. It
|
||||
uses <a href="https://theprivacyguide.org/tutorials/gpg.html">GNU Privacy Guard (GPG)</a> for content encryption and authentication, and TLS 1.2 with ephemeral keys for transport encryption.</li>
|
||||
</ul> <h3>Become Your Own Email Provider with Mail-in-a-Box</h3>
|
||||
</ul>
|
||||
<h3>Become Your Own Email Provider with Mail-in-a-Box</h3>
|
||||
<a href="https://mailinabox.email/"><img src="/assets/img/provider/Mail-in-a-Box.png" width="200" height="70" class="img-fluid float-left" alt="Mail-in-a-Box" style="margin-right:10px;"></a>
|
||||
<p>Take it a step further and get control of your email with this easy-to-deploy mail server in a box. Mail-in-a-Box lets you become your own mail service provider in a few easy steps. It's sort of like making your own Gmail, but one you control from top
|
||||
to bottom. Technically, Mail-in-a-Box turns a fresh cloud computer into a working mail server. But you don't need to be a technology expert to set it up. <strong>More: <a href="https://mailinabox.email/">https://mailinabox.email/</a></strong></p>
|
||||
to bottom. Technically, Mail-in-a-Box turns a fresh cloud computer into a working mail server. But you don't need to be a technology expert to set it up. <strong>More: <a href="https://mailinabox.email/">https://mailinabox.email/</a></strong></p>
|
||||
|
||||
<h3>Related Information</h3>
|
||||
|
||||
|
@ -4,10 +4,10 @@
|
||||
</div>
|
||||
|
||||
<form method="POST" action="https://search.privacytools.io/" id="search_form" role="search">
|
||||
<div class="input-group col-12 col-md-8 offset-md-2">
|
||||
<input type="search" name="q" class="form-control input-lg" id="q" placeholder="Try search.privacytools.io, a Privacy-Respecting Search Engine" autocomplete="off" value="">
|
||||
<span class="input-group-btn">
|
||||
<button type="submit" class="btn btn-primary input-lg"><span class="hide_if_nojs"><i class="fas fa-search"></i> </span><span class="hidden active_if_nojs">start search</span></button>
|
||||
</span>
|
||||
</div>
|
||||
<div class="input-group col-12 col-md-8 offset-md-2">
|
||||
<input type="search" name="q" class="form-control input-lg" id="q" placeholder="Try search.privacytools.io, a Privacy-Respecting Search Engine" autocomplete="off" value="">
|
||||
<span class="input-group-btn">
|
||||
<button type="submit" class="btn btn-primary input-lg"><span class="hide_if_nojs"><i class="fas fa-search"></i> </span><span class="hidden active_if_nojs">start search</span></button>
|
||||
</span>
|
||||
</div>
|
||||
</form>
|
@ -4,7 +4,6 @@
|
||||
<strong>If you are currently using an Instant Messenger like LINE, Telegram, Viber, <a href="https://www.eff.org/deeplinks/2016/10/where-whatsapp-went-wrong-effs-four-biggest-security-concerns">WhatsApp</a>, or plain SMS messages you should pick an alternative here.</strong>
|
||||
</div>
|
||||
|
||||
|
||||
{% include cardv2.html
|
||||
title="Signal"
|
||||
image="/assets/img/tools/Signal.png"
|
||||
@ -20,7 +19,6 @@ windows=""
|
||||
linux=""
|
||||
%}
|
||||
|
||||
|
||||
{% include cardv2.html
|
||||
title="Wire"
|
||||
image="/assets/img/tools/wire.png"
|
||||
|
@ -2,7 +2,8 @@
|
||||
|
||||
<h3>Who is required to hand over the encryption keys to authorities?</h3>
|
||||
|
||||
<p>Mandatory <a href="https://en.wikipedia.org/wiki/Key_disclosure_law">key disclosure laws</a> require individuals to turn over encryption keys to law enforcement conducting a criminal investigation. How these laws are implemented (who may be legally compelled to assist) vary from nation to nation, but a warrant is generally required. Defenses against key disclosure laws include steganography and encrypting data in a way that provides plausible deniability.</p> <p><a href="https://en.wikipedia.org/wiki/Steganography">Steganography</a> involves hiding sensitive information (which may be encrypted) inside of ordinary data (for example, encrypting an image file and then hiding it in an audio file). With plausible deniability, data is encrypted in a way that prevents an adversary from being able to prove that the information they are after exists (for example, one password may decrypt benign data and another password, used on the same file, could decrypt sensitive data).</p>
|
||||
<p>Mandatory <a href="https://en.wikipedia.org/wiki/Key_disclosure_law">key disclosure laws</a> require individuals to turn over encryption keys to law enforcement conducting a criminal investigation. How these laws are implemented (who may be legally compelled to assist) vary from nation to nation, but a warrant is generally required. Defenses against key disclosure laws include steganography and encrypting data in a way that provides plausible deniability.</p>
|
||||
<p><a href="https://en.wikipedia.org/wiki/Steganography">Steganography</a> involves hiding sensitive information (which may be encrypted) inside of ordinary data (for example, encrypting an image file and then hiding it in an audio file). With plausible deniability, data is encrypted in a way that prevents an adversary from being able to prove that the information they are after exists (for example, one password may decrypt benign data and another password, used on the same file, could decrypt sensitive data).</p>
|
||||
|
||||
<div class="row mb-2">
|
||||
|
||||
@ -72,7 +73,7 @@
|
||||
<p>Services based in the United States are not recommended because of the country's surveillance programs, use of <a href="https://www.eff.org/issues/national-security-letters/faq">National Security Letters</a> (NSLs) and accompanying gag orders, which forbid the recipient from talking about the request. This combination allows the government to <a href="https://www.schneier.com/blog/archives/2013/08/more_on_the_nsa.html">secretly force</a> companies to grant complete access to customer data and transform the service into a tool of mass surveillance.</p>
|
||||
|
||||
<p>An example of this is <a href="https://en.wikipedia.org/wiki/Lavabit#Suspension_and_gag_order">Lavabit</a> – a secure email service created by Ladar Levison. The FBI <a href="https://www.vice.com/en_us/article/nzz888/lavabit-founder-ladar-levison-discusses-his-federal-battle-for-privacy">requested</a> Snowden's records after finding out that he used the service. Since Lavabit did not keep logs and email content was stored encrypted, the FBI served a subpoena (with a gag order) for the service's SSL keys. Having the SSL keys would allow them to access
|
||||
communications (both metadata and unencrypted content) in real time for all of Lavabit's customers, not just Snowden's.</p>
|
||||
communications (both metadata and unencrypted content) in real time for all of Lavabit's customers, not just Snowden's.</p>
|
||||
|
||||
<p>Ultimately, Levison turned over the SSL keys and <a href="https://www.theguardian.com/commentisfree/2014/may/20/why-did-lavabit-shut-down-snowden-email">shut down</a> the service at the same time. The US government then <a href="https://www.cnbc.com/id/100962389">threatened Levison with arrest</a>, saying that shutting down the service was a violation of the court order.</p>
|
||||
|
||||
|
@ -23,6 +23,7 @@
|
||||
description='KeePass is a free open source password manager, which helps you to manage your passwords in a secure way. All passwords in one database, which is locked with one
|
||||
master key or a key file. The databases are encrypted using the best and most secure encryption algorithms currently known: AES and Twofish. See also: <a href="https://keepassxc.org/">KeePassXC</a> with official native cross-platform support for Windows/macOS/Linux.'
|
||||
%}
|
||||
|
||||
{% include card.html color="warning"
|
||||
title="LessPass - Browser"
|
||||
image="/assets/img/tools/LessPass.png"
|
||||
|
@ -204,7 +204,7 @@
|
||||
|
||||
<tr>
|
||||
<td data-value="ProtonVPN">
|
||||
<a href="https://protonvpn.com/"><img alt="ProtonVPN" src="/assets/img/provider/ProtonVPN.png" width="200" height="70"></a >
|
||||
<a href="https://protonvpn.com/"><img alt="ProtonVPN" src="/assets/img/provider/ProtonVPN.png" width="200" height="70"></a>
|
||||
</td>
|
||||
<td>
|
||||
<a data-toggle="tooltip" data-placement="bottom" data-original-title="https://protonvpn.com/" href="https://protonvpn.com/"><img alt="WWW" src="/assets/img/layout/www.png" width="35" height="35"></a>
|
||||
|
@ -1,6 +1,7 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
{% include head.html %}
|
||||
|
||||
<body data-spy="scroll" data-target="#navbar">
|
||||
<header>
|
||||
{% include nav.html %}
|
||||
@ -9,4 +10,5 @@
|
||||
{{ content }}
|
||||
{% include scripts.html %}
|
||||
</body>
|
||||
|
||||
</html>
|
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e # halt script on error
|
||||
|
||||
bundle exec jekyll build
|
13
bin/get-html-ls.js
Normal file
13
bin/get-html-ls.js
Normal file
@ -0,0 +1,13 @@
|
||||
const glob = require('glob');
|
||||
const pattern = '**/*.html';
|
||||
const options = {
|
||||
'ignore': [
|
||||
'_site/**/*.html',
|
||||
'node_modules/**/*.html'
|
||||
]
|
||||
};
|
||||
|
||||
glob(pattern, options, (error, files) => {
|
||||
if (error) throw error;
|
||||
process.stdout.write(files.join('\n') + '\n');
|
||||
});
|
22
bin/html-beautify-check.sh
Executable file
22
bin/html-beautify-check.sh
Executable file
@ -0,0 +1,22 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Runs html-beautify's format check and errors with 0/1 if it needs to be changed.
|
||||
APPDIR=$(readlink -f $(dirname $(dirname $0)))
|
||||
TMPDIR=$(mktemp -d)
|
||||
cd $APPDIR
|
||||
|
||||
for line in $*; do
|
||||
filepath=$(readlink -f $line)
|
||||
file=${filepath/$APPDIR\//}
|
||||
mkdir -p $TMPDIR/$(dirname $file)
|
||||
cp $APPDIR/$file $TMPDIR/$file
|
||||
done
|
||||
|
||||
message=$(find $TMPDIR -type f | xargs node_modules/.bin/html-beautify -r | grep -v unchanged || true)
|
||||
if [[ $message ]]; then
|
||||
echo "$message" | sed "s#$TMPDIR##g" | sed "s#\.\.\/##g"
|
||||
rm -rf $TMPDIR
|
||||
exit 1
|
||||
fi
|
||||
|
||||
rm -rf $TMPDIR
|
@ -85,7 +85,7 @@ permalink: /donate/
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-12 col-lg-8 offset-lg-2 text-right">
|
||||
<div class="col-md-12 col-lg-8 offset-lg-2 text-right">
|
||||
|
||||
<div class="form-group row">
|
||||
<label for="BAT" class="col-sm-4 col-form-label"><strong>Brave BAT</strong></label>
|
||||
|
1614
package-lock.json
generated
Normal file
1614
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
28
package.json
Normal file
28
package.json
Normal file
@ -0,0 +1,28 @@
|
||||
{
|
||||
"name": "privacytools.io",
|
||||
"version": "1.0.0",
|
||||
"devDependencies": {
|
||||
"glob": "^7.1.4",
|
||||
"husky": "^3.0.2",
|
||||
"js-beautify": "^1.10.1",
|
||||
"lint-staged": "^9.2.1"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "bundle exec jekyll build",
|
||||
"serve": "bundle exec jekyll serve",
|
||||
"format:html": "node bin/get-html-ls.js | xargs node_modules/.bin/html-beautify -r",
|
||||
"format-test:html": "node bin/get-html-ls.js | xargs bash ./bin/html-beautify-check.sh"
|
||||
},
|
||||
"husky": {
|
||||
"hooks": {
|
||||
"pre-commit": "node_modules/.bin/lint-staged"
|
||||
}
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/privacytoolsIO/privacytools.io.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/privacytoolsIO/privacytools.io/issues"
|
||||
}
|
||||
}
|
@ -58,6 +58,7 @@ description: "Find a no-logging VPN operator who isn't out to sell or read your
|
||||
<li><a href="https://write.privacytools.io/my-thoughts-on-security/slicing-onions-part-1-myth-busting-tor">Slicing Onions: Part 1 – Myth-busting Tor</a> by blacklight447</li>
|
||||
<li><a href="https://write.privacytools.io/my-thoughts-on-security/slicing-onions-part-2-onion-recipes-vpn-not-required">Slicing Onions: Part 2 – Onion recipes; VPN not required</a> by blacklight447</li>
|
||||
</ol>
|
||||
<p>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -5,81 +5,78 @@ title: "Privacy Policy"
|
||||
description: "This Privacy Policy explains what information privacytoolsIO and its related entities collect about its users, what we do with that information, and how we handle the content you place in our products and services."
|
||||
---
|
||||
|
||||
<h2>Scope of Privacy Policy</h2>
|
||||
<h2>Scope of Privacy Policy</h2>
|
||||
|
||||
<p>This Privacy Policy applies to the information that we obtain through your use of privacytoolsIO's services via a Device
|
||||
<p>This Privacy Policy applies to the information that we obtain through your use of privacytoolsIO's services via a Device
|
||||
or when you otherwise interact with privacytoolsIO's official web services.</p>
|
||||
<p>privacytoolsIO services include our:</p>
|
||||
<ul>
|
||||
<p>privacytoolsIO services include our:</p>
|
||||
<ul>
|
||||
<li>Websites (privacytools.io and subdomains *.privacytools.io)</li>
|
||||
</ul>
|
||||
<p>but does not include:</p>
|
||||
<ul>
|
||||
</ul>
|
||||
<p>but does not include:</p>
|
||||
<ul>
|
||||
<li>Products or services for which a separate privacy policy is provided.</li>
|
||||
<li>Third Party Products. These are third party products or services that you may discover on our website or other official services we offer.
|
||||
privacytoolsIO cannot guarantee your privacy outside of websites under our control. You should always review the policies of third party products
|
||||
and services to make sure you are comfortable with the ways in which they collect and use your information.</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
<h2>Website Visitors</h2>
|
||||
<p>Like most website operators, privacytoolsIO collects non-personally-identifying information of the sort that web browsers and servers typically make available,
|
||||
<h2>Website Visitors</h2>
|
||||
<p>Like most website operators, privacytoolsIO collects non-personally-identifying information of the sort that web browsers and servers typically make available,
|
||||
such as the browser type, language preference, referring site, and the date and time of each visitor request. privacytoolsIO's purpose in collecting
|
||||
non-personally identifying information is to better understand how its visitors use its website and related services.
|
||||
From time to time, privacytoolsIO may release non-personally-identifying information in the aggregate, e.g.,
|
||||
by publishing a report on trends in the usage of its website.</p>
|
||||
|
||||
<p>privacytoolsIO collects anonymized IP addresses in this form: 192.xxx.xxx.xxx for self-hosted Matomo statistics software.
|
||||
<p>privacytoolsIO collects anonymized IP addresses in this form: 192.xxx.xxx.xxx for self-hosted Matomo statistics software.
|
||||
privacytoolsIO does not use such information to identify its visitors, however, and does not disclose such information,
|
||||
other than under the same circumstances that it uses and discloses personally-identifying information, as described below.</p>
|
||||
|
||||
<h2>Opting Out of Website Tracking</h2>
|
||||
<h2>Opting Out of Website Tracking</h2>
|
||||
|
||||
<p>privacytoolsIO uses a self-hosted Matomo install to track visitor data. You can opt out entirely using the form below. This form may not function correctly with
|
||||
<p>privacytoolsIO uses a self-hosted Matomo install to track visitor data. You can opt out entirely using the form below. This form may not function correctly with
|
||||
an ad blocker enabled.</p>
|
||||
|
||||
<iframe
|
||||
style="border: 1; height: 120px; width: 100%;"
|
||||
src="https://stats.privacytools.io/index.php?module=CoreAdminHome&action=optOut&language=en&backgroundColor=&fontColor=212529&fontSize=1rem&fontFamily=-apple-system%2CBlinkMacSystemFont%2C%22Segoe%20UI%22%2CRoboto%2C%22Helvetica%20Neue%22%2CArial%2Csans-serif%2C%22Apple%20Color%20Emoji%22%2C%22Segoe%20UI%20Emoji%22%2C%22Segoe%20UI%20Symbol%22%2C%22Noto%20Color%20Emoji%22"
|
||||
></iframe>
|
||||
<iframe style="border: 1; height: 120px; width: 100%;" src="https://stats.privacytools.io/index.php?module=CoreAdminHome&action=optOut&language=en&backgroundColor=&fontColor=212529&fontSize=1rem&fontFamily=-apple-system%2CBlinkMacSystemFont%2C%22Segoe%20UI%22%2CRoboto%2C%22Helvetica%20Neue%22%2CArial%2Csans-serif%2C%22Apple%20Color%20Emoji%22%2C%22Segoe%20UI%20Emoji%22%2C%22Segoe%20UI%20Symbol%22%2C%22Noto%20Color%20Emoji%22"></iframe>
|
||||
|
||||
<p>privacytoolsIO respects your Do Not Track setting in your browser. Users with Do Not Track enabled will not be tracked by any of our platforms.
|
||||
<p>privacytoolsIO respects your Do Not Track setting in your browser. Users with Do Not Track enabled will not be tracked by any of our platforms.
|
||||
You are also free to block stats.privacytools.io using whatever method you prefer with no detrimental effects on your experience using our services.</p>
|
||||
|
||||
<h2>Gathering of Personally-Identifying Information</h2>
|
||||
<h2>Gathering of Personally-Identifying Information</h2>
|
||||
|
||||
<p>Certain visitors to privacytoolsIO's websites choose to interact with privacytoolsIO in ways that require privacytoolsIO to gather personally-identifying information.
|
||||
<p>Certain visitors to privacytoolsIO's websites choose to interact with privacytoolsIO in ways that require privacytoolsIO to gather personally-identifying information.
|
||||
The amount and type of information that privacytoolsIO gathers depends on the nature of the interaction. For example, we ask visitors who use our <a href="https://social.privacytools.io/">Mastodon service</a>
|
||||
to provide a username and email address. In each case, privacytoolsIO collects such information only as in necessary or appropriate to fulfill the purpose of the
|
||||
visitor’s interaction with privacytoolsIO. privacytoolsIO does not disclose personally-identifying information other than as described below. And visitors can always
|
||||
refuse to supply personally-identifying information, with the caveat that it may prevent them from engaging in certain website-related activities.</p>
|
||||
|
||||
<h2>Protection of Personally-Identifying Information</h2>
|
||||
<h2>Protection of Personally-Identifying Information</h2>
|
||||
|
||||
<p>privacytoolsIO will never rent, sell, nor give away potentially personally-identifying and personally-identifying information to any third parties.</p>
|
||||
<p>privacytoolsIO will never rent, sell, nor give away potentially personally-identifying and personally-identifying information to any third parties.</p>
|
||||
|
||||
<p>If you are a registered user of a privacytoolsIO service such as Mastodon or PeerTube, privacytoolsIO may occasionally send you an email to tell you about new features,
|
||||
<p>If you are a registered user of a privacytoolsIO service such as Mastodon or PeerTube, privacytoolsIO may occasionally send you an email to tell you about new features,
|
||||
solicit your feedback, or just keep you up to date with what’s going on with the service and the privacytoolsIO organization.
|
||||
We expect to keep this type of email to a minimum.</p>
|
||||
|
||||
<p>privacytoolsIO takes all measures reasonably necessary to protect against the unauthorized access, use, alteration, or destruction of potentially personally-identifying and personally-identifying information.</p>
|
||||
<p>privacytoolsIO takes all measures reasonably necessary to protect against the unauthorized access, use, alteration, or destruction of potentially personally-identifying and personally-identifying information.</p>
|
||||
|
||||
<h2>Aggregated Statistics</h2>
|
||||
<h2>Aggregated Statistics</h2>
|
||||
|
||||
<p>privacytoolsIO may collect statistics about the behavior of visitors to its websites, and may reveal generalized statistics related to a variety of our services.</p>
|
||||
<p>privacytoolsIO may collect statistics about the behavior of visitors to its websites, and may reveal generalized statistics related to a variety of our services.</p>
|
||||
|
||||
<h2>Cookies</h2>
|
||||
<h2>Cookies</h2>
|
||||
|
||||
<p>A cookie is a string of information that a website stores on a visitor’s computer, and that the visitor’s browser provides to the website each time the visitor returns.
|
||||
<p>A cookie is a string of information that a website stores on a visitor’s computer, and that the visitor’s browser provides to the website each time the visitor returns.
|
||||
privacytoolsIO uses cookies to help privacytoolsIO track visitor statistics, a visitor's usage of the privacytoolsIO website or services, and their services preferences.
|
||||
privacytoolsIO visitors who do not wish to have cookies placed on their computers should set their browsers to refuse cookies before using privacytoolsIO's websites,
|
||||
with the drawback that certain features of privacytoolsIO's websites may not function properly without the aid of cookies.</p>
|
||||
|
||||
<h2>Privacy Policy Changes</h2>
|
||||
<h2>Privacy Policy Changes</h2>
|
||||
|
||||
<p>Although most changes are likely to be minor, privacytoolsIO may change its Privacy Policy from time to time, and at privacytoolsIO's sole discretion.
|
||||
<p>Although most changes are likely to be minor, privacytoolsIO may change its Privacy Policy from time to time, and at privacytoolsIO's sole discretion.
|
||||
privacytoolsIO encourages visitors to frequently check this page for any changes to its Privacy Policy. Your continued use of this site
|
||||
after any change in this Privacy Policy will constitute your acceptance of such change.</p>
|
||||
|
||||
<h2>Contact Us</h2>
|
||||
<h2>Contact Us</h2>
|
||||
|
||||
<p>If you have any questions or concerns about this privacy policy or the data we collect, you are free to <a href="https://github.com/privacytoolsIO/privacytools.io/issues">open an issue on our issue tracker at GitHub</a>.</p>
|
||||
<p>If you have any questions or concerns about this privacy policy or the data we collect, you are free to <a href="https://github.com/privacytoolsIO/privacytools.io/issues">open an issue on our issue tracker at GitHub</a>.</p>
|
Reference in New Issue
Block a user