diff options
17 files changed, 231 insertions, 213 deletions
diff --git a/data/extensions/tortm-browser-button@jeremybenthum/META-INF/manifest.mf b/data/extensions/tortm-browser-button@jeremybenthum/META-INF/manifest.mf index fef4086..d424b56 100644 --- a/data/extensions/tortm-browser-button@jeremybenthum/META-INF/manifest.mf +++ b/data/extensions/tortm-browser-button@jeremybenthum/META-INF/manifest.mf @@ -1,218 +1,197 @@ Manifest-Version: 1.0 Name: manifest.json -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: gGBvm9+JkiBGyUC6kXUk9g== -SHA1-Digest: kNHJNgsp2/IhX+S5EER0niI8nVI= -SHA256-Digest: S6RdZLQ8tSamLp9GFThjSiqT7iV1UvzVkRxsDBK9Yac= +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: V+IUNvf/AnE/bZv5Lbnm/CUIzTM= +SHA256-Digest: cKqLhBxA+/me/e3agjoVNlqzp0wLfgPjtq65by3oTaI= Name: data/icons/128.png -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: JpPJ4JpU2FcYAuS9q4pcbA== +Digest-Algorithms: SHA1 SHA256 SHA1-Digest: 93I88LexoD1hgfreKoyhV5WMlRw= SHA256-Digest: tE6WrRu12BbqH4HmD4NWVXean+U4+7unUz0UmetN3K4= Name: data/icons/16.png -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: 05P476qWkeRD2tJIZ3wHlg== +Digest-Algorithms: SHA1 SHA256 SHA1-Digest: WFv80V681ND1VV958kBA1y6PjOA= SHA256-Digest: 6VR+kEhGc8aIgnj7jmvtCq/BTutMNcizsCKc8OgI7yk= Name: data/icons/32.png -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: cIyPwlPe6ImXWN9KbTUDXw== +Digest-Algorithms: SHA1 SHA256 SHA1-Digest: TNeyTDhz+nsDuElFBEx390swkJs= SHA256-Digest: 3qXvS80sYjoKNCYixjnLdKeIrf4BVgriBPgG3UEP49A= Name: data/icons/48.png -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: 3HKLk2HFYpUAjkfFhQMZ0Q== +Digest-Algorithms: SHA1 SHA256 SHA1-Digest: mhnrzrhJcQr7Ps3cx+Xo/HxT2o0= SHA256-Digest: SbQLBp1TuYXM3ryO3MsU8xW8zAaV+BWzHqvmHCilIbo= Name: data/icons/64.png -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: 3qt9F6JjzAsVeaqI8XEOAA== +Digest-Algorithms: SHA1 SHA256 SHA1-Digest: 6CPKzMpnY4yQgfpKlzJSC80MHlo= SHA256-Digest: 25gQHIbDQZfofRJmoh8FKLW/8J5IZ8B7yYhQHM+8/JE= Name: data/icons/CHECK/128.png -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: D8kU9KUq3CN1gQx7L9hZ4g== +Digest-Algorithms: SHA1 SHA256 SHA1-Digest: eiVPuPV7i7bgETL3yTtKkEzeK6Y= SHA256-Digest: U3qPy9zZLCYsM2wtbCeBoWJcNoq7OQ5wlZDAqnxn1YA= Name: data/icons/CHECK/16.png -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: AJd8XKJ+9T1YNVFRfXo5pw== +Digest-Algorithms: SHA1 SHA256 SHA1-Digest: c0foAU6nLARQk28kmzrPMrnRj6g= SHA256-Digest: /A3c5KhLKF88znB9pdeAxVMkf7Pbyg3hVW+fJLRcKDo= Name: data/icons/CHECK/32.png -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: q6RE+4s8QTEMOI0TuY12xg== +Digest-Algorithms: SHA1 SHA256 SHA1-Digest: i8lN7tNFErTXTfunq7PW44BTquo= SHA256-Digest: GGM8LU4ruq2R3hrUNNmlLUJpVLGQqyeQfp58dJ72QpM= Name: data/icons/CHECK/48.png -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: APSu1C+NeIITygLOWux/9w== +Digest-Algorithms: SHA1 SHA256 SHA1-Digest: 1vc3cx3fKQ8rgKQmxvlsvzBS4XA= SHA256-Digest: kIuIYbD0yDUSHI45KOkD6IpZbeRqXC8q+n7GmE3J9Ow= Name: data/icons/CHECK/64.png -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: j3Ho+C7ovmU7NlHIwIR6Pw== +Digest-Algorithms: SHA1 SHA256 SHA1-Digest: mc3p1OtoaNDHFjJmNDnAesR8Hic= SHA256-Digest: 6LPVe2TwO2eRLHYVcbNn8DSQ6x9vW0aR+8vLl3lrffE= Name: data/icons/OFF/128.png -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: Vmxm1Wjx//+XaQXovvGhUw== +Digest-Algorithms: SHA1 SHA256 SHA1-Digest: 2YlToA6/FchraR5oDSU/mCYSM0I= SHA256-Digest: 8FlmC6DSb1dREOJ0uxfYJzW7uGfH7sSA4TAphKQ76gg= Name: data/icons/OFF/16.png -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: E6azVHzKW2xX6IyCS71qEA== +Digest-Algorithms: SHA1 SHA256 SHA1-Digest: xDxKCuUkBRcvYPtLdC+Bbv5eNy8= SHA256-Digest: cbRAWfcl5up6VpChuYQDQlZCue1VV6BObQTAFeOI92I= Name: data/icons/OFF/32.png -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: SUA0OPjM1PmM+/KJcrQ0SA== +Digest-Algorithms: SHA1 SHA256 SHA1-Digest: 9P9f5nRYzv48hc8rp222t93lU0k= SHA256-Digest: NgU1FzX0jF3cIcAfpnaSkcMh3N4oRfmxnmP7pzpI/+s= Name: data/icons/OFF/48.png -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: yjitVTSFe8BghNPLUcNnog== +Digest-Algorithms: SHA1 SHA256 SHA1-Digest: SIhhf219ZvRCdUCsjpmHixfEbdA= SHA256-Digest: OIJNMKRiJmeBtOgWh0c1Xx6FDr4mjuFgE5ep8Uc3cQs= Name: data/icons/OFF/64.png -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: zbov11OtfeI4aOkM7kjP4A== +Digest-Algorithms: SHA1 SHA256 SHA1-Digest: aeYZk8tAIGNJZZ86kGncq0zwIAk= SHA256-Digest: jOahYvjwt7uvNYDa9jE9AwKbJeVr0D4eVh3NEldahtA= Name: data/icons/ON/128.png -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: uXOLTTTxiD+TviNHJGJdzQ== +Digest-Algorithms: SHA1 SHA256 SHA1-Digest: 5sO+BvPASD2nYqZWEIvmADmxS7E= SHA256-Digest: GmOidPVxEEZaS1UUrvTHYhReZ+DZ1a9f2/N4dXNQ4D4= Name: data/icons/ON/16.png -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: fTcazuYdxKeGP5b0HfTewQ== +Digest-Algorithms: SHA1 SHA256 SHA1-Digest: ubD0AdvB+ANRX6o3xghjKmPteRw= SHA256-Digest: T8grvY6Tf1OQeiM/AanugRnAu13zv3c7CpINWfjFKE0= Name: data/icons/ON/32.png -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: AS3wpm19MhsJN3Sh9X5Z5g== +Digest-Algorithms: SHA1 SHA256 SHA1-Digest: t7pGp1A+k3PWrgqZqs1KcAUOo5c= SHA256-Digest: AyZyTMr1otpeI/PHm09nA53PFAG1j902J2KkDHNEbdE= Name: data/icons/ON/48.png -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: k0bkgij9I8chtm+cSHSWqA== +Digest-Algorithms: SHA1 SHA256 SHA1-Digest: LFLPbA6EZs+di+d9nySlWzwPTmk= SHA256-Digest: Z2pAWaV/AUYz0E6tFuK/1TB09AdnhvVTcEGepS8tIM8= Name: data/icons/ON/64.png -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: NqXguAywfkki3elA2G6sWw== +Digest-Algorithms: SHA1 SHA256 SHA1-Digest: MO+Drz2UFW1rL/oCdP+VBeaviFQ= SHA256-Digest: /+4/0+Q29MiPnTwRWHdJCwD0DW2hCKU2/OO/PZyrjEw= Name: data/popup/popup.css -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: AwoflNl7okFlQF93Lf4KEQ== -SHA1-Digest: tsrPct4YjEh/uIAKb2ALe2fcIc0= -SHA256-Digest: 3ORrulkQzJ3YIuO1ZGzaVhQifjO0LA1J4tUFVN2ZYco= +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: nW5JPVWO8FhjBWwjqgB6fzoWR48= +SHA256-Digest: 6epb7Bg9BYXtLNUaYJa9ztNjd+P2g6MR2FoJuQI0IlU= Name: data/popup/popup.html -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: fr3CyFUYY2vIclL9D9wJOw== -SHA1-Digest: VnODIa3MISfxHTLmt5kAVeDv/+c= -SHA256-Digest: oKQgSWiFteD6pynbmvnog/VI3H7cjlz9uuHVg+eXDSA= +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: fO+VVPxy8l9YokSHzJVsRLJkuIo= +SHA256-Digest: N7UYb1FMJrPVU7SRYO9PvwtgAndlfAgDkk+Qmjv10OM= Name: data/popup/popup.js -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: VrOHq88KsZmhJVLHSz9vrA== -SHA1-Digest: 4F9TirebqWhzRA/d49vKCbYyTQE= -SHA256-Digest: zJ+wZNGgEcsiSjrL8zykvsRCS6Sjm15EcD3PhH9ouVM= +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: J4CZ+OckL6AC60utoIBv2/0VGgY= +SHA256-Digest: kwnlzLK+kQ2aVA9TMrXVWTGDCuJ9EaWLym7JIE0UUXM= Name: data/popup/explore/explore.css -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: +1juR96F5tSsiHonApi9qg== -SHA1-Digest: gSUrxuQOgDkxFV/A/17Gsz4QhdY= -SHA256-Digest: HWCkA7Z9mvYy+mza3c1NMuedxOFaetZ/x9TryNMFKvA= +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: umZvuxafn7BhlrT9q6s/NU2GDOw= +SHA256-Digest: 04XTj78rPashGu1Pkx1y1S2lkuEdGJUtz/OHaoj9AO0= Name: data/popup/explore/explore.js -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: UM08EGo5d6qYJJilMPG0Hw== -SHA1-Digest: oFExHCb6yRFKvCXRX1fvsyz9Uw4= -SHA256-Digest: 3v629PgnzXge2u2pz1WXqe/yu0lGE/YNvYhgqcXCj48= +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: Py8llWHvD5oih/EFZZNvu/IxDv0= +SHA256-Digest: hgSGxpG7aDu0ni4rWQ0yc5ZHpmhVDTheWKAbZEkolFw= Name: data/popup/explore/explore.json -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: xWxAwbuPF13Yc42DZrBrMA== -SHA1-Digest: Jnwz4yqNUGP+khQVJj9XViL+cDs= -SHA256-Digest: WQtHUPEZfCsjsbq/LEWUCC7q4HPmArwvwmNvm13PMUk= +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: NZBGOiVSHIWKRwyce0g1mxvn/Aw= +SHA256-Digest: Scoy+Iuz+TfW8hcbctp0kThocmE3Ti+Qkwe7MQnghKY= Name: data/popup/icons/check.png -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: 9jmSrZT2ZeaKm/OnSsnYYg== +Digest-Algorithms: SHA1 SHA256 SHA1-Digest: xO6PMc5SfU0X/p4lwo6lGC2JnsI= SHA256-Digest: ZBbbaLdEDTbvabulVrxyupcMqqm1H7RSMmhKfgnvtnU= Name: data/popup/icons/install.png -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: Q4MStqgKY+yl17VWJKtqlQ== -SHA1-Digest: /cVbJCxpPKjkAjgYk3A3753DqWM= -SHA256-Digest: TIMIjE5DFcYqmmwW8G3LtV++0HVy1Rw3U2lJ5sAGv2s= +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: dkC99cH8qiR5Y4cgwgA6MKVFk1k= +SHA256-Digest: 2kA8p+0BP9ebBdTUY45ou4NdUOftxOAzreWp8PRGKhQ= + +Name: data/popup/icons/ip.png +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: fg9ybnJxmzdxeGcoOgZmT53WxVg= +SHA256-Digest: 7NTmGTTU1McBkWcYh4ERWD9vWOwulK3Ny9BkKfAGNT0= Name: data/popup/icons/reload.png -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: 1OkkvuRl17MwSkurZC+nZg== -SHA1-Digest: j7k2wjyP56fYsoYHqCZtAxAzH+8= -SHA256-Digest: bXVoq9LLffDpOVOE/clGYrgLaZVTaTYwjz/4wmrLfy8= +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: pS/DiUByE/45UOmjHbjrdlu7wXk= +SHA256-Digest: oQZYYWo91HAQVB8BJIbNe7QwpiqCs/beYuorhRsSgZ8= Name: data/popup/icons/support.png -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: 3QSR6Tt/apbToFZNpn7+wA== -SHA1-Digest: duMJd5BRwn/cB6HijYtIOtmCWjE= -SHA256-Digest: /7jC53oICGsmkNQuofi5NdGcwPanQmyiNVxIHIdhR/U= +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: CQckYA/PRtkFwp/fku1NGY2RLWg= +SHA256-Digest: VqoScop6+sKXU0eLlDPwa2aSrX79uUP1vN9/vlk76uw= Name: lib/common.js -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: yc/hJn4Nh6+++0mSV1zRMQ== -SHA1-Digest: EQisWa93fPVu29Xdx0QZPuc/P84= -SHA256-Digest: vRab2ozBzrks75ALwR7m/gpa07HQpn2wVx+8QeYDY18= +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: Bkv6X6sbiSB3/iXCM3CxW3bf3Mg= +SHA256-Digest: qADTsiEbjwXfd/Xc3bH8VelUvGx4Cqlr0prMtLXP8Uo= Name: lib/config.js -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: Q/a3j9krS3VNZTPYitgLwg== -SHA1-Digest: 0uHhS9Fn6vDI5WdNLVQPl3xFXJA= -SHA256-Digest: 7lYi5HuvHj0Zbr/y+KDt9777CwEsAqI0pLHCeP59xR4= +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: EZ0ikKOLlHFJYSvZ+hoBYRunGeQ= +SHA256-Digest: WXycIzkSIL8HddxqLX7WLC8c/agYPg+EUZ2WbxbfjLs= Name: lib/proxy.js -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: e82v+unfZSakdwqOvAhHlQ== +Digest-Algorithms: SHA1 SHA256 SHA1-Digest: 4v2X/afLFhFDKBvLDi4KeEV9KEc= SHA256-Digest: HLm4Vo/1mT6z7gdzr5UQRLQSPEOvf3asqKP8R0aIFsY= Name: lib/chrome/background.html -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: Lp4NcR//zN+TrduYIpwMAw== +Digest-Algorithms: SHA1 SHA256 SHA1-Digest: csd3attFBm8wL87EeHNeOEMzN3s= SHA256-Digest: v1+fkVNX+9Ad6z1v5DwZtr1sb1FiIgpop3GsZYRU9Zw= Name: lib/chrome/chrome.js -Digest-Algorithms: MD5 SHA1 SHA256 -MD5-Digest: sMagiFR8gBn0VI8HUUQEjQ== -SHA1-Digest: PWybcT+8J46CiOa/VEp7TTFtsRY= -SHA256-Digest: cXTjYojMOOEb8jaMHJrYMcNNsIMIkwQD2nabdHT4+J8= +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: yso0w/0n6kaRs48WZz7st2hIcS8= +SHA256-Digest: TREVYRsUu3CZR2m3AhFn5bK1J7EnP1HopreTGOaGfZI= + +Name: META-INF/cose.manifest +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: ZDcQUM/y8vCCXZufW9CEHHwxh9Q= +SHA256-Digest: ZX4YdDqtgqJATSYvfQMYr/YdqSqoU4rv8xzNH7CPt6k= + +Name: META-INF/cose.sig +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: TppDG3cQDtXqvULEI0s21HRPjWo= +SHA256-Digest: SKd6NkJckLYWWxV+1myEjnlfp1hOAIZtYvMuzUqTqH8= diff --git a/data/extensions/tortm-browser-button@jeremybenthum/META-INF/mozilla.rsa b/data/extensions/tortm-browser-button@jeremybenthum/META-INF/mozilla.rsa Binary files differindex e459195..bcaa5a9 100644 --- a/data/extensions/tortm-browser-button@jeremybenthum/META-INF/mozilla.rsa +++ b/data/extensions/tortm-browser-button@jeremybenthum/META-INF/mozilla.rsa diff --git a/data/extensions/tortm-browser-button@jeremybenthum/META-INF/mozilla.sf b/data/extensions/tortm-browser-button@jeremybenthum/META-INF/mozilla.sf index d3c94fc..682d9d3 100644 --- a/data/extensions/tortm-browser-button@jeremybenthum/META-INF/mozilla.sf +++ b/data/extensions/tortm-browser-button@jeremybenthum/META-INF/mozilla.sf @@ -1,5 +1,4 @@ Signature-Version: 1.0 -MD5-Digest-Manifest: VzAnOviqiE/5O4VBcT45PQ== -SHA1-Digest-Manifest: xAc0oYcOhmsYOB/2pvNmcBbBaHU= -SHA256-Digest-Manifest: YHFb4MfEM8dTgH/uU4vFwRDC9q7aaLdZHbdYYFQA9FI= +SHA1-Digest-Manifest: seq4Td9srnHJOozZfwwELV/IQ9o= +SHA256-Digest-Manifest: nSXJeuo0ji0oY5LbVsRl7q0aSe+Rx+CoWMDCSClOMfM= diff --git a/data/extensions/tortm-browser-button@jeremybenthum/data/popup/explore/explore.css b/data/extensions/tortm-browser-button@jeremybenthum/data/popup/explore/explore.css index 42a12ad..0c8915e 100644 --- a/data/extensions/tortm-browser-button@jeremybenthum/data/popup/explore/explore.css +++ b/data/extensions/tortm-browser-button@jeremybenthum/data/popup/explore/explore.css @@ -42,13 +42,13 @@ #explore .explore {
right: 0;
margin: 0;
- padding: 0 7px;
- font-size: 14px;
+ padding: 0 3px;
+ font-size: 12px;
cursor: pointer;
z-index: 1000000;
line-height: 17px;
position: absolute;
- color: rgba(0,0,0,0.6);
+ color: rgba(0,0,0,0.5);
}
#explore .close {
@@ -94,6 +94,7 @@ #explore .name {
padding: 0;
+ font-size: 12px;
overflow: hidden;
margin: 0 0 0 5px;
font-weight: normal;
diff --git a/data/extensions/tortm-browser-button@jeremybenthum/data/popup/explore/explore.js b/data/extensions/tortm-browser-button@jeremybenthum/data/popup/explore/explore.js index 339ba0d..7c19bb6 100644 --- a/data/extensions/tortm-browser-button@jeremybenthum/data/popup/explore/explore.js +++ b/data/extensions/tortm-browser-button@jeremybenthum/data/popup/explore/explore.js @@ -74,8 +74,7 @@ table.appendChild(tr); root.appendChild(table); /* */ - const n = Math.floor(parseInt(window.getComputedStyle(document.body).width) / 151) || 3; - json.slice(0, (n > 5 ? 5 : n)).forEach(({id, title}, index) => { + json.slice(0, 4).forEach(({id, title}, index) => { if (id && title) { const a = document.createElement('a'); const td = document.createElement('td'); diff --git a/data/extensions/tortm-browser-button@jeremybenthum/data/popup/explore/explore.json b/data/extensions/tortm-browser-button@jeremybenthum/data/popup/explore/explore.json index 1d65463..aa0b7ff 100644 --- a/data/extensions/tortm-browser-button@jeremybenthum/data/popup/explore/explore.json +++ b/data/extensions/tortm-browser-button@jeremybenthum/data/popup/explore/explore.json @@ -2,7 +2,19 @@ {"id": "smart-https", "title": "Smart HTTPS"}, {"id": "cache-cleaner", "title": "Cache Cleaner"}, {"id": "webrtc-control", "title": "WebRTC Control"}, + {"id": "webapi-blocker", "title": "WebAPI Blocker"}, + {"id": "cookie-switch", "title": "Cookie Switch ON|OFF"}, {"id": "policy-control-wext", "title": "Policy Control"}, + {"id": "popup-blocking", "title": "Popup Blocker (Lite)"}, {"id": "privacy-guard", "title": "Privacy Guard & Manager"}, - {"id": "block-miners", "title": "NoMiner - Block Coin Miners"} + {"id": "restrict-to-domain", "title": "Restrict to Domain"}, + {"id": "font-defender", "title": "Font Fingerprint Defender"}, + {"id": "block-miners", "title": "NoMiner - Block Coin Miners"}, + {"id": "webgl-defender", "title": "WebGL Fingerprint Defender"}, + {"id": "canvas-defender", "title": "Canvas Fingerprint Defender"}, + {"id": "change-timezone", "title": "Change Timezone (Time Shift)"}, + {"id": "custom-useragent-string", "title": "Custom UserAgent String"}, + {"id": "change-geolocation", "title": "Change Geolocation (Location Guard)"}, + {"id": "audiocontext-defender", "title": "AudioContext Fingerprint Defender"}, + {"id": "access-control-allow-origin", "title": "Allow CORS: Access-Control-Allow-Origin"} ] diff --git a/data/extensions/tortm-browser-button@jeremybenthum/data/popup/icons/install.png b/data/extensions/tortm-browser-button@jeremybenthum/data/popup/icons/install.png Binary files differindex 7fb7136..d0236d4 100644 --- a/data/extensions/tortm-browser-button@jeremybenthum/data/popup/icons/install.png +++ b/data/extensions/tortm-browser-button@jeremybenthum/data/popup/icons/install.png diff --git a/data/extensions/tortm-browser-button@jeremybenthum/data/popup/icons/ip.png b/data/extensions/tortm-browser-button@jeremybenthum/data/popup/icons/ip.png Binary files differnew file mode 100644 index 0000000..bfcf206 --- /dev/null +++ b/data/extensions/tortm-browser-button@jeremybenthum/data/popup/icons/ip.png diff --git a/data/extensions/tortm-browser-button@jeremybenthum/data/popup/icons/reload.png b/data/extensions/tortm-browser-button@jeremybenthum/data/popup/icons/reload.png Binary files differindex 71bfc58..0215a70 100644 --- a/data/extensions/tortm-browser-button@jeremybenthum/data/popup/icons/reload.png +++ b/data/extensions/tortm-browser-button@jeremybenthum/data/popup/icons/reload.png diff --git a/data/extensions/tortm-browser-button@jeremybenthum/data/popup/icons/support.png b/data/extensions/tortm-browser-button@jeremybenthum/data/popup/icons/support.png Binary files differindex fb00268..a425000 100644 --- a/data/extensions/tortm-browser-button@jeremybenthum/data/popup/icons/support.png +++ b/data/extensions/tortm-browser-button@jeremybenthum/data/popup/icons/support.png diff --git a/data/extensions/tortm-browser-button@jeremybenthum/data/popup/popup.css b/data/extensions/tortm-browser-button@jeremybenthum/data/popup/popup.css index f8b8720..7de66bb 100644 --- a/data/extensions/tortm-browser-button@jeremybenthum/data/popup/popup.css +++ b/data/extensions/tortm-browser-button@jeremybenthum/data/popup/popup.css @@ -1,8 +1,8 @@ body {
border: 0;
margin: 0;
- padding: 0;
- width: 455px;
+ width: 460px;
+ padding: 0 1px;
overflow: hidden;
}
@@ -17,10 +17,12 @@ table tr td { p {
padding: 10px;
- margin: 3px 0;
color: #7c4698;
+ margin: 5px 0 0 0;
+ user-select: none;
text-align: center;
- border-bottom: solid 1px rgba(0,0,0,0.1);
+ -moz-user-select: none;
+ -webkit-user-select: none;
}
.content {
@@ -43,27 +45,30 @@ p { height: 36px;
border-left: 0;
border-right: 0;
- border-top: solid 1px rgba(0,0,0,0.1);
- border-bottom: solid 1px rgba(0,0,0,0.1);
+ margin-top: 5px;
+ border-top: solid 1px rgba(0,0,0,0.05);
+ border-bottom: solid 1px rgba(0,0,0,0.05);
}
+#ip {background: url("icons/ip.png") no-repeat center center}
#check {background: url("icons/check.png") no-repeat center center}
#reload {background: url("icons/reload.png") no-repeat center center}
#support {background: url("icons/support.png") no-repeat center center}
#install {background: url("icons/install.png") no-repeat center center}
-#check, #support, #install, #reload {
- background-size: 22px;
+#ip, #check, #support, #install, #reload {
+ background-size: 14px;
cursor: pointer;
- width: 42px;
+ width: 32px;
}
#status {
height: 36px;
color: #58316b;
- font-weight: bold;
+ font-size: 12px;
user-select: none;
text-align: center;
+ font-family: monospace;
}
#ON, #OFF {
@@ -74,16 +79,24 @@ p { #ON {background: url("../icons/ON/128.png") no-repeat center center}
#OFF {background: url("../icons/OFF/128.png") no-repeat center center}
-#ON[type="active"], #OFF[type="active"] {border-bottom: solid 1px #7c4698}
-#ON, #OFF {background-size: 64px}
+
+#ON[type="active"] {border-bottom: solid 1px #7c4698}
+#OFF[type="active"] {border-bottom: solid 1px #a8a8a8}
+
+#ON, #OFF {background-size: 52px}
#whitelist {
- border: 0;
- height: 60px;
+ color: #333;
+ height: 72px;
margin: 0 auto;
- width: calc(100% - 10px);
+ font-size: 12px;
+ padding: 1px 5px;
+ font-family: monospace;
+ width: calc(100% - 20px);
+ border: solid 1px rgba(0,0,0,0.1);
}
+#ip:hover,
#ON:hover,
#OFF:hover,
#check:hover,
@@ -93,6 +106,7 @@ p { background-color: rgba(0,0,0,0.05) !important;
}
+#ip:active,
#ON:active,
#OFF:active,
#check:active,
diff --git a/data/extensions/tortm-browser-button@jeremybenthum/data/popup/popup.html b/data/extensions/tortm-browser-button@jeremybenthum/data/popup/popup.html index 2a49fbc..e087815 100644 --- a/data/extensions/tortm-browser-button@jeremybenthum/data/popup/popup.html +++ b/data/extensions/tortm-browser-button@jeremybenthum/data/popup/popup.html @@ -19,10 +19,11 @@ <table class="footer">
<tr>
<td id="status">Onion Browser Button</td>
- <td id="install" title="Open github repo to get TOR patch files"></td>
<td id="reload" title="Reload current tab"></td>
- <td id="check" title="Check tor connection via: check.torproject.org"></td>
- <td id="support" title="Open support page"></td>
+ <td id="install" title="Download TOR patch files"></td>
+ <td id="check" title="Check tor connection"></td>
+ <td id="ip" title="What is my IP address"></td>
+ <td id="support" title="Support page"></td>
</tr>
</table>
</td>
diff --git a/data/extensions/tortm-browser-button@jeremybenthum/data/popup/popup.js b/data/extensions/tortm-browser-button@jeremybenthum/data/popup/popup.js index ff27303..81bcabb 100644 --- a/data/extensions/tortm-browser-button@jeremybenthum/data/popup/popup.js +++ b/data/extensions/tortm-browser-button@jeremybenthum/data/popup/popup.js @@ -1,33 +1,33 @@ var background = (function () {
- var _tmp = {};
+ var tmp = {};
chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {
- for (var id in _tmp) {
- if (_tmp[id] && (typeof _tmp[id] === "function")) {
+ for (var id in tmp) {
+ if (tmp[id] && (typeof tmp[id] === "function")) {
if (request.path == 'background-to-popup') {
- if (request.method === id) _tmp[id](request.data);
+ if (request.method === id) tmp[id](request.data);
}
}
}
});
/* */
return {
- "receive": function (id, callback) {_tmp[id] = callback},
+ "receive": function (id, callback) {tmp[id] = callback},
"send": function (id, data) {chrome.runtime.sendMessage({"path": 'popup-to-background', "method": id, "data": data})}
}
})();
var load = function () {
var whitelist = document.getElementById("whitelist");
- document.addEventListener("click", function (e) {
- var id = e.target ? e.target.getAttribute("id") : null;
- if (id && id !== "whitelist") background.send("popup-data", {"name": id});
- });
- /* */
whitelist.addEventListener("change", function (e) {
var value = e.target ? e.target.value : '';
background.send("popup-data", {"name": "bypassList", "whitelist": value});
});
/* */
+ document.addEventListener("click", function (e) {
+ var id = e.target ? e.target.getAttribute("id") : null;
+ if (id && id !== "whitelist") background.send("popup-data", {"name": id});
+ });
+ /* */
background.send("load");
window.removeEventListener("load", load, false);
};
diff --git a/data/extensions/tortm-browser-button@jeremybenthum/lib/chrome/chrome.js b/data/extensions/tortm-browser-button@jeremybenthum/lib/chrome/chrome.js index ebb58e9..805e525 100644 --- a/data/extensions/tortm-browser-button@jeremybenthum/lib/chrome/chrome.js +++ b/data/extensions/tortm-browser-button@jeremybenthum/lib/chrome/chrome.js @@ -3,13 +3,25 @@ var app = {}; app.button = {set icon (o) {chrome.browserAction.setIcon(o)}};
app.version = function () {return chrome.runtime.getManifest().version};
app.homepage = function () {return chrome.runtime.getManifest().homepage_url};
-if (chrome.runtime.setUninstallURL) chrome.runtime.setUninstallURL(app.homepage() + "?v=" + app.version() + "&type=uninstall", function () {});
+chrome.runtime.setUninstallURL(app.homepage() + "?v=" + app.version() + "&type=uninstall", function () {});
app.tab = {
"reload": function (url) {chrome.tabs.reload(function () {})},
"open": function (url) {chrome.tabs.create({"url": url, "active": true})}
};
+chrome.runtime.onInstalled.addListener(function (e) {
+ window.setTimeout(function () {
+ var previous = e.previousVersion !== undefined && e.previousVersion !== app.version();
+ var doupdate = previous && parseInt((Date.now() - config.welcome.lastupdate) / (24 * 3600 * 1000)) > 45;
+ if (e.reason === "install" || (e.reason === "update" && doupdate)) {
+ var parameter = (e.previousVersion ? "&p=" + e.previousVersion : '') + "&type=" + e.reason;
+ app.tab.open(app.homepage() + "?v=" + app.version() + parameter);
+ config.welcome.lastupdate = Date.now();
+ }
+ }, 3000);
+});
+
app.storage = (function () {
var objs = {};
window.setTimeout(function () {
@@ -33,19 +45,19 @@ app.storage = (function () { })();
app.popup = (function () {
- var _tmp = {};
+ var tmp = {};
chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {
- for (var id in _tmp) {
- if (_tmp[id] && (typeof _tmp[id] === "function")) {
+ for (var id in tmp) {
+ if (tmp[id] && (typeof tmp[id] === "function")) {
if (request.path === 'popup-to-background') {
- if (request.method === id) _tmp[id](request.data);
+ if (request.method === id) tmp[id](request.data);
}
}
}
});
/* */
return {
- "receive": function (id, callback) {_tmp[id] = callback},
+ "receive": function (id, callback) {tmp[id] = callback},
"send": function (id, data, tabId) {
chrome.runtime.sendMessage({"path": 'background-to-popup', "method": id, "data": data});
}
diff --git a/data/extensions/tortm-browser-button@jeremybenthum/lib/common.js b/data/extensions/tortm-browser-button@jeremybenthum/lib/common.js index ae1ed5a..7d95722 100644 --- a/data/extensions/tortm-browser-button@jeremybenthum/lib/common.js +++ b/data/extensions/tortm-browser-button@jeremybenthum/lib/common.js @@ -1,88 +1,86 @@ -window.setTimeout(function () {
- var version = config.welcome.version;
- if (!version) {
-// app.tab.open(app.homepage() + "?v=" + app.version() + "&type=install");
- config.welcome.version = app.version();
- }
-}, 3000);
-
-var popupsend = function () {
- tor.icon(tor.id);
- app.popup.send("tor-data", {
- "id": tor.id,
- "log": tor.log,
- "whitelist": config.addon.whitelist
- });
-};
-
-var setproxy = function (callback) {
- if (tor.id === "OFF") chrome.proxy.settings.set({"scope": "regular", "value": {"mode": "system"}}, callback);
- else chrome.proxy.settings.set({
- "scope": "regular",
- "value": {
- "mode": "fixed_servers",
- "rules": {
- "bypassList": tor.bypassList,
- "singleProxy": {"scheme": "socks5", "host": "127.0.0.1", "port": 9050}
- }
+var core = {
+ "popup": {
+ "send": function () {
+ tor.icon(tor.id);
+ app.popup.send("tor-data", {
+ "id": tor.id,
+ "log": tor.log,
+ "whitelist": config.addon.whitelist
+ });
+ }
+ },
+ "apply": {
+ "proxy": function (callback) {
+ if (tor.id === "OFF") chrome.proxy.settings.set({"scope": "regular", "value": {"mode": "system"}}, callback);
+ else chrome.proxy.settings.set({
+ "scope": "regular",
+ "value": {
+ "mode": "fixed_servers",
+ "rules": {
+ "bypassList": tor.bypassList,
+ "singleProxy": {"scheme": "socks5", "host": "127.0.0.1", "port": 9050}
+ }
+ }
+ }, callback);
}
- }, callback);
+ }
};
var tor = {
"id": "OFF",
"bypassList": [],
- "log": "Tor Browser Button",
- "update": function () {
- if (config.addon.state === "ON") {
- tor.once(function () {
- var url = config.addon.check + "?t=" + new Date().getTime() + "&r=" + Math.round(Math.random() * 10000);
- config.request(url, function (e) {
- if (e === "ok") config.addon.state === "ON" ? tor.start() : tor.stop();
- else {
- tor.stop();
- config.notifications.create("TOR is NOT running. Please connect your computer to TOR network and try again.");
- }
- });
- });
- } else tor.stop();
- },
+ "log": "Onion Browser Button",
"stop": function () {
tor.id = "OFF";
tor.log = "TOR proxy is disabled";
- setproxy(popupsend);
+ core.apply.proxy(core.popup.send);
},
"start": function () {
tor.id = "ON";
tor.log = "Connected to 127.0.0.1:9050";
config.notifications.create("TOR is running. Connected to 127.0.0.1:9050");
tor.bypassList = config.addon.whitelist ? config.addon.whitelist.split(',') : [];
- setproxy(popupsend);
+ core.apply.proxy(core.popup.send);
},
"once": function (callback) {
tor.id = "CHECK";
tor.log = "Checking tor proxy connection...";
tor.bypassList = config.addon.whitelist ? config.addon.whitelist.split(',') : [];
- setproxy(function () {window.setTimeout(function () {callback(true)}, 300)});
- popupsend();
+ core.apply.proxy(function () {window.setTimeout(function () {callback(true)}, 300)});
+ core.popup.send();
},
"icon": function (state) {
app.button.icon = {
"path": {
- "16": '../../data/icons/' + state + '/16.png',
- "32": '../../data/icons/' + state + '/32.png',
- "48": '../../data/icons/' + state + '/48.png',
- "64": '../../data/icons/' + state + '/64.png'
+ "16": "../../data/icons/" + (state ? state + "/" : '') + "16.png",
+ "32": "../../data/icons/" + (state ? state + "/" : '') + "32.png",
+ "48": "../../data/icons/" + (state ? state + "/" : '') + "48.png",
+ "64": "../../data/icons/" + (state ? state + "/" : '') + "64.png"
}
};
+ },
+ "update": function () {
+ if (config.addon.state === "ON") {
+ tor.once(function () {
+ var url = config.url.tor + "?t=" + new Date().getTime() + "&r=" + Math.round(Math.random() * 10000);
+ config.request(url, function (e) {
+ if (e === "ok") config.addon.state === "ON" ? tor.start() : tor.stop();
+ else {
+ tor.stop();
+ config.notifications.create("TOR is NOT running. Please connect your computer to TOR network and try again.");
+ }
+ });
+ });
+ } else tor.stop();
}
};
app.popup.receive("popup-data", function (e) {
if (e.name === "reload") app.tab.reload();
+ if (e.name === "ip") app.tab.open(config.url.ip);
+ if (e.name === "check") app.tab.open(config.url.tor);
if (e.name === "support") app.tab.open(app.homepage());
- if (e.name === "check") app.tab.open(config.addon.check);
- if (e.name === "install") app.tab.open(config.addon.github);
+ if (e.name === "install") app.tab.open(config.url.github);
if (e.name === "bypassList") {
config.addon.whitelist = e.whitelist;
tor.update();
@@ -94,4 +92,4 @@ app.popup.receive("popup-data", function (e) { });
window.setTimeout(tor.update, 0);
-app.popup.receive("load", popupsend);
+app.popup.receive("load", core.popup.send);
diff --git a/data/extensions/tortm-browser-button@jeremybenthum/lib/config.js b/data/extensions/tortm-browser-button@jeremybenthum/lib/config.js index 721a1cf..7d0a801 100644 --- a/data/extensions/tortm-browser-button@jeremybenthum/lib/config.js +++ b/data/extensions/tortm-browser-button@jeremybenthum/lib/config.js @@ -1,16 +1,20 @@ var config = {};
+config.url = {
+ "tor": "https://check.torproject.org/",
+ "ip": "https://webbrowsertools.com/ip-address/",
+ "github": "https://github.com/jeremy-jr-benthum/tor-button/releases",
+};
+
config.welcome = {
- get version () {return app.storage.read("version")},
- set version (val) {app.storage.write("version", val)}
+ set lastupdate (val) {app.storage.write("lastupdate", val)},
+ get lastupdate () {return app.storage.read("lastupdate") !== undefined ? app.storage.read("lastupdate") : 0}
};
config.addon = {
- "check": "https://check.torproject.org/",
set state (val) {app.storage.write("state", val)},
set whitelist (val) {app.storage.write("whitelist", val)},
get whitelist () {return app.storage.read("whitelist") || ''},
- "github": "https://github.com/jeremy-jr-benthum/tor-button/releases",
get state () {return app.storage.read("state") !== undefined ? app.storage.read("state") : "OFF"}
};
@@ -26,20 +30,19 @@ config.request = function (url, callback) { };
config.notifications = (function () {
- chrome.notifications.onClosed.addListener(function () {config.notifications.id = ''});
- chrome.notifications.onClicked.addListener(function (id) {if (id === config.notifications.id) app.tab.open(app.homepage() + "#faq")});
+ chrome.notifications.onClicked.addListener(function (id) {
+ if (id === config.notifications.id) app.tab.open(app.homepage() + "#faq");
+ });
/* */
return {
- "id": '',
+ "id": "onion-button-notifications-id",
"create": function (message) {
- var iconUrl = /Firefox/.test(navigator.userAgent) ? "data/icons/64.png" : chrome.runtime.getURL("data/icons/64.png");
- var o = {"message": message, "type": "basic", "title": "Onion Browser Button", "iconUrl": iconUrl};
- if (config.notifications.id) {
- if (chrome.notifications.update) {
- return chrome.notifications.update(config.notifications.id, o, function () {});
- }
- }
- return chrome.notifications.create(o, function (id) {config.notifications.id = id});
+ chrome.notifications.create(config.notifications.id, {
+ "type": "basic",
+ "message": message,
+ "title": "Onion Browser Button",
+ "iconUrl": /Firefox/.test(navigator.userAgent) ? "data/icons/64.png" : chrome.runtime.getURL("data/icons/64.png")
+ }, function () {});
}
}
})();
diff --git a/data/extensions/tortm-browser-button@jeremybenthum/manifest.json b/data/extensions/tortm-browser-button@jeremybenthum/manifest.json index 5ebb3ea..4f33cb9 100644 --- a/data/extensions/tortm-browser-button@jeremybenthum/manifest.json +++ b/data/extensions/tortm-browser-button@jeremybenthum/manifest.json @@ -1,11 +1,11 @@ -{
+{ "applications": { "gecko": { "id": "tortm-browser-button@jeremybenthum" } },
- "version": "0.1.7",
+ "version": "0.1.8",
"manifest_version": 2,
"short_name": "onion-button",
"name": "Onion Browser Button",
"background": {"page": "lib/chrome/background.html"},
- "homepage_url": "http://mybrowseraddon.com/tor-button.html",
+ "homepage_url": "https://mybrowseraddon.com/tor-button.html",
"description": "Easily browse the internet using TOR proxy with just one click!",
"permissions": ["proxy", "storage", "notifications", "https://check.torproject.org/*"],
"browser_action": {
|