help.html 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Cloud Firewall - Help</title>
  5. <meta charset="UTF-8">
  6. <meta name="viewport" content="width=device-width,initial-scale=1.0">
  7. <!--
  8. /*******************************************************************************
  9. Cloud Firewall - a browser extension/addon that allows users to block connections
  10. to sites, pages and web resources (images, videos, etc) hosted in major cloud services
  11. if the user wishes to do so.
  12. Copyright (C) 2019 Niklas Poslovski
  13. Copyright (C) 2019 Gokulakrishna Sudharsan
  14. This program is free software: you can redistribute it and/or modify
  15. it under the terms of the GNU General Public License as published by
  16. the Free Software Foundation, either version 3 of the License, or
  17. (at your option) any later version.
  18. This program is distributed in the hope that it will be useful,
  19. but WITHOUT ANY WARRANTY; without even the implied warranty of
  20. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  21. GNU General Public License for more details.
  22. You should have received a copy of the GNU General Public License
  23. along with this program. If not, see <http://www.gnu.org/licenses/>.
  24. Home: https://notabug.org/nipos/cloud-firewall
  25. */
  26. -->
  27. <link rel="stylesheet" href="css/bootstrap.min.css" />
  28. <link rel="stylesheet" href="css/font-awesome.min.css" />
  29. <link rel="stylesheet" href="css/help.css" />
  30. <link rel="shortcut icon" href="images/shield.svg">
  31. <script src="libraries/jquery-3.4.1.min.js"></script>
  32. <script src="libraries/bootstrap.min.js"></script>
  33. <script src="js/help.js"></script>
  34. </head>
  35. <body class="container">
  36. <h2 style="text-align:center"><img src="images/shield32.png"/>Cloud Firewall</h2>
  37. <div>
  38. <div id="accordion">
  39. <div class="card2">
  40. <div class="card2-header">
  41. <!-- <button class="btn btn-outline-primary" style="border-color: #007bff" class="collapsed card-link" data-toggle="collapse" data-parent="#accordion" href="#whatisWaybackEverywhere">What is Cloud Firewall?</button> -->
  42. </div>
  43. <div id="whatisWaybackEverywhere" class="collapse-open" data-parent="#accordion">
  44. <div class="card2-body">
  45. <ul>
  46. <h3>What is Cloud Firewall?</h3><a href="https://github.com/humanetech-community/awesome-humane-tech#privacy" target="_blank"><img src="images/humanetech.svg"></a>
  47. <li>Cloud Firewall is a browser extension/addon that allows you to toggle blocking ON or OFF for allowing your browser to connect to web pages and web resources (like images, videos) hosted on popular top cloud/companies. </li>
  48. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<em>Example 1: </em> If you choose to enable "Block Amazon" in Popup, all websites hosted on Amazon AWS will be blocked. You can completely disable your chosen rules for any site you wish, from popup menu. <br/>
  49. </li>
  50. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<em>Example 2: </em> If you choose to enable "Block Amazon" in Popup, let's say a website is hosted "on-premise" (not in cloud), but has some "resources" like images, video and scripts hosted on Amazon AWS cloud, only those "3rd party" resources are blocked --> "3rd party" = these resources which are in another domain. "1st party" = site in address bar and resources delivered from same domain on-premise server.<br/>
  51. <li>Regarding Toggle switches in popup menu, the default upon install is "Allow all supported tech companies/clouds". Any allow/block toggling is not persisted across browser restarts i.e. whenever the browser is restarted, all switches are toggled OFF = allow top companies/clouds when browser launches. <strong>For advanced users :</strong> You have the option to persist the allow/block rules using the switch in Settings page</li>
  52. <li><strong>Supported Browsers:</strong> Firefox from <a href="https://mozilla.org" target="_blank">mozilla.org</a> or Mozilla's "Firefox For Android". A Cloud Firewall user helped test this addon in Firefox forks like Fennec, IceCatMobile from F-droid.org store in /e/ OS, Lineage OS and Fairphone FP OS. If you test this addon in any other combination of browser/OS, please share the results to me for updating this list. <p> <strong>NOT Supported</strong> to use this with other Firefox variants like TBB, Palemoon, Waterfox. <strong>DO NOT </strong>use it with Tor Browser or "proxy addons" from addons store. <a href="https://gitlab.com/gkrishnaks/cloud-firewall/issues/18" target="_blank">Read more if you wish to help with such proxy support</a> </p></li>
  53. </div>
  54. </div>
  55. <div class="card2">
  56. <div class="card2-header">
  57. <!-- <button class="btn btn-outline-primary" style="border-color: #007bff" class="collapsed card-link" data-toggle="collapse" data-parent="#accordion" href="#features">Inspiration and Purpose</button> -->
  58. </div>
  59. <div id="features" class="collapse-open" data-parent="#accordion">
  60. <div class="card2-body">
  61. <ul> <h3> Inspiration: </h3>
  62. <li> The inspiration behind the creation of this addon was the "Life without the tech giants" series by Kashmir Hill and Dhruv Mehrotra. Read it here : <a href="https://gizmodo.com/life-without-the-tech-giants-1830258056" target="_blank">Gizmodo article series </a> and Dhruv Mehrotra published the VPN tool in his <a href="https://github.com/dmehrotra/GoodbyeBigFive"> Github Repository </a>. </li>
  63. <li> I used the AS.csv from his repository and the BASH script to generate the list of IPv4/IPv6 CIDR blocks/ranges owned by 5 companies - Google, Apple, Facebook, Amazon, Microsoft. Cloudflare IPv4/IPv6 list is taken from public information at https://cloudflare.com/ips/</li>
  64. </ul>
  65. <ul> <h3>Purpose:</h3> <li> <strong>Experience</strong> the web as though major cloud companies are not available, so that we can visualize how much of the WWW is hosted in some cloud providers</li>
  66. <li> <strong>Research: </strong> Similar to Kashmir Hill's series, you can conduct research on how many times your browser connects to major top tech companies clouds when you browse the WWW. (Please let the developer know if this addon helps with your research)</li>
  67. <li> <strong>Website Testing:</strong> If you are a website developer or site owner, and have some resources like javascript or images or videos hosted in Cloud providers like AWS or Azure or Google Cloud, use this addon for testing your website behaviour for the "test scenario" case of where the whole Cloud region goes down. (Please let the developer know if this addon helps with testing your websites)</li>
  68. </div>
  69. </div>
  70. </div>
  71. <div class="card2">
  72. <div class="card2-header" >
  73. <!-- <button class="btn btn-outline-primary" style="border-color: #007bff" class="collapsed card-link" data-toggle="collapse" data-parent="#accordion" href="#features">Inspiration and Purpose</button> -->
  74. </div>
  75. <div id="howworks" class="collapse-open" data-parent="#accordion">
  76. <div class="card2-body">
  77. <ul> <h3> How does it work? </h3>
  78. <li>Addon comes bundled with a list of all IP address ranges CIDR blocks in both IPV4 and IPV6 owned by top cloud tech companies. Refer "Inspiration" section above for the source of this list.</li>
  79. <li>Whenever a page is loaded, all the resources in the page from address bar URL to embedded images, javascript files and other resources (like video) are resolved from DNS to IP address, and the IP address is checked against the known list of IP ranges owned by each company</li>
  80. <li>If "Block {company}" switch is toggled ON in popup, the connection is blocked if the resolved IP is within a known range of the selected company.
  81. <li>Addon uses local offline storage to store a cache of hostnames so that subsqeuent page loads are faster. Domain names are stored as base64 SHA256 digest sums. User has the option to delete this cache OR disable cache storage from Settings page</li>
  82. <li>In future versions, we will research an optional setting to AES256 encrypt this cache </li>
  83. <li>When caching is enabled, cache is compressed and written to disk once every four minutes to avoid multiple disk writes</li>
  84. <li>***NOTE**: it uses the <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/dns/resolve" target="_blank">DNS.resolve WebExt API </a> made available by Firefox to WebExtensions. The implementation of this API is inside browser, and browser may use SYSTEM's DNS resolver to resolve DNS to IP. Therefore only the official Firefox versions from Mozilla are supported, namely "Firefox" from <a href="https://mozilla.org" target="_blank">mozilla.org</a> or Mozilla's "Firefox For Android".</li>
  85. <li> Hence it's <strong>not recommended</strong> to use this addon with other Firefox variants, like TBB, Palemoon, Waterfox etc. Also why it's <strong>not recommendeed</strong> to use with any "proxy addons" you may find in Mozilla Addons store. Please see Issue <a href="https://gitlab.com/gkrishnaks/cloud-firewall/issues/18">[#18]</a> if you wish to help change this </li>
  86. </div>
  87. </div>
  88. </div>
  89. <div class="card2">
  90. <div class="card2-header">
  91. <!-- <a class="btn btn-outline-primary" style="border-color: #007bff" class="collapsed card-link" data-toggle="collapse" data-parent="#accordion" href="#Stats">Details on Stats</a></div>
  92. --><div id="Stats" class="collapse-open" data-parent="#accordion">
  93. <div class="card2-body">
  94. <ul> <h3> Stats in Popup Menu </h3>
  95. <li> Stats are displayed in popup menu. Stats include the number of connections blocked by the addon per company, and total connections blocked count across all.</li>
  96. <li> Since the stat counts are per-device (per-install) statistics, it is not included in Export/Import setting feature. (Export/Import settings option will be added in a future version)</li>
  97. <li> To avoid multiple disk writes, stats are stored to disk once every four minutes. It's fine if browser is closed before a four minute window as stats are not a critical value :)</li>
  98. </ul>
  99. </div>
  100. </div>
  101. </div>
  102. <div class="card2">
  103. <div class="card2-header" style="text-align: center;">
  104. <!-- <a class="btn btn-outline-primary" style="border-color: #007bff" class="collapsed card-link" data-toggle="collapse" data-parent="#accordion" href="#Credits">Credits and Acknowledgements</a> --></div>
  105. <div id="Credits" class="collapse-open" data-parent="#accordion">
  106. <div class="card2-body">
  107. <ul><h3>Credits and Acknowledgements:</h3><li>Refer Inspiration section above. This addon uses the AS.csv and bash script from this Github Repo : <a href="https://github.com/dmehrotra/GoodbyeBigFive" target="_blank"> Github page </a><br/></li>
  108. <li> <em >This addon uses the following libraries for UI:</em><br/>
  109. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Bootstrap (CSS and JS)<br/>
  110. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FontAwesome <br/>
  111. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JQuery.<br/>
  112. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CSS for "toggle switches" was taken from this article in blog: <a href="https://dev.to/link2twenty/accessibility-first-toggle-switches-3obj" target="_blank">Dev.to post</a><br/>
  113. These are governed by their respective licenses. You can refer to their websites for the same.<br/></li>
  114. <li> <em >This addon uses the following libraries for functionality/utilities :</em><br/>
  115. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LZString data compression: <a href="http://pieroxy.net/blog/pages/lz-string/guide.html" target="_blank">Pieroxy.net</a><br/>
  116. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PublicSuffixList by Mozilla: <a href="https://publicsuffix.org/" target="_blank">Public Suffix List</a><br/>
  117. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UriTools.js from UblockOrigin: <a href="https://github.com/gorhill/uBlock/blob/master/src/js/uritools.js" target="_blank">Repository</a><br/>
  118. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ipaddr.js:<a href="https://github.com/whitequark/ipaddr.js" target="_blank"> Repository</a> <br/>
  119. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ip-range-check package: <a href="https://github.com/danielcompton/ip-range-check" target="_blank">Repository</a>
  120. <br/>
  121. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Forge library for SHA256 digest hashing: <a href="https://github.com/digitalbazaar/forge" target="_blank">Repository</a><br/>
  122. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PunyCode.js <a href="https://github.com/bestiejs/punycode.js/" target="_blank">Repository</a><br/>
  123. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tomlify-j0.4: <a href="https://github.com/jakwings/tomlify-j0.4" target="_blank">Repository</a><br/>
  124. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; json2yaml.js: <a href="https://github.com/jeffsu/json2yaml" target="_blank">Repository</a><br/>
  125. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CSON Parser: <a href="https://github.com/groupon/cson-parser" target="_blank">Repository</a><br/>
  126. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; json2plain.js: <a href="https://github.com/jarradseers/json2plain" target="_blank">Repository</a><br/>
  127. These are governed by their respective licenses. You can refer to their websites for the same.<br/></li>
  128. <li> This addon uses the icons created by Isaac Grant and he published it under Creative Commons license: <a href="https://www.iconfinder.com/icons/2739111/protection_secure_shield_icon">IconFinder page</a> It also uses the cloud icon from <a href="https://www.iconfinder.com/icons/316014/cloud_icon" target="_blank">Iconfinder page</a> by Yannick Lung which he released under "Free for commerical use" license.
  129. </li></ul>
  130. </div>
  131. </div>
  132. </div>
  133. <div class="card2">
  134. <div class="card2-header">
  135. <!-- <button class="btn btn-outline-primary" style="border-color: #007bff" class="collapsed card-link" data-toggle="collapse" data-parent="#accordion" href="#LicenseAndDisclaimer">License</button>
  136. --> </div>
  137. <div id="LicenseAndDisclaimer" class="collapse-open" data-parent="#accordion">
  138. <div class="card2-body">
  139. <ul><h3>License</h3>
  140. <div class="card2-block">The Cloud Firewall addon is licensed under GPLv3 license. Refer the full license here: <a href="license.html" id="licenselink" target="_blank">License</a></div>
  141. ---
  142. <p> Cloud Firewall - a browser extension/addon that allows you to toggle blocking ON or OFF for allowing your browser to connect to web pages and web resources (like images, videos) hosted on popular top clouds/companies. <br/><br/>Copyright (C) 2019 Niklas Poslovski<br/>Copyright (C) 2019 Gokulakrishna Sudharsan
  143. <br/> This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
  144. <br/> This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
  145. <br/> You should have received a copy of the GNU General Public License along with this program. If not, see
  146. https://www.gnu.org/licenses/
  147. </p>
  148. ---
  149. <br/><p> Privacy Policy in one line : We do not collect your data. Detailed privacy policy page: <a href="privacy.html" id="privacy" target="_blank">Privacy Policy</a>
  150. </ul>
  151. </div>
  152. </div>
  153. </div>
  154. </div>
  155. </div><br>
  156. <footer>
  157. Developed by nipos.<br/>
  158. <a href="mailto:support@nikisoft.one">support@nikisoft.one</a><br/>
  159. Mastodon: <a href="https://social.avareborn.de/@nipos" target="_blank">@nipos@social.avareborn.de</a><br>
  160. <a href="https://notabug.org/nipos/cloud-firewall/issues" target="_blank">Report an issue/Feature request</a><br>
  161. <a href="https://liberapay.com/nipos" target="_blank">Donate on Liberapay</a>
  162. <p id="appVersion"></p>
  163. </footer>
  164. </div>
  165. </body>
  166. </html>