#encoding=UTF-8 ##******************************************************************** ## Wrapper Properties ## ## 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. ## ## WARNING - The wrapper is NOT run (and this file is not used) ## if you start I2P with the i2prouter-nowrapper script in Linux. ## Use i2prouter or the initscript to run the wrapper. ## ## NOTE - Directory organization: ## The standard I2P Installation will set up a "split" directory structure ## with code in the install directory, data and configuration files in the ## user's home directory, and temporary files in the system temporary directory. ## ##******************************************************************** # Java Application wrapper.java.command=java # Specify a specific java binary: #set.JAVA_HOME=/java/path #wrapper.java.command=%JAVA_HOME%/bin/java # Gentoo uses the following: #wrapper.java.command=/etc/java-config-2/current-system-vm/bin/java # # Tell the Wrapper to log the full generated Java command line. #wrapper.java.command.loglevel=INFO ## ## PORTABLE installation: # A portable Java installation can be configured thusly: #set.JAVA_HOME=C:\path\to\your\portable\java\installation #wrapper.java.command=%JAVA_HOME\bin\java.exe ## # Java Main class. This class must implement the WrapperListener interface # or guarantee that the WrapperManager class is initialized. Helper # classes are provided to do this for you. See the Integration section # of the documentation for details. wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp # Java Classpath (include wrapper.jar) Add class path elements as # needed starting from 1 # # Doing it this way means we can add new apps without asking people # to update their wrapper.config. # The downside is that we lose control over classpath order, # This is fine for new installs (where the uninstall jars # copy.jar, delete.jar, and exec.jar containing duplicate FileUtil # classes, or all the classes of i2p.jar, are in a different directory). # Be sure there are no other duplicate classes. # wrapper.java.classpath.1=/usr/share/i2p/lib/*.jar wrapper.java.classpath.2=/usr/share/java/wrapper.jar # uncomment this to use the system classpath as well (e.g. to get tools.jar) # wrapper.java.classpath.3=%CLASSPATH% # Java Library Path (location of libjbigi/libjcpuid) wrapper.java.library.path.1=/usr/lib/jni wrapper.java.library.path.2=/usr/share/java/lib # Java Bits. On applicable platforms, tells the JVM to run in 32 or 64-bit mode. wrapper.java.additional.auto_bits=TRUE # 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=/usr/share/i2p 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 # On some IPv6 enabled systems, I2P and other network-enabled java applications # may fail to start. For examples see # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=560044. # Two things that may help if you experience this issue # 1) "echo 0 > /proc/sys/net/ipv6/bindv6only" as root; or # 2) uncomment the next two lines: #wrapper.java.additional.3=-Djava.net.preferIPv4Stack=true #wrapper.java.additional.4=-Djava.net.preferIPv6Addresses=false # Jetty says this is a security risk # Uncommenting this won't help as the router forces it to true # If you really need this, you have to set it in jetty.xml # somehow - not sure exactly but here's a clue: # org.mortbay.util.FileResource.setCheckAliases(false) # wrapper.java.additional.8=-Dorg.mortbay.util.FileResource.checkAliases=false # PORTABLE installation: # uncomment the following #wrapper.java.additional.3=-Di2p.dir.pid="$INSTALL_PATH" #wrapper.java.additional.3.stripquotes=TRUE #wrapper.java.additional.4=-Di2p.dir.temp="$INSTALL_PATH" #wrapper.java.additional.4.stripquotes=TRUE #wrapper.java.additional.5=-Di2p.dir.config="$INSTALL_PATH" #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.5=-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 512 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=128 # Application parameters. Add parameters as needed starting from 1 wrapper.app.parameter.1=net.i2p.router.Router #******************************************************************** # Wrapper Logging Properties #******************************************************************** # Enables Debug output from the Wrapper. # wrapper.debug=TRUE # 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. # NOTE: On Linux/Mac this is overridden in the i2prouter script; changes here will have no effect. # System temp directory: #wrapper.logfile=/tmp/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=INFO # 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=4m # 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 # these will shut down or crash the JVM wrapper.signal.mode.usr1=IGNORE wrapper.signal.mode.usr2=IGNORE # 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=60 # 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=15 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. # Windows users may wish to uncomment. # Linux/Mac users, do not set here, see settings in the i2prouter script. # Directory must exist or the wrapper will fail to start. # System temp directory: #wrapper.java.pidfile=/tmp/routerjvm.pid # # From i2prouter: # # PIDDIR="." # APP_NAME="i2p" # PIDFILE="$PIDDIR/$APP_NAME.pid" # # This means i2prouter looks for './i2p.pid'. # See comments above for wrapper.java.pidfile # Windows users may wish to uncomment. # Linux/Mac users, do not set here, see settings in the i2prouter script. # Directory must exist or the wrapper will fail to start. # System temp directory: #wrapper.pidfile=/tmp/i2p.pid #******************************************************************** # Wrapper General Properties #******************************************************************** # Allow for the use of non-contiguous numbered properties wrapper.ignore_sequence_gaps=TRUE # Title to use when running as a console wrapper.console.title=I2P Service # Set permissions used when creating files # See http://wrapper.tanukisoftware.com/doc/english/prop-umask.html # for a detailed explanation of these settings. wrapper.umask=0022 wrapper.java.umask=0022 wrapper.logfile.umask=0077 # http://wrapper.tanukisoftware.com/doc/english/prop-check-deadlock.html # requires wrapper 3.5.0 or higher # interval is seconds wrapper.check.deadlock=TRUE wrapper.check.deadlock.interval=3699 wrapper.check.deadlock.action=DUMP,RESTART wrapper.check.deadlock.output=FULL