[Freenet node]
# Freenet configuration file
# Note that all properties may be overridden from the command line,
# so for example, java freenet.node.Main --listenPort 10000 will cause
# the setting in this file to be ignored

# Lines that start with "%" are settings that have been unchanged from
# default, and that are thus ignored by the node (so they don't linger
# when we want to change the default settings). If you change these
# settings you should remove the "%".

# This file was automatically generated by Freenet.scripts.Setup (at Sep 26, 2002 1:08:16 PM)


# The IP address of this node as seen by the public internet.  This is
# needed in order for the node to determine its own node reference.
# If you have a dynamic IP address, you may enter a host name in this
# field (assuming you have a dynamic DNS service).  If this is a
# transient node, you can leave this blank.
ipAddress=bespin.homelinux.net

# The port to listen for incoming FNP (Freenet Node Protocol) connections on.
listenPort=2713

# The port to listen for local FCP (Freenet Client Protocol) connections on.
%clientPort=8481

# A comma-separated list of hosts that may connect to the FCP port
# (clientPort).  If left blank, only the localhost will be allowed.
# May be given as IP addresses or host names.
fcpHosts=*

# If this is set then users that can provide the password can
# can have administrative access. It is recommended that
# you do not use this without also using adminPeer below
# in which case both are required.
%adminPassword=null

# If this is set, then users that are authenticated owners
# of the given PK identity can have administrative access.
# If adminPassword is also set both are required.
%adminPeer=null

# Transient nodes do not give out references to themselves, and should
# therefore not receive any requests.  Set this to yes if you cannot
# receive incoming connections, or cannot keep the computer continuously
# online.
transient=true

# If this is true, the node will automatically announce to all nodes in
# the <seedFile> file, as specified by <announcementDelay>, etc.
%doAnnounce=true

# A file containing one or more node references which will be incorporated
# into the node's routing table on startup.  A reference is only added if
# there is no previously existing reference to that node.  When this node
# announces, it will announce to the nodes listed in this file.
%seedFile=seednodes.ref

# The directory in which to save diagnostics data.  Defaults to
# <storePath>/stats if left blank.
%diagnosticsPath=stats

# Datastore implementation. Put "native" (without the quotes) if you want to try the new experimental native filesystem datastore, which stores the files in a directory, "freenet" if you want the old single-file datastore. The latter option periodically corrupts itself, forcing you to remove it and start again, but the former is not completely debugged or implemented yet, and puts large numbers of files in a single directory. If you choose it, remember to make your datastore at least 6MB.
#storeType=monolithic

# The path to the file containing the node's private key, DSA group,
# cipher key, etc.  Defaults to node_<port> in the current directory.
%nodeFile=

# The path to a single file, or a comma-separated list of files,
# containing the data store.  The size of each file is given by
# <storeSize>.
%storeFile=

# The byte size of each data store file.  If there is more than one
# file, the total size of the store is the product of the number of
# files and <storeSize>. Make your store at least 2400KB (preferably much larger)
# if you use storeType=native (more if you increase rtMaxNodes, 
# rtMaxRefs, storeBlockSize, or maxThreads)
#storeSize=209715200
#storeSize=536870912
storeSize=1073741824

# Size of blocks in the underlying filesystem for purposes of calculating space usage when storeType=native.
%storeBlockSize=4096

# The name of a symmetric cipher algorithm to encrypt the datastore
# contents with.  Supported algorithms are "Twofish", "Rijndael",
# and "null", "none", or "void" (for no encryption).
%storeCipherName=Twofish

# The width in bits of the cipher key to use for the datastore.
# The allowed values for this will depend on the cipher algorithm.
# Twofish allows 64, 128, 192, or 256, while Rijndael allows
# 128, 192, or 256.
%storeCipherWidth=128

# The maximum number of bytes per second to transmit, totaled between
# incoming and outgoing connections.  Ignored if either inputBandwidthLimit
# or outputBandwidthLimit is nonzero.
%bandwidthLimit=100000

# If nonzero, specifies an independent limit for incoming data only.
# (overrides bandwidthLimit if nonzero)
%inputBandwidthLimit=0

