I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
wrapper.config 10.5 KiB
Newer Older
  • Learn to ignore specific revisions
  • #encoding=UTF-8
    
    #********************************************************************
    # Wrapper Properties
    
    zzz's avatar
    zzz committed
    #
    # 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 'no window' icon on Windows, or
    # with the runplain.sh script on Linux. Use the 'restartable'
    # icon on Windows or the i2prouter script on Linux 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.
    # To set up a single-directory "portable" installation suitable for
    # a USB stick, make several changes specified below (search for PORTABLE).
    #
    
    zzz's avatar
    zzz committed
    # NOTE - The izpack installer performs variable subsitiution on this
    # file upon installation. If you did not use izpack, you must
    # find and replace all instances of (dollar)INSTALL_PATH and
    # (dollar)SYSTEM_java_io_tmpdir with appropriate values
    # (perhaps . and /var/tmp, respectively)
    #
    
    #********************************************************************
    # Java Application
    wrapper.java.command=java
    
    #  Specify a specific java binary:
    #set.JAVA_HOME=/java/path
    #wrapper.java.command=%JAVA_HOME%/bin/java
    
    kytv's avatar
    kytv committed
    # 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
    
    
    # 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
    
    zzz's avatar
    zzz committed
    #
    # 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.
    #
    
    zzz's avatar
    zzz committed
    wrapper.java.classpath.1=$INSTALL_PATH/lib/*.jar
    
    zzz's avatar
    zzz committed
    #  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)
    
    zzz's avatar
    zzz committed
    wrapper.java.library.path.1=$INSTALL_PATH
    wrapper.java.library.path.2=$INSTALL_PATH/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=-Dorg.mortbay.http.Version.paranoid=true
    
    zzz's avatar
    zzz committed
    wrapper.java.additional.3=-Dorg.mortbay.xml.XmlParser.NotValidating=true
    wrapper.java.additional.4=-Di2p.dir.base="$INSTALL_PATH"
    wrapper.java.additional.4.stripquotes=TRUE
    
    
    # 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.5=-Djava.net.preferIPv4Stack=true
    
    #wrapper.java.additional.6=-Djava.net.preferIPv6Addresses=false
    
    zzz's avatar
    zzz committed
    # 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.7=-Dorg.mortbay.util.FileResource.checkAliases=false
    
    # PORTABLE installation:
    # uncomment the following
    
    #wrapper.java.additional.7=-Di2p.dir.pid="$INSTALL_PATH"
    
    #wrapper.java.additional.7.stripquotes=TRUE
    
    #wrapper.java.additional.8=-Di2p.dir.temp="$INSTALL_PATH"
    #wrapper.java.additional.8.stripquotes=TRUE
    #wrapper.java.additional.9=-Di2p.dir.config="$INSTALL_PATH"
    #wrapper.java.additional.9.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.7=-server
    
    
    # Initial Java Heap Size (in MB)
    #wrapper.java.initmemory=4
    
    # Maximum Java Heap Size (in MB)
    
    jrandom's avatar
    jrandom committed
    # 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
    
    zzz's avatar
    zzz committed
    # 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.
    #
    
    jrandom's avatar
    jrandom committed
    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.
    
    zzz's avatar
    zzz committed
    # You may wish to change this on linux so the log is
    # preserved across OS restarts.
    wrapper.logfile=$SYSTEM_java_io_tmpdir/wrapper.log
    
    # PORTABLE installation:
    # Use the following instead. I2P will find the logfile here,
    # no need for a wrapper.java.additional line too.
    #wrapper.logfile=$INSTALL_PATH/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=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
    
    
    zzz's avatar
    zzz committed
    # 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
    
    zzz's avatar
    zzz committed
    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
    
    zzz's avatar
    zzz committed
    # 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=$SYSTEM_java_io_tmpdir/routerjvm.pid
    
    # PORTABLE installation:
    # Use the following instead.
    #wrapper.java.pidfile=$INSTALL_PATH/routerjvm.pid
    
    # pid file for the service monitoring the JVM
    #
    # From i2prouter:
    #
    #     PIDDIR="."
    #     APP_NAME="i2p"
    #     PIDFILE="$PIDDIR/$APP_NAME.pid"
    #
    # This means i2prouter looks for './i2p.pid'.
    
    zzz's avatar
    zzz committed
    # See comments above for wrapper.java.pidfile
    wrapper.pidfile=$SYSTEM_java_io_tmpdir/i2p.pid
    
    # PORTABLE installation:
    # Use the following instead.
    #wrapper.pidfile=$INSTALL_PATH/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=077
    
    
    #********************************************************************
    # Wrapper NT Service Properties
    #********************************************************************
    # WARNING - Do not modify any of these properties when an application
    #  using this configuration file has been installed as a service.
    #  Please uninstall the service before modifying this section.  The
    #  service can then be reinstalled.
    
    # Name of the service
    wrapper.ntservice.name=i2p
    
    # Display name of the service
    wrapper.ntservice.displayname=I2P Service
    
    # Description of the service
    wrapper.ntservice.description=The I2P router service
    
    # Service dependencies.  Add dependencies as needed starting from 1
    wrapper.ntservice.dependency.1=
    
    # Mode in which the service is installed.  AUTO_START or DEMAND_START
    wrapper.ntservice.starttype=AUTO_START
    
    # Allow the service to interact with the desktop.