Compare commits
16 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
7178a36457 | ||
![]() |
bb4f06c1ab | ||
![]() |
ed8830d6e1 | ||
![]() |
92e041c09b | ||
![]() |
719644d70d | ||
![]() |
d00032b4f5 | ||
![]() |
cf1ea06e17 | ||
![]() |
4f6f36d7e1 | ||
![]() |
5bde61e309 | ||
![]() |
400c385f2e | ||
![]() |
eb16fa5dfc | ||
![]() |
cd09f62554 | ||
![]() |
51d394a1dc | ||
![]() |
f46a33f961 | ||
![]() |
1f13b8ed33 | ||
![]() |
639fa37561 |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -4,3 +4,6 @@ ifox
|
||||
i2p-fox
|
||||
i2pfirefox.exe
|
||||
i2pfirefox-darwin
|
||||
i2pfirefox-variant
|
||||
i2pfirefox-variant.exe
|
||||
i2pfirefox-variant-darwin
|
46
Makefile
46
Makefile
@@ -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"
|
98
README.md
98
README.md
@@ -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
2
go.mod
@@ -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
4
go.sum
@@ -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
27
gojava.log
Normal 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
23
main.go
@@ -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
36
pure.go
Normal 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
28
variant.go
Normal 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
|
||||
`
|
Reference in New Issue
Block a user