1## Articles that haven't been read for <expire> days get expired and
2## removed by texpire(8), unless you define special expire times.
3## Note that texpire arguments can change this to relate to the date of
4## arrival. See the texpire manual page.
5## Mandatory.
6expire = 20
7
8## This is the NNTP server leafnode fetches its news from.
9## You need read and post access to it. Mandatory.
10server = news.example.org
11
12##
13## All the following parameters are optional
14##
15
16## Important and recommended setting:
17## Fetch only a few articles when we subscribe a new newsgroup. The
18## default is to fetch all articles.
19## As leafnode forgets the article numbers of its upstream server when
20## a group is marked as uninteresting, and later marked interesting
21## again, you may end up downloading ALL articles from the upstream
22## in that group. So uncomment and adjust this line:
23# initialfetch = 100
24
25## Debugging setting:
26##
27## This MUST be accompanied by syslog.conf changes!
28## ------------------------------------------------
29## Make sure you've also read the TROUBLESHOOTING section in README.
30##
31## The higher, the more output will be logged - note the debugging
32## output is copious in any case, so leave this at 0 for normal use,
33## and set to 1, 2 or 3 only for debugging.
34# debugmode = 3
35
36## I have free access to my news server. If you don't have, comment out
37## the following two lines and change them accordingly.
38# username = gulbrandsen
39# password = secret
40
41## By default, leafnode only serves connections from addresses in the
42## local networks and drops those from outside. An IPv4 address, or an
43## IPv6 address on computers that provide the getifaddrs() interface is
44## considered local if it is within the networks (IP/netmask) of the local
45## interfaces. On computers that lack the getifaddrs() interface, an
46## IPv6 address is considered local if it is site-local, link-local or
47## the loopback address (::1).
48##
49## You can enable remote access by doing:
50## 1. enabling access for single static IPs (or subnetworks) through
51##    your super server (xinetd, tcpserver) or, if the service is wrapped by
52##    tcpd, hosts.allow/hosts.deny configuration,
53## 2. disabling access for all other hosts (default to deny),
54## 3. testing that "deny" works, to avoid abuse of your server,
55## 4. uncommenting this option, capitalizing the "strangers" subword and
56##    setting the value to 42.
57##
58## WARNING: ENABLING THIS OPTION IS DANGEROUS. YOU AGREE TO BE LIABLE
59## FOR ALL ABUSE OF YOUR SERVER WHEN THIS OPTION IS ENABLED.
60## IF ANYTHING ABOUT ITEMS 1. TO 3. ABOVE IS UNCLEAR, DO NOT ENABLE THIS!
61## IF YOU ARE NOT FAMILIAR WITH ACCESS CONTROL, OR YOUR CLIENTS ARE ON
62## DYNAMIC IPS, YOU MUST NOT ENABLE THIS. (You can use other, authenticated,
63## methods of access instead, for instance SSH tunnels.)
64##
65# allowstrangers = 0
66
67## Standard news servers run on port 119, reserved for NNTP, so that's
68## the default port fetchnews wants to connect to. If your ISP's news
69## server (or other "upstream") does not listen on this standard port,
70## you can set the "port" option. Note that it is only relevant for
71## fetchnews, for leafnode, set the port in your inetd.conf, xinetd.conf
72## file or tcpsvd/tcpserver command line, whatever is relevant for your
73## system. Leafnode does not currently support SSL.
74## Give "port" a numeric value, example:
75# port = 9119
76
77## If you want to guarantee that the stdout/stderr are line buffered
78## (GNU libc sets them to full buffering if they are redirected to
79## files), then set this:
80# linebuffer = 1
81
82## This is another news server which stores some groups that are not
83## available on the first one. You can define username, password and port
84## for each server separately.
85# server = specific.newsgroups.example.com
86# username = xenu
87# password = secret
88
89## This is a news server which does not understand the
90## "LIST NEWSGROUP news.group" command. For this reason, we don't try to
91## download newsgroups descriptions when getting new newsgroups. This is
92## achieved by putting "nodesc = 1" somewhere behind the server
93## line.
94# server = broken.upstream.example.org
95# nodesc = 1
96
97## Here we have another news server which has a very slow connection. For
98## that reason, we wait a full minute before we give up trying to connect.
99## The default is 10 seconds.
100# server = really.slow.example.org
101# timeout = 60
102
103## Disable the updating of the active file unless specifically requested
104## in order to minimise network usage as much as possible.  The active
105## file can be updated manually with the "-f" option to fetchnews.
106# server = even.slower.example.com
107# noactive = 1
108
109## And this is a news server you only want to pull news from, but never
110## post to. You can also use this as a workaround if you do not have posting
111## permission on the server while it still greets you with a 200 code.
112## The default is: nopost = 0
113# server = lurk-only.example.com
114# nopost = 1
115
116## And this is a news server you only want to post to, but never
117## fetch messages from. If set, noactive = 1 is also assumed.
118## The default is: noread = 0
119# server = post-only.example.com
120# noread = 1
121
122## And this is a news server with broken XOVER. Forbid XOVER,
123## leafnode will use XHDR. XHDR may be slower or faster than XOVER,
124## depending how many of the maxlines/minlines, maxbytes, maxage
125## and similar options.
126## The default is: noxover = 0
127# server = post-only.example.com
128# noxover = 1
129
130## The post_anygroup parameter affects posting and makes leafnode skip
131## the check if the newsgroup is carried by the respective server.
132## Use this on servers that allow only posting, but no "GROUP" commands.
133## Note: do not enable unless you know you may post to that server, your
134## postings might end up in the failed.postings directory otherwise.
135# server = post-only.example.com
136# post_anygroup = 1
137
138## This shows how a server is configured that only has specific news
139## groups. Note that this parameter is a PCRE, not a wildmat! See
140## pcre(3), pcrepattern(3) or pcre(7), depending on your PCRE version.
141## IMPORTANT: you must run fetchnews -f to make changes to this
142## option effective.
143# server = cnews.corel.com
144# only_groups_pcre = corel\.
145
146## Another option related to and depending on this only_groups_pcre option
147## is relevant for posting; if set, ALL groups in a Newsgroups: header
148## of a cross-posting will must match before the article is posted to
149## the server. If unset, ANY group that matches allows the post.
150# only_groups_match_all = 1
151
152## Non-standard expire times (glob(7) wildcard constructs possible)
153#
154# groups too big to hold articles 20 days:
155# groupexpire comp.os.linux.* = 5
156#
157# very interesting, hold articles longer:
158# groupexpire any.local.newsgroup = 100
159#
160# archive this group (fetchnews uses the global expire to figure the
161# maxage, but texpire will skip it):
162# groupexpire my.archived.group = -1
163
164## Never fetch more than this many articles from one group in one run.
165## Be careful with this; setting it much below 1000 is probably a bad
166## idea.
167# maxfetch = 2000
168
169## If you want to use leafnode like an offline newsreader (e.g. Forte
170## Agent) you can download headers and bodies separately if you set
171## delaybody to 1. In this case, fetch will only download the headers
172## and only when you select an article, it will download the body.
173## This can save a huge amount of bandwith if only few articles are really
174## read from groups with lots of postings.
175## This feature works not very well with Netscape, though (which is not
176## a fault of Leafnode).
177# delaybody = 0
178
179## If you have configured delaybody mode and your newsreader doesn't
180## cope with articles changing their numbers but not their Message-ID
181## such as Knode, then try setting this switch to 1, which
182## will make fetchnews keep the article number.
183## You'll have to switch the article body cache off though in your
184## newsreader.
185# delaybody_in_situ = 0
186
187## To avoid spam, you can select the maximum number of crosspostings
188## that are allowed in incoming postings. Setting this below 5 is
189## probably a bad idea. The default is unlimited crossposting.
190# maxcrosspost = 5
191
192## If you suffer from repeatedly receiving old postings (this happens
193## sometimes when an upstream server goes into hiccup mode) you can
194## refuse to receive them with the parameter "maxage" which tells the
195## maximum allowed age of an article in days. A value of 0 indicates that
196## no checking should be performed. The default maxage is 10 days.
197## WARNING: maxage can be overridden by expire! See the clamp_maxage
198## parameter below.
199# maxage = 10
200
201## By default, maxage is limited to groupexpire (if applicable) or
202## expire (otherwise). On some rare occasions, this limit may be
203## undesirable. To avoid this maxage manipulation, uncomment this line:
204# clamp_maxage = 0
205
206## maxlines will make fetch reject postings that are longer than a certain
207## amount of lines.
208# maxlines = 100
209
210## minlines will make fetch reject postings that are shorter than a certain
211## amount of lines.
212# minlines = 2
213
214## maxbytes will make fetch reject postings that are larger
215# maxbytes = 50000
216
217## timeout_short determines how many days fetch gets a newsgroup which
218## has been accidentally opened. The default is two days.
219# timeout_short = 1
220
221## timeout_long determines how many days fetch will wait before not getting
222## an unread newsgroup any more. The default is seven days.
223# timeout_long = 6
224
225## timeout_active determines how many days fetch will wait before re-reading
226## the whole active file. The default is 90 days.
227# timeout_active = 365
228
229## timeout_client determines how many seconds of inactivity to allow before
230## a client is forcibly disconnected. The default is 15 mins (900s). Optional.
231# timeout_client = 900
232
233## timeout_fetchnews determines how many seconds fetchnews will wait for
234## a server reply before assuming the server has become wedged.
235## The default is 5 mins (300s). Optional.
236# timeout_fetchnews = 300
237
238## timeout_lock determines how long the leafnode programs retry to
239## obtain the lock file. The default is 5 seconds.
240## Note you can use the LN_LOCK_TIMEOUT environment variable to override
241## this.
242# timeout_lock = 900
243
244## If you want to have your newsreader score/kill on Xref: lines, you might
245## want to uncomment this.
246# create_all_links = 1
247
248## If you want to filter out certain regular expressions in the header,
249## create a "filterfile" (how this is done is explained in the README)
250## and set
251# filterfile = /etc/leafnode/filters
252
253## Note that filtering usually means HEAD and BODY are downloaded
254## separately, so fetchnews has to wait for the packets TWICE to travel
255## to the server and back. If you have a fast link with high latencies
256## (for example a DSL line with interleaving or a satellite link), it
257## may be faster to request header and body in a single command and
258## discard the body. Note that the filter applies to the header only in
259## either case because PCRE matching is expensive.
260##
261## If you have one of the high-latency high-throughput links and have
262## enough free traffic left or a flat rate (no per-MByte billing), uncomment
263## this:
264# article_despite_filter = 1
265
266## If your newsreader does not supply a Message-ID for your postings
267## Leafnode will supply one, using the hostname of the machine it is
268## running on.  If this hostname is not suitable, this parameter can be
269## used to override it.  Do not use a fantasy name, it may interfere with
270## the propagation of your messages.  Most modern newsreaders do provide
271## a Message-ID.
272# hostname = myhost.example.org
273
274## You can also override the From: header address shown in placeholder
275## articles. It should be the news administrator's mail address.
276# newsadmin = postmaster@another.example.org
277
278## If in your local Usenet hierarchy, posting unencoded 8-bit data in
279## headers is condoned, uncomment this option to allow this. 8-bit data
280## in headers is officially illegal, although the header character set
281## may change to UTF-8 soon.
282# allow_8bit_headers = 1
283