Compare commits
10 Commits
Author | SHA1 | Date | |
---|---|---|---|
d58aeb6b19 | |||
5d2e5dc69b | |||
8fd6d6f45f | |||
7f0d5eb0b2 | |||
cd8be4196e | |||
3548ea0ed6 | |||
730b9ed267 | |||
67e0b87d97 | |||
1424913447 | |||
c0cb68f972 |
99
GOALS.md
Normal file
99
GOALS.md
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
Feature Goals
|
||||||
|
=============
|
||||||
|
|
||||||
|
For information about the "Goals guiding the Goals" see: `[PRINCIPLES]`.
|
||||||
|
|
||||||
|
While Windows is the primary platform, some goals may represent cross-platform
|
||||||
|
utility as well. Since a portable jpackage really only needs slightly different
|
||||||
|
arguments on different platforms, cross-platform support is often low-cost.
|
||||||
|
|
||||||
|
- **See Also:**
|
||||||
|
- *Browser Integrations are provided by browser extensions which are contained in their own repositories.*
|
||||||
|
- Firefox:
|
||||||
|
- [git.idk.i2p/idk/I2P-in-Private-Browsing-Mode-Firefox](http://git.idk.i2p/idk/I2P-in-Private-Browsing-Mode-Firefox/)
|
||||||
|
- [i2pgit.org/idk/I2P-in-Private-Browsing-Mode-Firefox](https://i2pgit.org/idk/I2P-in-Private-Browsing-Mode-Firefox/)
|
||||||
|
- [github.com/eyedeekay/I2P-in-Private-Browsing-Mode-Firefox](https://github.com/eyedeekay/I2P-in-Private-Browsing-Mode-Firefox/)
|
||||||
|
- Chromium:
|
||||||
|
- [git.idk.i2p/idk/I2P-Configuration-For-Chromium](http://git.idk.i2p/idk/I2P-Configuration-For-Chromium/)
|
||||||
|
- [i2pgit.org/idk/I2P-Configuration-For-Chromium](https://i2pgit.org/idk/I2P-Configuration-For-Chromium/)
|
||||||
|
- [github.com/eyedeekay/I2P-Configuration-For-Chromium](https://github.com/eyedeekay/I2P-Configuration-For-Chromium/)
|
||||||
|
- *Browser profile management are provided by a freestanding, cross-platform library which is contained in its own repository.*
|
||||||
|
- [git.idk.i2p/idk/i2p.plugins.firefox](http://git.idk.i2p/idk/i2p.plugins.firefox)
|
||||||
|
- [i2pgit.org/idk/i2p.plugins.firefox](https://i2pgit.org/idk/i2p.plugins.firefox)
|
||||||
|
- [github.com/eyedeekay/i2p.plugins.firefox](https://github.com/eyedeekay/i2p.plugins.firefox)
|
||||||
|
|
||||||
|
Build Methods
|
||||||
|
-------------
|
||||||
|
|
||||||
|
- `[X]` Cleanly separate jpackage generation phase from NSIS generation phase
|
||||||
|
- `[X]` Enable archive builds for generating Windows `.exe`'s from Linux hosts
|
||||||
|
|
||||||
|
Installation Methods
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
- `[X]` NSIS installer
|
||||||
|
- `[X]` Portable, directory-based install
|
||||||
|
- `[ ]` Windows Service Support
|
||||||
|
|
||||||
|
Update Methods
|
||||||
|
--------------
|
||||||
|
|
||||||
|
- `[X]` NSIS installer in Default Directory
|
||||||
|
- `[X]` NSIS installer in Portable Directory
|
||||||
|
- `[X]` Handle admin and non-admin updates automatically
|
||||||
|
- `[ ]` Zip-Only portable updater
|
||||||
|
|
||||||
|
Launcher
|
||||||
|
--------
|
||||||
|
|
||||||
|
- `[X]` Detect and handle un-bundled routers on the host system, policy of non-interference
|
||||||
|
- `[X]` Wait for router console to be ready to launch router-console browser
|
||||||
|
- `[X]` Wait for proxy to be ready to launch I2P Web Browser
|
||||||
|
- `[X]` Launch browser instead of router when a repeat-launch is detected
|
||||||
|
- `[ ]` [GUI component for launching each available component](http://git.idk.i2p/idk/i2p.plugins.firefox/-/issues/2)
|
||||||
|
- `[ ]` [Introduce `browser.properties` for customization](http://git.idk.i2p/idk/i2p.plugins.firefox/-/issues/7)
|
||||||
|
- `[ ]` Registry-based browser discovery [Firefox](http://git.idk.i2p/idk/i2p.plugins.firefox/-/issues/3) [Chromium](http://git.idk.i2p/idk/i2p.plugins.firefox/-/issues/4)
|
||||||
|
|
||||||
|
Browser Configuration All
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
- `[X]` Use identical extensions in Firefox-based and Chromium-based browsers wherever possible
|
||||||
|
- `[X]` Always use a dedicated, I2P Easy-Install specific profile directory
|
||||||
|
- `[X]` Always configure an HTTP Proxy, and safe access to the router console
|
||||||
|
- `[X]` Provide I2P-Specific integrations to the browser UI through WebExtensions
|
||||||
|
- `[X]` Operate in "Strict" mode where the maximum level of defenses are up
|
||||||
|
- `[X]` Operate in "Usability" mode where defense is balanced with utility
|
||||||
|
- `[X]` Operate in "App" mode where we work as a single-purpose window where it is hard to access arbitrary, potentially malicious resources
|
||||||
|
- `[X]` All I2P-Specific profiles should be possible to generate automatically, sight-unseen
|
||||||
|
|
||||||
|
Browser Configuration Firefox
|
||||||
|
-----------------------------
|
||||||
|
|
||||||
|
- `[X]` When using Firefox, download extension updates automatically, from AMO, using an outproxy
|
||||||
|
- `[X]` Integrate I2P in Private Browsing for to provide UI for I2P within Firefox
|
||||||
|
- `[X]` Prevent WebRTC proxy escapes by setting mode `4` `disable_non_proxied_udp` or higher
|
||||||
|
- `[X]` Customize panel for Firefox `App` mode(Not required for Chromiums)
|
||||||
|
|
||||||
|
Browser Configuration Chromium
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
- `[X]` When using Chromium, load extensions from source and freeze them without updates to prevent unproxied updating.
|
||||||
|
- `[X]` Integrate `I2PChrome.js` to provide UI for I2P within Chrome
|
||||||
|
- `[X]` Prevent WebRTC proxy escapes by setting mode `4` `disable_non_proxied_udp`
|
||||||
|
|
||||||
|
Browser Configuration Strict Mode
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
|
- `[X]` Disable Javascript by default with NoScript
|
||||||
|
- `[X]` Enforce HTTPS where available with HTTPS Everywhere **OR** HTTPS only Mode
|
||||||
|
- `[ ]` Proactively enumerate and disable "Fine" fingerprinting vectors where possible(ongoing)
|
||||||
|
- `[ ]` When running in Tor Browser, look as much like Tor Browser as possible but use an outproxy(ongoing)
|
||||||
|
|
||||||
|
Browser Configuration Usability Mode
|
||||||
|
------------------------------------
|
||||||
|
|
||||||
|
- `[X]` Enable Javascript by default but limit it with jShelter
|
||||||
|
- `[X]` Enforce HTTPS where available with HTTPS Everywhere **OR** HTTPS only Mode
|
||||||
|
- `[X]` Limit attempts to fetch useless junk like advertising with an up-to-date uBlock Origin
|
||||||
|
- `[X]` Limit attempts to reach clearnet CDN's with LocalCDN
|
||||||
|
- `[X]` Isolate `.onion` traffic from `outproxy` traffic and `.i2p` traffic using Onion in Container Tabs
|
18
Makefile
18
Makefile
@ -22,9 +22,9 @@ version:
|
|||||||
rm -f version.txt
|
rm -f version.txt
|
||||||
make version.txt i2pbrowser-jpackage.nsi
|
make version.txt i2pbrowser-jpackage.nsi
|
||||||
|
|
||||||
version.txt:
|
version.txt: build
|
||||||
echo "$(PROFILE_VERSION)" > src/profile/version.txt
|
echo "$(PROFILE_VERSION)" > build/version.txt
|
||||||
echo "$(PROFILE_VERSION)" > src/app-profile/version.txt
|
echo "$(PROFILE_VERSION)" > build/version.txt
|
||||||
|
|
||||||
i2pbrowser-jpackage.nsi:
|
i2pbrowser-jpackage.nsi:
|
||||||
echo "!define I2P_VERSION $(PROFILE_VERSION)" > src/nsis/i2pbrowser-jpackage.nsi
|
echo "!define I2P_VERSION $(PROFILE_VERSION)" > src/nsis/i2pbrowser-jpackage.nsi
|
||||||
@ -38,17 +38,17 @@ help: version
|
|||||||
@echo "$(MAJOR).$(MINOR).$(BUILD)"
|
@echo "$(MAJOR).$(MINOR).$(BUILD)"
|
||||||
@echo "$(preset)"
|
@echo "$(preset)"
|
||||||
|
|
||||||
prep: #launchers build/licenses profile.tgz app-profile.tgz profile build/I2P build/I2P/config #
|
prep:
|
||||||
make build/licenses
|
make build/licenses
|
||||||
echo "licenses" >make.log
|
echo "licenses" >>make.log
|
||||||
make build/I2P
|
make build/I2P
|
||||||
echo "buildi2p" >make.log
|
echo "buildi2p" >>make.log
|
||||||
make build/I2P/config
|
make build/I2P/config
|
||||||
echo "buildi2pconfig" >make.log
|
echo "buildi2pconfig" >>make.log
|
||||||
cp src/nsis/*.nsi build
|
cp src/nsis/*.nsi build
|
||||||
echo "nsi1" >make.log
|
echo "nsi1" >>make.log
|
||||||
cp src/nsis/*.nsh build
|
cp src/nsis/*.nsh build
|
||||||
echo "nsi2" >make.log
|
echo "nsi2" >>make.log
|
||||||
cp src/icons/*.ico build
|
cp src/icons/*.ico build
|
||||||
|
|
||||||
install.exe: #build/licenses
|
install.exe: #build/licenses
|
||||||
|
123
PRINCIPLES.md
Normal file
123
PRINCIPLES.md
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
Guidance
|
||||||
|
========
|
||||||
|
|
||||||
|
This document explains the ideas which are guiding the development of
|
||||||
|
features specific to the I2P Easy-Install bundle.
|
||||||
|
|
||||||
|
The general idea is that it is possible, on most platforms, to make I2P
|
||||||
|
post-install configuration much simpler and much less error-prone. Each
|
||||||
|
section of this document has guidance for a different "Meta-Feature" of
|
||||||
|
the I2P Easy-Install Bundle. For granular, specific information about
|
||||||
|
goals both achieved and un-achieved see `[GOALS]`.
|
||||||
|
|
||||||
|
- **Sections:**
|
||||||
|
|
||||||
|
1. Guidance for Browser Profile Configuration
|
||||||
|
|
||||||
|
Guidance for Browser Profile Configuration
|
||||||
|
------------------------------------------
|
||||||
|
|
||||||
|
- **See also:**
|
||||||
|
- [git.idk.i2p/idk/i2p.plugins.firefox](http://git.idk.i2p/idk/i2p.plugins.firefox)
|
||||||
|
- [i2pgit.org/idk/i2p.plugins.firefox](https://i2pgit.org/idk/i2p.plugins.firefox)
|
||||||
|
- [github.com/eyedeekay/i2p.plugins.firefox](https://github.com/eyedeekay/i2p.plugins.firefox)
|
||||||
|
|
||||||
|
The I2P Easy-Install Bundle for Windows considers basic configuration tasks
|
||||||
|
"Features" when they can be automated. The quintessential example of this
|
||||||
|
is **``Browser Profile Configuration``** where it injects settings into a
|
||||||
|
pre-existing browser from the host system. Solving this problem pre-dates
|
||||||
|
the evolution of `i2p.firefox` into a fully-fledged I2P router distribution
|
||||||
|
and has been the defining goal of this project for its entire existence.
|
||||||
|
|
||||||
|
However, what good browser profile configuration is, is as complicated as
|
||||||
|
how to deploy it. I2P has a unique opportunity to decide how it will handle
|
||||||
|
problems related to browsing in its own context while the network grows
|
||||||
|
and synthesize a useful number of safe browser configurations while also
|
||||||
|
reducing existing browser config fragmentation.
|
||||||
|
|
||||||
|
Easy-Install attempts to limit the number of "Coarse Fingerprints" which it will
|
||||||
|
produce by default to a predictable number. A Coarse Fingerprint is basically
|
||||||
|
a fingerprint "That we know we're making" by offering the ability to configure
|
||||||
|
something differently.
|
||||||
|
|
||||||
|
- **That means:**
|
||||||
|
|
||||||
|
1. It considers the browser integral to the interactive use of the I2P network by a large fraction of users.
|
||||||
|
2. It considers effective browser configuration **impossible for a single user to achieve** because effective browser configuration must have the characteristic of being reflected en-masse(anti-fingerprinting measures are only remotely effective when widely used).
|
||||||
|
3. The browser profile it injects inherits the runtime security characteristics of the **host browser**.
|
||||||
|
4. The browser profile it injects obtains runtime privacy characteristics of the **easy-install bundle**
|
||||||
|
5. The number of coarse browser fingerprint sets is reduced from indeterminately large to `[supported browsers]*[variant configurations]`
|
||||||
|
6. It attempts to balance flexibility with privacy, and accommodate people's preferences where possible.
|
||||||
|
7. It considers browser vendors better at providing browser updates than the I2P Project
|
||||||
|
|
||||||
|
Browser Configurations and Coarse Fingerprints
|
||||||
|
----------------------------------------------
|
||||||
|
|
||||||
|
At this time it offers configuration for Tor Browser, Firefox, Waterfox, and
|
||||||
|
LibreWolf for Firefox-based browsers, and Ungoogled-Chromium, Chromium, Brave,
|
||||||
|
Chrome, and Edgium configuration for Chromium-based browsers. That is a total
|
||||||
|
of **Nine(9)** main browsers. There are **Two(2)** variant configurations,
|
||||||
|
which correspond to "Strict" and "Usability" Modes. That makes a total of
|
||||||
|
**Eighteen(18)** coarse browser fingerprints produced by this bundle. It also
|
||||||
|
has the ability to launch in a "Restricted to Apps" mode where it is only
|
||||||
|
possible to visit I2P sites using links on the I2P application interface(router
|
||||||
|
console, hidden services manager) itself.
|
||||||
|
|
||||||
|
### Strict Mode
|
||||||
|
|
||||||
|
This is not on its face as good as having an almost entirely unified browser
|
||||||
|
fingerprint like Tor Browser attempts to have. It is a simple fact that 18
|
||||||
|
is greater than one. Every active attempt to gain granularity from a browser
|
||||||
|
outside of off-the-shelf Fingerprinting techniques is classified as "Fine"
|
||||||
|
fingerprinting. It is unpredictable, and harder to defend against, more likely
|
||||||
|
to exhibit novelty, and more likely to be affected by the host browser's
|
||||||
|
security. When fingerprinters get this creative disabling Javascript by default
|
||||||
|
is the most complete defense. This is the primary characteristic of Strict Mode,
|
||||||
|
it disables Javascript by default with NoScript. **Strict Mode is the only**
|
||||||
|
**partial defense against fine-fingerprinting offered by this product.** Even
|
||||||
|
disabling Javascript does not close all fine fingerprinting vectors, but it
|
||||||
|
does close most of them and reduce attack surface significantly. It is recommended
|
||||||
|
in combination with Tor Browser, and attempts to be somewhat closer to Tor Browser
|
||||||
|
than Usability Mode. It is the default mode of operation.
|
||||||
|
|
||||||
|
### Usability Mode
|
||||||
|
|
||||||
|
In contrast to Strict Mode, Usability mode offers the greatest agreeable number
|
||||||
|
of browser features enabled by default, including a restricted subset of Javascript.
|
||||||
|
It makes no attempt at all to look like Tor Browser, even when using Tor Browser
|
||||||
|
as a host browser. It does attempt to optimize the browser for use within I2P, including
|
||||||
|
specific optimizations to keep traffic in-network or even retrieve information which is
|
||||||
|
stored on the localhost(while avoiding cache timing attacks). It does this by deploying
|
||||||
|
an alternative loadout of extensions, including ones which block advertising by default
|
||||||
|
and which include a cache of CDN resources in local browser storage.
|
||||||
|
|
||||||
|
### Firefox-Based Browsers
|
||||||
|
|
||||||
|
Because of the relatively high configurability of Firefox-based browser
|
||||||
|
telemetry, Firefox-based browsers are preferred over Chromium-based browsers.
|
||||||
|
Chromium-based browsers will be used by default **only** if a Firefox based
|
||||||
|
browser is unavailable. Only Firefox-variant releases of the Extended Support
|
||||||
|
Release or of the latest stable release are supportable. If a variant lags
|
||||||
|
behind Firefox releases, it will be dropped. The primary reason for the default
|
||||||
|
"Ordering" of Firefox Profile Selection is the speed at which updates can be
|
||||||
|
expected to be applied.
|
||||||
|
|
||||||
|
### Chromium-Based Browsers
|
||||||
|
|
||||||
|
Chromium-based browser selection is more subjective and slightly more ad-hoc.
|
||||||
|
Chromium browsers are chosen based on the variant's stated goals and perceived
|
||||||
|
efficacy in pursuing those goals. For example, if a Chromium distribution is
|
||||||
|
focused on removing telemetry or providing anti-fingerprinting, it is chosen
|
||||||
|
before a Chromium that is provided by Google or integrated tightly with the
|
||||||
|
host OS. This is a matter of judgement on my part and if you disagree you should
|
||||||
|
open an issue and argue with me. I'm not infallible, I'll listen.
|
||||||
|
|
||||||
|
### All other browsers
|
||||||
|
|
||||||
|
With all other browsers attempts at anti-fingerprinting are a moot point. It offers
|
||||||
|
limited configuration options using widely-supported generic browser configuration
|
||||||
|
means. If it doesn't recognize a Firefox or Chromium browser on the host, then it
|
||||||
|
sets the common proxy environment variables `http_proxy` `https_proxy` `ALL_PROXY`
|
||||||
|
and `NO_PROXY` to their appropriate values before launching the browser configuration
|
||||||
|
and attempts to set a directory for the runtime configuration(Profile) by changing
|
||||||
|
to the profile directory.
|
@ -234,7 +234,8 @@ testing.
|
|||||||
|
|
||||||
**The only remotely interesting Unix functionality that remains in this**
|
**The only remotely interesting Unix functionality that remains in this**
|
||||||
**repository is the construction of a portable. You can use `targz.sh` to**
|
**repository is the construction of a portable. You can use `targz.sh` to**
|
||||||
**generate that.**
|
**generate that. Once generated, `cd I2P && ./lib/torbrowser.sh` to complete**
|
||||||
|
**setup, and `./bin/I2P` to run it.**
|
||||||
|
|
||||||
Issues
|
Issues
|
||||||
------
|
------
|
||||||
|
20
build.sh
20
build.sh
@ -16,11 +16,31 @@ if [ -f config_overide.sh ]; then
|
|||||||
. "$SCRIPT_DIR/config_override.sh"
|
. "$SCRIPT_DIR/config_override.sh"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -z $machine ]; then
|
||||||
|
unameOut="$(uname -s)"
|
||||||
|
case "${unameOut}" in
|
||||||
|
Linux*) machine=Linux;;
|
||||||
|
Darwin*) machine=Mac;;
|
||||||
|
*) machine="UNKNOWN:${unameOut}"
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$machine" = "Mac" ]; then
|
||||||
|
rm -rf I2P
|
||||||
|
./getprebuilt.sh
|
||||||
|
exit 0
|
||||||
|
elif [ "$machine" = "Linux" ]; then
|
||||||
|
rm -rf I2P
|
||||||
|
./getprebuilt.sh
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
. "$SCRIPT_DIR/launcher.sh"
|
. "$SCRIPT_DIR/launcher.sh"
|
||||||
|
|
||||||
if [ -z $I2P_VERSION ]; then
|
if [ -z $I2P_VERSION ]; then
|
||||||
I2P_VERSION=$("$JAVA_HOME"/bin/java -cp build/router.jar net.i2p.router.RouterVersion | sed "s/.*: //" | head -n 1 | sed 's|-|.|g')
|
I2P_VERSION=$("$JAVA_HOME"/bin/java -cp build/router.jar net.i2p.router.RouterVersion | sed "s/.*: //" | head -n 1 | sed 's|-|.|g')
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "preparing to invoke jpackage for I2P version $I2P_VERSION"
|
echo "preparing to invoke jpackage for I2P version $I2P_VERSION"
|
||||||
|
|
||||||
rm -rf I2P
|
rm -rf I2P
|
||||||
|
@ -1 +0,0 @@
|
|||||||
A browser profile and accompanying script for launching it. Used to combine I2P with Firefox in a reasonably safe way.
|
|
25
getprebuilt.sh
Executable file
25
getprebuilt.sh
Executable file
@ -0,0 +1,25 @@
|
|||||||
|
#! /usr/bin/env bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd -P)
|
||||||
|
cd "$SCRIPT_DIR" || exit 1
|
||||||
|
|
||||||
|
. "$SCRIPT_DIR/i2pversion"
|
||||||
|
|
||||||
|
if [ -f i2pversion_override ]; then
|
||||||
|
. "$SCRIPT_DIR/i2pversion_override"
|
||||||
|
fi
|
||||||
|
|
||||||
|
. "$SCRIPT_DIR/config.sh"
|
||||||
|
|
||||||
|
if [ -f config_overide.sh ]; then
|
||||||
|
. "$SCRIPT_DIR/config_override.sh"
|
||||||
|
fi
|
||||||
|
|
||||||
|
. "$HOME/github-release-config.sh"
|
||||||
|
|
||||||
|
TODAYSDATE=$(date -d '-1 day' '+%Y%m%d')
|
||||||
|
|
||||||
|
echo github-release download -u "$GITHUB_USERNAME" -r "i2p.firefox" -n "I2P.zip" -t "$TODAYSDATE"
|
||||||
|
github-release download -u "$GITHUB_USERNAME" -r "i2p.firefox" -n "I2P.zip" -t "$TODAYSDATE"
|
||||||
|
unzip I2P.zip
|
@ -40,10 +40,11 @@ sleep 5s
|
|||||||
|
|
||||||
HERE="$PWD"
|
HERE="$PWD"
|
||||||
if [ ! -d "$HERE/../i2p.i2p.jpackage-build/" ]; then
|
if [ ! -d "$HERE/../i2p.i2p.jpackage-build/" ]; then
|
||||||
git clone -b "$VERSION" https://i2pgit.org/i2p-hackers/i2p.i2p "$HERE/../i2p.i2p.jpackage-build/"
|
git clone --depth=1 -b "$VERSION" https://i2pgit.org/i2p-hackers/i2p.i2p "$HERE/../i2p.i2p.jpackage-build/"
|
||||||
tar --exclude="$HERE/../i2p.i2p.jpackage-build/.git" -cvzf i2p.i2p.jpackage-build.tar.gz "$HERE/../i2p.i2p.jpackage-build/"
|
tar --exclude="$HERE/../i2p.i2p.jpackage-build/.git" -cvzf i2p.i2p.jpackage-build.tar.gz "$HERE/../i2p.i2p.jpackage-build/"
|
||||||
fi
|
fi
|
||||||
cd "$HERE/../i2p.i2p.jpackage-build/"
|
cd "$HERE/../i2p.i2p.jpackage-build/"
|
||||||
|
git pull --all
|
||||||
for i in $COUNT; do
|
for i in $COUNT; do
|
||||||
echo -n "$i...."; sleep 1s
|
echo -n "$i...."; sleep 1s
|
||||||
done
|
done
|
||||||
|
@ -1,39 +0,0 @@
|
|||||||
install:
|
|
||||||
install -D -m644 src/unix/i2pbrowserrc /etc/i2pbrowser/i2pbrowserrc
|
|
||||||
install -D -m644 src/unix/i2pbrowserdebianrc /etc/i2pbrowser/i2pbrowserdebianrc
|
|
||||||
install -D -m755 build/profile/i2pbrowser.sh /usr/local/bin/i2pbrowser
|
|
||||||
install -D -m755 build/app-profile/i2pconfig.sh /usr/local/bin/i2pconfig
|
|
||||||
install -D -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: .version
|
|
||||||
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="$(SIGNER)" \
|
|
||||||
--requires="firefox,wget" \
|
|
||||||
--suggests="i2p,i2p-router,syndie,tor,tsocks" \
|
|
||||||
--nodoc \
|
|
||||||
--deldoc=yes \
|
|
||||||
--deldesc=yes \
|
|
||||||
--backup=no
|
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
<!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>
|
|
@ -1,45 +0,0 @@
|
|||||||
@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
|
|
||||||
}
|
|
@ -1,65 +0,0 @@
|
|||||||
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);
|
|
||||||
user_pref("ui.use_standins_for_native_colors", true);
|
|
||||||
user_pref("webgl.disable-extensions", true);
|
|
||||||
user_pref("webgl.min_capability_mode", true);
|
|
||||||
user_pref("webgl.disable-fail-if-major-performance-caveat", true);
|
|
||||||
user_pref("webgl.enable-webgl2", false);
|
|
||||||
user_pref("media.navigator.enabled", false);
|
|
||||||
user_pref("dom.w3c_touch_events.enabled", false);
|
|
||||||
user_pref("browser.display.use_system_colors", false);
|
|
||||||
user_pref("extensions.autoDisableScopes", 0);
|
|
||||||
user_pref("extensions.enabledScopes", 1);
|
|
Binary file not shown.
@ -1,229 +0,0 @@
|
|||||||
/*
|
|
||||||
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", "");
|
|
||||||
|
|
||||||
// TODO: this is a Tor Browser specific setting which is ignored on Firefox. If
|
|
||||||
// I make it true, the SOCKS outproxy will have something to connect to. But I
|
|
||||||
// need to test more to find out if that's prudent.
|
|
||||||
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", "http://127.0.0.1:7657/home");
|
|
||||||
|
|
||||||
// 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", 0);
|
|
||||||
user_pref("extensions.enabledScopes", 1);
|
|
||||||
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.ice.no_host", true);
|
|
||||||
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://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);
|
|
||||||
user_pref("ui.use_standins_for_native_colors", true);
|
|
||||||
user_pref("webgl.disable-extensions", true);
|
|
||||||
user_pref("webgl.min_capability_mode", true);
|
|
||||||
user_pref("webgl.disable-fail-if-major-performance-caveat", true);
|
|
||||||
user_pref("webgl.enable-webgl2", false);
|
|
||||||
user_pref("dom.w3c_touch_events.enabled", false);
|
|
||||||
user_pref("browser.privatebrowsing.autostart", false);
|
|
||||||
user_pref("browser.display.use_system_colors", false);
|
|
File diff suppressed because it is too large
Load Diff
@ -1 +0,0 @@
|
|||||||
1.9.7
|
|
@ -13,12 +13,12 @@ UniCode true
|
|||||||
!include i2pbrowser-jpackage.nsi
|
!include i2pbrowser-jpackage.nsi
|
||||||
!include FindProcess.nsh
|
!include FindProcess.nsh
|
||||||
|
|
||||||
var INSTDIR
|
#var INSTDIR
|
||||||
|
|
||||||
SetOverwrite on
|
SetOverwrite on
|
||||||
|
|
||||||
!define INSTDIR
|
!define INSTDIR
|
||||||
!define I2PINSTEXE_USERMODE "$LOCALAPPDATA\i2p"
|
!define I2PINSTEXE_USERMODE "$LOCALAPPDATA\i2peasy"
|
||||||
|
|
||||||
!define RAM_NEEDED_FOR_64BIT 0x80000000
|
!define RAM_NEEDED_FOR_64BIT 0x80000000
|
||||||
|
|
||||||
@ -128,12 +128,14 @@ PageExEnd
|
|||||||
Page instfiles
|
Page instfiles
|
||||||
|
|
||||||
Function .onInit
|
Function .onInit
|
||||||
|
# Note: This is all redundant and I know it.
|
||||||
|
# Admin installs have been migrated to user-mode installs.
|
||||||
|
# But I'm leaving it because I might need it again if I support service installs.
|
||||||
StrCpy $INSTDIR "${I2PINSTEXE_USERMODE}"
|
StrCpy $INSTDIR "${I2PINSTEXE_USERMODE}"
|
||||||
UserInfo::GetAccountType
|
UserInfo::GetAccountType
|
||||||
pop $0
|
pop $0
|
||||||
${If} $0 != "admin"
|
${If} $0 != "admin"
|
||||||
StrCpy $INSTDIR "${I2PINSTEXE_USERMODE}"
|
StrCpy $INSTDIR "${I2PINSTEXE_USERMODE}"
|
||||||
StrCpy $INSTDIR "${I2PINSTEXE_USERMODE}"
|
|
||||||
${EndIf}
|
${EndIf}
|
||||||
!insertmacro MUI_LANGDLL_DISPLAY
|
!insertmacro MUI_LANGDLL_DISPLAY
|
||||||
#Call ShouldInstall64Bit
|
#Call ShouldInstall64Bit
|
||||||
@ -182,8 +184,6 @@ Function installerFunction
|
|||||||
|
|
||||||
# Install the launcher scripts
|
# Install the launcher scripts
|
||||||
createDirectory "$INSTDIR"
|
createDirectory "$INSTDIR"
|
||||||
#SetOutPath "$INSTDIR"
|
|
||||||
#File "win/*"
|
|
||||||
|
|
||||||
# Install the licenses
|
# Install the licenses
|
||||||
createDirectory "$INSTDIR\licenses"
|
createDirectory "$INSTDIR\licenses"
|
||||||
@ -201,7 +201,7 @@ Function installerFunction
|
|||||||
|
|
||||||
SetShellVarContext current
|
SetShellVarContext current
|
||||||
|
|
||||||
IfFileExists "$LOCALAPPDATA\I2P\eepsite\docroot" +2 0
|
IfFileExists "$INSTDIR\eepsite\docroot" +2 0
|
||||||
File /a /r "I2P\eepsite"
|
File /a /r "I2P\eepsite"
|
||||||
|
|
||||||
createDirectory "$INSTDIR"
|
createDirectory "$INSTDIR"
|
||||||
@ -230,7 +230,6 @@ Section "uninstall"
|
|||||||
Delete "$INSTDIR\ui2pbrowser_icon.ico"
|
Delete "$INSTDIR\ui2pbrowser_icon.ico"
|
||||||
Delete "$INSTDIR\windowsUItoopie2.png"
|
Delete "$INSTDIR\windowsUItoopie2.png"
|
||||||
Delete "$INSTDIR\I2P.exe"
|
Delete "$INSTDIR\I2P.exe"
|
||||||
|
|
||||||
|
|
||||||
# Remove shortcuts and folders
|
# Remove shortcuts and folders
|
||||||
Delete "$SMPROGRAMS\${APPNAME}\${APPNAME}.lnk"
|
Delete "$SMPROGRAMS\${APPNAME}\${APPNAME}.lnk"
|
||||||
@ -260,12 +259,9 @@ Section "uninstall"
|
|||||||
Delete $INSTDIR\*
|
Delete $INSTDIR\*
|
||||||
rmDir /r "$INSTDIR"
|
rmDir /r "$INSTDIR"
|
||||||
${EndIf}
|
${EndIf}
|
||||||
|
|
||||||
# delete the uninstaller
|
# delete the uninstaller
|
||||||
Delete "$INSTDIR\uninstall-i2pbrowser.exe"
|
Delete "$INSTDIR\uninstall-i2pbrowser.exe"
|
||||||
|
|
||||||
# uninstaller section end
|
# uninstaller section end
|
||||||
|
|
||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
!define MUI_FINISHPAGE_RUN
|
!define MUI_FINISHPAGE_RUN
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
<!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>
|
|
@ -1,65 +0,0 @@
|
|||||||
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("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);
|
|
||||||
user_pref("ui.use_standins_for_native_colors", true);
|
|
||||||
user_pref("webgl.disable-extensions", true);
|
|
||||||
user_pref("webgl.min_capability_mode", true);
|
|
||||||
user_pref("webgl.disable-fail-if-major-performance-caveat", true);
|
|
||||||
user_pref("webgl.enable-webgl2", false);
|
|
||||||
user_pref("media.navigator.enabled", false);
|
|
||||||
user_pref("dom.w3c_touch_events.enabled", false);
|
|
||||||
user_pref("browser.privatebrowsing.autostart", false);
|
|
||||||
user_pref("browser.display.use_system_colors", false);
|
|
||||||
user_pref("dom.image-lazy-loading.enabled", false)
|
|
||||||
user_pref("extensions.autoDisableScopes", 0);
|
|
||||||
user_pref("extensions.enabledScopes", 1);
|
|
Binary file not shown.
@ -1,229 +0,0 @@
|
|||||||
/*
|
|
||||||
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", "");
|
|
||||||
|
|
||||||
// TODO: this is a Tor Browser specific setting which is ignored on Firefox. If
|
|
||||||
// I make it true, the SOCKS outproxy will have something to connect to. But I
|
|
||||||
// need to test more to find out if that's prudent.
|
|
||||||
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", "http://127.0.0.1:7657/home");
|
|
||||||
|
|
||||||
// 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", 0);
|
|
||||||
user_pref("extensions.enabledScopes", 1);
|
|
||||||
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.ice.no_host", true);
|
|
||||||
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://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);
|
|
||||||
user_pref("ui.use_standins_for_native_colors", true);
|
|
||||||
user_pref("webgl.disable-extensions", true);
|
|
||||||
user_pref("webgl.min_capability_mode", true);
|
|
||||||
user_pref("webgl.disable-fail-if-major-performance-caveat", true);
|
|
||||||
user_pref("webgl.enable-webgl2", false);
|
|
||||||
user_pref("dom.w3c_touch_events.enabled", false);
|
|
||||||
user_pref("browser.privatebrowsing.autostart", false);
|
|
||||||
user_pref("browser.display.use_system_colors", false);
|
|
1353
src/profile/user.js
1353
src/profile/user.js
File diff suppressed because it is too large
Load Diff
@ -1 +0,0 @@
|
|||||||
1.9.7
|
|
@ -1,4 +1,10 @@
|
|||||||
#!/bin/sh
|
#!/bin/bash
|
||||||
|
|
||||||
|
TORSOCKS=$(which torsocks)
|
||||||
|
if [ -f "${TORSOCKS}" ]; then
|
||||||
|
. "${TORSOCKS}" on
|
||||||
|
fi
|
||||||
|
|
||||||
version="$(curl -s https://aus1.torproject.org/torbrowser/update_3/release/downloads.json | jq -r ".version")"
|
version="$(curl -s https://aus1.torproject.org/torbrowser/update_3/release/downloads.json | jq -r ".version")"
|
||||||
locale="en-US" # mention your locale. default = en-US
|
locale="en-US" # mention your locale. default = en-US
|
||||||
if [ -d /etc/default/locale ]; then
|
if [ -d /etc/default/locale ]; then
|
||||||
@ -11,11 +17,11 @@ if [ ! -f ./tor.keyring ]; then
|
|||||||
gpg --output ./tor.keyring --export torbrowser@torproject.org
|
gpg --output ./tor.keyring --export torbrowser@torproject.org
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -f "tor-browser-linux64-"$version"_"$locale".tar.xz" ]; then
|
if [ ! -f "tor-browser-linux64-${version}_${locale}.tar.xz" ]; then
|
||||||
wget -cv "https://www.torproject.org/dist/torbrowser/"$version"/tor-browser-linux64-"$version"_"$locale".tar.xz"
|
wget -cv "https://www.torproject.org/dist/torbrowser/${version}/tor-browser-linux64-${version}_${locale}.tar.xz"
|
||||||
wget -cv "https://www.torproject.org/dist/torbrowser/"$version"/tor-browser-linux64-"$version"_"$locale".tar.xz.asc"
|
wget -cv "https://www.torproject.org/dist/torbrowser/${version}/tor-browser-linux64-${version}_${locale}.tar.xz.asc"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
gpgv --keyring ./tor.keyring "tor-browser-linux64-"$version"_"$locale".tar.xz.asc" "tor-browser-linux64-"$version"_"$locale".tar.xz"
|
gpgv --keyring ./tor.keyring "tor-browser-linux64-${version}_${locale}.tar.xz.asc" "tor-browser-linux64-${version}_${locale}.tar.xz"
|
||||||
|
|
||||||
tar xvJf "tor-browser-linux64-"$version"_"$locale".tar.xz"
|
tar xvJf "tor-browser-linux64-${version}_${locale}.tar.xz"
|
||||||
|
23
targz.sh
23
targz.sh
@ -8,11 +8,28 @@ cd "$SCRIPT_DIR" || exit 1
|
|||||||
if [ -f "$SCRIPT_DIR/config_override.sh" ]; then
|
if [ -f "$SCRIPT_DIR/config_override.sh" ]; then
|
||||||
. "$SCRIPT_DIR/config_override.sh"
|
. "$SCRIPT_DIR/config_override.sh"
|
||||||
fi
|
fi
|
||||||
|
export machine=unix
|
||||||
./clean.sh
|
./clean.sh
|
||||||
wsl make distclean
|
wsl make distclean
|
||||||
./build.sh
|
./build.sh
|
||||||
cd "$SCRIPT_DIR/I2P" || exit 1
|
cd "$SCRIPT_DIR/I2P" || exit 1
|
||||||
# ./lib/torbrowser.sh <- haha just kidding, but uncomment this to make it pack everything it needs into the tar.gz
|
|
||||||
|
TORSOCKS=$(which torsocks)
|
||||||
|
if [ -f "${TORSOCKS}" ]; then
|
||||||
|
. "${TORSOCKS}" on
|
||||||
|
fi
|
||||||
|
./lib/torbrowser.sh
|
||||||
|
version="$(curl -s https://aus1.torproject.org/torbrowser/update_3/release/downloads.json | jq -r ".version")"
|
||||||
|
. "${TORSOCKS}" off
|
||||||
|
locale="en-US" # mention your locale. default = en-US
|
||||||
|
if [ -d /etc/default/locale ]; then
|
||||||
|
. /etc/default/locale
|
||||||
|
locale=$(echo "${LANG}" | cut -d . -f1)
|
||||||
|
fi
|
||||||
|
rm -vrf "tor-browser_${locale}"
|
||||||
cd "$SCRIPT_DIR" || exit 1
|
cd "$SCRIPT_DIR" || exit 1
|
||||||
tar czvf I2P.tar.gz I2P
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
tar czvf I2P.tar.gz I2P
|
||||||
|
Reference in New Issue
Block a user