16 Commits

Author SHA1 Message Date
idk
7178a36457 update variant builds 2020-04-07 21:31:10 -04:00
idk
bb4f06c1ab update variant builds 2020-04-07 21:30:26 -04:00
idk
ed8830d6e1 update variant builds 2020-04-07 21:27:27 -04:00
idk
92e041c09b update variant builds 2020-04-07 20:50:40 -04:00
idk
719644d70d update variant builds 2020-04-07 20:47:29 -04:00
idk
d00032b4f5 update variant builds 2020-04-07 20:45:19 -04:00
idk
cf1ea06e17 update README.md 2020-04-07 20:23:31 -04:00
idk
4f6f36d7e1 update README.md 2020-04-07 20:18:28 -04:00
idk
5bde61e309 update README.md 2020-04-07 20:16:41 -04:00
idk
400c385f2e Futz with the possibility of a pure-go JVM 2020-04-05 18:30:30 -04:00
idk
eb16fa5dfc Futz with the possibility of a pure-go JVM 2020-04-05 15:50:18 -04:00
idk
cd09f62554 note to self about embedding a router inside the launcher 2020-04-05 15:19:42 -04:00
idk
51d394a1dc note to self about embedding a router inside the launcher 2020-04-05 15:03:24 -04:00
idk
f46a33f961 note to self about embedding a router inside the launcher 2020-04-05 14:56:46 -04:00
idk
1f13b8ed33 note to self about embedding a router inside the launcher 2020-04-05 14:54:49 -04:00
idk
639fa37561 update README.md 2020-04-03 21:32:54 -04:00
9 changed files with 233 additions and 34 deletions

3
.gitignore vendored
View File

@@ -4,3 +4,6 @@ ifox
i2p-fox
i2pfirefox.exe
i2pfirefox-darwin
i2pfirefox-variant
i2pfirefox-variant.exe
i2pfirefox-variant-darwin

View File

