## 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