# If nonzero, specifies an independent limit for outgoing data only.
# (overrides bandwidthLimit if nonzero)
%outputBandwidthLimit=0

# The maximum number of bytes per second to transmit (averaged over a week), totaled between
# incoming and outgoing connections.  Error to define it if any of (average)inputBandwidthLimit
# or (average)outputBandwidthLimit is nonzero.
%averageBandwidthLimit=0

# If nonzero, specifies an independent limit for incoming data only (averaged over a week).
# (overrides averageBandwidthLimit if nonzero)
%averageInputBandwidthLimit=0

# If nonzero, specifies an independent limit for outgoing data only (averaged over a week).
# (overrides bandwidthLimit if nonzero)
%averageOutputBandwidthLimit=0

# The maximum number of incoming and outgoing connections to allow 
# at the same time.
%maxNodeConnections=60

# The maximum number of outgoing connections established in a one minute period. Deprecated and ignored.
%maxConnectionsPerMinute=60

# The length of the period over which there must be at most maxConnectionsPerMinute connections. Deprecated and ignored.
%maxConnectionsMinute=60000

# The maximum number of outgoing connections established in a one minute period. Deprecated and ignored.
%maxRequestsPerInterval=300

# The length of the period over which there must be at most maxRequestsPerInterval connections. Deprecated and ignored.
%maxRequestsInterval=60000

# The error reporting threshold, one of:
#   Error:   Errors only
#   Normal:  Report significant events
#   Minor:   Report minor events
#   Debug:   Report events only of relevance when debugging
%logLevel=normal

# The name of the log file (`NO' to log to standard out)
%logFile=freenet.log

# A template string for log messages.  All non-alphabet characters are
# reproduced verbatim.  Alphabet characters are substituted as follows:
# d = date (timestamp), c = class name of the source object,
# h = hashcode of the object, t = thread name, p = priority,
# m = the actual log message
%logFormat=d (c, t): m

# A template for formatting the timestamp in log messages.  Defaults to
# the locale specific fully specified date format.  The template string
# is an ordinary Java date/time template - see:
# http://java.sun.com/products/jdk/1.1/docs/api/java.text.SimpleDateFormat.html
%logDate=

# The number of references allowed per node in the routing table.
# This should not be set too high.
%rtMaxRefs=100

# The number of unique nodes that can be contained in the routing table.
%rtMaxNodes=100

# The maximum number or node refs that will be used to route a request before RNFing.
%maxRoutingSteps=40

# The number of outstanding message replies the node will
# wait for before it starts to abandon them.
%messageStoreSize=1000

# The number keys that failed to be retrieved the node should key track of.
%failureTableSize=1000

# The amount of time to keep keys cache keys that could not be found and
# automatically fail requests for them.
%failureTableTime=1800000

# The time to wait for connections to be established and 
# authenticated before passing by a node while routing out.
# Connections that are by passed are still finished and cached 
# for the time set by <connectionTimeout> (in milliseconds).
%routeConnectTimeout=10000

# When forwarding a request, the node will reduce the HTL to this value
# if it is found to be in excess.
%maxHopsToLive=25

# An announcement must visit announcementPeers nodes to be successful.If there is more than one seed node, announcements will be sent randomly at full HTL to each node until one succeeds, decrementing the HTL each time.
%announcementPeers=15

# The number of attempts to make at announcing this node per
# initial peer. Zero means the node will not announce itself
%announcementAttempts=10

# The amount of time to wait before initially announcing the node,
# and to base the time the time between retries on. In milliseconds.
%announcementDelay=1800000

# The value to mutliply the last delay time with for each retry.
# That is, for try N, we weight <announcementDelay>*<announcementDelay>^N
# before starting.
%announcementDelayBase=2

# The time between polling for 1 hours no incoming requests to force reannouncement.
%announcementPollInterval=900000

# The number of simultaneous announcement attempts; when a permanent node sees no traffic for a while, or when it initially joins the network, it will try to announce to this many nodes.
%announcementThreads=3

# The number of keys to request from the returned close values
# after an Announcement (this is per announcement made).
%initialRequests=10

# The hops that initial requests should make.
%initialRequestHTL=15

# A comma delimited list of services that are run when the node starts. Enter 'fproxy' here to start fproxy automatically.
services=mainport,nodestatus

