Start to give it the ability to pre-generate a portable bundle, portable in the storage device sense where it can be taken on a flash drive between machines.
This commit is contained in:
@ -1 +0,0 @@
|
||||
https://addons.mozilla.org/firefox/downloads/file/3809748/2021.7.13/https-everywhere-eff@eff.org.xpi
|
12
Makefile
12
Makefile
@ -34,7 +34,7 @@ help: .version
|
||||
@echo "$(MAJOR).$(MINOR).$(BUILD)"
|
||||
@echo "$(preset)"
|
||||
|
||||
prep: profile.tgz app-profile.tgz profile build/licenses build/I2P build/I2P/config launchers
|
||||
prep: profile.tgz app-profile.tgz build/licenses build/I2P build/I2P/config launchers
|
||||
cp src/nsis/*.nsi build
|
||||
cp src/nsis/*.nsh build
|
||||
cp src/icons/*.ico build
|
||||
@ -92,12 +92,16 @@ build/licenses: build
|
||||
unix2dos build/licenses/LICENSE.index
|
||||
|
||||
clean:
|
||||
rm -rf build app-profile-*.tgz profile-*.tgz I2P-Profile-Installer-*.exe *.deb src/I2P/config *.su3 .version
|
||||
rm -rf build app-profile-*.tgz profile-*.tgz I2P-Profile-Installer-*.exe *.deb src/I2P/config/* *.su3 .version
|
||||
|
||||
build:
|
||||
@echo "creating build directory"
|
||||
mkdir -p build
|
||||
|
||||
portable-profile: .version I2P build/I2P
|
||||
make profile.tgz
|
||||
cp -rv build/profile build/portable-profile
|
||||
|
||||
profile: build/profile/user.js build/profile/prefs.js build/profile/bookmarks.html build/profile/storage-sync.sqlite copy-xpi
|
||||
|
||||
profile.tgz: .version profile
|
||||
@ -124,6 +128,10 @@ copy-xpi: build/NoScript.xpi build/HTTPSEverywhere.xpi build/i2ppb@eyedeekay.git
|
||||
cp build/HTTPSEverywhere.xpi "build/profile/extensions/https-everywhere-eff@eff.org.xpi"
|
||||
cp build/i2ppb@eyedeekay.github.io.xpi build/profile/extensions/i2ppb@eyedeekay.github.io.xpi
|
||||
|
||||
portable-app-profile: .version I2P build/I2P
|
||||
make app-profile.tgz
|
||||
cp -rv build/app-profile build/portable-app-profile
|
||||
|
||||
app-profile: .version build/app-profile/user.js build/app-profile/prefs.js build/app-profile/chrome/userChrome.css build/app-profile/bookmarks.html build/app-profile/storage-sync.sqlite copy-app-xpi
|
||||
|
||||
app-profile.tgz: app-profile
|
||||
|
@ -1 +0,0 @@
|
||||
https://addons.mozilla.org/firefox/downloads/file/3534184/11.2.11/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi
|
@ -93,6 +93,10 @@ with `sudo service i2p start` then you can run the script:
|
||||
Including a jpackaged I2P Router(EXPERIMENTAL)
|
||||
----------------------------------------------
|
||||
|
||||
It is strongly advised that you use an up-to-date JDK 17 to build your
|
||||
jpackage! Releases will be built with an up-to-date OpenJDK LTS. Builds occur
|
||||
on a Windows 10 laptop, hashed, and transferred to a Linux laptop for signing.
|
||||
|
||||
In order to include a jpackaged(dependency-free) I2P router in the Profile
|
||||
Bundle you will need to build the jpackaged I2P router as an "App Image" on
|
||||
a Windows system and place it into a directory called `I2P` in your `i2p.firefox`
|
||||
|
@ -1 +0,0 @@
|
||||
https://addons.mozilla.org/firefox/downloads/file/3821635/0.112.1/i2ppb@eyedeekay.github.io.xpi
|
11
src/I2P/portable/addressbook/config.txt
Normal file
11
src/I2P/portable/addressbook/config.txt
Normal file
@ -0,0 +1,11 @@
|
||||
should_publish=false
|
||||
proxy_host=127.0.0.1
|
||||
proxy_port=4444
|
||||
update_delay=1
|
||||
log=../log/addrbook_log.txt
|
||||
last_modified=../log/addrbook_last_modified.txt
|
||||
etags=../log/addrbook_etags.txt
|
||||
subscriptions=subscriptions.txt
|
||||
local_addressbook=userhosts.txt
|
||||
router_addressbook=../hosts.txt
|
||||
published_addressbook=../eepsite/hosts.txt
|
15
src/I2P/portable/clients.config
Normal file
15
src/I2P/portable/clients.config
Normal file
@ -0,0 +1,15 @@
|
||||
clientApp.0.main=net.i2p.router.web.RouterConsoleRunner
|
||||
clientApp.0.name=I2P Router Console
|
||||
clientApp.0.args=7657 127.0.0.1 ./webapps/
|
||||
clientApp.0.delay=0
|
||||
clientApp.0.startOnLoad=true
|
||||
clientApp.1.main=net.i2p.i2ptunnel.TunnelControllerGroup
|
||||
clientApp.1.name=Application tunnels
|
||||
clientApp.1.args=i2ptunnel.config
|
||||
clientApp.1.delay=120
|
||||
clientApp.1.startOnLoad=true
|
||||
clientApp.2.main=net.i2p.apps.systray.UrlLauncher
|
||||
clientApp.2.name=Open Router Console in web browser at startup
|
||||
clientApp.2.args=http://127.0.0.1:7657/index.jsp
|
||||
clientApp.2.delay=15
|
||||
clientApp.2.startOnLoad=true
|
119
src/I2P/portable/i2ptunnel.config
Normal file
119
src/I2P/portable/i2ptunnel.config
Normal file
@ -0,0 +1,119 @@
|
||||
tunnel.0.description=HTTP proxy for browsing eepsites and the web
|
||||
tunnel.0.i2cpHost=127.0.0.1
|
||||
tunnel.0.i2cpPort=7654
|
||||
tunnel.0.interface=127.0.0.1
|
||||
tunnel.0.listenPort=4444
|
||||
tunnel.0.name=I2P HTTP Proxy
|
||||
tunnel.0.option.i2cp.closeIdleTime=1800000
|
||||
tunnel.0.option.i2cp.closeOnIdle=false
|
||||
tunnel.0.option.i2cp.delayOpen=false
|
||||
tunnel.0.option.i2cp.newDestOnResume=false
|
||||
tunnel.0.option.i2cp.reduceIdleTime=900000
|
||||
tunnel.0.option.i2cp.reduceOnIdle=false
|
||||
tunnel.0.option.i2cp.reduceQuantity=1
|
||||
tunnel.0.option.i2p.streaming.connectDelay=1000
|
||||
tunnel.0.option.inbound.backupQuantity=1
|
||||
tunnel.0.option.inbound.length=2
|
||||
tunnel.0.option.inbound.lengthVariance=0
|
||||
tunnel.0.option.inbound.nickname=shared clients
|
||||
tunnel.0.option.inbound.quantity=2
|
||||
tunnel.0.option.outbound.backupQuantity=1
|
||||
tunnel.0.option.outbound.length=2
|
||||
tunnel.0.option.outbound.lengthVariance=0
|
||||
tunnel.0.option.outbound.nickname=shared clients
|
||||
tunnel.0.option.outbound.quantity=2
|
||||
tunnel.0.option.persistentClientKey=false
|
||||
tunnel.0.proxyList=false.i2p,blue.proxynet.i2p
|
||||
tunnel.0.sharedClient=true
|
||||
tunnel.0.startOnLoad=true
|
||||
tunnel.0.type=httpclient
|
||||
tunnel.1.description=IRC proxy to access the anonymous IRC network
|
||||
tunnel.1.i2cpHost=127.0.0.1
|
||||
tunnel.1.i2cpPort=7654
|
||||
tunnel.1.interface=127.0.0.1
|
||||
tunnel.1.listenPort=6668
|
||||
tunnel.1.name=IRC Proxy
|
||||
tunnel.1.option.i2cp.closeIdleTime=1200000
|
||||
tunnel.1.option.i2cp.closeOnIdle=false
|
||||
tunnel.1.option.i2cp.delayOpen=true
|
||||
tunnel.1.option.i2cp.newDestOnResume=false
|
||||
tunnel.1.option.i2cp.reduceIdleTime=600000
|
||||
tunnel.1.option.i2cp.reduceOnIdle=true
|
||||
tunnel.1.option.i2cp.reduceQuantity=1
|
||||
tunnel.1.option.i2p.streaming.connectDelay=1000
|
||||
tunnel.1.option.inbound.backupQuantity=0
|
||||
tunnel.1.option.inbound.length=2
|
||||
tunnel.1.option.inbound.lengthVariance=0
|
||||
tunnel.1.option.inbound.nickname=IRC Proxy
|
||||
tunnel.1.option.inbound.quantity=2
|
||||
tunnel.1.option.outbound.backupQuantity=0
|
||||
tunnel.1.option.outbound.length=2
|
||||
tunnel.1.option.outbound.lengthVariance=0
|
||||
tunnel.1.option.outbound.nickname=IRC Proxy
|
||||
tunnel.1.option.outbound.quantity=2
|
||||
tunnel.1.option.persistentClientKey=false
|
||||
tunnel.1.privKeyFile=i2ptunnel1-privKeys.dat
|
||||
tunnel.1.sharedClient=false
|
||||
tunnel.1.startOnLoad=true
|
||||
tunnel.1.targetDestination=irc.postman.i2p,irc.freshcoffee.i2p
|
||||
tunnel.1.type=ircclient
|
||||
tunnel.2.description=smtp server
|
||||
tunnel.2.i2cpHost=127.0.0.1
|
||||
tunnel.2.i2cpPort=7654
|
||||
tunnel.2.interface=127.0.0.1
|
||||
tunnel.2.listenPort=7659
|
||||
tunnel.2.name=smtp.postman.i2p
|
||||
tunnel.2.option.i2cp.closeIdleTime=1800000
|
||||
tunnel.2.option.i2cp.closeOnIdle=false
|
||||
tunnel.2.option.i2cp.delayOpen=true
|
||||
tunnel.2.option.i2cp.newDestOnResume=false
|
||||
tunnel.2.option.i2cp.reduceIdleTime=900000
|
||||
tunnel.2.option.i2cp.reduceOnIdle=true
|
||||
tunnel.2.option.i2cp.reduceQuantity=1
|
||||
tunnel.2.option.i2p.streaming.connectDelay=1000
|
||||
tunnel.2.option.inbound.backupQuantity=1
|
||||
tunnel.2.option.inbound.length=2
|
||||
tunnel.2.option.inbound.lengthVariance=0
|
||||
tunnel.2.option.inbound.nickname=shared clients
|
||||
tunnel.2.option.inbound.quantity=2
|
||||
tunnel.2.option.outbound.backupQuantity=1
|
||||
tunnel.2.option.outbound.length=2
|
||||
tunnel.2.option.outbound.lengthVariance=0
|
||||
tunnel.2.option.outbound.nickname=shared clients
|
||||
tunnel.2.option.outbound.quantity=2
|
||||
tunnel.2.option.persistentClientKey=false
|
||||
tunnel.2.privKeyFile=i2ptunnel4-privKeys.dat
|
||||
tunnel.2.sharedClient=true
|
||||
tunnel.2.startOnLoad=true
|
||||
tunnel.2.targetDestination=smtp.postman.i2p
|
||||
tunnel.2.type=client
|
||||
tunnel.3.description=pop3 server
|
||||
tunnel.3.i2cpHost=127.0.0.1
|
||||
tunnel.3.i2cpPort=7654
|
||||
tunnel.3.interface=127.0.0.1
|
||||
tunnel.3.listenPort=7660
|
||||
tunnel.3.name=pop3.postman.i2p
|
||||
tunnel.3.option.i2cp.closeIdleTime=1800000
|
||||
tunnel.3.option.i2cp.closeOnIdle=false
|
||||
tunnel.3.option.i2cp.delayOpen=false
|
||||
tunnel.3.option.i2cp.newDestOnResume=false
|
||||
tunnel.3.option.i2cp.reduceIdleTime=900000
|
||||
tunnel.3.option.i2cp.reduceOnIdle=true
|
||||
tunnel.3.option.i2cp.reduceQuantity=1
|
||||
tunnel.3.option.i2p.streaming.connectDelay=1000
|
||||
tunnel.3.option.inbound.backupQuantity=1
|
||||
tunnel.3.option.inbound.length=2
|
||||
tunnel.3.option.inbound.lengthVariance=0
|
||||
tunnel.3.option.inbound.nickname=shared clients
|
||||
tunnel.3.option.inbound.quantity=2
|
||||
tunnel.3.option.outbound.backupQuantity=1
|
||||
tunnel.3.option.outbound.length=2
|
||||
tunnel.3.option.outbound.lengthVariance=0
|
||||
tunnel.3.option.outbound.nickname=shared clients
|
||||
tunnel.3.option.outbound.quantity=2
|
||||
tunnel.3.option.persistentClientKey=false
|
||||
tunnel.3.privKeyFile=i2ptunnel5-privKeys.dat
|
||||
tunnel.3.sharedClient=true
|
||||
tunnel.3.startOnLoad=true
|
||||
tunnel.3.targetDestination=pop.postman.i2p
|
||||
tunnel.3.type=client
|
10
src/I2P/portable/logger.config
Normal file
10
src/I2P/portable/logger.config
Normal file
@ -0,0 +1,10 @@
|
||||
logger.format=d p [t] c: m
|
||||
logger.dateFormat=HH:mm:ss.SSS
|
||||
logger.displayOnScreen=TRUE
|
||||
logger.logFileName=logs/log-#.txt
|
||||
logger.logFileSize=10m
|
||||
logger.logRotationLimit=2
|
||||
logger.defaultLevel=WARN
|
||||
logger.minimumOnScreenLevel=CRIT
|
||||
logger.consoleBufferSize=20
|
||||
# log limit overrides:
|
27
src/I2P/portable/router.config
Normal file
27
src/I2P/portable/router.config
Normal file
@ -0,0 +1,27 @@
|
||||
# NOTE: This I2P config file must use UTF-8 encoding
|
||||
i2np.bandwidth.inboundBurstKBytes=22520
|
||||
i2np.bandwidth.inboundBurstKBytesPerSecond=128
|
||||
i2np.bandwidth.inboundKBytesPerSecond=128
|
||||
i2np.bandwidth.outboundBurstKBytes=22520
|
||||
i2np.bandwidth.outboundBurstKBytesPerSecond=128
|
||||
i2np.bandwidth.outboundKBytesPerSecond=128
|
||||
i2np.laptopMode=false
|
||||
i2np.ntcp.autoip=true
|
||||
i2np.ntcp.enable=true
|
||||
i2np.udp.addressSources=local,upnp,ssu
|
||||
i2np.upnp.enable=true
|
||||
i2p.dir.config=.
|
||||
prng.buffers=16
|
||||
router.dynamicKeys=false
|
||||
router.maxParticipatingTunnels=150
|
||||
router.newsRefreshFrequency=86400000
|
||||
router.sharePercentage=80
|
||||
router.updatePolicy=notify
|
||||
router.updateProxyHost=127.0.0.1
|
||||
router.updateProxyPort=4444
|
||||
router.updateThroughProxy=true
|
||||
router.updateURL=http://echelon.i2p/i2p/i2pupdate.sud,http://stats.i2p/i2p/i2pupdate.sud,http://www.i2p2.i2p/_static/i2pupdate.sud,http://update.postman.i2p/i2pupdate.sud
|
||||
router.updateUnsigned=false
|
||||
routerconsole.lang=en
|
||||
routerconsole.summaryRefresh=30
|
||||
time.disabled=false
|
14
src/I2P/portable/systray.config
Normal file
14
src/I2P/portable/systray.config
Normal file
@ -0,0 +1,14 @@
|
||||
# NOTE: The system tray control currently only works on Windows and KDE.
|
||||
|
||||
# The filename (with full path if needed) of the browser to be used by the
|
||||
# system tray control to launch the router console. You may also append command
|
||||
# line parameters like so:
|
||||
#
|
||||
# browser=/usr/bin/opera -newpage
|
||||
#
|
||||
# If you set this value to 'default', systray will attempt to identify and use
|
||||
# your system's default browser.
|
||||
browser=default
|
||||
|
||||
# The port the router console listens on.
|
||||
port=7657
|
4
src/I2P/portable/webapps.config
Normal file
4
src/I2P/portable/webapps.config
Normal file
@ -0,0 +1,4 @@
|
||||
# NOTE: This I2P config file must use UTF-8 encoding
|
||||
webapps.addressbook.startOnLoad=true
|
||||
webapps.i2ptunnel.startOnLoad=true
|
||||
webapps.routerconsole.startOnLoad=true
|
145
src/I2P/portable/wrapper.config
Normal file
145
src/I2P/portable/wrapper.config
Normal file
@ -0,0 +1,145 @@
|
||||
wrapper.java.command=java
|
||||
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
|
||||
|
||||
# Java Classpath (include wrapper.jar) Add class path elements as
|
||||
# needed starting from 1
|
||||
wrapper.java.classpath.1=lib/*.jar
|
||||
# uncomment this to use the system classpath as well (e.g. to get tools.jar)
|
||||
#wrapper.java.classpath.2=%CLASSPATH%
|
||||
|
||||
# Java Library Path (location of Wrapper.DLL or libwrapper.so)
|
||||
wrapper.java.library.path.1=lib
|
||||
|
||||
# Java Additional Parameters
|
||||
# Numbers must be consecutive (except for stripquotes)
|
||||
wrapper.java.additional.1=-DloggerFilenameOverride=logs/log-router-@.txt
|
||||
wrapper.java.additional.2=-Di2p.dir.base=.
|
||||
wrapper.java.additional.2.stripquotes=TRUE
|
||||
|
||||
# Prevent the JVM from exporting stats (and thereby causing hundreds of
|
||||
# ms long pauses during GC)
|
||||
# http://www.evanjones.ca/jvm-mmap-pause.html
|
||||
#wrapper.java.additional.3=-XX:+PerfDisableSharedMem
|
||||
|
||||
# PORTABLE installation:
|
||||
# uncomment the following
|
||||
wrapper.java.additional.3=-Di2p.dir.pid=logs
|
||||
wrapper.java.additional.3.stripquotes=TRUE
|
||||
wrapper.java.additional.4=-Di2p.dir.temp=tmp
|
||||
wrapper.java.additional.4.stripquotes=TRUE
|
||||
wrapper.java.additional.5=-Di2p.dir.config=.
|
||||
wrapper.java.additional.5.stripquotes=TRUE
|
||||
|
||||
# Uncomment this for better performance.
|
||||
# If it doesn't work, server mode is not available in your JVM.
|
||||
# This may not be required if your machine is already "server-class".
|
||||
# See http://java.sun.com/j2se/1.5.0/docs/guide/vm/server-class.html
|
||||
#wrapper.java.additional.6=-server
|
||||
|
||||
# Initial Java Heap Size (in MB)
|
||||
#wrapper.java.initmemory=4
|
||||
|
||||
# Maximum Java Heap Size (in MB)
|
||||
# The JVM's default is 64MB, and I2P can work fine in that, but to handle
|
||||
# lots of I2PSnark activity in the same JVM, increasing the default max heap
|
||||
# size should help. Feel free to reduce this if not using I2PSnark in the jvm
|
||||
# High-bandwidth routers may need to increase to 256 or more.
|
||||
#
|
||||
# WARNING - for any changes to take effect, you must completely
|
||||
# stop the router and the wrapper. Clicking 'Restart' on your
|
||||
# router console will NOT reread this file! You must
|
||||
# click "Shutdown", wait 11 minutes, then start i2p.
|
||||
#
|
||||
wrapper.java.maxmemory=64
|
||||
|
||||
# Application parameters. Add parameters as needed starting from 1
|
||||
wrapper.app.parameter.1=net.i2p.router.Router
|
||||
|
||||
#********************************************************************
|
||||
# Wrapper Logging Properties
|
||||
#********************************************************************
|
||||
# Format of output for the console. (See docs for formats)
|
||||
wrapper.console.format=PM
|
||||
|
||||
# Log Level for console output. (See docs for log levels)
|
||||
wrapper.console.loglevel=INFO
|
||||
|
||||
# Log file to use for wrapper output logging.
|
||||
# You may wish to change this on linux so the log is
|
||||
# preserved across OS restarts.
|
||||
# If you do change it, add the following line above to
|
||||
# tell the router where to find the wrapper log
|
||||
# (change X to the next available number)
|
||||
wrapper.logfile=logs\wrapper.log
|
||||
|
||||
# Format of output for the log file.
|
||||
# The format consists of the tokens 'L' for log level, 'P' for prefix, 'D' for thread,
|
||||
# 'T' for time, 'Z' for millisecond time, and 'M' for message
|
||||
# Unfortunately the log timezone cannot be changed, see
|
||||
# http://www.nabble.com/Log-message-timezone-td23651317.html
|
||||
wrapper.logfile.format=TM
|
||||
|
||||
# Log Level for log file output. (See docs for log levels)
|
||||
wrapper.logfile.loglevel=NOTICE
|
||||
|
||||
# Maximum size that the log file will be allowed to grow to before
|
||||
# the log is rolled. Size is specified in bytes. The default value
|
||||
# of 0, disables log rolling. May abbreviate with the 'k' (kb) or
|
||||
# 'm' (mb) suffix. For example: 10m = 10 megabytes.
|
||||
wrapper.logfile.maxsize=1m
|
||||
|
||||
# Maximum number of rolled log files which will be allowed before old
|
||||
# files are deleted. The default value of 0 implies no limit.
|
||||
wrapper.logfile.maxfiles=2
|
||||
|
||||
# Log Level for sys/event log output. (See docs for log levels)
|
||||
wrapper.syslog.loglevel=NONE
|
||||
|
||||
# choose what to do if the JVM kills itself based on the exit code
|
||||
wrapper.on_exit.default=SHUTDOWN
|
||||
wrapper.on_exit.0=SHUTDOWN
|
||||
wrapper.on_exit.1=SHUTDOWN
|
||||
# OOM
|
||||
wrapper.on_exit.10=RESTART
|
||||
# graceful shutdown
|
||||
wrapper.on_exit.2=SHUTDOWN
|
||||
# hard shutdown
|
||||
wrapper.on_exit.3=SHUTDOWN
|
||||
# hard restart
|
||||
wrapper.on_exit.4=RESTART
|
||||
# hard restart
|
||||
wrapper.on_exit.5=RESTART
|
||||
|
||||
# the router may take a few seconds to save state, etc
|
||||
wrapper.jvm_exit.timeout=30
|
||||
|
||||
# give the OS 60s to clear all the old sockets / etc before restarting
|
||||
# Let's change the default from 60 to 15 seconds and see if anyone moans..
|
||||
wrapper.restart.delay=5
|
||||
|
||||
wrapper.ping.interval=300
|
||||
# The ping timeout must be at least 5 seconds longer than the value of wrapper.ping.interval.
|
||||
# Extend this if you are getting 'JVM appears hung' shutdowns.
|
||||
wrapper.ping.timeout=320
|
||||
|
||||
# use the wrapper's internal timer thread. otherwise this would
|
||||
# force a restart of the router during daylight savings time as well
|
||||
# as any time that the OS clock changes
|
||||
wrapper.use_system_time=false
|
||||
|
||||
# pid file for the JVM
|
||||
# If you plan to have multiple wrappers running on the same machine,
|
||||
# you should copy this file, change the location or file name,
|
||||
# and edit the i2prouter script to change the WRAPPER_CONF setting
|
||||
# to point to the new wrapper.config location.
|
||||
wrapper.java.pidfile=logs\routerjvm.pid
|
||||
# This means i2prouter looks for './i2p.pid'.
|
||||
# See comments above for wrapper.java.pidfile
|
||||
# PORTABLE installation:
|
||||
# Use the following instead.
|
||||
wrapper.pidfile=logs/i2p.pid
|
||||
|
||||
#********************************************************************
|
||||
# Wrapper NT Service Properties
|
||||
#********************************************************************
|
||||
# Not useful for portable version - BOOM
|
Reference in New Issue
Block a user