@@ -6,7 +6,7 @@ VERSION=0.73
SNOW_VERSION=0.2.2
UMAT_VERSION=1.25.2
UBLO_VERSION=1.4.0
LAUNCH_VERSION=$(VERSION).04
LAUNCH_VERSION=$(VERSION).07
build: setup assets.go
go build
@@ -17,10 +17,26 @@ assets.go:
go run -tags generate gen.go
clean:
rm -rf ifox i2pfirefox* assets.go i2pfox i2p-fox
gofmt -w -s *.go
@echo CLEANING
rm -rf ifox i2pfox
gofmt -w -s main.go pure.go variant.go gen.go
@echo CLEANED
setup: i2ppb snowflake ublock umatrix
setup:
@echo CLEANING
rm -rf ifox i2pfox
gofmt -w -s main.go pure.go variant.go gen.go
@echo CLEANED
make i2ppb ublock
go run -tags generate gen.go
setup-variant:
@echo CLEANING
rm -rf ifox i2pfox
gofmt -w -s main.go pure.go variant.go gen.go
@echo CLEANED
make i2ppb snowflake ublock umatrix
go run -tags generate gen.go
i2ppb: ifox/i2ppb@eyedeekay.github.io.xpi
snowflake: ifox/snowflake@torproject.org.xpi
@@ -31,18 +47,18 @@ ifox:
mkdir -p ifox
ifox/i2ppb@eyedeekay.github.io.xpi: ifox
wget -c -O ifox/i2ppb@eyedeekay.github.io.xpi https://github.com/eyedeekay/I2P-in-Private-Browsing-Mode-Firefox/releases/download/$(VERSION)/i2ppb@eyedeekay.github.io.xpi
wget -nv -c -O ifox/i2ppb@eyedeekay.github.io.xpi https://github.com/eyedeekay/I2P-in-Private-Browsing-Mode-Firefox/releases/download/$(VERSION)/i2ppb@eyedeekay.github.io.xpi
ifox/snowflake@torproject.org.xpi: ifox/{b11bea1f-a888-4332-8d8a-cec2be7d24b9}.xpi
ifox/{b11bea1f-a888-4332-8d8a-cec2be7d24b9}.xpi: ifox
wget -c -O 'ifox/{b11bea1f-a888-4332-8d8a-cec2be7d24b9}.xpi' https://addons.mozilla.org/firefox/downloads/file/3519836/snowflake-0.2.2-fx.xpi
wget -nv -c -O 'ifox/{b11bea1f-a888-4332-8d8a-cec2be7d24b9}.xpi' https://addons.mozilla.org/firefox/downloads/file/3519836/snowflake-0.2.2-fx.xpi
ifox/uBlock0@raymondhill.net.xpi: ifox
wget -c -O ifox/uBlock0@raymondhill.net.xpi https://addons.mozilla.org/firefox/downloads/file/3521827/ublock_origin-$(UBLO_VERSION)-an+fx.xpi
wget -nv -c -O ifox/uBlock0@raymondhill.net.xpi https://addons.mozilla.org/firefox/downloads/file/3521827/ublock_origin-$(UBLO_VERSION)-an+fx.xpi
ifox/uMatrix@raymondhill.net.xpi: ifox
wget -c -O ifox/uMatrix@raymondhill.net.xpi https://addons.mozilla.org/firefox/downloads/file/3396815/umatrix-$(UMAT_VERSION)-an+fx.xpi
wget -nv -c -O ifox/uMatrix@raymondhill.net.xpi https://addons.mozilla.org/firefox/downloads/file/3396815/umatrix-$(UMAT_VERSION)-an+fx.xpi
sums: setup
sha256sum ifox/i2ppb@eyedeekay.github.io.xpi
@@ -50,17 +66,29 @@ sums: setup
sha256sum ifox/uBlock0@raymondhill.net.xpi
sha256sum ifox/uMatrix@raymondhill.net.xpi
all: setup assets.go
all: pure variant
pure: clean setup assets.go
GOOS=windows go build -o i2pfirefox.exe
GOOS=darwin go build -o i2pfirefox-darwin
GOOS=linux go build -o i2pfirefox
variant: clean setup-variant assets.go
GOOS=windows go build -tags variant -o i2pfirefox-variant.exe
GOOS=darwin go build -tags variant -o i2pfirefox-variant-darwin
GOOS=linux go build -tags variant -o i2pfirefox-variant
release:
gothub release -p -u eyedeekay -r "i2pfirefox" -t $(LAUNCH_VERSION) -n "Launchers" -d "A self-configuring launcher for mixed I2P and clearnet Browsing with Firefox"
gothub upload -R -u eyedeekay -r "i2pfirefox" -t $(LAUNCH_VERSION) -n "i2pfirefox.exe" -f "i2pfirefox.exe"
gothub upload -R -u eyedeekay -r "i2pfirefox" -t $(LAUNCH_VERSION) -n "i2pfirefox-darwin" -f "i2pfirefox-darwin"
gothub upload -R -u eyedeekay -r "i2pfirefox" -t $(LAUNCH_VERSION) -n "i2pfirefox" -f "i2pfirefox"
release-variant:
gothub upload -R -u eyedeekay -r "i2pfirefox" -t $(LAUNCH_VERSION) -n "i2pfirefox-variant.exe" -f "i2pfirefox-variant.exe"
gothub upload -R -u eyedeekay -r "i2pfirefox" -t $(LAUNCH_VERSION) -n "i2pfirefox-variant-darwin" -f "i2pfirefox-variant-darwin"
gothub upload -R -u eyedeekay -r "i2pfirefox" -t $(LAUNCH_VERSION) -n "i2pfirefox-variant" -f "i2pfirefox-variant"
linux-release:
gothub release -p -u eyedeekay -r "i2pfirefox" -t $(LAUNCH_VERSION) -n "Launchers" -d "A self-configuring launcher for mixed I2P and clearnet Browsing with Firefox"; true
gothub upload -R -u eyedeekay -r "i2pfirefox" -t $(LAUNCH_VERSION) -n "i2pfirefox" -f "i2pfirefox"

View File

