## Unread articles will be deleted after this many days if
## you don't define special expire times. Mandatory.
expire = 20

## This is the NNTP server leafnode fetches its news from.
## You need read and post access to it. Mandatory.
server = news.example.org

##
## All the following parameters are optional
##

## Important and recommended setting:
## Fetch only a few articles when we subscribe a new newsgroup. The
## default is to fetch all articles.
## As leafnode forgets the article numbers of its upstream server when
## a group is marked as uninteresting, and later marked interesting
## again, you may end up downloading ALL articles from the upstream 
## in that group. So uncomment and adjust this line:
# initialfetch = 100

## Debugging setting:
##
## This MUST be accompanied by syslog.conf changes!
## ------------------------------------------------
## Make sure you've also read the TROUBLESHOOTING section in README.
##
## The higher, the more output will be logged - note the debugging
## output is copious in any case, so leave this at 0 for normal use,
## and set to 1, 2 or 3 only for debugging.
# debugmode = 3

## I have free access to my news server. If you don't have, comment out
## the following two lines and change them accordingly.
# username = gulbrandsen
# password = secret

## By default, leafnode only serves connections from addresses in the
## local networks and drops those from outside. An IPv4 address is
## considered local if it is within the networks (IP/netmask) of the local
## interfaces. An IPv6 address is considered local if it is site-local,
## link-local or the loopback address (::1).
##
## You can enable remote access by doing:
## 1. enabling access for single static IPs (or subnetworks) through
##    your super server (xinetd, tcpserver) or, if the service is wrapped by
##    tcpd, hosts.allow/hosts.deny configuration,
## 2. disabling access for all other hosts (default to deny),
## 3. testing that "deny" works, to avoid abuse of your server,
## 4. uncommenting this option, capitalizing the "strangers" subword and
##    setting the value to 42.
##
## WARNING: ENABLING THIS OPTION IS DANGEROUS. YOU AGREE TO BE LIABLE
## FOR ALL ABUSE OF YOUR SERVER WHEN THIS OPTION IS ENABLED.
## IF ANYTHING ABOUT ITEMS 1. TO 3. ABOVE IS UNCLEAR, DO NOT ENABLE THIS!
## IF YOU ARE NOT FAMILIAR WITH ACCESS CONTROL, OR YOUR CLIENTS ARE ON
## DYNAMIC IPS, YOU MUST NOT ENABLE THIS. (You can use other, authenticated,
## methods of access instead, for instance SSH tunnels.)
##
# allowstrangers = 0

## Standard news servers run on port 119, reserved for NNTP, so that's
## the default port fetchnews wants to connect to. If your ISP's news
## server (or other "upstream") does not listen on this standard port,
## you can set the "port" option. Note that it is only relevant for
## fetchnews, for leafnode, set the port in your inetd.conf, xinetd.conf
## file or tcpsvd/tcpserver command line, whatever is relevant for your
## system. Leafnode does not currently support SSL.
## Give "port" a numeric value, example:
# port = 9119

## If you want to guarantee that the stdout/stderr are line buffered
## (GNU libc sets them to full buffering if they are redirected to
## files), then set this:
# linebuffer = 1

## This is another news server which stores some groups that are not
## available on the first one. You can define username, password and port
## for each server separately.
# server = specific.newsgroups.example.com
# username = xenu
# password = secret

## This is a news server which does not understand the 
## "LIST NEWSGROUP news.group" command. For this reason, we don't try to
## download newsgroups descriptions when getting new newsgroups. This is
## achieved by putting "nodesc = 1" somewhere behind the server
## line.
# server = broken.upstream.example.org
# nodesc = 1

## Here we have another news server which has a very slow connection. For
## that reason, we wait a full minute before we give up trying to connect.
## The default is 10 seconds.
# server = really.slow.example.org
# timeout = 60

## Disable the updating of the active file unless specifically requested
## in order to minimise network usage as much as possible.  The active
## file can be updated manually with the "-f" option to fetchnews.
# server = even.slower.example.com
# noactive = 1

## And this is a news server you only want to pull news from, but never
## post to. You can also use this as a workaround if you do not have posting
## permission on the server while it still greets you with a 200 code.
## The default is: nopost = 0
# server = lurk-only.example.com
# nopost = 1

## And this is a news server you only want to post to, but never
## fetch messages from. If set, noactive = 1 is also assumed.
## The default is: noread = 0
# server = post-only.example.com
# noread = 1

## And this is a news server with broken XOVER. Forbid XOVER,
## leafnode will use XHDR. XHDR may be slower or faster than XOVER,
## depending how many of the maxlines/minlines, maxbytes, maxage
## and similar options.
## The default is: noxover = 0
# server = post-only.example.com
# noxover = 1

## The post_anygroup parameter affects posting and makes leafnode skip
## the check if the newsgroup is carried by the respective server.
## Use this on servers that allow only posting, but no "GROUP" commands.
## Note: do not enable unless you know you may post to that server, your
## postings might end up in the failed.postings directory otherwise.
# server = post-only.example.com
# post_anygroup = 1

## This shows how a server is configured that only has specific news
## groups. Note that this parameter is a PCRE, not a wildmat! See
## pcre(3), pcrepattern(3) or pcre(7), depending on your PCRE version.
## IMPORTANT: you must run fetchnews -f to make changes to this
## option effective.
# server = cnews.corel.com
# only_groups_pcre = corel\.

