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
-
-
-
-
-
-
-
- I2P Proxy is Ready
-
+
+
+
+
+
+
+
+
+
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.
+
Protect your Privacy
+
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.
+
Configure your Experience
+
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.
+
Share Files
+
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.
+
Hidden e-mail
+
There is also an anonymous e-mail service available inside of I2P, which is accessible from our browser via the menu directly below.
+
Experience Tips
+
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.
+
+
+
+
+
Applications
+
These applications use I2P to provide them with security and privacy.
+
+
+
+
+
Links
+
+
If you want to get more information about I2P, you can visit these links.
+
+
+
+
+
+
+
+
-
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
});