From 92057d459d22f15932376b73d379675b00460247 Mon Sep 17 00:00:00 2001 From: idk Date: Tue, 19 Nov 2019 09:35:43 -0500 Subject: [PATCH 01/13] add mirrorlist --- MIRRORS.md | 37 +++++++++++++++++++++++ Makefile | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++ manifest.json | 3 -- 3 files changed, 118 insertions(+), 3 deletions(-) create mode 100644 MIRRORS.md diff --git a/MIRRORS.md b/MIRRORS.md new file mode 100644 index 0000000..64d03a2 --- /dev/null +++ b/MIRRORS.md @@ -0,0 +1,37 @@ +I2P Mirrors +=========== + +The software in this repository requires an I2P router to work. You can get it +the main i2p site, [https://geti2p.net](https://geti2p.net), but if that site +is blocked in your region, you can get it from one of these alternate +locations: + +Windows +------- + + * [Launchpad Mirror](https://launchpad.net/i2p/trunk/0.9.43/+download/i2pinstall_0.9.43_windows.exe) + * [In-I2P Mirror(sigterm.no)](http://whnxvjwjhzsske5yevyokhskllvtisv5ueokw6yvh6t7zqrpra2q.b32.i2p/releases/0.9.43/i2pinstall_0.9.43_windows.exe) + * [download.i2p2.de(sigterm.no)](http://download.i2p2.de/releases/0.9.43/i2pinstall_0.9.43_windows.exe) + * [download.i2p2.no(sigterm.no](http://download.i2p2.no/releases/0.9.43/i2pinstall_0.9.43_windows.exe) + * [Dropbox](https://dl.dropboxusercontent.com/u/18621288/I2P/0.9.43/i2pinstall_0.9.43_windows.exe) + * [Google Drive](https://googledrive.com/host/0B4jHEq5G7_EPWV9UeERwdGplZXc/0.9.43/i2pinstall_0.9.43_windows.exe) + +OSX Jar +------- + + * [Launchpad Mirror](https://launchpad.net/i2p/trunk/0.9.43/+download/i2pinstall_0.9.43.jar) + * [In-I2P Mirror(sigterm.no)](http://whnxvjwjhzsske5yevyokhskllvtisv5ueokw6yvh6t7zqrpra2q.b32.i2p/releases/0.9.43/i2pinstall_0.9.43.jar) + * [download.i2p2.de(sigterm.no)](http://download.i2p2.de/releases/0.9.43/i2pinstall_0.9.43.jar) + * [download.i2p2.no(sigterm.no](http://download.i2p2.no/releases/0.9.43/i2pinstall_0.9.43.jar) + * [Dropbox](https://dl.dropboxusercontent.com/u/18621288/I2P/0.9.43/i2pinstall_0.9.43.jar) + * [Google Drive](https://googledrive.com/host/0B4jHEq5G7_EPWV9UeERwdGplZXc/0.9.43/i2pinstall_0.9.43.jar) + +Linux Jar +--------- + + * [Launchpad Mirror](https://launchpad.net/i2p/trunk/0.9.43/+download/i2pinstall_0.9.43.jar) + * [In-I2P Mirror(sigterm.no)](http://whnxvjwjhzsske5yevyokhskllvtisv5ueokw6yvh6t7zqrpra2q.b32.i2p/releases/0.9.43/i2pinstall_0.9.43.jar) + * [download.i2p2.de(sigterm.no)](http://download.i2p2.de/releases/0.9.43/i2pinstall_0.9.43.jar) + * [download.i2p2.no(sigterm.no](http://download.i2p2.no/releases/0.9.43/i2pinstall_0.9.43.jar) + * [Dropbox](https://dl.dropboxusercontent.com/u/18621288/I2P/0.9.43/i2pinstall_0.9.43.jar) + * [Google Drive](https://googledrive.com/host/0B4jHEq5G7_EPWV9UeERwdGplZXc/0.9.43/i2pinstall_0.9.43.jar) diff --git a/Makefile b/Makefile index 9446084..035d78b 100644 --- a/Makefile +++ b/Makefile @@ -78,6 +78,8 @@ zip: version --exclude="./i2psetproxy.js.gif" \ --exclude="./package.json" \ --exclude="./package-lock.json" \ + --exclude="./.node_modules" \ + --exclude="./node_modules" \ --exclude="./.git" -r -FS ../i2psetproxy.js.zip * release: @@ -90,6 +92,26 @@ recreate-release: delete-release release upload upload: upload-xpi upload-deb + +WEB_EXT_API_KEY=AMO_KEY +WEB_EXT_API_SECRET=AMO_SECRET +include ../api_keys_moz.mk + +##ODD NUMBERED, SELF-DISTRIBUTED VERSIONS HERE! +sign: + @echo "Using the 'sign' target to instantly sign an extension for self-distribution" + @echo "requires a JWT API Key and Secret from addons.mozilla.org to be made available" + @echo "to the Makefile under the variables WEB_EXT_API_KEY and WEB_EXT_API_SECRET." + web-ext sign --channel unlisted --config-discovery false --api-key $(WEB_EXT_API_KEY) --api-secret $(WEB_EXT_API_SECRET) + +##EVEN NUMBERED, MOZILLA-DISTRIBUTED VERSIONS HERE! +submit: + @echo "Using the 'submit' target to instantly sign an extension for self-distribution" + @echo "requires a JWT API Key and Secret from addons.mozilla.org to be made available" + @echo "to the Makefile under the variables WEB_EXT_API_KEY and WEB_EXT_API_SECRET." + web-ext sign --channel listed --config-discovery false --api-key $(WEB_EXT_API_KEY) --api-secret $(WEB_EXT_API_SECRET) + + upload-xpi: gothub upload -u eyedeekay -r i2psetproxy.js -t $(VERSION) -n "i2ppb@eyedeekay.github.io.xpi" -f "./i2ppb@eyedeekay.github.io.xpi" @@ -120,3 +142,62 @@ 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 + +url: + #echo -n 'https://launchpad.net' | tee .geti2p.url + + #echo -n '+download/i2pinstall_' | tee -a .geti2p.url + #curl -s https://launchpad.net/i2p/trunk/+rdf | \ + # grep specifiedAt | \ + # head -n 3 | \ + # tail -n 1 | \ + # sed 's| ||g' | tee -a .geti2p.url + #echo '_windows.exe' | tee -a .geti2p.url + cat .geti2p.url | tr -d '\n' | tee geti2p.url + +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 " * [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 " * [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 " * [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)" diff --git a/manifest.json b/manifest.json index 4e377ab..e7f32e3 100644 --- a/manifest.json +++ b/manifest.json @@ -5,9 +5,6 @@ "strict_min_version": "60.0" } }, - "chrome_settings_overrides": { - "homepage": "home.html" - }, "permissions": [ "theme", "browsingData", From 8b0bea4e7ddf20454f7c598252664a27a25b8476 Mon Sep 17 00:00:00 2001 From: idk Date: Tue, 19 Nov 2019 09:37:42 -0500 Subject: [PATCH 02/13] add mirrorlist --- Makefile | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/Makefile b/Makefile index 035d78b..251c2ba 100644 --- a/Makefile +++ b/Makefile @@ -150,19 +150,6 @@ machash=cbda1767ef4156fc44168e87cd2475e6ba49792c11f6dcdf6fe76d2984cd0e00 jarhash=e5eb3db08dcc594e2fb01ada63303ff48096a454db1c7659c928ddb07736c84a drdhash=93e39b46001da498c9dad1ee94e5cb6301942a5dd2fe6b8405c7ccbed936d2bf -url: - #echo -n 'https://launchpad.net' | tee .geti2p.url - - #echo -n '+download/i2pinstall_' | tee -a .geti2p.url - #curl -s https://launchpad.net/i2p/trunk/+rdf | \ - # grep specifiedAt | \ - # head -n 3 | \ - # tail -n 1 | \ - # sed 's| ||g' | tee -a .geti2p.url - #echo '_windows.exe' | tee -a .geti2p.url - cat .geti2p.url | tr -d '\n' | tee geti2p.url - mirrors: @echo "I2P Mirrors" @echo "===========" @@ -175,6 +162,8 @@ mirrors: @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)" @@ -185,6 +174,8 @@ mirrors: @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)" @@ -195,6 +186,8 @@ mirrors: @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)" From 6d5f56922bf1ad3a3c816c7490d3c5c6015002d2 Mon Sep 17 00:00:00 2001 From: idk Date: Tue, 19 Nov 2019 09:38:34 -0500 Subject: [PATCH 03/13] update mirrorlist --- MIRRORS.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/MIRRORS.md b/MIRRORS.md index 64d03a2..926a631 100644 --- a/MIRRORS.md +++ b/MIRRORS.md @@ -9,6 +9,8 @@ locations: Windows ------- +SHA256=9b20c38a392d5153759d2044ecdac7a90e79675738ead97bbcc731d972c47792 + * [Launchpad Mirror](https://launchpad.net/i2p/trunk/0.9.43/+download/i2pinstall_0.9.43_windows.exe) * [In-I2P Mirror(sigterm.no)](http://whnxvjwjhzsske5yevyokhskllvtisv5ueokw6yvh6t7zqrpra2q.b32.i2p/releases/0.9.43/i2pinstall_0.9.43_windows.exe) * [download.i2p2.de(sigterm.no)](http://download.i2p2.de/releases/0.9.43/i2pinstall_0.9.43_windows.exe) @@ -19,6 +21,8 @@ Windows OSX Jar ------- +SHA256=cbda1767ef4156fc44168e87cd2475e6ba49792c11f6dcdf6fe76d2984cd0e00 + * [Launchpad Mirror](https://launchpad.net/i2p/trunk/0.9.43/+download/i2pinstall_0.9.43.jar) * [In-I2P Mirror(sigterm.no)](http://whnxvjwjhzsske5yevyokhskllvtisv5ueokw6yvh6t7zqrpra2q.b32.i2p/releases/0.9.43/i2pinstall_0.9.43.jar) * [download.i2p2.de(sigterm.no)](http://download.i2p2.de/releases/0.9.43/i2pinstall_0.9.43.jar) @@ -29,6 +33,8 @@ OSX Jar Linux Jar --------- +SHA256=e5eb3db08dcc594e2fb01ada63303ff48096a454db1c7659c928ddb07736c84a + * [Launchpad Mirror](https://launchpad.net/i2p/trunk/0.9.43/+download/i2pinstall_0.9.43.jar) * [In-I2P Mirror(sigterm.no)](http://whnxvjwjhzsske5yevyokhskllvtisv5ueokw6yvh6t7zqrpra2q.b32.i2p/releases/0.9.43/i2pinstall_0.9.43.jar) * [download.i2p2.de(sigterm.no)](http://download.i2p2.de/releases/0.9.43/i2pinstall_0.9.43.jar) From 0d5fb3c1bd2c654b00c40ba83ebcbaadf0b34258 Mon Sep 17 00:00:00 2001 From: idk Date: Wed, 20 Nov 2019 17:44:01 -0500 Subject: [PATCH 04/13] backport the smart homepage from the I2P Browser --- Makefile | 52 +------- background.js | 2 +- home.css | 323 ++++++++++++++++++++++++++++++++++++++++++-------- home.html | 116 +++++++++++++++--- manifest.json | 5 + mirrors.mk | 54 +++++++++ privacy.js | 1 - proxy.js | 1 - 8 files changed, 431 insertions(+), 123 deletions(-) create mode 100644 mirrors.mk 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

-
- - - - -
- 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 }); From 30ce917afa37cb0c416ab1ac3da46c592f2046e4 Mon Sep 17 00:00:00 2001 From: idk Date: Wed, 20 Nov 2019 19:50:12 -0500 Subject: [PATCH 05/13] use images as readiness indicators for now --- home.css | 14 ++++++++++++++ home.html | 10 ++++++++-- home.js | 8 ++++++++ 3 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 home.js diff --git a/home.css b/home.css index e98c966..b0ed750 100644 --- a/home.css +++ b/home.css @@ -280,4 +280,18 @@ li { .onboardingContent { font-size: .8rem!important; text-align: left +} +#proxy-check { + visibility: hidden; +} +.consoleOn:hover #proxy-check { + visibility: visible; + opacity: 1; +} +.proxyReady:hover #proxy-check { + visibility: visible; + opacity: 1; +} +img.readyness { + height: 3rem; } \ No newline at end of file diff --git a/home.html b/home.html index 657e28f..e396117 100644 --- a/home.html +++ b/home.html @@ -20,9 +20,15 @@

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

-
The browser detected I2P running in background!
+
+ Proxy is not ready. + Proxy is ready. +
-
Your proxy is ready!
+
+ Proxy is not ready. + Proxy is ready. +

New to I2P? Learn more here.

diff --git a/home.js b/home.js new file mode 100644 index 0000000..5d1e8fb --- /dev/null +++ b/home.js @@ -0,0 +1,8 @@ +function flipVisibility(div) { + var x = document.getElementById(div); + if (x.style.display === "none") { + x.style.display = "block"; + } else { + x.style.display = "none"; + } +} From 8eb75be6ecc8cc317360ea83fd9216c2c14c27d6 Mon Sep 17 00:00:00 2001 From: idk Date: Wed, 20 Nov 2019 19:55:41 -0500 Subject: [PATCH 06/13] improvements to release stuff --- Makefile | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index ad07c8b..7baeb31 100644 --- a/Makefile +++ b/Makefile @@ -71,6 +71,9 @@ xpi: version: sed -i 's|$(shell grep "\"version\": " manifest.json)| \"version\": \"$(VERSION)\",|g' manifest.json +moz-version: + sed -i 's|$(shell grep "\"version\": " manifest.json)| \"version\": \"$(MOZ_VERSION)\",|g' manifest.json + zip: version zip --exclude="./i2ppb@eyedeekay.github.io.xpi" \ --exclude="./i2psetproxy.js@eyedeekay.github.io.xpi" \ @@ -98,20 +101,19 @@ WEB_EXT_API_SECRET=AMO_SECRET include ../api_keys_moz.mk ##ODD NUMBERED, SELF-DISTRIBUTED VERSIONS HERE! -sign: +sign: version @echo "Using the 'sign' target to instantly sign an extension for self-distribution" @echo "requires a JWT API Key and Secret from addons.mozilla.org to be made available" @echo "to the Makefile under the variables WEB_EXT_API_KEY and WEB_EXT_API_SECRET." web-ext sign --channel unlisted --config-discovery false --api-key $(WEB_EXT_API_KEY) --api-secret $(WEB_EXT_API_SECRET) ##EVEN NUMBERED, MOZILLA-DISTRIBUTED VERSIONS HERE! -submit: - @echo "Using the 'submit' target to instantly sign an extension for self-distribution" +submit: moz-version + @echo "Using the 'submit' target to instantly sign an extension for Mozilla distribution" @echo "requires a JWT API Key and Secret from addons.mozilla.org to be made available" @echo "to the Makefile under the variables WEB_EXT_API_KEY and WEB_EXT_API_SECRET." web-ext sign --channel listed --config-discovery false --api-key $(WEB_EXT_API_KEY) --api-secret $(WEB_EXT_API_SECRET) - upload-xpi: gothub upload -u eyedeekay -r i2psetproxy.js -t $(VERSION) -n "i2ppb@eyedeekay.github.io.xpi" -f "./i2ppb@eyedeekay.github.io.xpi" From 731a929a882bbf07281b36e7599cb64c5f404b18 Mon Sep 17 00:00:00 2001 From: idk Date: Fri, 22 Nov 2019 13:24:19 -0500 Subject: [PATCH 07/13] mark i2p cookies secure, don't set the home page. --- bookmarks.js | 18 +++++++-- content.js | 9 ++--- context.js | 2 +- home.css | 3 +- info.css | 42 ++++++++++++++++++- info.js | 9 +++++ manifest.json | 3 -- scrub.js | 12 ++++++ window.html | 110 +++++++++++++++++++++++++++++++++----------------- 9 files changed, 154 insertions(+), 54 deletions(-) diff --git a/bookmarks.js b/bookmarks.js index bb22658..b4a5656 100644 --- a/bookmarks.js +++ b/bookmarks.js @@ -8,14 +8,14 @@ function bookmarks(bookmarkToolbar) { if (port == "7644") { var createBookmark = browser.bookmarks.create({ url: "about:I2p", - title: "Home Page", + title: "I2P Home Page", parentId: bookmarkToolbar[0].id }); createBookmark.then(onCreated); } else { var createBookmark = browser.bookmarks.create({ - url: "http://localhost:7657", - title: "Home Page", + url: browser.runtime.getURL("home.html"), + title: "I2P Home Page", parentId: bookmarkToolbar[0].id }); createBookmark.then(onCreated); @@ -116,7 +116,7 @@ function bookmarks(bookmarkToolbar) { } var b0 = browser.bookmarks.search({ - title: "Home Page" + title: "I2P Home Page" }); b0.then(bookHome, onRejected); @@ -144,3 +144,13 @@ var bt = browser.bookmarks.search({ }); bt.then(bookmarks); + +function handleCreated(id, bookmarkInfo) { + var propValue; + for (var propName in bookmarkInfo) { + propValue = bookmarkInfo[propName]; + console.log(propName, propValue); + } +} + +browser.bookmarks.onCreated.addListener(handleCreated); diff --git a/content.js b/content.js index 417b4cf..92d6ea4 100644 --- a/content.js +++ b/content.js @@ -1,18 +1,17 @@ var infoTitle = document.getElementById("text-section-header"); infoTitle.textContent = chrome.i18n.getMessage("infoTitle"); - -var infoMessage = document.getElementById("text-section-helptext"); -infoMessage.textContent = chrome.i18n.getMessage("infoMessage"); - +/* var helpMessage = document.getElementById("window-create-forum-panel"); helpMessage.textContent = chrome.i18n.getMessage("forumMessage"); +*/ /* var helpMessage = document.getElementById('window-create-help-panel'); helpMessage.textContent = chrome.i18n.getMessage("helpMessage") */ +/* var newsMessage = document.getElementById("window-create-news-panel"); newsMessage.textContent = chrome.i18n.getMessage("newsMessage"); - +*/ var clearData = document.getElementById("clear-browser-data"); clearData.textContent = chrome.i18n.getMessage("clearData"); /* diff --git a/context.js b/context.js index 6d1fed2..2b32f15 100644 --- a/context.js +++ b/context.js @@ -52,7 +52,7 @@ if (browser.contextualIdentities === undefined) { } else { browser.contextualIdentities .query({ - name: "I2P Browsing" + name: "I2P Browser" }) .then(identities => { if (!identities.length) { diff --git a/home.css b/home.css index b0ed750..869165e 100644 --- a/home.css +++ b/home.css @@ -293,5 +293,6 @@ li { opacity: 1; } img.readyness { - height: 3rem; + height: 100%; + width: auto } \ No newline at end of file diff --git a/info.css b/info.css index 38f42c3..b6569a3 100644 --- a/info.css +++ b/info.css @@ -1,10 +1,10 @@ html, body { - width: 350px; + width: 50rem; } a { margin: 10px; - display: inline-block; + /*display: inline-block;*/ } .panel { @@ -19,4 +19,42 @@ span.identity { figcaption { display: inline; +} + +.section-header { + display: flex; + flex-direction: row; + margin-bottom: 8px +} + +p { + font-size: 12px; +} +h1 { + font-size: 25px; +} +h2, +h3 { + font-size: 18px; +} +h4 { + font-size: 13px!important; +} +#links .showhider { + font-size: 18px +} +#onboarding { + font-size: 2rem; +} +img.readyness { + height: 2rem; +} +#proxyUnready { + min-height: 2rem; +} +#proxyReady { + min-height: 2rem; +} +#consoleOn { + min-height: 2rem; } \ No newline at end of file diff --git a/info.js b/info.js index 05fb0f0..9b0fc84 100644 --- a/info.js +++ b/info.js @@ -60,6 +60,14 @@ function proxyReadiness() { console.log(this.responseText); } +function goHome() { + let createData = { + url: "home.html" + }; + console.log("visiting homepage"); + let creating = browser.tabs.create(createData); +} +/* //document.addEventListener("onpageshow", e => { console.log("(Check) Checking Proxy Readiness"); const Http = new XMLHttpRequest(); @@ -99,3 +107,4 @@ function transferCanceled(evt) { Http.addEventListener("load", transferComplete); Http.addEventListener("error", transferFailed); Http.addEventListener("abort", transferCanceled); +*/ diff --git a/manifest.json b/manifest.json index 7acdefd..719e3cd 100644 --- a/manifest.json +++ b/manifest.json @@ -5,9 +5,6 @@ "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", diff --git a/scrub.js b/scrub.js index cf7a6ae..417bb24 100644 --- a/scrub.js +++ b/scrub.js @@ -353,9 +353,21 @@ var contextSetup = async function(requestDetails) { }; if (requestDetails.tabId > 0) { if (proxyHost(requestDetails.url)) { + setcookie = browser.cookies.set({ + firstPartyDomain: i2pHostName(requestDetails.url), + url: requestDetails.url, + secure: true + }); + setcookie.then(onGot, onError); return requestDetails; } if (i2pHost(requestDetails.url)) { + var setcookie = browser.cookies.set({ + firstPartyDomain: i2pHostName(requestDetails.url), + url: requestDetails.url, + secure: true + }); + setcookie.then(onGot, onError); var tab = tabGet(requestDetails.tabId); var mtab = tab.then(tabFind); return requestDetails; diff --git a/window.html b/window.html index db08246..3c00b2f 100644 --- a/window.html +++ b/window.html @@ -3,50 +3,84 @@ +
-
-
I2P Assistance
+
+

The Invisible Internet Browser

+
+
+
+
+

You are now able to use I2P in this browser.

+

It is experimental.

+
+
+ Proxy is not ready. + Proxy is ready. + Proxy is not ready. + Proxy is ready. +
+
+
+
+

+

Controls

+

These controls are used to tailor your I2P Browsing Experience

+ +

+

+
+
+
- -
- You are now free to browse the eepWeb! - - Your browser is now configured to browse anonymously on the I2P network. - As you browse, your traffic will be routed through other network nodes - to disguise it's origin, both from the server and from the nodes - themselves. - -
- -
- - - - Clear all browsing data
-
- Visit the I2P Forums
- Get the latest I2P News
-
- - - -
- -
- Proxy is not ready yet -
I2P Proxy is Ready
-
-
-
-
-
-
- - From b7a887c57833c339fb183aac16a129a15df3641e Mon Sep 17 00:00:00 2001 From: idk Date: Fri, 22 Nov 2019 16:38:36 -0500 Subject: [PATCH 08/13] fix ci --- Makefile | 6 +++++- bookmarks.js | 3 --- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 7baeb31..e8eecb7 100644 --- a/Makefile +++ b/Makefile @@ -98,7 +98,11 @@ upload: upload-xpi upload-deb WEB_EXT_API_KEY=AMO_KEY WEB_EXT_API_SECRET=AMO_SECRET -include ../api_keys_moz.mk + +-include ../api_keys_moz.mk + +tk: + echo $(WEB_EXT_API_KEY) ##ODD NUMBERED, SELF-DISTRIBUTED VERSIONS HERE! sign: version diff --git a/bookmarks.js b/bookmarks.js index b4a5656..491dca6 100644 --- a/bookmarks.js +++ b/bookmarks.js @@ -121,19 +121,16 @@ function bookmarks(bookmarkToolbar) { b0.then(bookHome, onRejected); var b1 = browser.bookmarks.search({ - url: "http://localhost:7657/i2psnark", title: "Bittorrent" }); b1.then(bookTorrent, onRejected); var b2 = browser.bookmarks.search({ - url: "http://localhost:7657/i2ptunnelmgr", title: "Hidden Services Manager" }); b2.then(bookI2PTunnel, onRejected); var b3 = browser.bookmarks.search({ - url: "http://localhost:7657/webmail", title: "Web Mail" }); b3.then(bookMail, onRejected); From 80bcf6e7eadc2ae283d9b54ca045aad1a9d43bdb Mon Sep 17 00:00:00 2001 From: idk Date: Fri, 22 Nov 2019 16:39:28 -0500 Subject: [PATCH 09/13] fix ci --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index e8eecb7..8f68b83 100644 --- a/Makefile +++ b/Makefile @@ -99,6 +99,7 @@ upload: upload-xpi upload-deb WEB_EXT_API_KEY=AMO_KEY WEB_EXT_API_SECRET=AMO_SECRET + -include ../api_keys_moz.mk tk: From f4c45c4834082e05ccb84c0284a2f1311428879b Mon Sep 17 00:00:00 2001 From: idk Date: Fri, 22 Nov 2019 17:01:03 -0500 Subject: [PATCH 10/13] exclude mirroring script for now --- Makefile | 2 +- mirrors.mk | 54 ------------------------------------------------------ 2 files changed, 1 insertion(+), 55 deletions(-) delete mode 100644 mirrors.mk diff --git a/Makefile b/Makefile index 8f68b83..c6f18c8 100644 --- a/Makefile +++ b/Makefile @@ -150,4 +150,4 @@ deborig: deb: deborig cd ../i2psetproxy.js-$(VERSION) && debuild -us -uc -rfakeroot -include mirrors.mk \ No newline at end of file +-include mirrors.mk \ No newline at end of file diff --git a/mirrors.mk b/mirrors.mk deleted file mode 100644 index c7a5498..0000000 --- a/mirrors.mk +++ /dev/null @@ -1,54 +0,0 @@ -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 From 2ea3bc169b37922f4485211e6a5ee12c75abfcf5 Mon Sep 17 00:00:00 2001 From: idk Date: Fri, 22 Nov 2019 17:02:54 -0500 Subject: [PATCH 11/13] exclude mirrors for now --- MIRRORS.md | 43 ------------------------------------------- 1 file changed, 43 deletions(-) delete mode 100644 MIRRORS.md diff --git a/MIRRORS.md b/MIRRORS.md deleted file mode 100644 index 926a631..0000000 --- a/MIRRORS.md +++ /dev/null @@ -1,43 +0,0 @@ -I2P Mirrors -=========== - -The software in this repository requires an I2P router to work. You can get it -the main i2p site, [https://geti2p.net](https://geti2p.net), but if that site -is blocked in your region, you can get it from one of these alternate -locations: - -Windows -------- - -SHA256=9b20c38a392d5153759d2044ecdac7a90e79675738ead97bbcc731d972c47792 - - * [Launchpad Mirror](https://launchpad.net/i2p/trunk/0.9.43/+download/i2pinstall_0.9.43_windows.exe) - * [In-I2P Mirror(sigterm.no)](http://whnxvjwjhzsske5yevyokhskllvtisv5ueokw6yvh6t7zqrpra2q.b32.i2p/releases/0.9.43/i2pinstall_0.9.43_windows.exe) - * [download.i2p2.de(sigterm.no)](http://download.i2p2.de/releases/0.9.43/i2pinstall_0.9.43_windows.exe) - * [download.i2p2.no(sigterm.no](http://download.i2p2.no/releases/0.9.43/i2pinstall_0.9.43_windows.exe) - * [Dropbox](https://dl.dropboxusercontent.com/u/18621288/I2P/0.9.43/i2pinstall_0.9.43_windows.exe) - * [Google Drive](https://googledrive.com/host/0B4jHEq5G7_EPWV9UeERwdGplZXc/0.9.43/i2pinstall_0.9.43_windows.exe) - -OSX Jar -------- - -SHA256=cbda1767ef4156fc44168e87cd2475e6ba49792c11f6dcdf6fe76d2984cd0e00 - - * [Launchpad Mirror](https://launchpad.net/i2p/trunk/0.9.43/+download/i2pinstall_0.9.43.jar) - * [In-I2P Mirror(sigterm.no)](http://whnxvjwjhzsske5yevyokhskllvtisv5ueokw6yvh6t7zqrpra2q.b32.i2p/releases/0.9.43/i2pinstall_0.9.43.jar) - * [download.i2p2.de(sigterm.no)](http://download.i2p2.de/releases/0.9.43/i2pinstall_0.9.43.jar) - * [download.i2p2.no(sigterm.no](http://download.i2p2.no/releases/0.9.43/i2pinstall_0.9.43.jar) - * [Dropbox](https://dl.dropboxusercontent.com/u/18621288/I2P/0.9.43/i2pinstall_0.9.43.jar) - * [Google Drive](https://googledrive.com/host/0B4jHEq5G7_EPWV9UeERwdGplZXc/0.9.43/i2pinstall_0.9.43.jar) - -Linux Jar ---------- - -SHA256=e5eb3db08dcc594e2fb01ada63303ff48096a454db1c7659c928ddb07736c84a - - * [Launchpad Mirror](https://launchpad.net/i2p/trunk/0.9.43/+download/i2pinstall_0.9.43.jar) - * [In-I2P Mirror(sigterm.no)](http://whnxvjwjhzsske5yevyokhskllvtisv5ueokw6yvh6t7zqrpra2q.b32.i2p/releases/0.9.43/i2pinstall_0.9.43.jar) - * [download.i2p2.de(sigterm.no)](http://download.i2p2.de/releases/0.9.43/i2pinstall_0.9.43.jar) - * [download.i2p2.no(sigterm.no](http://download.i2p2.no/releases/0.9.43/i2pinstall_0.9.43.jar) - * [Dropbox](https://dl.dropboxusercontent.com/u/18621288/I2P/0.9.43/i2pinstall_0.9.43.jar) - * [Google Drive](https://googledrive.com/host/0B4jHEq5G7_EPWV9UeERwdGplZXc/0.9.43/i2pinstall_0.9.43.jar) From e9b5060203bf3635ca2958c17c39bb511425d9c9 Mon Sep 17 00:00:00 2001 From: idk Date: Fri, 22 Nov 2019 17:49:27 -0500 Subject: [PATCH 12/13] use buttons to make the new menu work --- Makefile | 3 ++- home.css | 45 ++++++++++++++++----------------------------- info.css | 6 +++++- info.js | 36 ++++++++++++++++++++++++++++++++++++ scrub.js | 4 ++-- window.html | 26 +++++++++----------------- 6 files changed, 70 insertions(+), 50 deletions(-) diff --git a/Makefile b/Makefile index c6f18c8..0adff7d 100644 --- a/Makefile +++ b/Makefile @@ -131,6 +131,7 @@ libpolyfill: wget -O chromium/browser-polyfill.js https://unpkg.com/webextension-polyfill/dist/browser-polyfill.js fmt: + find . -path ./node_modules -prune -o -name '*.css' -exec cleancss -O1 --format beautify {} \; find . -path ./node_modules -prune -o -name '*.js' -exec prettier --write {} \; lint: @@ -150,4 +151,4 @@ deborig: deb: deborig cd ../i2psetproxy.js-$(VERSION) && debuild -us -uc -rfakeroot --include mirrors.mk \ No newline at end of file +-include mirrors.mk diff --git a/home.css b/home.css index 869165e..e9bdfe1 100644 --- a/home.css +++ b/home.css @@ -5,7 +5,8 @@ html { height: 100% } -a { +a, +button { color: #3b6bbf; text-decoration: none; font-weight: 700; @@ -20,13 +21,23 @@ a { outline: 0 } .applicationDesc:hover, -a:hover { +a:hover, +button:hover { color: #495057; text-decoration: none; font-weight: 700; word-wrap: break-word; outline: 0 } +button { + border: none; + cursor: pointer; + color: #3b6bbf; + text-decoration: none; + font-weight: 700; + word-wrap: break-word; + outline: 0 +} body { display: flex; flex-direction: column; @@ -43,9 +54,6 @@ body { word-wrap: break-word; outline: 0 } -/*body:not([initialized]) { - display: none -}*/ .background { background-color: #f8f8ff; height: 100% @@ -146,22 +154,11 @@ h4 { #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 @@ -270,27 +267,17 @@ li { background: #f7e59a; box-shadow: inset 0 0 0 1px #fff,0 0 1px #ccc } -#onboardingContentFour, -#onboardingContentOne, -#onboardingContentThree, -#onboardingContentTwo, -#onboardingContentZero { - /*display: none;*/ -} .onboardingContent { font-size: .8rem!important; text-align: left } #proxy-check { - visibility: hidden; -} -.consoleOn:hover #proxy-check { - visibility: visible; - opacity: 1; + visibility: hidden } +.consoleOn:hover #proxy-check, .proxyReady:hover #proxy-check { visibility: visible; - opacity: 1; + opacity: 1 } img.readyness { height: 100%; diff --git a/info.css b/info.css index b6569a3..b39dede 100644 --- a/info.css +++ b/info.css @@ -57,4 +57,8 @@ img.readyness { } #consoleOn { min-height: 2rem; -} \ No newline at end of file +} +#window-visit-homepage { + max-width: 70%; + margin-left: 0rem; +} diff --git a/info.js b/info.js index 9b0fc84..40d6803 100644 --- a/info.js +++ b/info.js @@ -40,6 +40,18 @@ document.addEventListener("click", e => { }; chrome.windows.update(currentWindow.id, updateInfo); }); + } else if (e.target.id === "window-visit-homepage") { + console.log("attempting to create homepage tab") + goHome() + } else if (e.target.id === "window-visit-i2ptunnel") { + console.log("attempting to create i2ptunnel tab") + goTunnel() + } else if (e.target.id === "window-visit-susimail") { + console.log("attempting to create susimail tab") + goMail() + } else if (e.target.id === "window-visit-snark") { + console.log("attempting to create snark tab") + goSnark() } else if (e.target.id === "clear-browser-data") { forgetBrowsingData(); } else if (e.target.id === "check-i2p-control") { @@ -67,6 +79,30 @@ function goHome() { console.log("visiting homepage"); let creating = browser.tabs.create(createData); } + +function goTunnel() { + let createData = { + url: "http://127.0.0.1:7657/i2ptunnel" + }; + console.log("visiting homepage"); + let creating = browser.tabs.create(createData); +} + +function goMail() { + let createData = { + url: "http://127.0.0.1:7657/susimail" + }; + console.log("visiting homepage"); + let creating = browser.tabs.create(createData); +} + +function goSnark() { + let createData = { + url: "http://127.0.0.1:7657/i2psnark" + }; + console.log("visiting homepage"); + let creating = browser.tabs.create(createData); +} /* //document.addEventListener("onpageshow", e => { console.log("(Check) Checking Proxy Readiness"); diff --git a/scrub.js b/scrub.js index 417bb24..7ddcd22 100644 --- a/scrub.js +++ b/scrub.js @@ -459,10 +459,10 @@ function routerHost(url) { if (final === "i2ptunnelmgr" || final === "i2ptunnel") { console.log("(urlcheck) application path", final); return "i2ptunnelmgr"; - } else if (final === "i2psnark" || final == "torrents") { + } else if (final === "i2psnark" || final === "torrents") { console.log("(urlcheck) application path", final); return "i2psnark"; - } else if (final === "webmail") { + } else if (final === "webmail" || final === "susimail" ) { console.log("(urlcheck) application path", final); return "webmail"; } else if (final == "") { diff --git a/window.html b/window.html index 3c00b2f..6029685 100644 --- a/window.html +++ b/window.html @@ -56,26 +56,18 @@

Applications

These applications use I2P to provide them with security and privacy.

From 317034cb5a8fc31df624dbeacfbf58aaa418a555 Mon Sep 17 00:00:00 2001 From: idk Date: Fri, 22 Nov 2019 17:55:58 -0500 Subject: [PATCH 13/13] fmt --- Makefile | 4 +++- info.css | 42 ++++++++++++++++-------------------------- info.js | 16 ++++++++-------- scrub.js | 2 +- 4 files changed, 28 insertions(+), 36 deletions(-) diff --git a/Makefile b/Makefile index 0adff7d..06e1bec 100644 --- a/Makefile +++ b/Makefile @@ -131,7 +131,9 @@ libpolyfill: wget -O chromium/browser-polyfill.js https://unpkg.com/webextension-polyfill/dist/browser-polyfill.js fmt: - find . -path ./node_modules -prune -o -name '*.css' -exec cleancss -O1 --format beautify {} \; + cleancss -O1 all -O2 all --format beautify home.css -o .home.css && mv .home.css home.css + cleancss -O1 all -O2 all --format beautify info.css -o .info.css && mv .info.css info.css + #find . -path ./node_modules -prune -o -name '*.css' -exec cleancss -O1 --format beautify {} \; find . -path ./node_modules -prune -o -name '*.js' -exec prettier --write {} \; lint: diff --git a/info.css b/info.css index b39dede..313864e 100644 --- a/info.css +++ b/info.css @@ -1,64 +1,54 @@ -html, body { - width: 50rem; +body, +html { + width: 50rem } - a { - margin: 10px; - /*display: inline-block;*/ + margin: 10px } - .panel { - margin: 5px; + margin: 5px } - span.identity { width: 100px; display: inline-block; - margin-left: 1em; + margin-left: 1em } - figcaption { - display: inline; + display: inline } - .section-header { display: flex; flex-direction: row; margin-bottom: 8px } - p { - font-size: 12px; + font-size: 12px } h1 { - font-size: 25px; + font-size: 25px } h2, h3 { - font-size: 18px; + font-size: 18px } h4 { - font-size: 13px!important; + font-size: 13px!important } #links .showhider { font-size: 18px } #onboarding { - font-size: 2rem; + font-size: 2rem } img.readyness { - height: 2rem; + height: 2rem } #proxyUnready { - min-height: 2rem; + min-height: 2rem } #proxyReady { - min-height: 2rem; + min-height: 2rem } #consoleOn { - min-height: 2rem; -} -#window-visit-homepage { - max-width: 70%; - margin-left: 0rem; + min-height: 2rem } diff --git a/info.js b/info.js index 40d6803..c3c2f5f 100644 --- a/info.js +++ b/info.js @@ -41,17 +41,17 @@ document.addEventListener("click", e => { chrome.windows.update(currentWindow.id, updateInfo); }); } else if (e.target.id === "window-visit-homepage") { - console.log("attempting to create homepage tab") - goHome() + console.log("attempting to create homepage tab"); + goHome(); } else if (e.target.id === "window-visit-i2ptunnel") { - console.log("attempting to create i2ptunnel tab") - goTunnel() + console.log("attempting to create i2ptunnel tab"); + goTunnel(); } else if (e.target.id === "window-visit-susimail") { - console.log("attempting to create susimail tab") - goMail() + console.log("attempting to create susimail tab"); + goMail(); } else if (e.target.id === "window-visit-snark") { - console.log("attempting to create snark tab") - goSnark() + console.log("attempting to create snark tab"); + goSnark(); } else if (e.target.id === "clear-browser-data") { forgetBrowsingData(); } else if (e.target.id === "check-i2p-control") { diff --git a/scrub.js b/scrub.js index 7ddcd22..39de3d7 100644 --- a/scrub.js +++ b/scrub.js @@ -462,7 +462,7 @@ function routerHost(url) { } else if (final === "i2psnark" || final === "torrents") { console.log("(urlcheck) application path", final); return "i2psnark"; - } else if (final === "webmail" || final === "susimail" ) { + } else if (final === "webmail" || final === "susimail") { console.log("(urlcheck) application path", final); return "webmail"; } else if (final == "") {