News

Leafnode

Programmer:

leafnodeNNTP server
fetchnewsnews-henter
texpirefjerner gamle meldinger
applyfilterfjerne ihht. filter
checkgroupssette titler på nyhetsgrupper i newsgroup database
newsqviser news som venter på overføring

Upstream server = ISP

Filer:

Installasjon (versjon 1.9.x):

      sh ./configure [ with-ipv6]
      make
      make install
      vi $(LIBDIR)/config -> Sett:  server = news.enitel.no
      vi /etc/nntpserver ->         = localhost
      vi /etc/inetd.conf:
        nntp stream tcp nowait news [/usr/bin/tcpd] /usr/local/sbin/leafnode in nntpd
      kill -HUP  cat /var/run/inetd.pid'
      vi /etc/hosts.deny ->    leafnode: ALL EXEPT LOCAL
Kjør fetch: /usr/local/sbin/fetch -vvv
Les news (fra Netscape) - åpne dummy-melding i hver gruppe abonnert på.
ls /var/spool/news/interesting.groups/: en tom fil for hver gruppe lest i...
Kjør fetch en gang til for å hente til "interesting groups"!

Voila!

Oppgradere til Leafnode 2.0

Installasjon (versjon 2.0 beta):

      sh ./configure [ with-ipv6]             # Normalt
      env cf_cv_ipv6=no /bin/sh ./configure   # Hvis en plages med feil deteksjon av IPv6
      
      make
      
      su             # become root
      make install
      vi $(LIBDIR)/config -> Set:   server = news.myisp.no
                                    expire = days-in-spool
            # Oppgradere fra 1.9.x:
          'maxage', 'maxlines', 'minlines', 'maxbytes', 'maxcrosspost'
          må angis i filter fil, f.eks.:
            newgroups = *
            maxage = 5
            action = kill
            
      vi /etc/nntpserver ->         = localhost
      vi /etc/xinetd.conf:
        service nntp
        {
             flags          = NAMEINARGS NOLIBWRAP
             socket_type    = stream
             protocol       = tcp
             wait           = no
             user           = news
             server         = /usr/sbin/tcpd
             server_args    = /usr/local/sbin/leafnode
             instances      = 7
             per_source     = 3
        }
      kill -USR2  cat /var/run/xinetd.pid'   # man 5 xinetd.conf
      vi /etc/hosts.deny  ->    leafnode: ALL
      vi /etc/hosts.allow ->    leafnode: 127.0.0.1

      su - news -c "texspire -r"     # Upgrade from < 2.0b8_ma8
      fetchnews -f
      su - news -c "fetchnews -vvv"  # Install only!
      exit

Diverse konfigurasjon

What is the best way to erase both unwanted group and all the files already downloaded?

If it's about a single group, just typing rm /var/spool/news/interesting.groups/alt.binaries.cd.image will unsubscribe you. You can then remove the newsgroup directory with: rm -rf /var/spool/news/alt/binaries/cd/image/ (replacing the dots with slashes). Finally, you will need to run texpire -f so the files expire from message.id. To avoid such accidents, several options are available. They can be combined and appear in no particular order:

The first two options are effective immediately, changing the only_groups_pcre option requires you to re-run fetchnews -f for now.


Leafnode 2.0 og Mail2News

NB. Denne beskrivelsen gjelder en annen versjon av Mail2News enn den linken nedenfor peker til. Forfatteren er imidlertid den samme, men jeg har ikke testet den nye utgaven!

Her er en beskrivelse på hvordan en kan sette opp Mail2News 0.11.5 sammen med Leafnode 2.0 beta å handtere mail fra mailinglister som local news (og avlaste innboksen).

Leafnode installeres som beskrevet ovenfor (jeg tar intet ansvar - les README i Leafnode-pakken).

Mail2News installeres slik:

  tar zxf mail2news-xxx
  cd mail2news-xxx
  make
  su      # become root
  make install
Les Jörg Ditriechs dokumentasjon for detaljer. Det følgende er et eksempel på oppsett og forutsetter at mail hentes fra ISP v.h.a. fetchmail, som igjen forwarder mail til procmail for isp-konto som du bruker til mailinglister.

/etc/leafnode/local.groups

Denne filen tåler ikke komments før versjon _ma10pre3. Det SKAL være TAB som brukes om whitespace, og kun en TAB! 'm' betyr at gruppen er moderated, og det må den være fordi svar til gruppen skal forwardes til mailing-listen og ikke bli liggende i lokal newsgruppe.

local.openantivirus	m	Open Antivirus mailing list
local.leafnode-nntp	m	Leafnode mailing list
local.freepascal	m	Free Pascal Compiler mailing list
local.virtualpascal	m	Virtual Pascal mailing list

/etc/leafnode/moderators

# Mailing list : Moderator mailaddress
local.openantivirus:openantivirus-discuss@lists.sourceforge.net
local.leafnode-nntp:leafnode-list@wpxx02.toxi.uni-wuerzburg.de
local.freepascal:fpc-pascal@lists.freepascal.org
local.virtualpascal:virtualpascal@topica.com

Her spesifiseres adressene til malinglistene som postingene til 'local.groups' skal forwardes til.

/usr/local/etc/mailtonews.conf

# Mailing list name			# Newsgroup name
openantivirus-*@lists.sourceforge.net	local.openantivirus
leafnode-*@wpxx02.toxi.uni-wuerzburg.de local.leafnode-nntp
fpc-pascal@lists.freepascal.org		local.freepascal
fpc-pascal@deadlock.et.tudelft.nl	local.freepascal
virtualpascal@topica.com		local.virtualpascal

Her angis hvilken local.group mail skal sendes til (feltene To:, Cc:, Sender: og Delivered-To: er de som sjekkes).

~/.procmailrc

# Mailing lists handled by Mail2News
:0
* ^Sender.*openantivirus
| /usr/local/bin/mail2news
:0
* ^To.*leafnode-list
| /usr/local/bin/mail2news
:0
* ^To.*lists.freepascal.org
| /usr/local/bin/mail2news
:0
* ^To.*virtualpascal
| /usr/local/bin/mail2news

Finn en header som identifiseres listen, det kan være litt forskjellig (her er 'Sender' og 'To' brukt).

~/.fetchmailrc

# Account for mailing lists etc. mail
poll pop.myisp.com protocol pop3
	user ISPACCOUNT password PASSWORD is MYUSER here options forcecr \
	mda "/usr/bin/procmail -d %T"

Sender aktuell mail til procmail for behandling. Jeg måtte sette SETGID på /usr/bin/procmail for at procmail skulle ha nok rettigheter for jobben (men jeg kjører ikke fetchmail som root, da).

Mvh.
Arne Hanssen