@@ -4,4 +4,100 @@ I2P Profile Configuring Launcher for Firefox, Multiplatform
Configures a Firefox profile in the working directory with extensions and
configuration settings for I2P. At this time, it is configured for mixed I2P
and clearnet browsing via my browser plugin. In the near future, other plugins
may be configured as well as additional settings in user.js
may be configured as well as additional settings in user.js.
Experimental
------------
This is experimental software, but I do use it successfully under these
circumstances:
### Computer 1
Ubuntu Linux
Java I2P router installed from Project PPA
Mozilla Firefox installed from official Ubuntu repository
### Computer 2
Debian GNU/Linux
Java I2P router built from source and installed as *my user*
Mozilla Firefox installed from official Debian repository
Note that *I have not personally used this with i2pd yet, nor has it been*
*extensively tested on Windows or OSX* but, if I did everything right the first
time, and we can pretty much rely on it to run i2pd with the system-provided
settings, it should usually work, and it should work on Windows as long as you
have Firefox installed to the default path but if it doesn't work, create an
issue here or yell at me on reddit(r/i2p) or i2pforum.net and we'll figure it
out.
Even More Experimental
----------------------
There are two logical places to take this in the medium-close future. One is to
embed a router inside this, along with some kind of console, probably based on a
soon-to-be-usable SWIG binding for i2pd, or a possibly even sooner-to-be-usable
Go binding for Java I2P and an embedded runtime and class files? I dunno which
one's going to be easier but it turns out it's comparatively easy to talk to
Java from Go, much easier than I thought before about 2AM today. Speaking of
which, I need to remember these commands:
/usr/lib/jvm/java-11-openjdk-amd64/bin/java \
-DloggerFilenameOverride=logs/log-router-@.txt \
-Di2p.dir.base=$HOME/i2p \
-Xmx512m \
-Djava.library.path=$HOME/i2p:$HOME/i2p/lib \
-classpath $HOME/i2p/lib/BOB.jar:$HOME/i2p/lib/addressbook.jar:$HOME/i2p/lib/commons-el.jar:$HOME/i2p/lib/commons-logging.jar:$HOME/i2p/lib/desktopgui.jar:$HOME/i2p/lib/i2p.jar:$HOME/i2p/lib/i2psnark.jar:$HOME/i2p/lib/i2ptunnel.jar:$HOME/i2p/lib/jasper-compiler.jar:$HOME/i2p/lib/jasper-runtime.jar:$HOME/i2p/lib/javax.servlet.jar:$HOME/i2p/lib/jbigi.jar:$HOME/i2p/lib/jetty-continuation.jar:$HOME/i2p/lib/jetty-deploy.jar:$HOME/i2p/lib/jetty-http.jar:$HOME/i2p/lib/jetty-i2p.jar:$HOME/i2p/lib/jetty-io.jar:$HOME/i2p/lib/jetty-java5-threadpool.jar:$HOME/i2p/lib/jetty-rewrite-handler.jar:$HOME/i2p/lib/jetty-security.jar:$HOME/i2p/lib/jetty-servlet.jar:$HOME/i2p/lib/jetty-servlets.jar:$HOME/i2p/lib/jetty-sslengine.jar:$HOME/i2p/lib/jetty-start.jar:$HOME/i2p/lib/jetty-util.jar:$HOME/i2p/lib/jetty-webapp.jar:$HOME/i2p/lib/jetty-xml.jar:$HOME/i2p/lib/jrobin.jar:$HOME/i2p/lib/jstl.jar:$HOME/i2p/lib/mstreaming.jar:$HOME/i2p/lib/org.mortbay.jetty.jar:$HOME/i2p/lib/org.mortbay.jmx.jar:$HOME/i2p/lib/router.jar:$HOME/i2p/lib/routerconsole.jar:$HOME/i2p/lib/sam.jar:$HOME/i2p/lib/standard.jar:$HOME/i2p/lib/streaming.jar:$HOME/i2p/lib/systray.jar:$HOME/i2p/lib/wrapper.jar \
-Dwrapper.key=key \
-Dwrapper.port=port \
-Dwrapper.jvm.port.min=31000 \
-Dwrapper.jvm.port.max=31999 \
-Dwrapper.disable_console_input=TRUE \
-Dwrapper.pid=pid \
-Dwrapper.version=3.5.39 \
-Dwrapper.native_library=wrapper \
-Dwrapper.arch=x86 \
-Dwrapper.service=TRUE \
-Dwrapper.cpu.timeout=10 \
-Dwrapper.jvmid=3 org.tanukisoftware.wrapper.WrapperSimpleApp \
net.i2p.router.Router
$HOME/i2p/i2psvc $HOME/i2p/wrapper.config \
wrapper.syslog.ident=i2p \
wrapper.java.command=java \
wrapper.pidfile=$HOME/.i2p/i2p.pid \
wrapper.name=i2p \
wrapper.displayname=I2P Service \
wrapper.daemonize=TRUE \
wrapper.statusfile=$HOME/.i2p/i2p.status \
wrapper.java.statusfile=$HOME/.i2p/i2p.java.status \
wrapper.logfile=$HOME/.i2p/wrapper.log
This *almost* launches a router on a pure-Go JVM, could be a configuration
detail or two away from working.
$HOME/go/bin/java \
-Xjre /usr/lib/jvm/java-8-openjdk-amd64/ \
-XuseJavaHome \
-classpath /usr/share/java:/usr/lib/jvm/java-8-openjdk-amd64:/usr/lib/jvm/java-8-openjdk-amd64/lib:/usr/lib/jvm/java-8-openjdk-amd64/lib/jre:$HOME/i2p:$HOME/i2p/lib:$HOME/i2p:$HOME/i2p/lib:$HOME/i2p/lib/BOB.jar:$HOME/i2p/lib/addressbook.jar:$HOME/i2p/lib/commons-el.jar:$HOME/i2p/lib/commons-logging.jar:$HOME/i2p/lib/desktopgui.jar:$HOME/i2p/lib/i2p.jar:$HOME/i2p/lib/i2psnark.jar:$HOME/i2p/lib/i2ptunnel.jar:$HOME/i2p/lib/jasper-compiler.jar:$HOME/i2p/lib/jasper-runtime.jar:$HOME/i2p/lib/javax.servlet.jar:$HOME/i2p/lib/jbigi.jar:$HOME/i2p/lib/jetty-continuation.jar:$HOME/i2p/lib/jetty-deploy.jar:$HOME/i2p/lib/jetty-http.jar:$HOME/i2p/lib/jetty-i2p.jar:$HOME/i2p/lib/jetty-io.jar:$HOME/i2p/lib/jetty-java5-threadpool.jar:$HOME/i2p/lib/jetty-rewrite-handler.jar:$HOME/i2p/lib/jetty-security.jar:$HOME/i2p/lib/jetty-servlet.jar:$HOME/i2p/lib/jetty-servlets.jar:$HOME/i2p/lib/jetty-sslengine.jar:$HOME/i2p/lib/jetty-start.jar:$HOME/i2p/lib/jetty-util.jar:$HOME/i2p/lib/jetty-webapp.jar:$HOME/i2p/lib/jetty-xml.jar:$HOME/i2p/lib/jrobin.jar:$HOME/i2p/lib/jstl.jar:$HOME/i2p/lib/mstreaming.jar:$HOME/i2p/lib/org.mortbay.jetty.jar:$HOME/i2p/lib/org.mortbay.jmx.jar:$HOME/i2p/lib/router.jar:$HOME/i2p/lib/routerconsole.jar:$HOME/i2p/lib/sam.jar:$HOME/i2p/lib/standard.jar:$HOME/i2p/lib/streaming.jar:$HOME/i2p/lib/systray.jar:$HOME/i2p/lib/wrapper.jar \
net.i2p.router.Router 2>&1 | tee gojava.log
Important thing for building apps that use the Go bindings to libjvm
export LD_LIBRARY_PATH=/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/
export LD_LIBRARY_PATH=/usr/lib/jvm/java-11-openjdk-amd64/lib/server/
The other is to embed a Firefox Portable, possibly one that is enhanced in terms
of privacy by inheriting non-Branding patches from Tor Browser. How this is to
be achieved remains to be seen, but extracting Tor from their own build system
is not sustainable or advisable, this may be better.
Reproducibility?
----------------
What definitions of reproducibility this satisfies remains to be seen. I will
think about it later, but I *think* that it should be reproducible and since
the resources it embeds should also be reproducible, then it should be possible
to build this reproducibly.

