Add issue templates. #623
							
								
								
									
										29
									
								
								.github/CONTRIBUTING.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										29
									
								
								.github/CONTRIBUTING.md
									
									
									
									
										vendored
									
									
								
							@@ -1 +1,28 @@
 | 
			
		||||
Please refer to the **Contributing** and **Contributing Guidelines** sections of our [readme](https://github.com/privacytoolsIO/privacytools.io/blob/master/README.md) for the most up-to-date guidelines. Thank you.
 | 
			
		||||
# Contributing Guidelines
 | 
			
		||||
 | 
			
		||||
Please read this before contributing.
 | 
			
		||||
 | 
			
		||||
## Rules
 | 
			
		||||
 | 
			
		||||
- Be nice and respectful.
 | 
			
		||||
- English only.
 | 
			
		||||
- Be constructive.
 | 
			
		||||
 | 
			
		||||
## Quality over Quantity
 | 
			
		||||
 | 
			
		||||
We're trying to keep it simple and promote the best tools, not all of them. Maximum are three software choices, but it's possible to add more under "Worth Mentioning" headlines. ([example](https://privacytoolsio.github.io/privacytools.io/#im))
 | 
			
		||||
 | 
			
		||||
## Software Criteria
 | 
			
		||||
 | 
			
		||||
- Open Source
 | 
			
		||||
- Cross-platform
 | 
			
		||||
- Easy to use
 | 
			
		||||
- Privacy respecting
 | 
			
		||||
 | 
			
		||||
There can be exceptions if no software is available that meet the criteria.
 | 
			
		||||
 | 
			
		||||
## Images
 | 
			
		||||
 | 
			
		||||
- Provider logos should be exactly 200 x 70 ([example](https://www.privacytools.io/assets/img/provider/AirVPN.gif))
 | 
			
		||||
- Tool logos should be exactly 120 x 120 ([example](https://www.privacytools.io/assets/img/tools/ChatSecure.png))
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								.github/PULL_REQUEST_TEMPLATE.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/PULL_REQUEST_TEMPLATE.md
									
									
									
									
										vendored
									
									
								
							@@ -1,4 +1,4 @@
 | 
			
		||||
<!-- PLEASE READ OUR [CONTRIBUTING GUIDELINES](https://github.com/privacytoolsIO/privacytools.io#contributing-guidelines) BEFORE SUBMITTING -->
 | 
			
		||||
<!-- PLEASE READ OUR [CONTRIBUTING GUIDELINES](https://github.com/privacytoolsIO/privacytools.io/blob/master/.github/CONTRIBUTING.md) BEFORE SUBMITTING -->
 | 
			
		||||
 | 
			
		||||
## Description
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										35
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										35
									
								
								README.md
									
									
									
									
									
								
							@@ -8,39 +8,14 @@ It's important for a website like privacytools.io to be up-to-date. Keep an eye
 | 
			
		||||
 | 
			
		||||
**Talk to us please.** Join our [subreddit](https://www.reddit.com/r/privacytoolsIO/) and start a discussion. This is a community project and we're aiming to deliver the best information available for a better privacy. We are also using [/r/privacy](https://www.reddit.com/r/privacy). Thank you for participating.
 | 
			
		||||
 | 
			
		||||
You can submit your suggestions here on GitHub [(Issues)](https://github.com/privacytoolsIO/privacytools.io/issues) and also in our [subreddit](https://www.reddit.com/r/privacytoolsIO/). Thank you.
 | 
			
		||||
You can submit your suggestions here on GitHub [(Issues)](https://github.com/privacytoolsIO/privacytools.io/issues) and also in our [subreddit](https://www.reddit.com/r/privacytoolsIO/). Please refer to the [Contributing Guidelines](.github/CONTRIBUTING.md) before submitting. Thank you.
 | 
			
		||||
 | 
			
		||||
## Building
 | 
			
		||||
1. Install Ruby
 | 
			
		||||
2. `bundle install`
 | 
			
		||||
3. `bundle exec jekyll serve` # Live refresh.
 | 
			
		||||
 | 
			
		||||
# Contributing Guidelines
 | 
			
		||||
Please read this before contributing.
 | 
			
		||||
 | 
			
		||||
## Rules
 | 
			
		||||
 | 
			
		||||
- Be nice and respectful.
 | 
			
		||||
- English only.
 | 
			
		||||
- Be constructive.
 | 
			
		||||
 | 
			
		||||
## Quality over Quantity
 | 
			
		||||
 | 
			
		||||
We're trying to keep it simple and promote the best tools, not all of them. Maximum are three software choices, but it's possible to add more under "Worth Mentioning" headlines. ([example](https://privacytoolsio.github.io/privacytools.io/#im))
 | 
			
		||||
 | 
			
		||||
## Software Criteria
 | 
			
		||||
 | 
			
		||||
- Open Source
 | 
			
		||||
- Cross-platform
 | 
			
		||||
- Easy to use
 | 
			
		||||
- Privacy respecting
 | 
			
		||||
 | 
			
		||||
There can be exceptions if no software is available that meet the criteria.
 | 
			
		||||
 | 
			
		||||
## Images
 | 
			
		||||
 | 
			
		||||
- Provider logos should be exactly 200 x 70 ([example](https://www.privacytools.io/assets/img/provider/AirVPN.gif))
 | 
			
		||||
- Tool logos should be exactly 120 x 120 ([example](https://www.privacytools.io/assets/img/tools/ChatSecure.png))
 | 
			
		||||
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`
 | 
			
		||||
 | 
			
		||||
# Support privacytools.io
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										11
									
								
								index.html
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								index.html
									
									
									
									
									
								
							@@ -606,9 +606,7 @@ layout: default
 | 
			
		||||
 | 
			
		||||
<!-- orange "Test your Browser now" button -->
 | 
			
		||||
<p>
 | 
			
		||||
        <a class="btn btn-warning" href="webrtc.html">
 | 
			
		||||
            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>
 | 
			
		||||
 | 
			
		||||
<!-- heading: How to disable WRTC in Firefox? -->
 | 
			
		||||
@@ -636,9 +634,7 @@ layout: default
 | 
			
		||||
 | 
			
		||||
<!-- the "Test your Browser again" button -->
 | 
			
		||||
<p>
 | 
			
		||||
    <a class="btn btn-primary" href="webrtc.html">
 | 
			
		||||
                    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>
 | 
			
		||||
 | 
			
		||||
<!-- steps to manually disable WebRTC in Chrome -->
 | 
			
		||||
@@ -2241,6 +2237,9 @@ This tool uses some known methods that attempt to disable major tracking feature
 | 
			
		||||
    <li><a href="https://pack.resetthenet.org/"><strong>Reset The Net - Privacy Pack</strong></a> - Help fight to end mass surveillance. Get these tools to protect yourself and your friends.</li>
 | 
			
		||||
    <li><a href="http://www.secfirst.org/"><strong>Security First</strong></a> - Umbrella is an Android app that provides all the advice needed to operate safely in a hostile environment.</li>
 | 
			
		||||
    <li><a href="https://addons.mozilla.org/en-US/firefox/addon/block-cloudflare-mitm-attack/"><strong>Block Cloudflare MiTM Attack</strong></a> - Firefox add-on to detect and block corporate MITM attack.
 | 
			
		||||
    <li><a href="https://www.osalt.com/"><strong>Osalt</strong></a> - A directroy to help you find open source alternatives to proprietary tools.</li>
 | 
			
		||||
    <li><a href="https://alternativeto.net/"><strong>AlternativeTo</strong></a> - A directry to help find alternatives to other software, with the option to only show open source software</li>
 | 
			
		||||
    <p> Note: Just being open source does not make software secure! </p>
 | 
			
		||||
</ul>
 | 
			
		||||
 | 
			
		||||
<h1 id="participate" class="anchor"><a href="#participate"><i class="fas fa-link anchor-icon"></i></a> Spread the word and help your friends</h1>
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										172
									
								
								webrtc.html
									
									
									
									
									
								
							
							
						
						
									
										172
									
								
								webrtc.html
									
									
									
									
									
								
							@@ -1,172 +0,0 @@
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
<html>
 | 
			
		||||
<head>
 | 
			
		||||
	<title>WebRTC IP Leak VPN / Tor Test | Privacy Tools</title>
 | 
			
		||||
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 | 
			
		||||
	<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
 | 
			
		||||
	<link rel="shortcut icon" href="favicon.ico" type="image/ico">
 | 
			
		||||
	<link href="assets/css/style.css" rel="stylesheet">
 | 
			
		||||
	<!-- content security policy -->
 | 
			
		||||
	<!-- <meta http-equiv='Content-Security-Policy' content="default-src 'self'; script-src https://privacytoolsio.github.io http://privacytoolsio.github.io; style-src 'self'">  -->
 | 
			
		||||
 | 
			
		||||
	<!-- referrer policy -->
 | 
			
		||||
  	<meta http-equiv="Referrer-Policy" content="no-referrer">
 | 
			
		||||
  
 | 
			
		||||
</head>
 | 
			
		||||
<body>
 | 
			
		||||
 | 
			
		||||
<div style="margin:30px 0 0 30px;width:600px;">
 | 
			
		||||
<h1><a href="https://www.privacytools.io/"><img src="assets/img/layout/logo.png" class="img-responsive" alt="privacytools.io"></a></h1>
 | 
			
		||||
 | 
			
		||||
<h2>WebRTC IP Leak VPN / Tor IP Test</h2>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
	WebRTC is a communication protocol that relies on JavaScript that can leak your actual IP address from behind your VPN. While software like NoScript prevents this, it's probably a good idea to block this protocol directly as well, just to be safe. This page will test if your internet browser is affected by the <strong>WebRTC Leak.</strong>
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
This demo secretly makes requests to STUN servers that can log your
 | 
			
		||||
request. These requests do not show up in developer consoles and
 | 
			
		||||
cannot be blocked by browser plugins like AdBlock, Ghostery, etc.
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
<p> </p>
 | 
			
		||||
<strong>Your local IP addresses:</strong>
 | 
			
		||||
<ul></ul>
 | 
			
		||||
<strong>Your public IP addresses:</strong>
 | 
			
		||||
<ul></ul>
 | 
			
		||||
 | 
			
		||||
<p> </p>
 | 
			
		||||
 | 
			
		||||
<p>Your browser is not safe and will show your real IP even though you are using a VPN service if you can see your real IP addresses here.</p>
 | 
			
		||||
 | 
			
		||||
<p><strong><a href="https://www.privacytools.io/#webrtc">How to fix the WebRTC Leak?</a></strong></p>
 | 
			
		||||
 | 
			
		||||
<p> </p>
 | 
			
		||||
 | 
			
		||||
<p>Source Code: <a href="https://github.com/diafygi/webrtc-ips" target="_blank">GitHub</a>
 | 
			
		||||
<br>Script Version: Jul 20, 2015</a></p>
 | 
			
		||||
 | 
			
		||||
        <iframe id="iframe" sandbox="allow-same-origin" style="display: none"></iframe>
 | 
			
		||||
        <script>
 | 
			
		||||
            //get the IP addresses associated with an account
 | 
			
		||||
            function getIPs(callback){
 | 
			
		||||
                var ip_dups = {};
 | 
			
		||||
 | 
			
		||||
                //compatibility for firefox and chrome
 | 
			
		||||
                var RTCPeerConnection = window.RTCPeerConnection
 | 
			
		||||
                    || window.mozRTCPeerConnection
 | 
			
		||||
                    || window.webkitRTCPeerConnection;
 | 
			
		||||
                var useWebKit = !!window.webkitRTCPeerConnection;
 | 
			
		||||
 | 
			
		||||
                //bypass naive webrtc blocking using an iframe
 | 
			
		||||
                if(!RTCPeerConnection){
 | 
			
		||||
                    //NOTE: you need to have an iframe in the page right above the script tag
 | 
			
		||||
                    //
 | 
			
		||||
                    //<iframe id="iframe" sandbox="allow-same-origin" style="display: none"></iframe>
 | 
			
		||||
                    //<script>...getIPs called in here...
 | 
			
		||||
                    //
 | 
			
		||||
                    var win = iframe.contentWindow;
 | 
			
		||||
                    RTCPeerConnection = win.RTCPeerConnection
 | 
			
		||||
                        || win.mozRTCPeerConnection
 | 
			
		||||
                        || win.webkitRTCPeerConnection;
 | 
			
		||||
                    useWebKit = !!win.webkitRTCPeerConnection;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                //minimal requirements for data connection
 | 
			
		||||
                var mediaConstraints = {
 | 
			
		||||
                    optional: [{RtpDataChannels: true}]
 | 
			
		||||
                };
 | 
			
		||||
 | 
			
		||||
                var servers = {iceServers: [{urls: "stun:stun.services.mozilla.com"}]};
 | 
			
		||||
 | 
			
		||||
                //construct a new RTCPeerConnection
 | 
			
		||||
                var pc = new RTCPeerConnection(servers, mediaConstraints);
 | 
			
		||||
 | 
			
		||||
                function handleCandidate(candidate){
 | 
			
		||||
                    //match just the IP address
 | 
			
		||||
                    var ip_regex = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/
 | 
			
		||||
                    var ip_addr = ip_regex.exec(candidate)[1];
 | 
			
		||||
 | 
			
		||||
                    //remove duplicates
 | 
			
		||||
                    if(ip_dups[ip_addr] === undefined)
 | 
			
		||||
                        callback(ip_addr);
 | 
			
		||||
 | 
			
		||||
                    ip_dups[ip_addr] = true;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                //listen for candidate events
 | 
			
		||||
                pc.onicecandidate = function(ice){
 | 
			
		||||
 | 
			
		||||
                    //skip non-candidate events
 | 
			
		||||
                    if(ice.candidate)
 | 
			
		||||
                        handleCandidate(ice.candidate.candidate);
 | 
			
		||||
                };
 | 
			
		||||
 | 
			
		||||
                //create a bogus data channel
 | 
			
		||||
                pc.createDataChannel("");
 | 
			
		||||
 | 
			
		||||
                //create an offer sdp
 | 
			
		||||
                pc.createOffer(function(result){
 | 
			
		||||
 | 
			
		||||
                    //trigger the stun server request
 | 
			
		||||
                    pc.setLocalDescription(result, function(){}, function(){});
 | 
			
		||||
 | 
			
		||||
                }, function(){});
 | 
			
		||||
 | 
			
		||||
                //wait for a while to let everything done
 | 
			
		||||
                setTimeout(function(){
 | 
			
		||||
                    //read candidate info from local description
 | 
			
		||||
                    var lines = pc.localDescription.sdp.split('\n');
 | 
			
		||||
 | 
			
		||||
                    lines.forEach(function(line){
 | 
			
		||||
                        if(line.indexOf('a=candidate:') === 0)
 | 
			
		||||
                            handleCandidate(line);
 | 
			
		||||
                    });
 | 
			
		||||
                }, 1000);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            //insert IP addresses into the page
 | 
			
		||||
            getIPs(function(ip){
 | 
			
		||||
                var li = document.createElement("li");
 | 
			
		||||
                li.textContent = ip;
 | 
			
		||||
 | 
			
		||||
                //local IPs
 | 
			
		||||
                if (ip.match(/^(192\.168\.|169\.254\.|10\.|172\.(1[6-9]|2\d|3[01]))/))
 | 
			
		||||
                    document.getElementsByTagName("ul")[0].appendChild(li);
 | 
			
		||||
 | 
			
		||||
                //IPv6 addresses
 | 
			
		||||
                else if (ip.match(/^[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7}$/))
 | 
			
		||||
                    document.getElementsByTagName("ul")[2].appendChild(li);
 | 
			
		||||
 | 
			
		||||
                //assume the rest are public IPs
 | 
			
		||||
                else
 | 
			
		||||
                    document.getElementsByTagName("ul")[1].appendChild(li);
 | 
			
		||||
            });
 | 
			
		||||
        </script>
 | 
			
		||||
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
 <!-- 
 | 
			
		||||
 Piwik is the leading open-source analytics platform: 
 | 
			
		||||
 - Free open-source software 
 | 
			
		||||
 - 100% data ownership 
 | 
			
		||||
 - User privacy protection 
 | 
			
		||||
 --> 
 | 
			
		||||
 <script type="text/javascript"> 
 | 
			
		||||
   var _paq = _paq || []; 
 | 
			
		||||
   /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ 
 | 
			
		||||
   _paq.push(['trackPageView']); 
 | 
			
		||||
   _paq.push(['enableLinkTracking']); 
 | 
			
		||||
   (function() { 
 | 
			
		||||
     var u="//piwik.privacytools.io/"; 
 | 
			
		||||
     _paq.push(['setTrackerUrl', u+'piwik.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+'piwik.js'; s.parentNode.insertBefore(g,s); 
 | 
			
		||||
   })(); 
 | 
			
		||||
 </script> 
 | 
			
		||||
 <noscript><p><img src="//piwik.privacytools.io/piwik.php?idsite=1&rec=1" style="border:0;" alt="" /></p></noscript> 
 | 
			
		||||
 <!-- End Piwik Code --> 
 | 
			
		||||
 | 
			
		||||
</body>
 | 
			
		||||
		Reference in New Issue
	
	Block a user