Compare commits
35 Commits
extension
...
v0.9.49-jp
Author | SHA1 | Date | |
---|---|---|---|
c71bdbb77d | |||
a5540bc94d | |||
845c369f77 | |||
3d2377011d | |||
509f9a991a | |||
1b3fd56ced | |||
2307beb365 | |||
936344c794 | |||
0f043231af | |||
65361e8cc0 | |||
231c60dc75 | |||
9bd9764a6f | |||
2b4466aeab | |||
67654f8f56 | |||
0bfbef932d | |||
449653b221 | |||
39486bd672 | |||
44c82c0149 | |||
f29e5ede4c | |||
747db01cb5 | |||
c045eb9b20 | |||
2c59bf697b | |||
5367021b98 | |||
3887966163 | |||
17497df47e | |||
6406405f2f | |||
365f3c5c31 | |||
a1394bedde | |||
5d71698e16 | |||
b477d3d181 | |||
c322a85fe0 | |||
ae97ddee18 | |||
23fe6b64f1 | |||
dd9b762e3f | |||
94d728661e |
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
build
|
||||
*.deb
|
||||
*.tgz
|
@ -1 +1 @@
|
||||
https://www.eff.org/files/https-everywhere-2019.1.31-eff.xpi
|
||||
https://addons.mozilla.org/firefox/downloads/file/3716461/2021.1.27/https_everywhere-2021.1.27-an+fx.xpi
|
||||
|
101
Makefile
101
Makefile
@ -1,4 +1,4 @@
|
||||
all: profile.tgz install.exe
|
||||
all: profile.tgz app-profile.tgz install.exe
|
||||
|
||||
install.exe: profile build/licenses
|
||||
cp src/nsis/*.nsi build
|
||||
@ -18,8 +18,7 @@ build/licenses: build
|
||||
unix2dos build/licenses/LICENSE.index
|
||||
|
||||
clean:
|
||||
rm -rf build profile-*.tgz I2P-Profile-Installer-*.exe
|
||||
|
||||
rm -rf build app-profile-*.tgz profile-*.tgz I2P-Profile-Installer-*.exe *.deb
|
||||
|
||||
build:
|
||||
@echo "creating build directory"
|
||||
@ -30,6 +29,7 @@ profile: build/profile/user.js build/profile/prefs.js build/profile/bookmarks.ht
|
||||
profile.tgz: profile
|
||||
$(eval PROFILE_VERSION := $(shell cat src/profile/version.txt))
|
||||
@echo "building profile tarball $(PROFILE_VERSION)"
|
||||
install -m755 src/unix/i2pbrowser.sh build/profile/i2pbrowser.sh
|
||||
cd build && tar -czf profile-$(PROFILE_VERSION).tgz profile && cp profile-$(PROFILE_VERSION).tgz ../
|
||||
|
||||
build/profile/user.js: build/profile src/profile/user.js
|
||||
@ -49,6 +49,33 @@ copy-xpi: build/NoScript.xpi build/HTTPSEverywhere.xpi build/i2ppb@eyedeekay.git
|
||||
cp build/HTTPSEverywhere.xpi "build/profile/extensions/https-everywhere-eff@eff.org.xpi"
|
||||
cp build/i2ppb@eyedeekay.github.io.xpi build/profile/extensions/i2ppb@eyedeekay.github.io.xpi
|
||||
|
||||
app-profile: build/app-profile/user.js build/app-profile/prefs.js build/app-profile/chrome/userChrome.css build/app-profile/bookmarks.html build/app-profile/storage-sync.sqlite copy-app-xpi
|
||||
|
||||
app-profile.tgz: app-profile
|
||||
$(eval PROFILE_VERSION := $(shell cat src/app-profile/version.txt))
|
||||
@echo "building app-profile tarball $(PROFILE_VERSION)"
|
||||
install -m755 src/unix/i2pconfig.sh build/app-profile/i2pconfig.sh
|
||||
cd build && tar -czf app-profile-$(PROFILE_VERSION).tgz app-profile && cp app-profile-$(PROFILE_VERSION).tgz ../
|
||||
|
||||
build/app-profile/user.js: build/app-profile src/app-profile/user.js
|
||||
cp src/app-profile/user.js build/app-profile/user.js
|
||||
|
||||
build/app-profile/prefs.js: build/app-profile src/app-profile/prefs.js
|
||||
cp src/app-profile/prefs.js build/app-profile/prefs.js
|
||||
|
||||
build/app-profile/chrome/userChrome.css: build/app-profile/chrome src/app-profile/chrome/userChrome.css
|
||||
cp src/app-profile/chrome/userChrome.css build/app-profile/chrome/userChrome.css
|
||||
|
||||
build/app-profile/bookmarks.html: build/app-profile src/app-profile/bookmarks.html
|
||||
cp src/app-profile/bookmarks.html build/app-profile/bookmarks.html
|
||||
|
||||
build/app-profile/storage-sync.sqlite: build/app-profile src/app-profile/storage-sync.sqlite
|
||||
cp src/app-profile/storage-sync.sqlite build/app-profile/storage-sync.sqlite
|
||||
|
||||
copy-app-xpi: build/NoScript.xpi build/HTTPSEverywhere.xpi build/i2ppb@eyedeekay.github.io.xpi build/app-profile/extensions
|
||||
cp build/HTTPSEverywhere.xpi "build/app-profile/extensions/https-everywhere-eff@eff.org.xpi"
|
||||
cp build/i2ppb@eyedeekay.github.io.xpi build/app-profile/extensions/i2ppb@eyedeekay.github.io.xpi
|
||||
|
||||
build/i2ppb@eyedeekay.github.io.xpi:
|
||||
curl -L `cat i2psetproxy.url` > build/i2ppb@eyedeekay.github.io.xpi
|
||||
|
||||
@ -58,8 +85,76 @@ build/NoScript.xpi: NoScript.url
|
||||
build/HTTPSEverywhere.xpi : HTTPSEverywhere.url
|
||||
curl `cat HTTPSEverywhere.url` > build/HTTPSEverywhere.xpi
|
||||
|
||||
clean-extensions:
|
||||
rm -fv i2psetproxy.url NoScript.url HTTPSEverywhere.url
|
||||
|
||||
extensions:HTTPSEverywhere.url NoScript.url i2psetproxy.url
|
||||
|
||||
HTTPSEverywhere.url:
|
||||
@echo "https://addons.mozilla.org/firefox/downloads/file/3716461/"`./amo-version.sh https-everywhere`"/https_everywhere-"`./amo-version.sh https-everywhere`"-an+fx.xpi" > HTTPSEverywhere.url
|
||||
|
||||
NoScript.url:
|
||||
@echo "https://addons.mozilla.org/firefox/downloads/file/3534184/"`./amo-version.sh noscript`"/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi" > NoScript.url
|
||||
|
||||
i2psetproxy.url:
|
||||
@echo "https://addons.mozilla.org/firefox/downloads/file/3674169/"`./amo-version.sh i2p-in-private-browsing`"/i2ppb@eyedeekay.github.io.xpi" > i2psetproxy.url
|
||||
|
||||
build/profile/extensions: build/profile
|
||||
mkdir -p build/profile/extensions
|
||||
|
||||
build/profile: build
|
||||
mkdir -p build/profile
|
||||
|
||||
|
||||
build/app-profile/chrome: build/app-profile
|
||||
mkdir -p build/app-profile/chrome
|
||||
|
||||
build/app-profile/extensions: build/app-profile
|
||||
mkdir -p build/app-profile/extensions
|
||||
|
||||
build/app-profile: build
|
||||
mkdir -p build/app-profile
|
||||
|
||||
install:
|
||||
rm -rfv /etc/i2pbrowser \
|
||||
/var/lib/i2pbrowser
|
||||
mkdir -p /etc/i2pbrowser \
|
||||
/var/lib/i2pbrowser
|
||||
install -m644 src/unix/i2pbrowserrc /etc/i2pbrowser/i2pbrowserrc
|
||||
install -m644 src/unix/i2pbrowserdebianrc /etc/i2pbrowser/i2pbrowserdebianrc
|
||||
install -m755 build/profile/i2pbrowser.sh /usr/local/bin/i2pbrowser
|
||||
install -m755 build/app-profile/i2pconfig.sh /usr/local/bin/i2pconfig
|
||||
install -m755 src/unix/i2p-config-service-setup.sh /usr/local/bin/i2p-config-service-setup
|
||||
cp -vr build/profile /var/lib/i2pbrowser/profile
|
||||
cp -vr build/app-profile /var/lib/i2pbrowser/app-profile
|
||||
cp -vr src/icons /var/lib/i2pbrowser/icons
|
||||
cp src/unix/desktop/i2pbrowser.desktop /usr/share/applications
|
||||
cp src/unix/desktop/i2pconfig.desktop /usr/share/applications
|
||||
|
||||
uninstall:
|
||||
rm -rfv /etc/i2pbrowser \
|
||||
/var/lib/i2pbrowser \
|
||||
/etc/i2pbrowser/i2pbrowserrc \
|
||||
/usr/local/bin/i2pbrowser \
|
||||
/usr/local/bin/i2pconfig \
|
||||
/usr/local/bin/i2p-config-service-setup \
|
||||
/usr/share/applications/i2pbrowser.desktop \
|
||||
/usr/share/applications/i2pconfig.desktop
|
||||
|
||||
checkinstall:
|
||||
checkinstall \
|
||||
--default \
|
||||
--install=no \
|
||||
--fstrans=yes \
|
||||
--pkgname=i2p-firefox \
|
||||
--pkgversion=$(PROFILE_VERSION) \
|
||||
--pkggroup=net \
|
||||
--pkgrelease=1 \
|
||||
--pkgsource="https://i2pgit.org/i2p-hackers/i2p.firefox" \
|
||||
--maintainer="hankhill19580@gmail.com" \
|
||||
--requires="firefox,wget,i2p,i2p-router" \
|
||||
--suggests="i2p,i2p-router,syndie,tor,tsocks" \
|
||||
--nodoc \
|
||||
--deldoc=yes \
|
||||
--deldesc=yes \
|
||||
--backup=no
|
||||
|
@ -1 +1 @@
|
||||
https://secure.informaction.com/download/releases/noscript-10.2.1.xpi
|
||||
https://addons.mozilla.org/firefox/downloads/file/3534184/11.2.3/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi
|
||||
|
13
README
13
README
@ -1,13 +0,0 @@
|
||||
To build this, you will need the following software packages (all available in Debian) :
|
||||
|
||||
* make
|
||||
* nsis
|
||||
* dos2unix
|
||||
* curl
|
||||
|
||||
Before you build, you should update the files "NoScript.url" and "HTTPSEverywhere.url" to point to the latest direct download links of the respective plugins. If those have changed, it's a good idea to check those files back in to keep them as current as possible.
|
||||
|
||||
After that just type "make". This will produce two files:
|
||||
|
||||
profile.tgz - the raw firefox profile.
|
||||
install.exe - the windows installer.
|
112
README.md
Normal file
112
README.md
Normal file
@ -0,0 +1,112 @@
|
||||
I2P Browsing Profile for Firefox
|
||||
================================
|
||||
|
||||
Features:
|
||||
---------
|
||||
|
||||
- Automatically select an up-to-date, secure Firefox or Tor Browser(On Windows) variant
|
||||
- Automatically configure a profile for I2P
|
||||
- Automatically block-list all non-I2P local destinations
|
||||
- Enable first-party isolation, anti-fingerprinting, letterboxing
|
||||
- Automatically sandbox I2P, Non-I2P, and I2P-Application cookiestores
|
||||
|
||||
Build Dependencies:
|
||||
-------------------
|
||||
|
||||
To build this, you will need the following software packages (all available in Debian) :
|
||||
|
||||
* make
|
||||
* nsis
|
||||
* dos2unix
|
||||
* curl
|
||||
|
||||
to build a Debian package, you'll also need
|
||||
|
||||
* checkinstall
|
||||
|
||||
Preparation
|
||||
-----------
|
||||
|
||||
Before you build, run the targets
|
||||
|
||||
|
||||
make clean-extensions
|
||||
make extensions
|
||||
|
||||
to update the extensions to point to their latest versions.
|
||||
|
||||
Windows Build
|
||||
-------------
|
||||
|
||||
After installing the dependencies and completing the preparations,
|
||||
just run `make`. This will produce three files:
|
||||
|
||||
profile.tgz - the firefox profile, plus a shell script which will
|
||||
launch it if Firefox is found in the $PATH on Unix-Like operating
|
||||
systems.
|
||||
app-profile.tgz - the Firefox profile plus a launcher shell script,
|
||||
which will launch a *modified* Firefox without a URL bar as a router
|
||||
console wrapper.
|
||||
install.exe - the windows installer, which sets up shortcuts to
|
||||
launch Firefox on Windows.
|
||||
|
||||
Unix Support
|
||||
------------
|
||||
|
||||
It is possible to use these profiles on Linux and possibly other
|
||||
Unixes, if Firefox is already installed on the system. It can be
|
||||
installed system-wide using the `make install` target. Running
|
||||
`make install` requires root, and requires `make` to have been run
|
||||
first. To install on Unix, system-wide, run:
|
||||
|
||||
make
|
||||
sudo make install
|
||||
|
||||
To run without installing them system wide, unpack the `profile*.tgz`
|
||||
to a location of your choice and run the `i2pbrowser.sh` script. This
|
||||
will start a Firefox profile configured to use I2P.
|
||||
|
||||
tar xvf profile-0.3.tgz
|
||||
cd profile
|
||||
./i2pbrowser.sh
|
||||
|
||||
If you want to run the app-like i2pconfig browser, then follow the
|
||||
same steps with app-profile*.tgz.
|
||||
|
||||
tar xvf app-profile-0.3.tgz
|
||||
cd app-profile
|
||||
./i2pconfig.sh
|
||||
|
||||
To generate a `deb` package, install the package `checkinstall` and run
|
||||
the `make checkinstall` target after building with `make`.
|
||||
|
||||
make
|
||||
make checkinstall
|
||||
sudo apt install ./i2p-firefox*.deb
|
||||
|
||||
If you want to set up i2pconfig to run when you start the service
|
||||
with `sudo service i2p start` then you can run the script:
|
||||
|
||||
/usr/local/bin/i2p-config-service-setup
|
||||
|
||||
Issues
|
||||
------
|
||||
|
||||
To report issues against this browser profile, please file issues
|
||||
at [the official Gitlab](https://i2pgit.org/i2p-hackers/i2p.firefox)
|
||||
or the [Github Mirror](https://github.com/i2p/i2p.firefox). Issues
|
||||
pertaining to the plugins may be reported to their upstream
|
||||
maintainers if it's determined that our configuration is not at
|
||||
fault.
|
||||
|
||||
NoScript is developed on Github by `hackademix` and the community:
|
||||
- https://github.com/hackademix/noscript
|
||||
|
||||
HTTPS Everywhere is developed on Github by the EFF:
|
||||
- https://github.com/EFForg/https-everywhere
|
||||
|
||||
I2P in Private Browsing is developed on Gitlab and Github by idk and the community:
|
||||
- https://i2pgit.org/idk/I2P-in-Private-Browsing-Mode-Firefox
|
||||
- https://github.com/eyedeekay/I2P-in-Private-Browsing-Mode-Firefox
|
||||
|
||||
|
3
amo-version.sh
Executable file
3
amo-version.sh
Executable file
@ -0,0 +1,3 @@
|
||||
#! /usr/bin/env sh
|
||||
|
||||
curl -s https://addons.mozilla.org/api/v5/addons/addon/$1/versions/?page_size=1 | jq '.results | .[0] | .version' | tr -d '"'
|
@ -1,8 +1,14 @@
|
||||
2020-12-20
|
||||
2021-01-17 idk
|
||||
* Use Local Application Data instead of Roaming application data for router.config file
|
||||
* Use Roaming Application Daya only if a clients.config.d is present, indicating that the
|
||||
roaming application directory is in use deliberately.
|
||||
|
||||
2020-12-20 idk
|
||||
* Add I2P in Private Browsing plugin, which for the purposes of this profile provides
|
||||
- X-I2P-Location functionality(Alternate service locations for mirrors)
|
||||
- X-I2P-TorrentLocation functionality(Alternate resource locations for sites)
|
||||
- Pre-Disable HTTPS only mode dom.security.https_only_mode=false in the profile in favor of HTTPS-Everywhere
|
||||
- Enable the use of extensions in private mode by default.
|
||||
|
||||
2019-02-10 zab
|
||||
* Fix missing texts on Finish page
|
||||
|
1
description-pak
Normal file
1
description-pak
Normal file
@ -0,0 +1 @@
|
||||
A browser profile and accompanying script for launching it. Used to combine I2P with Firefox in a reasonably safe way.
|
@ -1 +1 @@
|
||||
https://github.com/eyedeekay/I2P-in-Private-Browsing-Mode-Firefox/releases/download/0.79/i2ppb@eyedeekay.github.io.xpi
|
||||
https://addons.mozilla.org/firefox/downloads/file/3674169/0.98/i2ppb@eyedeekay.github.io.xpi
|
||||
|
21
license/i2ppb.txt
Normal file
21
license/i2ppb.txt
Normal file
@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2019 idk
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
19
src/app-profile/bookmarks.html
Normal file
19
src/app-profile/bookmarks.html
Normal file
@ -0,0 +1,19 @@
|
||||
<!DOCTYPE NETSCAPE-Bookmark-file-1>
|
||||
<!-- This is an automatically generated file.
|
||||
It will be read and overwritten.
|
||||
DO NOT EDIT! -->
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
|
||||
<TITLE>Bookmarks</TITLE>
|
||||
<H1>Bookmarks Menu</H1>
|
||||
|
||||
<DL><p>
|
||||
<DT><A HREF="place:type=6&sort=14&maxResults=10" ADD_DATE="1539649423" LAST_MODIFIED="1539649424">Recent Tags</A>
|
||||
<HR> <DT><A HREF="http://legwork.i2p/yacysearch.html?query=%s&verify=cacheonly&contentdom=text&nav=location%2Chosts%2Cauthors%2Cnamespace%2Ctopics%2Cfiletype%2Cprotocol%2Clanguage&startRecord=0&indexof=off&meanCount=5&resource=global&prefermaskfilter=&maximumRecords=10&timezoneOffset=0" ADD_DATE="1539652098" LAST_MODIFIED="1539652098" SHORTCUTURL="legwork.i2p">Search YaCy 'legwork': Search Page</A>
|
||||
<DD>Software HTTP Freeware Home Page
|
||||
<DT><H3 ADD_DATE="1539649419" LAST_MODIFIED="1539649423" PERSONAL_TOOLBAR_FOLDER="true">Bookmarks Toolbar</H3>
|
||||
<DL><p>
|
||||
<DT><A HREF="place:sort=8&maxResults=10" ADD_DATE="1539649423" LAST_MODIFIED="1539649423">Most Visited</A>
|
||||
<DT><A HREF="http://i2p-projekt.i2p/" ADD_DATE="1538511080" LAST_MODIFIED="1538511080">I2P Anonymous Network</A>
|
||||
<DD>Anonymous peer-to-peer distributed communication layer built with open source tools and designed to run any traditional Internet service such as email, IRC or web hosting.
|
||||
</DL><p>
|
||||
</DL>
|
26
src/app-profile/chrome/userChrome.css
Normal file
26
src/app-profile/chrome/userChrome.css
Normal file
@ -0,0 +1,26 @@
|
||||
|
||||
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); /* only needed once */
|
||||
@namespace html url("http://www.w3.org/1999/xhtml");
|
||||
|
||||
#PersonalToolbar, #PanelUI-Button, #PanelUI-menu-button, #star-button, #forward-button, #home-button, #bookmarks-toolbar-button, #library-button, #sidebar-button, #pocket-button, #fxa-toolbar-menu-button, #reader-mode-button, #identity-icon {
|
||||
visibility: collapse;
|
||||
}
|
||||
|
||||
#urlbar-background {background-color: black !important;}
|
||||
|
||||
/* Remove back button circle */
|
||||
#back-button:not(:hover),
|
||||
#back-button:not(:hover) > .toolbarbutton-icon {
|
||||
background: transparent !important;
|
||||
border: none !important;
|
||||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
#back-button:hover,
|
||||
#back-button:hover > .toolbarbutton-icon {
|
||||
border: none !important;
|
||||
border-radius: 2px !important;
|
||||
}
|
||||
|
||||
#urlbar-container, #nav-bar { visibility: collapse !important }
|
||||
}
|
55
src/app-profile/prefs.js
Normal file
55
src/app-profile/prefs.js
Normal file
@ -0,0 +1,55 @@
|
||||
user_pref("extensions.https_everywhere._observatory.enabled", false);
|
||||
user_pref("extensions.https_everywhere.options.autoUpdateRulesets", false);
|
||||
user_pref("extensions.https_everywhere.globalEnabled", false);
|
||||
user_pref("extensions.https_everywhere._observatory.submit_during_tor", false);
|
||||
user_pref("extensions.https_everywhere._observatory.submit_during_nontor", false);
|
||||
user_pref("extensions.https_everywhere._observatory.use_custom_proxy", true);
|
||||
user_pref("extensions.https_everywhere._observatory.proxy_host", "127.0.0.1");
|
||||
user_pref("extensions.https_everywhere._observatory.proxy_port", 4444);
|
||||
|
||||
user_pref("extensions.torbutton.use_nontor_proxy", true);
|
||||
|
||||
//For socket conversion: in the future, I'll need to make TBB communicate with
|
||||
//i2p over a unix socket. Fortunately, this is how you do that. It will be
|
||||
//configurable in a similar way to the host:port configuration when that happens.
|
||||
//user_pref("extensions.torlauncher.socks_port_use_ipc", );
|
||||
//user_pref("extensions.torlauncher.socks_ipc_path", "");
|
||||
|
||||
user_pref("extensions.torlauncher.start_tor", false);
|
||||
//user_pref("extensions.torlauncher.default_bridge_type", "");
|
||||
user_pref("extensions.torlauncher.prompt_at_startup", false);
|
||||
|
||||
// Resist-fingerprinting and first-party isolation enable
|
||||
|
||||
user_pref("privacy.resistFingerprinting", true);
|
||||
user_pref("privacy.firstparty.isolate", true);
|
||||
|
||||
// Use i2p http proxy for all connections and set homepage to safe local form.
|
||||
|
||||
// DON'T allow access to the admin panel from the profile we browse i2p with.
|
||||
user_pref("network.proxy.no_proxies_on", "127.0.0.1:7657,localhost:7657,127.0.0.1:7662,localhost:7662,127.0.0.1:7669,localhost:7669");
|
||||
user_pref("network.proxy.type", 1);
|
||||
user_pref("network.proxy.http", "127.0.0.1");
|
||||
user_pref("network.proxy.http_port", 4444);
|
||||
user_pref("network.proxy.ssl", "127.0.0.1");
|
||||
user_pref("network.proxy.ssl_port", 4444);
|
||||
user_pref("network.proxy.ftp", "127.0.0.1");
|
||||
user_pref("network.proxy.ftp_port", 4444);
|
||||
user_pref("network.proxy.socks", "127.0.0.1");
|
||||
user_pref("network.proxy.socks_port", 4444);
|
||||
user_pref("network.proxy.share_proxy_settings", true);
|
||||
user_pref("browser.startup.homepage", "about:blank");
|
||||
user_pref("dom.security.https_only_mode", false);
|
||||
user_pref("keyword.enabled", false);
|
||||
user_pref("extensions.allowPrivateBrowsingByDefault", true);
|
||||
user_pref("extensions.PrivateBrowsing.notification", false);
|
||||
|
||||
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
|
||||
user_pref("extensions.pocket.enabled", false);
|
||||
user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false);
|
||||
user_pref("browser.newtabpage.activity-stream.showSponsored", false);
|
||||
user_pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsored", false);
|
||||
user_pref("browser.newtabpage.activity-stream.feeds.section.highlights", false);
|
||||
user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false);
|
||||
user_pref("browser.newtabpage.activity-stream.default.sites", "http://127.0.0.1:7657/home,http://127.0.0.1:7657/i2psnark/,http://127.0.0.1:7657/susimail/");
|
||||
user_pref("browser.newtabpage.activity-stream.feeds.topsites", true);
|
BIN
src/app-profile/storage-sync.sqlite
Executable file
BIN
src/app-profile/storage-sync.sqlite
Executable file
Binary file not shown.
218
src/app-profile/user.js
Normal file
218
src/app-profile/user.js
Normal file
@ -0,0 +1,218 @@
|
||||
# Overrides for Extension Preferences
|
||||
# Tor Browser Bundle
|
||||
# Do not edit this file.
|
||||
#
|
||||
# This file is modified from a file included in the Tor Browser Bundle.
|
||||
#
|
||||
# Copyright 2017 The Tor Project. See LICENSE.tor for licensing information.
|
||||
|
||||
# HTTPS Everywhere Preferences:
|
||||
user_pref("extensions.https_everywhere._observatory.popup_shown", true);
|
||||
user_pref("extensions.https_everywhere.toolbar_hint_shown", true);
|
||||
|
||||
# NoScript Preferences:
|
||||
# In order to disable all scripts by default, uncomment the following line...
|
||||
# user_pref("capability.policy.maonoscript.javascript.enabled", "noAccess");
|
||||
# and comment out the following line
|
||||
user_pref("capability.policy.maonoscript.javascript.enabled", "allAccess");
|
||||
user_pref("capability.policy.maonoscript.sites", "[System+Principal] about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
|
||||
user_pref("noscript.default", "[System+Principal] about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
|
||||
user_pref("noscript.mandatory", "[System+Principal] about: about:tbupdate about:tor chrome: resource: blob: mediasource: moz-extension: moz-safe-about: about:neterror about:certerror about:feeds about:tabcrashed about:cache");
|
||||
user_pref("noscript.ABE.enabled", false);
|
||||
user_pref("noscript.ABE.notify", false);
|
||||
user_pref("noscript.ABE.wanIpAsLocal", false);
|
||||
user_pref("noscript.confirmUnblock", false);
|
||||
user_pref("noscript.contentBlocker", true);
|
||||
user_pref("noscript.firstRunRedirection", false);
|
||||
user_pref("noscript.global", true);
|
||||
user_pref("noscript.gtemp", "");
|
||||
user_pref("noscript.opacizeObject", 3);
|
||||
user_pref("noscript.forbidWebGL", true);
|
||||
user_pref("noscript.forbidFonts", true);
|
||||
user_pref("noscript.options.tabSelectedIndexes", "5,0,0");
|
||||
user_pref("noscript.policynames", "");
|
||||
user_pref("noscript.secureCookies", true);
|
||||
user_pref("noscript.showAllowPage", false);
|
||||
user_pref("noscript.showBaseDomain", false);
|
||||
user_pref("noscript.showDistrust", false);
|
||||
user_pref("noscript.showRecentlyBlocked", false);
|
||||
user_pref("noscript.showTemp", false);
|
||||
user_pref("noscript.showTempToPerm", false);
|
||||
user_pref("noscript.showUntrusted", false);
|
||||
user_pref("noscript.STS.enabled", false);
|
||||
user_pref("noscript.subscription.lastCheck", -142148139);
|
||||
user_pref("noscript.temp", "");
|
||||
user_pref("noscript.untrusted", "");
|
||||
user_pref("noscript.forbidMedia", true);
|
||||
user_pref("noscript.allowWhitelistUpdates", false);
|
||||
user_pref("noscript.fixLinks", false);
|
||||
// Now handled by plugins.click_to_play // Not in this one.
|
||||
user_pref("noscript.forbidFlash", true);
|
||||
user_pref("noscript.forbidSilverlight", true);
|
||||
user_pref("noscript.forbidJava", true);
|
||||
user_pref("noscript.forbidPlugins", true);
|
||||
// Usability tweaks
|
||||
user_pref("noscript.showPermanent", false);
|
||||
user_pref("noscript.showTempAllowPage", true);
|
||||
user_pref("noscript.showRevokeTemp", true);
|
||||
user_pref("noscript.notify", false);
|
||||
user_pref("noscript.autoReload", true);
|
||||
user_pref("noscript.autoReload.allTabs", false);
|
||||
user_pref("noscript.cascadePermissions", true);
|
||||
user_pref("noscript.restrictSubdocScripting", true);
|
||||
user_pref("noscript.showVolatilePrivatePermissionsToggle", false);
|
||||
user_pref("noscript.volatilePrivatePermissions", true);
|
||||
user_pref("noscript.clearClick", 0);
|
||||
|
||||
user_pref("intl.locale.matchOS", false);
|
||||
|
||||
user_pref("extensions.https_everywhere._observatory.enabled", false);
|
||||
user_pref("extensions.https_everywhere.options.autoUpdateRulesets", false);
|
||||
user_pref("extensions.https_everywhere.globalEnabled", false);
|
||||
user_pref("extensions.https_everywhere._observatory.submit_during_tor", false);
|
||||
user_pref("extensions.https_everywhere._observatory.submit_during_nontor", false);
|
||||
user_pref("extensions.https_everywhere._observatory.use_custom_proxy", true);
|
||||
user_pref("extensions.https_everywhere._observatory.proxy_host", "127.0.0.1");
|
||||
user_pref("extensions.https_everywhere._observatory.proxy_port", 4444);
|
||||
|
||||
user_pref("extensions.torbutton.use_nontor_proxy", true);
|
||||
|
||||
//For socket conversion: in the future, I'll need to make TBB communicate with
|
||||
//i2p over a unix socket. Fortunately, this is how you do that. It will be
|
||||
//configurable in a similar way to the host:port configuration when that happens.
|
||||
//user_pref("extensions.torlauncher.socks_port_use_ipc", );
|
||||
//user_pref("extensions.torlauncher.socks_ipc_path", "");
|
||||
|
||||
user_pref("extensions.torlauncher.start_tor", false);
|
||||
//user_pref("extensions.torlauncher.default_bridge_type", "");
|
||||
user_pref("extensions.torlauncher.prompt_at_startup", false);
|
||||
|
||||
// Resist-fingerprinting and first-party isolation enable
|
||||
|
||||
user_pref("privacy.resistFingerprinting", true);
|
||||
user_pref("privacy.firstparty.isolate", true);
|
||||
|
||||
// Use i2p http proxy for all connections and set homepage to safe local form.
|
||||
|
||||
// DON'T allow access to the admin panel from the profile we browse i2p with.
|
||||
user_pref("network.proxy.no_proxies_on", "127.0.0.1:7657,localhost:7657,127.0.0.1:7662,localhost:7662,127.0.0.1:7669,localhost:7669");
|
||||
user_pref("network.proxy.type", 1);
|
||||
user_pref("network.proxy.http", "127.0.0.1");
|
||||
user_pref("network.proxy.http_port", 4444);
|
||||
user_pref("network.proxy.ssl", "127.0.0.1");
|
||||
user_pref("network.proxy.ssl_port", 4444);
|
||||
user_pref("network.proxy.ftp", "127.0.0.1");
|
||||
user_pref("network.proxy.ftp_port", 4444);
|
||||
user_pref("network.proxy.socks", "127.0.0.1");
|
||||
user_pref("network.proxy.socks_port", 4444);
|
||||
user_pref("network.proxy.share_proxy_settings", true);
|
||||
user_pref("browser.startup.homepage", "about:blank");
|
||||
|
||||
// Privacy-harden and disable irrelevant features.
|
||||
user_pref("app.normandy.api_url", "");
|
||||
user_pref("app.normandy.enabled", false);
|
||||
user_pref("app.update.auto", false);
|
||||
user_pref("app.update.enabled", false);
|
||||
user_pref("beacon.enabled", false);
|
||||
user_pref("browser.aboutHomeSnippets.updateUrl", "");
|
||||
user_pref("browser.cache.disk_cache_ssl", false);
|
||||
user_pref("browser.cache.disk.enable", false);
|
||||
user_pref("browser.cache.offline.enable", false);
|
||||
user_pref("browser.disableResetPrompt", true);
|
||||
user_pref("browser.display.use_document_fonts", 0);
|
||||
user_pref("browser.fixup.alternate.enabled", false);
|
||||
user_pref("browser.formfill.enable", false);
|
||||
user_pref("browser.library.activity-stream.enabled", false);
|
||||
user_pref("browser.newtabpage.activity-stream.disableSnippets", true);
|
||||
user_pref("browser.newtabpage.activity-stream.enabled", false);
|
||||
user_pref("browser.newtabpage.activity-stream.feeds.section.highlights", false);
|
||||
user_pref("browser.newtabpage.activity-stream.feeds.snippets", false);
|
||||
user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false);
|
||||
user_pref("browser.newtabpage.activity-stream.feeds.topsites", false);
|
||||
user_pref("browser.newtabpage.activity-stream.prerender", false);
|
||||
user_pref("browser.newtabpage.activity-stream.showSearch", false);
|
||||
user_pref("browser.newtabpage.enhanced", false);
|
||||
user_pref("browser.newtabpage.introShown", true);
|
||||
user_pref("browser.newtab.preload", false);
|
||||
user_pref("browser.onboarding.enabled", false);
|
||||
user_pref("browser.pagethumbnails.capturing_disabled", true);
|
||||
user_pref("browser.safebrowsing.appRepURL", "");
|
||||
user_pref("browser.safebrowsing.blockedURIs.enabled", false);
|
||||
user_pref("browser.safebrowsing.downloads.enabled", false);
|
||||
user_pref("browser.safebrowsing.downloads.remote.enabled", false);
|
||||
user_pref("browser.safebrowsing.downloads.remote.url", "");
|
||||
user_pref("browser.safebrowsing.enabled", false);
|
||||
user_pref("browser.safebrowsing.malware.enabled", false);
|
||||
user_pref("browser.safebrowsing.phishing.enabled", false);
|
||||
user_pref("browser.search.geoip.timeout", 1);
|
||||
user_pref("browser.search.suggest.enabled", false);
|
||||
user_pref("browser.selfsupport.url", "");
|
||||
user_pref("browser.send_pings", false);
|
||||
user_pref("browser.shell.checkDefaultBrowser", false);
|
||||
user_pref("browser.startup.homepage_override.mstone", "ignore");
|
||||
user_pref("browser.startup.page", 0);
|
||||
user_pref("browser.toolbarbuttons.introduced.pocket-button", true);
|
||||
user_pref("browser.urlbar.speculativeConnect.enabled", false);
|
||||
user_pref("browser.urlbar.trimURLs", false);
|
||||
user_pref("datareporting.healthreport.uploadEnabled", false);
|
||||
user_pref("datareporting.policy.dataSubmissionEnabled", false);
|
||||
user_pref("dom.battery.enabled", false);
|
||||
user_pref("dom.enable_performance", false);
|
||||
user_pref("dom.enable_performance_navigation_timing", false);
|
||||
user_pref("dom.enable_resource_timing", false);
|
||||
user_pref("dom.event.clipboardevents.enabled", false);
|
||||
user_pref("dom.gamepad.enabled", false);
|
||||
user_pref("dom.indexedDB.enabled", false);
|
||||
user_pref("dom.min_timeout_value", 400);
|
||||
user_pref("dom.push.connection.enabled", false);
|
||||
user_pref("dom.push.enabled", false);
|
||||
user_pref("dom.serviceWorkers.enabled", false);
|
||||
user_pref("dom.serviceWorkers.interception.enabled", false);
|
||||
user_pref("dom.storage.enabled", false);
|
||||
user_pref("dom.webaudio.enabled", false);
|
||||
user_pref("extensions.autoDisableScopes", 14);
|
||||
user_pref("extensions.getAddons.cache.enabled", false);
|
||||
user_pref("extensions.getAddons.showPane", false);
|
||||
user_pref("extensions.pocket.enabled", false);
|
||||
user_pref("extensions.screenshots.disabled", true);
|
||||
user_pref("extensions.webservice.discoverURL", "");
|
||||
user_pref("geo.enabled", false);
|
||||
user_pref("geo.wifi.uri", "");
|
||||
user_pref("gfx.downloadable_fonts.disable_cache", true);
|
||||
user_pref("javascript.options.shared_memory", false);
|
||||
user_pref("layout.css.visited_links_enabled", false);
|
||||
user_pref("media.autoplay.enabled", false);
|
||||
user_pref("media.cache_size", 0);
|
||||
user_pref("media.navigator.enabled", false);
|
||||
user_pref("media.peerconnection.enabled", false);
|
||||
user_pref("media.video_stats.enabled", false);
|
||||
user_pref("captivedetect.canonicalURL", "");
|
||||
user_pref("network.captive-portal-service.enabled", false);
|
||||
user_pref("network.cookie.cookieBehavior", 1);
|
||||
user_pref("network.cookie.lifetimePolicy", 2);
|
||||
user_pref("network.dns.disablePrefetch", true);
|
||||
user_pref("network.http.referer.spoofSource", true);
|
||||
user_pref("network.http.referer.trimmingPolicy", 2);
|
||||
user_pref("network.http.referer.XOriginPolicy", 2);
|
||||
user_pref("network.prefetch-next", false);
|
||||
user_pref("privacy.donottrackheader.enabled", true);
|
||||
user_pref("privacy.donottrackheader.value", 1);
|
||||
user_pref("toolkit.telemetry.archive.enabled", false);
|
||||
user_pref("toolkit.telemetry.coverage.opt-out", true);
|
||||
user_pref("toolkit.telemetry.enabled", false);
|
||||
user_pref("toolkit.telemetry.server", "");
|
||||
user_pref("toolkit.telemetry.unified", false);
|
||||
user_pref("webgl.disabled", true);
|
||||
user_pref("browser.chrome.errorReporter.infoURL", "");
|
||||
user_pref("breakpad.reportURL", "");
|
||||
//user_pref("browser.newtabpage.activity-stream.default.sites", "");
|
||||
user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false);
|
||||
user_pref("browser.newtabpage.activity-stream.showSponsored", false);
|
||||
user_pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsored", false);
|
||||
user_pref("browser.newtabpage.enabled", true);
|
||||
user_pref("browser.newtabpage.activity-stream.default.sites", "http://127.0.0.1:7657/home,http://127.0.0.1:7657/i2psnark/,http://127.0.0.1:7657/susimail/");
|
||||
user_pref("dom.security.https_only_mode", false);
|
||||
user_pref("keyword.enabled", false);
|
||||
user_pref("extensions.allowPrivateBrowsingByDefault", true);
|
||||
user_pref("extensions.PrivateBrowsing.notification", false);
|
||||
user_pref("browser.newtabpage.activity-stream.feeds.topsites", true);
|
1
src/app-profile/version.txt
Normal file
1
src/app-profile/version.txt
Normal file
@ -0,0 +1 @@
|
||||
0.3
|
@ -13,9 +13,11 @@
|
||||
!include i2pbrowser-version.nsi
|
||||
|
||||
var FFINSTEXE
|
||||
var FFNONTORINSTEXE
|
||||
var I2PINSTEXE
|
||||
|
||||
!define FFINSTEXE
|
||||
!define FFNONTORINSTEXE
|
||||
!define FFINSTEXE32 "$PROGRAMFILES32\Mozilla Firefox\"
|
||||
!define FFINSTEXE64 "$PROGRAMFILES64\Mozilla Firefox\"
|
||||
|
||||
@ -125,6 +127,7 @@ PageExEnd
|
||||
PageEx directory
|
||||
dirtext "${FIREFOX_MESSAGE}"
|
||||
dirvar $FFINSTEXE
|
||||
dirvar $FFNONTORINSTEXE
|
||||
PageCallbacks firefoxDetect
|
||||
PageExEnd
|
||||
PageEx directory
|
||||
@ -143,8 +146,10 @@ Function .onInit
|
||||
${If} $0 == 1
|
||||
${If} ${FileExists} "${FFINSTEXE64}/firefox.exe"
|
||||
StrCpy $FFINSTEXE "${FFINSTEXE64}"
|
||||
${ElseIf} ${FileExists} "${FFINSTEXE32}/firefox.exe"
|
||||
StrCpy $FFINSTEXE "${FFINSTEXE32}"
|
||||
StrCpy $FFNONTORINSTEXE "${FFINSTEXE64}"
|
||||
${ElseIf} ${FileExists} "${FFINSTEXE32}/firefox.exe"
|
||||
StrCpy $FFINSTEXE "${FFINSTEXE32}"
|
||||
StrCpy $FFNONTORINSTEXE "${FFINSTEXE32}"
|
||||
${EndIf}
|
||||
${If} ${FileExists} "$PROFILE/OneDrive/Desktop/Tor Browser/Browser/firefox.exe"
|
||||
StrCpy $FFINSTEXE "$PROFILE/OneDrive/Desktop/Tor Browser/Browser/"
|
||||
@ -155,6 +160,7 @@ Function .onInit
|
||||
${Else}
|
||||
${If} ${FileExists} "${FFINSTEXE32}/firefox.exe"
|
||||
StrCpy $FFINSTEXE "${FFINSTEXE32}"
|
||||
StrCpy $FFNONTORINSTEXE "${FFINSTEXE32}"
|
||||
${EndIf}
|
||||
${If} ${FileExists} "$PROFILE/OneDrive/Desktop/Tor Browser/Browser/firefox.exe"
|
||||
StrCpy $FFINSTEXE "$PROFILE/OneDrive/Desktop/Tor Browser/Browser/"
|
||||
@ -198,6 +204,11 @@ Section Install
|
||||
FileWrite $0 "@echo off"
|
||||
FileWriteByte $0 "13"
|
||||
FileWriteByte $0 "10"
|
||||
FileWrite $0 'start "" "$I2PINSTEXE\i2p.exe"'
|
||||
FileWriteByte $0 "13"
|
||||
FileWriteByte $0 "10"
|
||||
FileWriteByte $0 "13"
|
||||
FileWriteByte $0 "10"
|
||||
FileWrite $0 'start "" "$FFINSTEXE\firefox.exe" -no-remote -profile "$LOCALAPPDATA\${APPNAME}\firefox.profile.i2p" -url %1'
|
||||
FileWriteByte $0 "13"
|
||||
FileWriteByte $0 "10"
|
||||
@ -210,6 +221,11 @@ Section Install
|
||||
FileWrite $0 "@echo off"
|
||||
FileWriteByte $0 "13"
|
||||
FileWriteByte $0 "10"
|
||||
FileWrite $0 'start "" "$I2PINSTEXE\i2p.exe"'
|
||||
FileWriteByte $0 "13"
|
||||
FileWriteByte $0 "10"
|
||||
FileWriteByte $0 "13"
|
||||
FileWriteByte $0 "10"
|
||||
FileWrite $0 'start "" "$FFINSTEXE\firefox.exe" -no-remote -profile "$LOCALAPPDATA\${APPNAME}\firefox.profile.i2p" -private-window about:blank'
|
||||
FileWriteByte $0 "13"
|
||||
FileWriteByte $0 "10"
|
||||
@ -218,6 +234,29 @@ Section Install
|
||||
FileWriteByte $0 "10"
|
||||
FileClose $0
|
||||
|
||||
|
||||
# Install the launcher scripts: This will need to be it's own section, since
|
||||
# now I think we just need to let the user select if the user is using a non
|
||||
# default Firefox path.
|
||||
FileOpen $0 "$INSTDIR\i2pconfig.bat" w
|
||||
FileWrite $0 "@echo off"
|
||||
FileWriteByte $0 "13"
|
||||
FileWriteByte $0 "10"
|
||||
FileWrite $0 'start "" "$I2PINSTEXE\i2p.exe"'
|
||||
FileWriteByte $0 "13"
|
||||
FileWriteByte $0 "10"
|
||||
FileWriteByte $0 "13"
|
||||
FileWriteByte $0 "10"
|
||||
FileWrite $0 'start "" "$FFNONTORINSTEXE\firefox.exe" -no-remote -profile "$LOCALAPPDATA\${APPNAME}\firefox.profile.config.i2p" -url %1'
|
||||
FileWriteByte $0 "13"
|
||||
FileWriteByte $0 "10"
|
||||
FileWrite $0 exit
|
||||
FileWriteByte $0 "13"
|
||||
FileWriteByte $0 "10"
|
||||
FileClose $0
|
||||
|
||||
|
||||
|
||||
# Install the licenses
|
||||
createDirectory "$INSTDIR\licenses"
|
||||
SetOutPath "$INSTDIR\licenses"
|
||||
@ -238,6 +277,25 @@ Section Install
|
||||
File profile/extensions/https-everywhere-eff@eff.org.xpi
|
||||
File profile/extensions/i2ppb@eyedeekay.github.io.xpi
|
||||
|
||||
# Install the config profile
|
||||
createDirectory "$LOCALAPPDATA\${APPNAME}\firefox.profile.config.i2p"
|
||||
SetOutPath "$LOCALAPPDATA\${APPNAME}\firefox.profile.config.i2p"
|
||||
File app-profile/user.js
|
||||
File app-profile/prefs.js
|
||||
File app-profile/bookmarks.html
|
||||
File app-profile/storage-sync.sqlite
|
||||
|
||||
# Install the config extensions
|
||||
createDirectory "$LOCALAPPDATA\${APPNAME}\firefox.profile.config.i2p\extensions"
|
||||
SetOutPath "$LOCALAPPDATA\${APPNAME}\firefox.profile.config.i2p\extensions"
|
||||
File profile/extensions/https-everywhere-eff@eff.org.xpi
|
||||
File profile/extensions/i2ppb@eyedeekay.github.io.xpi
|
||||
|
||||
# Install the config userChrome
|
||||
createDirectory "$LOCALAPPDATA\${APPNAME}\firefox.profile.config.i2p\chrome"
|
||||
SetOutPath "$LOCALAPPDATA\${APPNAME}\firefox.profile.config.i2p\chrome"
|
||||
File app-profile/chrome/userChrome.css
|
||||
|
||||
SetOutPath "$INSTDIR"
|
||||
createDirectory "$SMPROGRAMS\${APPNAME}"
|
||||
CreateShortCut "$SMPROGRAMS\${APPNAME}\${APPNAME}.lnk" "C:\Windows\system32\cmd.exe" "/c $\"$INSTDIR\i2pbrowser.bat$\" ${CONSOLE_URL}" "$INSTDIR\ui2pbrowser_icon.ico"
|
||||
@ -247,16 +305,24 @@ Section Install
|
||||
|
||||
|
||||
SetShellVarContext current
|
||||
!define I2PAPPDATA "$APPDATA\I2P\"
|
||||
Var /Global I2PAPPDATA
|
||||
IfFileExists "$I2PINSTEXE\clients.config" 0 +2
|
||||
StrCpy $I2PAPPDATA "$I2PINSTEXE"
|
||||
IfFileExists "$APPDATA\I2P\clients.config.d" 0 +2
|
||||
StrCpy $I2PAPPDATA "$APPDATA\I2P\"
|
||||
IfFileExists "$LOCALAPPDATA\I2P\clients.config.d" 0 +2
|
||||
StrCpy $I2PAPPDATA "$LOCALAPPDATA\I2P\"
|
||||
|
||||
SetOutPath "${I2PAPPDATA}"
|
||||
|
||||
createDirectory "$I2PAPPDATA"
|
||||
SetOutPath "$I2PAPPDATA"
|
||||
|
||||
;# Point the browser config setting
|
||||
FileOpen $0 "${I2PAPPDATA}\router.config" a
|
||||
FileOpen $0 "$I2PAPPDATA\router.config" a
|
||||
FileSeek $0 0 END
|
||||
FileWriteByte $0 "13"
|
||||
FileWriteByte $0 "10"
|
||||
FileWrite $0 "routerconsole.browser=$\"$INSTDIR\i2pbrowser.bat$\""
|
||||
FileWrite $0 "routerconsole.browser=$\"$INSTDIR\i2pconfig.bat$\""
|
||||
FileWriteByte $0 "13"
|
||||
FileWriteByte $0 "10"
|
||||
FileClose $0
|
||||
@ -278,6 +344,7 @@ Section "uninstall"
|
||||
|
||||
# Uninstall the launcher scripts
|
||||
Delete $INSTDIR\i2pbrowser.bat
|
||||
Delete $INSTDIR\i2pconfig.bat
|
||||
Delete $INSTDIR\i2pbrowser-private.bat
|
||||
Delete $INSTDIR\ui2pbrowser_icon.ico
|
||||
|
||||
@ -287,11 +354,21 @@ Section "uninstall"
|
||||
Delete $LOCALAPPDATA\${APPNAME}\firefox.profile.i2p\bookmarks.html
|
||||
Delete $LOCALAPPDATA\${APPNAME}\firefox.profile.i2p\storage-sync.sqlite
|
||||
|
||||
Delete $LOCALAPPDATA\${APPNAME}\firefox.profile.config.i2p\prefs.js
|
||||
Delete $LOCALAPPDATA\${APPNAME}\firefox.profile.config.i2p\user.js
|
||||
Delete $LOCALAPPDATA\${APPNAME}\firefox.profile.config.i2p\bookmarks.html
|
||||
Delete $LOCALAPPDATA\${APPNAME}\firefox.profile.config.i2p\storage-sync.sqlite
|
||||
|
||||
# Uninstall the extensions
|
||||
Delete "$LOCALAPPDATA\${APPNAME}\firefox.profile.i2p\extensions\{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi"
|
||||
Delete "$LOCALAPPDATA\${APPNAME}\firefox.profile.i2p\extensions\https-everywhere-eff@eff.org.xpi"
|
||||
Delete "$LOCALAPPDATA\${APPNAME}\firefox.profile.i2p\extensions\i2ppb@eyedeekay.github.io.xpi"
|
||||
|
||||
Delete "$LOCALAPPDATA\${APPNAME}\firefox.profile.config.i2p\extensions\https-everywhere-eff@eff.org.xpi"
|
||||
Delete "$LOCALAPPDATA\${APPNAME}\firefox.profile.config.i2p\extensions\i2ppb@eyedeekay.github.io.xpi"
|
||||
|
||||
Delete "$LOCALAPPDATA\${APPNAME}\firefox.profile.config.i2p\config\userChrome.css"
|
||||
|
||||
# Remove shortcuts and folders
|
||||
Delete "$SMPROGRAMS\${APPNAME}\${APPNAME}.lnk"
|
||||
Delete "$SMPROGRAMS\${APPNAME}\Private Browsing-${APPNAME}.lnk"
|
||||
|
@ -27,7 +27,7 @@ user_pref("privacy.firstparty.isolate", true);
|
||||
// Use i2p http proxy for all connections and set homepage to safe local form.
|
||||
|
||||
// DON'T allow access to the admin panel from the profile we browse i2p with.
|
||||
user_pref("network.proxy.no_proxies_on", 0);
|
||||
user_pref("network.proxy.no_proxies_on", "127.0.0.1:7657,localhost:7657,127.0.0.1:7662,localhost:7662,127.0.0.1:7669,localhost:7669");
|
||||
user_pref("network.proxy.type", 1);
|
||||
user_pref("network.proxy.http", "127.0.0.1");
|
||||
user_pref("network.proxy.http_port", 4444);
|
||||
@ -40,3 +40,14 @@ user_pref("network.proxy.socks_port", 4444);
|
||||
user_pref("network.proxy.share_proxy_settings", true);
|
||||
user_pref("browser.startup.homepage", "about:blank");
|
||||
user_pref("dom.security.https_only_mode", false);
|
||||
user_pref("keyword.enabled", false);
|
||||
user_pref("extensions.allowPrivateBrowsingByDefault", true);
|
||||
user_pref("extensions.PrivateBrowsing.notification", false);
|
||||
user_pref("extensions.pocket.enabled", false);
|
||||
user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false);
|
||||
user_pref("browser.newtabpage.activity-stream.showSponsored", false);
|
||||
user_pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsored", false);
|
||||
user_pref("browser.newtabpage.activity-stream.feeds.section.highlights", false);
|
||||
user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false);
|
||||
user_pref("browser.newtabpage.activity-stream.default.sites", "http://planet.i2p/,http://legwork.i2p/,http://i2pwiki.i2p/,http://i2pforums.i2p/,http://zzz.i2p/");
|
||||
user_pref("browser.newtabpage.activity-stream.feeds.topsites", true);
|
||||
|
@ -95,7 +95,7 @@ user_pref("privacy.firstparty.isolate", true);
|
||||
// Use i2p http proxy for all connections and set homepage to safe local form.
|
||||
|
||||
// DON'T allow access to the admin panel from the profile we browse i2p with.
|
||||
user_pref("network.proxy.no_proxies_on", 0);
|
||||
user_pref("network.proxy.no_proxies_on", "127.0.0.1:7657,localhost:7657,127.0.0.1:7662,localhost:7662,127.0.0.1:7669,localhost:7669");
|
||||
user_pref("network.proxy.type", 1);
|
||||
user_pref("network.proxy.http", "127.0.0.1");
|
||||
user_pref("network.proxy.http_port", 4444);
|
||||
@ -205,6 +205,14 @@ user_pref("toolkit.telemetry.unified", false);
|
||||
user_pref("webgl.disabled", true);
|
||||
user_pref("browser.chrome.errorReporter.infoURL", "");
|
||||
user_pref("breakpad.reportURL", "");
|
||||
user_pref("browser.newtabpage.activity-stream.default.sites", "");
|
||||
//user_pref("browser.newtabpage.activity-stream.default.sites", "http://planet.i2p/,http://legwork.i2p/,http://i2pwiki.i2p/,http://i2pforums.i2p/,http://zzz.i2p/");
|
||||
//user_pref("browser.newtabpage.activity-stream.default.sites", "");
|
||||
user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false);
|
||||
user_pref("browser.newtabpage.activity-stream.showSponsored", false);
|
||||
user_pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsored", false);
|
||||
user_pref("browser.newtabpage.enabled", true);
|
||||
user_pref("browser.newtabpage.activity-stream.default.sites", "http://planet.i2p/,http://legwork.i2p/,http://i2pwiki.i2p/,http://i2pforums.i2p/,http://zzz.i2p/");
|
||||
user_pref("dom.security.https_only_mode", false);
|
||||
user_pref("keyword.enabled", false);
|
||||
user_pref("extensions.allowPrivateBrowsingByDefault", true);
|
||||
user_pref("extensions.PrivateBrowsing.notification", false);
|
||||
user_pref("browser.newtabpage.activity-stream.feeds.topsites", true);
|
||||
|
9
src/unix/desktop/i2pbrowser.desktop
Normal file
9
src/unix/desktop/i2pbrowser.desktop
Normal file
@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Version=1.0
|
||||
Type=Application
|
||||
Terminal=false
|
||||
Exec=/usr/local/bin/i2pbrowser
|
||||
Name=I2P Browser
|
||||
Categories=Network;WebBrowser;
|
||||
Icon=/var/lib/i2pbrowser/icons/ui2pbrowser_icon.ico
|
9
src/unix/desktop/i2pconfig.desktop
Normal file
9
src/unix/desktop/i2pconfig.desktop
Normal file
@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Version=1.0
|
||||
Type=Application
|
||||
Terminal=false
|
||||
Exec=/usr/local/bin/i2pconfig
|
||||
Name=I2P Configuration
|
||||
Categories=Network;WebBrowser;
|
||||
Icon=/var/lib/i2pbrowser/icons/ui2pbrowser_icon.ico
|
21
src/unix/i2p-config-service-setup.sh
Executable file
21
src/unix/i2p-config-service-setup.sh
Executable file
@ -0,0 +1,21 @@
|
||||
#! /usr/bin/env sh
|
||||
|
||||
# Works for Debian service installs. Sets up minified, custom profile for configuring I2P console.
|
||||
|
||||
if grep '^i2psvc:' /etc/passwd; then
|
||||
I2P_HOME=$(grep '^i2psvc:' /etc/passwd | sed 's|i2psvc:x:||g' | sed 's|:/usr/sbin/nologin||g' | tr -d ':1234567890' | sed 's|ip|i2p|g')
|
||||
ROUTER_CONFIG=$(sudo -u i2psvc ls $I2P_HOME/i2p-config/router.config)
|
||||
fi
|
||||
|
||||
installer(){
|
||||
|
||||
if [ $(sudo -u i2psvc ls $I2P_HOME/i2p-config/router.config) ]; then
|
||||
echo $I2P_HOME $ROUTER_CONFIG $0
|
||||
if ! sudo -u i2psvc grep -R 'routerconsole.browser' "$I2P_HOME/i2p-config/router.config" ; then
|
||||
echo "routerconsole.browser=/usr/local/bin/i2pconfig" | sudo tee -a "$I2P_HOME/i2p-config/router.config"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
installer
|
43
src/unix/i2pbrowser.sh
Executable file
43
src/unix/i2pbrowser.sh
Executable file
@ -0,0 +1,43 @@
|
||||
#! /usr/bin/env sh
|
||||
|
||||
if [ -f "/etc/i2pbrowser/i2pbrowserrc" ]; then
|
||||
. /etc/i2pbrowser/i2pbrowserrc
|
||||
fi
|
||||
|
||||
if [ ! -z $I2PROUTER ]; then
|
||||
"$I2PROUTER" start
|
||||
fi
|
||||
|
||||
if [ -z $BROWSING_PROFILE ]; then
|
||||
BROWSING_PROFILE="."
|
||||
fi
|
||||
|
||||
if [ ! -d "$BROWSING_PROFILE" ]; then
|
||||
mkdir -p "$BROWSING_PROFILE"
|
||||
cp -vr /var/lib/i2pbrowser/profile/* "$BROWSING_PROFILE"
|
||||
fi
|
||||
|
||||
if [ ! -f "$BROWSING_PROFILE/user.js" ]; then
|
||||
echo "user.js not present in $BROWSING_PROFILE, this is not a Firefox profile"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z $FIREFOX ]; then
|
||||
if [ -f "firefox/firefox" ]; then
|
||||
FIREFOX="./firefox/firefox"
|
||||
fi
|
||||
FIREFOX=$(which firefox-esr)
|
||||
if [ -z $FIREFOX ]; then
|
||||
FIREFOX=$(which firefox)
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z $FIREFOX ]; then
|
||||
echo "Firefox does not appear to be in your \$PATH."
|
||||
echo "Please install Firefox via a package manager, or"
|
||||
echo "or set the FIREFOX variable in your shell to the"
|
||||
echo "location of a Firefox executable."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
$FIREFOX --profile "$BROWSING_PROFILE" $@
|
17
src/unix/i2pbrowserdebianrc
Normal file
17
src/unix/i2pbrowserdebianrc
Normal file
@ -0,0 +1,17 @@
|
||||
|
||||
I2PROUTER=$(which i2prouter)
|
||||
|
||||
if [ -z $I2PROUTER ]; then
|
||||
I2PROUTER=/usr/sbin/i2prouter
|
||||
fi
|
||||
|
||||
if [ ! -f $I2PROUTER ]; then
|
||||
I2PROUTER="$HOME/i2p/i2prouter"
|
||||
fi
|
||||
|
||||
if [ ! -f $I2PROUTER ]; then
|
||||
I2PROUTER=""
|
||||
fi
|
||||
|
||||
wget -q -O - "http://localhost:7657" >/dev/null && I2PROUTER=""
|
||||
echo "$I2PROUTER"
|
8
src/unix/i2pbrowserrc
Normal file
8
src/unix/i2pbrowserrc
Normal file
@ -0,0 +1,8 @@
|
||||
|
||||
if [ -f /etc/i2pbrowser/i2pbrowserdebianrc ]; then
|
||||
. /etc/i2pbrowser/i2pbrowserdebianrc
|
||||
fi
|
||||
|
||||
CONFIGURING_PROFILE=$HOME/i2p/firefox/webapps
|
||||
BROWSING_PROFILE=$HOME/i2p/firefox/browsing
|
||||
ROUTER_CONSOLE="127.0.0.1:7657"
|
60
src/unix/i2pconfig.sh
Executable file
60
src/unix/i2pconfig.sh
Executable file
@ -0,0 +1,60 @@
|
||||
#! /usr/bin/env sh
|
||||
|
||||
if [ -f "/etc/i2pbrowser/i2pbrowserrc" ]; then
|
||||
. /etc/i2pbrowser/i2pbrowserrc
|
||||
fi
|
||||
|
||||
if [ ! -z $I2PROUTER ]; then
|
||||
"$I2PROUTER" start
|
||||
fi
|
||||
|
||||
if [ -f "$HOME/.i2p/router.config" ]; then
|
||||
if [ "$0" = "/usr/local/bin/i2pconfig" ]; then
|
||||
if ! grep -R 'routerconsole.browser' "$HOME/.i2p/router.config" ; then
|
||||
echo "routerconsole.browser=$0" | tee -a "$HOME/.i2p/router.config"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z $CONFIGURING_PROFILE ]; then
|
||||
CONFIGURING_PROFILE="."
|
||||
fi
|
||||
|
||||
if [ -z $ROUTER_CONSOLE ]; then
|
||||
ROUTER_CONSOLE="$1"
|
||||
if [ -z $1 ]; then
|
||||
ROUTER_CONSOLE="http://127.0.0.1:7657"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -d "$CONFIGURING_PROFILE" ]; then
|
||||
mkdir -p "$CONFIGURING_PROFILE"
|
||||
cp -vr /var/lib/i2pbrowser/app-profile/* "$CONFIGURING_PROFILE"
|
||||
fi
|
||||
|
||||
if [ ! -f "$CONFIGURING_PROFILE/user.js" ]; then
|
||||
echo "user.js not present in $CONFIGURING_PROFILE, this is not a Firefox profile"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z $FIREFOX ]; then
|
||||
if [ -f "firefox/firefox" ]; then
|
||||
FIREFOX="./firefox/firefox"
|
||||
fi
|
||||
FIREFOX=$(which firefox-esr)
|
||||
if [ -z $FIREFOX ]; then
|
||||
FIREFOX=$(which firefox)
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z $FIREFOX ]; then
|
||||
echo "Firefox does not appear to be in your \$PATH."
|
||||
echo "Please install Firefox via a package manager, or"
|
||||
echo "or set the FIREFOX variable in your shell to the"
|
||||
echo "location of a Firefox executable."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo $FIREFOX --profile "$CONFIGURING_PROFILE" "$ROUTER_CONSOLE" $@
|
||||
|
||||
$FIREFOX --profile "$CONFIGURING_PROFILE" "$ROUTER_CONSOLE" $@
|
Reference in New Issue
Block a user