2
go.mod
View File

@@ -4,6 +4,6 @@ go 1.14
require (
github.com/eyedeekay/checki2cp v0.0.12
github.com/eyedeekay/go-fpw v0.0.01
github.com/eyedeekay/go-fpw v0.0.0-20200404005604-8ccf7dc81580
github.com/zserge/lorca v0.1.9
)

4
go.sum
View File

@@ -1,7 +1,11 @@
github.com/eyedeekay/checki2cp v0.0.0-20200403213308-750ce7e6d81f h1:rpkO9pKHoNxoUAH2dY9gtIRt+vDCS3t2VUq5V7ZalXA=
github.com/eyedeekay/checki2cp v0.0.0-20200403213308-750ce7e6d81f/go.mod h1:ZilEsKkjp1K0e9qfUUdrHnz8teb1LU70L8JQzNSQmO8=
github.com/eyedeekay/checki2cp v0.0.12 h1:ytAlEx0w928H6pE4IPDVuRsRQjJ30wUjhR0sLIGlOH0=
github.com/eyedeekay/checki2cp v0.0.12/go.mod h1:ZilEsKkjp1K0e9qfUUdrHnz8teb1LU70L8JQzNSQmO8=
github.com/eyedeekay/go-fpw v0.0.0-20200403201858-3d24733073ff h1:nmfiBxYeXYnUUB7sYoez7VT7mB99hFeHeZtXE69ot9A=
github.com/eyedeekay/go-fpw v0.0.0-20200403201858-3d24733073ff/go.mod h1:F4d0cXDXTK6ZsAnxmATan3VyDV4k9P9ciCGRKt/fVik=
github.com/eyedeekay/go-fpw v0.0.0-20200404005604-8ccf7dc81580 h1:Eo210WM4t+DLJ5rBmj1fnUAuCEM614zIvVUO7RIeTRw=
github.com/eyedeekay/go-fpw v0.0.0-20200404005604-8ccf7dc81580/go.mod h1:RyCx7KuH+5ryvIpUF7SpxiChLtjeuPbVFCIzf8shIFc=
github.com/eyedeekay/go-i2cp v0.0.0-20190716135428-6d41bed718b0 h1:rnn9OlD/3+tATEZNuiMR1C84O5CX8bZL2qqgttprKrw=
github.com/eyedeekay/go-i2cp v0.0.0-20190716135428-6d41bed718b0/go.mod h1:+P0fIhkqIYjo7exMJRTlSteRMbRyHbiBiKw+YlPWk+c=
github.com/zserge/lorca v0.1.9 h1:vbDdkqdp2/rmeg8GlyCewY2X8Z+b0s7BqWyIQL/gakc=

