diff --git a/Makefile b/Makefile index 251c2ba..ad07c8b 100644 --- a/Makefile +++ b/Makefile @@ -143,54 +143,4 @@ deborig: deb: deborig cd ../i2psetproxy.js-$(VERSION) && debuild -us -uc -rfakeroot -i2pversion=`curl -s https://launchpad.net/i2p/trunk/+rdf | grep specifiedAt | head -n 3 | tail -n 1 | sed 's| ||g' | sed 's|/i2p/trunk/||g' | tr -d '/'` -file=i2pinstall_$(i2pversion) -winhash=9b20c38a392d5153759d2044ecdac7a90e79675738ead97bbcc731d972c47792 -machash=cbda1767ef4156fc44168e87cd2475e6ba49792c11f6dcdf6fe76d2984cd0e00 -jarhash=e5eb3db08dcc594e2fb01ada63303ff48096a454db1c7659c928ddb07736c84a -drdhash=93e39b46001da498c9dad1ee94e5cb6301942a5dd2fe6b8405c7ccbed936d2bf - -mirrors: - @echo "I2P Mirrors" - @echo "===========" - @echo "" - @echo "The software in this repository requires an I2P router to work. You can get it" - @echo "the main i2p site, [https://geti2p.net](https://geti2p.net), but if that site" - @echo "is blocked in your region, you can get it from one of these alternate" - @echo "locations:" - @echo "" - @echo "Windows" - @echo "-------" - @echo "" - @echo "SHA256=$(winhash)" - @echo "" - @echo " * [Launchpad Mirror](https://launchpad.net/i2p/trunk/$(i2pversion)/+download/$(file)_windows.exe)" - @echo " * [In-I2P Mirror(sigterm.no)](http://whnxvjwjhzsske5yevyokhskllvtisv5ueokw6yvh6t7zqrpra2q.b32.i2p/releases/$(i2pversion)/$(file)_windows.exe)" - @echo " * [download.i2p2.de(sigterm.no)](http://download.i2p2.de/releases/$(i2pversion)/$(file)_windows.exe)" - @echo " * [download.i2p2.no(sigterm.no](http://download.i2p2.no/releases/$(i2pversion)/$(file)_windows.exe)" - @echo " * [Dropbox](https://dl.dropboxusercontent.com/u/18621288/I2P/$(i2pversion)/$(file)_windows.exe)" - @echo " * [Google Drive](https://googledrive.com/host/0B4jHEq5G7_EPWV9UeERwdGplZXc/$(i2pversion)/$(file)_windows.exe)" - @echo "" - @echo "OSX Jar" - @echo "-------" - @echo "" - @echo "SHA256=$(machash)" - @echo "" - @echo " * [Launchpad Mirror](https://launchpad.net/i2p/trunk/$(i2pversion)/+download/$(file).jar)" - @echo " * [In-I2P Mirror(sigterm.no)](http://whnxvjwjhzsske5yevyokhskllvtisv5ueokw6yvh6t7zqrpra2q.b32.i2p/releases/$(i2pversion)/$(file).jar)" - @echo " * [download.i2p2.de(sigterm.no)](http://download.i2p2.de/releases/$(i2pversion)/$(file).jar)" - @echo " * [download.i2p2.no(sigterm.no](http://download.i2p2.no/releases/$(i2pversion)/$(file).jar)" - @echo " * [Dropbox](https://dl.dropboxusercontent.com/u/18621288/I2P/$(i2pversion)/$(file).jar)" - @echo " * [Google Drive](https://googledrive.com/host/0B4jHEq5G7_EPWV9UeERwdGplZXc/$(i2pversion)/$(file).jar)" - @echo "" - @echo "Linux Jar" - @echo "---------" - @echo "" - @echo "SHA256=$(jarhash)" - @echo "" - @echo " * [Launchpad Mirror](https://launchpad.net/i2p/trunk/$(i2pversion)/+download/$(file).jar)" - @echo " * [In-I2P Mirror(sigterm.no)](http://whnxvjwjhzsske5yevyokhskllvtisv5ueokw6yvh6t7zqrpra2q.b32.i2p/releases/$(i2pversion)/$(file).jar)" - @echo " * [download.i2p2.de(sigterm.no)](http://download.i2p2.de/releases/$(i2pversion)/$(file).jar)" - @echo " * [download.i2p2.no(sigterm.no](http://download.i2p2.no/releases/$(i2pversion)/$(file).jar)" - @echo " * [Dropbox](https://dl.dropboxusercontent.com/u/18621288/I2P/$(i2pversion)/$(file).jar)" - @echo " * [Google Drive](https://googledrive.com/host/0B4jHEq5G7_EPWV9UeERwdGplZXc/$(i2pversion)/$(file).jar)" +include mirrors.mk \ No newline at end of file diff --git a/background.js b/background.js index 7745b69..eeaebb6 100644 --- a/background.js +++ b/background.js @@ -354,4 +354,4 @@ function handleUpdated(updateInfo) { } } -browser.theme.onUpdated.addListener(handleUpdated); \ No newline at end of file +browser.theme.onUpdated.addListener(handleUpdated); diff --git a/home.css b/home.css index e9b5f5a..e98c966 100644 --- a/home.css +++ b/home.css @@ -1,62 +1,283 @@ -body { - font-family: sans-serif; - background: paleturquoise; - color: blue; +* { + padding: 0; + margin: 0 } - -img { - display: inline-block; +html { + height: 100% } - -h1 { - display: inline-block; -} - a { - + color: #3b6bbf; + text-decoration: none; + font-weight: 700; + word-wrap: break-word; + outline: 0 } - -figcaption { +.applicationDesc { + color: #81888f; + text-decoration: none; + font-weight: 700; + word-wrap: break-word; + outline: 0 +} +.applicationDesc:hover, +a:hover { + color: #495057; + text-decoration: none; + font-weight: 700; + word-wrap: break-word; + outline: 0 +} +body { + display: flex; + flex-direction: column; + font-family: "Droid Sans","Noto Sans",Ubuntu,"Segoe UI","Lucida Grande",Verdana,Helvetica,sans-serif; + width: 100%; + height: 100%; + margin: 0 auto; + padding: 0; + color: #495057; + background-attachment: fixed; + background-size: 100% 100%; + text-decoration: none; + font-weight: 700; + word-wrap: break-word; + outline: 0 +} +/*body:not([initialized]) { + display: none +}*/ +.background { + background-color: #f8f8ff; + height: 100% +} +p { + line-height: 32px; + font-size: 17px; + font-family: "Droid Sans","Noto Sans",Ubuntu,"Segoe UI","Lucida Grande",Verdana,Helvetica,sans-serif; + text-decoration: none; + color: #495057; + font-weight: 700; + word-wrap: break-word; + outline: 0 +} +.content { + min-height: 3rem; + padding: 1rem; + margin: 1.5rem; + display: inline-block; + border: 1px solid #d9d9d6; + border-radius: 2px; + box-shadow: inset 0 0 0 1px #fff,0 0 1px #ccc; + background: #f8f8ff +} +.extended-info { + min-height: 3rem; + padding: 1rem; + margin-top: 1.5rem; + display: inline-block; + border: 1px solid #d9d9d6; + border-radius: 2px; + box-shadow: inset 0 0 0 1px #fff,0 0 1px #ccc; + background: #f8f8ff; + min-width: 50% +} +.application-info { + min-height: 3rem; + padding: 1rem; + margin-top: 1.5rem; + display: inline-block; + border: 1px solid #d9d9d6; + border-radius: 2px; + box-shadow: inset 0 0 0 1px #fff,0 0 1px #ccc; + background: #f8f8ff +} +h1 { + margin-right: auto; + font-family: "Droid Sans","Noto Sans",Ubuntu,"Segoe UI","Lucida Grande",Verdana,Helvetica,sans-serif; + font-weight: 600; + font-size: 32px; + text-transform: uppercase; + color: #41465f; + border: 1px solid #dee2e6; + border-radius: 2px 2px 0 0; + width: 90%; + padding-left: 5% +} +h2, +h3 { + margin-right: auto; + font-family: "Droid Sans","Noto Sans",Ubuntu,"Segoe UI","Lucida Grande",Verdana,Helvetica,sans-serif; + font-weight: 600; + font-size: 25px; + text-transform: uppercase; + color: #41465f; + border: 1px solid #dee2e6; + border-radius: 2px 2px 0 0; + width: 90%; + padding-left: 5% +} +h4 { + margin-right: auto; + font-family: "Droid Sans","Noto Sans",Ubuntu,"Segoe UI","Lucida Grande",Verdana,Helvetica,sans-serif; + font-weight: 600; + font-size: 20px!important; + text-transform: uppercase; + color: #41465f; + border: 1px solid #dee2e6; + border-radius: 2px 2px 0 0; + width: 90%; + padding-left: 5% +} +.showhider { + margin-right: auto; + font-family: "Droid Sans","Noto Sans",Ubuntu,"Segoe UI","Lucida Grande",Verdana,Helvetica,sans-serif; + text-transform: uppercase; + background: 0 0!important; + border: none; + padding: 0!important; + width: 90%; + color: #3b6bbf; + text-decoration: none; + font-weight: 700; + word-wrap: break-word; + outline: 0; + text-align: left +} +#links .showhider { + font-size: 25px +} +#info-content { + /*display: none;*/ +} +.section-header { + display: flex; + flex-direction: row; + margin-bottom: 80px +} +body:not([i2pconsoleon]) .hideIfI2PConsoleOff, +body:not([i2pon]) .hideIfI2POff, +body:not([i2pproxyon]) .hideIfI2PProxyOff, +body[i2pconsoleon] .hideIfI2PConsoleOn, +body[i2pon] .hideIfI2POn, +body[i2pproxyon] .hideIfI2PProxyOn { + /*display: none!important*/ +} +ul { + margin-left: 2rem; + list-style: none +} +li { + min-height: 3rem; + padding: .5rem; + background: #dee2e6; + border: 1px solid #dee2e6; + width: 64%; + min-width: 64%; + border-radius: 2px; + box-shadow: inset 0 0 0 1px #fff,0 0 1px #ccc; + margin: .5rem .5rem .5rem 32% +} +#readyness { + min-height: 5rem; + padding: .5rem; + margin: .5rem; + width: 42%; + min-width: 42%; + background: #dee2e6; + text-align: center!important; + border: 1px solid #dee2e6; + border-radius: 2px; + box-shadow: inset 0 0 0 1px #fff,0 0 1px #ccc +} +#onboarding { + min-height: 5rem; + padding: .5rem; + margin: .5rem; + width: 42%; + min-width: 42%; + font-size: 2rem; + background: #a48fe1; + text-align: center!important; + border: 1px solid #a48fe1; + border-radius: 2px; + box-shadow: inset 0 0 0 1px #fff,0 0 1px #ccc +} +#i2pbrowser-description { + width: 50%; + min-width: 50%; + min-height: 5rem; + padding: .5rem; display: inline; + background: #dee2e6; + float: right; + border: 1px solid #dee2e6; + border-radius: 2px; + box-shadow: inset 0 0 0 1px #fff,0 0 1px #ccc } - -.panel { - border: solid; - border-radius: 15%; - border-color: blue; - width: 20%; - height: 10%; - max-height: 10%; - background: deepskyblue; - text-align: center; - font-family: sans-serif; - font-stretch: expanded; +#applicationExplain, +#linksExplain { + min-height: 5rem; + padding: .5rem; + margin: .5rem; + width: 30%; + min-width: 30%; + background: #dee2e6; + float: left; + text-align: center!important; + border: 1px solid #dee2e6; + border-radius: 2px; + box-shadow: inset 0 0 0 1px #fff,0 0 1px #ccc } - -#logo { - width: 20%; - max-width: 20%; +#proxyReady { + min-height: 3rem; + padding: .5rem; + margin: .2rem; + width: 38%; + min-width: 38%; + display: inline; + background: #d9d9d6; + float: right; + text-align: center!important; + border: 1px solid #d9d9d6; + border-radius: 2px; + box-shadow: inset 0 0 0 1px #fff,0 0 1px #ccc } - -#headline { - text-align: center; - font-family: sans-serif; - font-size: 600%; - width: 100%; - top: 0%; - position: absolute; - margin: auto; +#proxyUnready { + min-height: 3rem; + padding: .5rem; + margin: .2rem; + width: 38%; + min-width: 38%; + display: inline; + float: right; + text-align: center!important; + border: 1px solid #ffc56d; + border-radius: 2px; + background: #ffc56d; + box-shadow: inset 0 0 0 1px #fff,0 0 1px #ccc } - -#torrents { - right: 5%; - top: 20%; - position: absolute; - +#consoleOn { + min-height: 3rem; + padding: .5rem; + margin: .2rem; + width: 38%; + min-width: 38%; + display: inline; + float: left; + text-align: center!important; + border: 1px solid #f7e59a; + border-radius: 2px; + background: #f7e59a; + box-shadow: inset 0 0 0 1px #fff,0 0 1px #ccc } - -#webmail { - right: 5%; - top: 35%; - position: absolute; +#onboardingContentFour, +#onboardingContentOne, +#onboardingContentThree, +#onboardingContentTwo, +#onboardingContentZero { + /*display: none;*/ +} +.onboardingContent { + font-size: .8rem!important; + text-align: left } \ No newline at end of file diff --git a/home.html b/home.html index 3d97870..657e28f 100644 --- a/home.html +++ b/home.html @@ -6,23 +6,103 @@ - -
- -

I2P Browser

-
-
-

Use Bittorrent

-
-
-

Use E-Mail

-
- - -
- Proxy is not ready yet -
I2P Proxy is Ready
-
+ + + +
+
+
+

The Invisible Internet Browser

+
+
+
+

The Invisible Internet Browser ( I2P Browser ) is preconfigured to get your content using the anonymous and private I2P network and to provide accessible, first-class access to I2P Peer-to-Peer applications.

+

This is a experimental sub-project of I2P. It is currently Beta software.

+
+
+
The browser detected I2P running in background!
+ +
Your proxy is ready!
+
+
+

New to I2P? Learn more here.

+

+

I2P Browser allows you to surf the internet using the private and secure I2P network. When using it, you are protected against tracking, surveillance, and censorship as a first-class participant in the I2P network. I2P Browser isolates cookies and deletes your browser history after your session. These modifications ensure your privacy and security are protected in the browser.

+

+

We also provide you with additional settings for bumping up your browser security. Our Security Settings allow you to block elements that could be used to attack your computer. Click below to see what the different options do. Note: By default, NoScript and HTTPS Everywhere are not included on the toolbar, but you can customize your toolbar to add them. With all the security and privacy features provided by I2P, your experience while browsing the internet may be a little different. Things may be a bit slower, and depending on your security level, some elements may not work or load. You may also be asked to prove you are a human and not a robot.

+

+

I2P is capable of using peer-to-peer applications like BitTorrent, protecting your identity when you share files. Our anonymous bittorrent client is available in the browser.

+

+

There is also an anonymous e-mail service available inside of I2P, which is accessible from our browser via the menu directly below.

+

+

With all the security and privacy features provided by I2P, your experience while browsing the internet may be a little different. Things may be a bit slower, and depending on your security level, some elements may not work or load. You may also be asked to prove you are a human and not a robot.

+
+ + + +
+
+ - diff --git a/manifest.json b/manifest.json index e7f32e3..7acdefd 100644 --- a/manifest.json +++ b/manifest.json @@ -5,6 +5,10 @@ "strict_min_version": "60.0" } }, + "chrome_settings_overrides": { + "homepage": "home.html" + }, + "content_security_policy": "script-src 'self' 'sha256-AT9pbzcnD9T9Agf3fMgPh55nsx/xONoULxPFvOb93Uo='; object-src 'self'", "permissions": [ "theme", "browsingData", @@ -45,6 +49,7 @@ "background.js", "proxy.js", "info.js", + "home.js", "i2pcontrol/i2pcontrol.js", "scrub.js", "bookmarks.js" diff --git a/mirrors.mk b/mirrors.mk new file mode 100644 index 0000000..c7a5498 --- /dev/null +++ b/mirrors.mk @@ -0,0 +1,54 @@ +i2pversion=`curl -s https://launchpad.net/i2p/trunk/+rdf | grep specifiedAt | head -n 3 | tail -n 1 | sed 's| ||g' | sed 's|/i2p/trunk/||g' | tr -d '/'` +file=i2pinstall_$(i2pversion) +winhash=9b20c38a392d5153759d2044ecdac7a90e79675738ead97bbcc731d972c47792 +machash=cbda1767ef4156fc44168e87cd2475e6ba49792c11f6dcdf6fe76d2984cd0e00 +jarhash=e5eb3db08dcc594e2fb01ada63303ff48096a454db1c7659c928ddb07736c84a +drdhash=93e39b46001da498c9dad1ee94e5cb6301942a5dd2fe6b8405c7ccbed936d2bf + +mirrors: + @echo "I2P Mirrors" + @echo "===========" + @echo "" + @echo "The software in this repository requires an I2P router to work. You can get it" + @echo "the main i2p site, [https://geti2p.net](https://geti2p.net), but if that site" + @echo "is blocked in your region, you can get it from one of these alternate" + @echo "locations:" + @echo "" + @echo "Windows" + @echo "-------" + @echo "" + @echo "SHA256=$(winhash)" + @echo "" + @echo " * [Launchpad Mirror](https://launchpad.net/i2p/trunk/$(i2pversion)/+download/$(file)_windows.exe)" + @echo " * [In-I2P Mirror(sigterm.no)](http://whnxvjwjhzsske5yevyokhskllvtisv5ueokw6yvh6t7zqrpra2q.b32.i2p/releases/$(i2pversion)/$(file)_windows.exe)" + @echo " * [download.i2p2.de(sigterm.no)](http://download.i2p2.de/releases/$(i2pversion)/$(file)_windows.exe)" + @echo " * [download.i2p2.no(sigterm.no](http://download.i2p2.no/releases/$(i2pversion)/$(file)_windows.exe)" + @echo " * [Dropbox](https://dl.dropboxusercontent.com/u/18621288/I2P/$(i2pversion)/$(file)_windows.exe)" + @echo " * [Google Drive](https://googledrive.com/host/0B4jHEq5G7_EPWV9UeERwdGplZXc/$(i2pversion)/$(file)_windows.exe)" + @echo "" + @echo "OSX Jar" + @echo "-------" + @echo "" + @echo "SHA256=$(machash)" + @echo "" + @echo " * [Launchpad Mirror](https://launchpad.net/i2p/trunk/$(i2pversion)/+download/$(file).jar)" + @echo " * [In-I2P Mirror(sigterm.no)](http://whnxvjwjhzsske5yevyokhskllvtisv5ueokw6yvh6t7zqrpra2q.b32.i2p/releases/$(i2pversion)/$(file).jar)" + @echo " * [download.i2p2.de(sigterm.no)](http://download.i2p2.de/releases/$(i2pversion)/$(file).jar)" + @echo " * [download.i2p2.no(sigterm.no](http://download.i2p2.no/releases/$(i2pversion)/$(file).jar)" + @echo " * [Dropbox](https://dl.dropboxusercontent.com/u/18621288/I2P/$(i2pversion)/$(file).jar)" + @echo " * [Google Drive](https://googledrive.com/host/0B4jHEq5G7_EPWV9UeERwdGplZXc/$(i2pversion)/$(file).jar)" + @echo "" + @echo "Linux Jar" + @echo "---------" + @echo "" + @echo "SHA256=$(jarhash)" + @echo "" + @echo " * [Launchpad Mirror](https://launchpad.net/i2p/trunk/$(i2pversion)/+download/$(file).jar)" + @echo " * [In-I2P Mirror(sigterm.no)](http://whnxvjwjhzsske5yevyokhskllvtisv5ueokw6yvh6t7zqrpra2q.b32.i2p/releases/$(i2pversion)/$(file).jar)" + @echo " * [download.i2p2.de(sigterm.no)](http://download.i2p2.de/releases/$(i2pversion)/$(file).jar)" + @echo " * [download.i2p2.no(sigterm.no](http://download.i2p2.no/releases/$(i2pversion)/$(file).jar)" + @echo " * [Dropbox](https://dl.dropboxusercontent.com/u/18621288/I2P/$(i2pversion)/$(file).jar)" + @echo " * [Google Drive](https://googledrive.com/host/0B4jHEq5G7_EPWV9UeERwdGplZXc/$(i2pversion)/$(file).jar)" + +MIRRORS.md: + make mirrors > MIRRORS.md \ No newline at end of file diff --git a/privacy.js b/privacy.js index 276b6b4..e064050 100644 --- a/privacy.js +++ b/privacy.js @@ -9,7 +9,6 @@ var torrentprefpriv = chrome.i18n.getMessage("torrentPrefacePrivate"); var tunnelpref = chrome.i18n.getMessage("i2ptunnelPreface"); var tunnelprefpriv = chrome.i18n.getMessage("i2ptunnelPrefacePrivate"); - function onSet(result) { if (result) { console.log("->: Value was updated"); diff --git a/proxy.js b/proxy.js index 3758341..392c005 100644 --- a/proxy.js +++ b/proxy.js @@ -9,7 +9,6 @@ var torrentprefpriv = chrome.i18n.getMessage("torrentPrefacePrivate"); var tunnelpref = chrome.i18n.getMessage("i2ptunnelPreface"); var tunnelprefpriv = chrome.i18n.getMessage("i2ptunnelPrefacePrivate"); - browser.privacy.network.peerConnectionEnabled.set({ value: false });