#mainport.allowedHosts=127.0.0.1
mainport.allowedHosts=*
nodestatus.allowedHosts=127.0.0.1
nodeinfo.allowedHosts=127.0.0.1
fproxy.allowedHosts=127.0.0.1
distribution.allowedHosts=127.0.0.1

# The Java class for the NodeStatusServlet. You shouldn't need to change this.
nodestatus.class=freenet.client.http.NodeStatusServlet

# The port that the node status servlet listens for HTTP requests on.
nodestatus.port=8889

# The Java class for the NodeInfoServlet. You shouldn't need to change this.
nodeinfo.class=freenet.node.http.NodeInfoServlet

# The port that the node information servlet listens for HTTP requests on.
nodeinfo.port=8890

# The Java class of the distribution servlet. You shouldn't need to touch this.
distribution.class=freenet.node.http.DistributionServlet

# The port that the distribution servlet listens for HTTP requests on.
distribution.port=8891

# The directory containing the files needed for the Distribution Servlet - usually where freenet was unpacked.
distribution.params.unpacked=.

# These IP addresses will be allowed to access the distribution pages generated by the DistributionServlet. Default * means everyone.
distribution.allowedHosts=*

# Filename of the windows web-installer for freenet, to be included in the ZIP files produced by the distribution servlet. Obtainable usually from http://freenetproject.org/snapshots/, or you probably already have it if you installed on Windows.
distribution.winInstallerFilename=freenet-webinstall.exe

# How long to wait for authentication before giving up (in milliseconds)
%authTimeout=30000

# How long to listen on an inactive connection before closing
# (if reply address is known)
%connectionTimeout=90000

# The expected time it takes a Freenet node to pass a message.
# Used to calculate timeout values for requests.
%hopTimeExpected=12000

# The expected standard deviation in hopTimeExpected.
%hopTimeDeviation=12000

# Should we use thread management?  If this number is defined and non-zero,
# this specifies the max number of threads in the pool.  If this is overrun
# connections will be rejected and events won't execute on time.
%maximumThreads=120

# If true, above 3000ms ticker delay requests will be rejected, above 1000ms, requests except those in the datastore will be rejected, and above 500ms, requests except those in the most successful keyspace segment will be rejected.
%doRequestTriageByDelay=true

# The node will start to selectively reject requests above this load level.
%overloadLow=0.85

# The node will reject all QueryRequests above this load level.
%overloadHigh=0.9

# The node will reject nearly all incoming queries when routingTime is over this value.
%requestDelayCutoff=500

# The node will reject ALL incoming queries above this routingTime.
%successfulDelayCutoff=3000

# What size should the blocks have when moving data?
%blockSize=4096

# The default size of stream buffers.
%streamBufferSize=16384

# The maximum number of bytes of padding to allow between messages
# and in Void messages.
%maximumPadding=65536

# Set true to enable inbound contact monitoring.
%logInboundContacts=false

# Set true to enable outbound contact monitoring.
%logOutboundContacts=false

# Set true to enable per host inbound request monitoring.
%logInboundRequests=false

# Set true to enable per host outbound request monitoring.
%logOutboundRequests=false

# Set true to.count TCP bytes sent for diagnostics
%logOutputBytes=false

# Set true to enable logging of inbound InsertRequest key distribution.
%logInboundInsertRequestDist=false

# Set true to enable logging of inbound InsertRequest key distribution.
%logInboundInsertRequestDist=false

# Debugging only, setting this to true will remove your anonymity!
%watchme=false

# Number of times watchMe will attempt to initialize
%watchmeRetries=3

# Set true to enable logging of successful inbound InsertRequests' key distribution.
%logSuccessfulInsertRequestDist=false

# Dir. used for FEC temp files. SET THIS!
FECTempDir=/tmp

mainport.params.servlet.1.params.tempDir=/tmp


# FECInstanceCacheSize: undocumented.
%FECInstanceCacheSize=1

# Default FEC encoder implementation.
%FEC.Encoders.0.class=OnionFECEncoder

# Default FEC decoder implementation.
%FEC.Decoders.0.class=OnionFECDecoder

# Used only in debugging.
%localAnnounceTargets=null