27
gojava.log Normal file
View File

@@ -0,0 +1,27 @@
>> line: -2 pc: 1 java/util/TimeZone.getSystemTimeZoneID(Ljava/lang/String;)Ljava/lang/String;
>> line: 655 pc: 47 java/util/TimeZone.setDefaultZone()Ljava/util/TimeZone;
>> line: 636 pc: 11 java/util/TimeZone.getDefaultRef()Ljava/util/TimeZone;
>> line: 625 pc: 3 java/util/TimeZone.getDefault()Ljava/util/TimeZone;
>> line: 168 pc: 96 net/i2p/router/Router.<clinit>()V
>> line: -1 pc: 0 ~shim.<bootstrap>
>> line: -1 pc: 0 ~shim.<return>
panic: native method not found: java/util/TimeZone~getSystemTimeZoneID~(Ljava/lang/String;)Ljava/lang/String; [recovered]
panic: native method not found: java/util/TimeZone~getSystemTimeZoneID~(Ljava/lang/String;)Ljava/lang/String;
goroutine 1 [running]:
github.com/zxh0/jvm.go/cpu._catchErr(0xc0000b8de0)
/media/longterm/go/src/github.com/eyedeekay/jvm.go/cpu/loop.go:119 +0x1a4
panic(0x5defc0, 0xc000e89fb0)
/usr/lib/go-1.14/src/runtime/panic.go:967 +0x166
github.com/zxh0/jvm.go/native.FindNativeMethod(0xc001480580, 0x7e928e)
/media/longterm/go/src/github.com/eyedeekay/jvm.go/native/registry.go:35 +0x27e
github.com/zxh0/jvm.go/instructions/reserved.(*InvokeNative).Execute(0x82f200, 0xc000837a80)
/media/longterm/go/src/github.com/eyedeekay/jvm.go/instructions/reserved/invokenative.go:22 +0x52
github.com/zxh0/jvm.go/cpu._loop(0xc0000b8de0)
/media/longterm/go/src/github.com/eyedeekay/jvm.go/cpu/loop.go:78 +0xc3
github.com/zxh0/jvm.go/cpu.Loop(0xc0000b8de0)
/media/longterm/go/src/github.com/eyedeekay/jvm.go/cpu/loop.go:54 +0x42
main.startJVM8(0xc0000be210, 0xc0000ba060, 0x0, 0x0)
/media/longterm/go/src/github.com/eyedeekay/jvm.go/cmd/java/main.go:127 +0x79
main.main()
/media/longterm/go/src/github.com/eyedeekay/jvm.go/cmd/java/main.go:44 +0x67