## Another option related to and depending on this only_groups_pcre option
## is relevant for posting; if set, ALL groups in a Newsgroups: header
## of a cross-posting will must match before the article is posted to
## the server. If unset, ANY group that matches allows the post.
# only_groups_match_all = 1

## Non-standard expire times (glob(7) wildcard constructs possible)
#
# groups too big to hold articles 20 days:
# groupexpire comp.os.linux.* = 5
#
# very interesting, hold articles longer:
# groupexpire any.local.newsgroup = 100
# 
# archive this group (fetchnews uses the global expire to figure the
# maxage, but texpire will skip it):
# groupexpire my.archived.group = -1

## Never fetch more than this many articles from one group in one run.
## Be careful with this; setting it much below 1000 is probably a bad
## idea.
# maxfetch = 2000

## If you want to use leafnode like an offline newsreader (e.g. Forte
## Agent) you can download headers and bodies separately if you set
## delaybody to 1. In this case, fetch will only download the headers
## and only when you select an article, it will download the body.
## This can save a huge amount of bandwith if only few articles are really
## read from groups with lots of postings.
## This feature works not very well with Netscape, though (which is not
## a fault of Leafnode).
# delaybody = 0

## If you have configured delaybody mode and your newsreader doesn't
## cope with articles changing their numbers but not their Message-ID
## such as Knode, then try setting this switch to 1, which
## will make fetchnews keep the article number.
## You'll have to switch the article body cache off though in your
## newsreader.
# delaybody_in_situ = 0

## To avoid spam, you can select the maximum number of crosspostings
## that are allowed in incoming postings. Setting this below 5 is
## probably a bad idea. The default is unlimited crossposting.
# maxcrosspost = 5

## If you suffer from repeatedly receiving old postings (this happens
## sometimes when an upstream server goes into hiccup mode) you can
## refuse to receive them with the parameter "maxage" which tells the
## maximum allowed age of an article in days. A value of 0 indicates that
## no checking should be performed. The default maxage is 10 days.
## WARNING: maxage can be overridden by expire! See the clamp_maxage
## parameter below.
# maxage = 10

## By default, maxage is limited to groupexpire (if applicable) or
## expire (otherwise). On some rare occasions, this limit may be
## undesirable. To avoid this maxage manipulation, uncomment this line:
# clamp_maxage = 0

## maxlines will make fetch reject postings that are longer than a certain
## amount of lines.
# maxlines = 100

## minlines will make fetch reject postings that are shorter than a certain
## amount of lines.
# minlines = 2

## maxbytes will make fetch reject postings that are larger
# maxbytes = 50000

## timeout_short determines how many days fetch gets a newsgroup which
## has been accidentally opened. The default is two days.
# timeout_short = 1

## timeout_long determines how many days fetch will wait before not getting
## an unread newsgroup any more. The default is seven days.
# timeout_long = 6

## timeout_active determines how many days fetch will wait before re-reading
## the whole active file. The default is 90 days.
# timeout_active = 365

## timeout_client determines how many seconds of inactivity to allow before
## a client is forcibly disconnected. The default is 15 mins (900s). Optional.
# timeout_client = 900

## timeout_fetchnews determines how many seconds fetchnews will wait for
## a server reply before assuming the server has become wedged.
## The default is 5 mins (300s). Optional.
# timeout_fetchnews = 300

## timeout_lock determines how long the leafnode programs retry to
## obtain the lock file. The default is 5 seconds.
## Note you can use the LN_LOCK_TIMEOUT environment variable to override
## this.
# timeout_lock = 900

## If you want to have your newsreader score/kill on Xref: lines, you might
## want to uncomment this.
# create_all_links = 1

## If you want to filter out certain regular expressions in the header,
## create a "filterfile" (how this is done is explained in the README)
## and set
# filterfile = /etc/leafnode/filters

## Note that filtering usually means HEAD and BODY are downloaded
## separately, so fetchnews has to wait for the packets TWICE to travel
## to the server and back. If you have a fast link with high latencies
## (for example a DSL line with interleaving or a satellite link), it
## may be faster to request header and body in a single command and
## discard the body. Note that the filter applies to the header only in
## either case because PCRE matching is expensive.
##
## If you have one of the high-latency high-throughput links and have
## enough free traffic left or a flat rate (no per-MByte billing), uncomment
## this:
# article_despite_filter = 1

## If your newsreader does not supply a Message-ID for your postings
## Leafnode will supply one, using the hostname of the machine it is
## running on.  If this hostname is not suitable, this parameter can be 
## used to override it.  Do not use a fantasy name, it may interfere with
## the propagation of your messages.  Most modern newsreaders do provide
## a Message-ID.
# hostname = myhost.example.org

## You can also override the From: header address shown in placeholder
## articles. It should be the news administrator's mail address.
# newsadmin = postmaster@another.example.org

## If in your local Usenet hierarchy, posting unencoded 8-bit data in
## headers is condoned, uncomment this option to allow this. 8-bit data
## in headers is officially illegal, although the header character set
## may change to UTF-8 soon.
# allow_8bit_headers = 1