23
main.go
View File

@@ -13,29 +13,6 @@ import (
. "github.com/eyedeekay/go-fpw"
)
var EXTENSIONS = []string{
"i2ppb@eyedeekay.github.io.xpi",
"{b11bea1f-a888-4332-8d8a-cec2be7d24b9}.xpi",
"uBlock0@raymondhill.net.xpi",
"uMatrix@raymondhill.net.xpi",
}
var EXTENSIONHASHES = []string{
"bca6f385637c76445775af6271f8e9621966283f2f648cef9db9c635b6662f6d",
"f53f00ec9e689c7ddb4aaeec56bf50e61161ce7fbaaf2d2b49032c4c648120a2",
"997aac00064665641298047534c9392492ef09f0cbf177b6a30d4fa288081579",
"991f0fa5c64172b8a2bc0a010af60743eba1c18078c490348e1c6631882cbfc7",
}
var ARGS = []string{
/*"--example-arg",*/
}
var PREFS = `user_pref("privacy.firstparty.isolate", true); // [SET] [SAFE=false] [!PRIV=true] whether to enable First Party Isolation (FPI) - higly suggested to set this to true- IF DISABLING FPI, READ RELEVANT SECTIONS OF USER.JS!
user_pref("privacy.resistFingerprinting", true); // [SET] [SAFE=false] [!PRIV=true] whether to enable Firefox built-in ability to resist fingerprinting by web servers (used to uniquely identify the browser)) - higly suggested to set this to true
user_pref("privacy.resistFingerprinting.letterboxing", true); // [SET] [!PRIV=true] whether to set the viewport size to a generic dimension in order to resist fingerprinting) - suggested to set this to true, however doing so may make the viewport smaller than the window
user_pref("browser.display.use_document_fonts", 0); // [SET] [SAFE=1] [!PRIV=0] whether to allow websites to use fonts they specify - 0=no, 1=yes - setting this to 0 will uglify many websites - value can be easily flipped with the Toggle Fonts add-on
user_pref("browser.download.forbid_open_with", true); // whether to allow the 'open with' option when downloading a file
user_pref("browser.library.activity-stream.enabled", false); // whether to enable Activity Stream recent Highlights in the Library`
var userdir = "./i2pfox"
func writeExtension(val os.FileInfo, system *fs) {

36
pure.go Normal file
View File

@@ -0,0 +1,36 @@
// +build !variant
package main
var EXTENSIONS = []string{
"i2ppb@eyedeekay.github.io.xpi",
"uBlock0@raymondhill.net.xpi",
}
var EXTENSIONHASHES = []string{
"bca6f385637c76445775af6271f8e9621966283f2f648cef9db9c635b6662f6d",
"997aac00064665641298047534c9392492ef09f0cbf177b6a30d4fa288081579",
}
var ARGS = []string{
/*"--example-arg",*/
}
var PREFS = `
user_pref("privacy.firstparty.isolate", true); // [SET] [SAFE=false] [!PRIV=true] whether to enable First Party Isolation (FPI) - higly suggested to set this to true- IF DISABLING FPI, READ RELEVANT SECTIONS OF USER.JS!
user_pref("privacy.resistFingerprinting", true); // [SET] [SAFE=false] [!PRIV=true] whether to enable Firefox built-in ability to resist fingerprinting by web servers (used to uniquely identify the browser)) - higly suggested to set this to true
user_pref("privacy.resistFingerprinting.letterboxing", true); // [SET] [!PRIV=true] whether to set the viewport size to a generic dimension in order to resist fingerprinting) - suggested to set this to true, however doing so may make the viewport smaller than the window
user_pref("browser.display.use_document_fonts", 0); // [SET] [SAFE=1] [!PRIV=0] whether to allow websites to use fonts they specify - 0=no, 1=yes - setting this to 0 will uglify many websites - value can be easily flipped with the Toggle Fonts add-on
user_pref("browser.download.forbid_open_with", true); // whether to allow the 'open with' option when downloading a file
user_pref("browser.library.activity-stream.enabled", false); // whether to enable Activity Stream recent Highlights in the Library
user_pref("network.proxy.type", 1); // [SET] [SAFE=1] [PRIV=1] [ALTSAFE=5] [ALTPRIV=5] 1==http, 5=socks
user_pref("network.proxy.http", "127.0.0.1"); // [SET] 127.0.0.1
user_pref("network.proxy.http_port", 4444); // [SET] 4444
user_pref("network.proxy.ssl", "127.0.0.1"); // [SET] 127.0.0.1
user_pref("network.proxy.ssl_port", 4444); // [SET] 4444
user_pref("network.proxy.ftp", "127.0.0.1"); // [SET] 127.0.0.1
user_pref("network.proxy.ftp_port", 4444); // [SET] 4444
user_pref("network.proxy.socks", "127.0.0.1"); // [SET] 127.0.0.1
user_pref("network.proxy.socks_port", 4444); // [SET] 4444
user_pref("network.proxy.share_proxy_settings", true); // [SET] [SAFE=true] [PRIV=true] does not actually apply to http, but leave it set anyway so that we preserve the SOCKS option
user_pref("network.proxy.socks_remote_dns", true); // [SET] [SAFE=true] [PRIV=true]
`

28
variant.go Normal file
View File

@@ -0,0 +1,28 @@
// +build variant
package main
var EXTENSIONS = []string{
"i2ppb@eyedeekay.github.io.xpi",
"{b11bea1f-a888-4332-8d8a-cec2be7d24b9}.xpi",
"uBlock0@raymondhill.net.xpi",
"uMatrix@raymondhill.net.xpi",
}
var EXTENSIONHASHES = []string{
"bca6f385637c76445775af6271f8e9621966283f2f648cef9db9c635b6662f6d",
"f53f00ec9e689c7ddb4aaeec56bf50e61161ce7fbaaf2d2b49032c4c648120a2",
"997aac00064665641298047534c9392492ef09f0cbf177b6a30d4fa288081579",
"991f0fa5c64172b8a2bc0a010af60743eba1c18078c490348e1c6631882cbfc7",
}
var ARGS = []string{
/*"--example-arg",*/
}
var PREFS = `
user_pref("privacy.firstparty.isolate", true); // [SET] [SAFE=false] [!PRIV=true] whether to enable First Party Isolation (FPI) - higly suggested to set this to true- IF DISABLING FPI, READ RELEVANT SECTIONS OF USER.JS!
user_pref("privacy.resistFingerprinting", true); // [SET] [SAFE=false] [!PRIV=true] whether to enable Firefox built-in ability to resist fingerprinting by web servers (used to uniquely identify the browser)) - higly suggested to set this to true
user_pref("privacy.resistFingerprinting.letterboxing", true); // [SET] [!PRIV=true] whether to set the viewport size to a generic dimension in order to resist fingerprinting) - suggested to set this to true, however doing so may make the viewport smaller than the window
user_pref("browser.display.use_document_fonts", 0); // [SET] [SAFE=1] [!PRIV=0] whether to allow websites to use fonts they specify - 0=no, 1=yes - setting this to 0 will uglify many websites - value can be easily flipped with the Toggle Fonts add-on
user_pref("browser.download.forbid_open_with", true); // whether to allow the 'open with' option when downloading a file
user_pref("browser.library.activity-stream.enabled", false); // whether to enable Activity Stream recent Highlights in the Library
`