• INN Configuration and Newsfeeds Filtering Questions

    From Anonymous@anon@anon.anon to news.admin.peering,news.software.misc on Mon Sep 8 13:12:31 2025
    From Newsgroup: news.software.misc

    The file /incoming.conf/ is where I should specify which peers can send feeds to my peer, right?

    The file /innfeed.conf/ is where I should specify to which peers my peer feeds out, right?

    The file /newsfeeds/ is where I should specify and filter articles and route them to other peers and other programs, right?

    Am I missing anything important so far about the purpose and function of these files?

    Is there a way to ensure that my peer first drops all articles matching a pattern list, before forwarding to the other peers and programs? Or let me word it this way: is there a way to ensure that articles matching certain text patterns are never forwarded to other peers, even if those peers don't specifically have those patterns in their requested configuration? For example, peer A does not have a regex for newsgroups containing the F-word, yet I want to ensure that if any peer sends me articles to such a newsgroup, that my peer immediately drops said articles before routing the feed to peer A, even if the pattern matching the F-word is not in the newsfeeds config for peer A. So the articles matching the F-word group are dropped from the feed before it is further routed. Is this possible? How?



    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From noel@deletethis@invalid.lan to news.admin.peering,news.software.misc on Tue Sep 9 09:27:30 2025
    From Newsgroup: news.software.misc

    On Mon, 08 Sep 2025 13:12:31 -0500, Anonymous wrote:

    Although I have an idea on answering your previous, I'm not an INN server operator, played enough to try it to see if we could migrate to it but abandoned the idea (was gonna take months to migrate the spools otherwise
    INN is perfectly fine software), and added quick conf options to our
    peering guide (many years ago), so I'll leave the definition answers to
    those more familiar.

    Is there a way to ensure that my peer first drops all articles matching
    a pattern list, before forwarding to the other peers and programs? Or
    let me word it this way: is there a way to ensure that articles matching certain text patterns are never forwarded to other peers, even if those
    peers don't specifically have those patterns in their requested configuration? For example, peer A does not have a regex for newsgroups containing the F-word, yet I want to ensure that if any peer sends me articles to such a newsgroup, that my peer immediately drops said
    articles before routing the feed to peer A, even if the pattern matching
    the F-word is not in the newsfeeds config for peer A. So the articles matching the F-word group are dropped from the feed before it is further routed. Is this possible? How?


    Why?

    Just because you might not desire such content? That doesn't mean you
    have the right to force your beliefs/policy onto others - most public
    servers have at least 2 peers, they will get theat F bomb anyway, just
    another path. I have private peering to feed some schools and other educational facilities and they don't ask for such or filter them locally either.


    The F bomb is used on primetime TV these days (for years) so why censor,
    if anyone you feed doesn't want it, they will drop it as spam, so again,
    why bother.
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Troll Spam Filter@troll@spam.filter to news.admin.peering,news.software.misc on Mon Sep 8 18:53:31 2025
    From Newsgroup: news.software.misc

    On 9 Sep 2025 09:27:30 +1000
    noel <deletethis@invalid.lan> wrote:

    On Mon, 08 Sep 2025 13:12:31 -0500, Anonymous wrote:

    Although I have an idea on answering your previous, I'm not an INN server operator, played enough to try it to see if we could migrate to it but abandoned the idea (was gonna take months to migrate the spools otherwise INN is perfectly fine software), and added quick conf options to our
    peering guide (many years ago), so I'll leave the definition answers to those more familiar.

    Is there a way to ensure that my peer first drops all articles matching
    a pattern list, before forwarding to the other peers and programs? Or
    let me word it this way: is there a way to ensure that articles matching certain text patterns are never forwarded to other peers, even if those peers don't specifically have those patterns in their requested configuration? For example, peer A does not have a regex for newsgroups containing the F-word, yet I want to ensure that if any peer sends me articles to such a newsgroup, that my peer immediately drops said
    articles before routing the feed to peer A, even if the pattern matching the F-word is not in the newsfeeds config for peer A. So the articles matching the F-word group are dropped from the feed before it is further routed. Is this possible? How?


    Why?

    Just because you might not desire such content? That doesn't mean you
    have the right to force your beliefs/policy onto others - most public servers have at least 2 peers, they will get theat F bomb anyway, just another path. I have private peering to feed some schools and other educational facilities and they don't ask for such or filter them locally either.


    The F bomb is used on primetime TV these days (for years) so why censor,
    if anyone you feed doesn't want it, they will drop it as spam, so again,
    why bother.

    $ grep troll matcherrc
    enabled rulename "Geo Cherchetout (dizum troll)" from matchcase "Geo Cherchetout <noreply@dirge.harmsk.com>" mark_as_read hide
    enabled rulename "D (dizum troll)" from matchcase "D <noreply@dirge.harmsk.com>" mark_as_read hide
    enabled rulename "Noel (concern troll)" from matchcase "noel <deletethis@invalid.lan>" mark_as_read hide

    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Billy G.@contact-5c2e-000@pugleaf.net to news.admin.peering,news.software.misc on Tue Sep 9 13:43:03 2025
    From Newsgroup: news.software.misc


    The file /incoming.conf/ is where I should specify which peers can send feeds to my peer, right?

    your remote peer needs an entry for your server in their incoming.conf
    or you can not send articles to your peers.
    here is your part
    ### example incoming.conf with 2 peers you add this ####
    peer usenet.blueworldhosting.com {
    hostname: usenet.blueworldhosting.com
    }
    peer weretis.net {
    hostname: X-Y-Z.news.weretis.net
    }
    ### EOF ####



    The file /innfeed.conf/ is where I should specify to which peers my peer feeds out, right?

    your remote peer needs to know how to reach you.
    this is your config.
    ### /etc/news/innfeed.conf example with 2 peers you add this ####
    peer usenet.blueworldhosting.com {
    ip-name: usenet.blueworldhosting.com
    max-connections: 5
    #force-ipv4: true
    }
    peer weretis.net {
    ip-name: X-Y-Z.news.weretis.net
    max-connections: 5
    }
    EOF



    The file /newsfeeds/ is where I should specify and filter articles and route them to other peers and other programs, right?

    yes and you define what your remote peers put in their newsfeeds too.
    this example is for your side and your remote peer adds an entry for
    your domain in their newsfeeds to reach your server.
    the flags "Af,Ap" read here https://www.eyrie.org/~eagle/software/inn/docs-2.7/newsfeeds.html


    FLAG VALUES

    The flags parameter specifies miscellaneous parameters, including the
    type of feed, what information should be sent to it, and various
    limitations on what articles should be sent to a site. They may be
    specified in any order and should be separated by commas. Flags that
    take values should have the value immediately after the flag letter with
    no whitespace. The valid flags are:
    size
    An article will only be sent to this site if it is less than size bytes
    long. The default is no limit.
    An article will only be sent to this site if it is greater than size
    bytes long. The default is no limit.

    A checks

    An article will only be sent to this site if it meets the requirements specified in checks, which should be chosen from the following set.
    checks can be multiple letters if appropriate. Note that this flag is
    not effective on funnel targets; it has to be used on every funnel entry
    (for instance, Af is not effective on the innfeed! funnel target and
    therefore has to be specified on every funnelled news site).

    Af: Don't send articles rejected by filters. This is only useful when dontrejectfiltered is set to true in inn.conf. With that variable set,
    this lets one accept all articles but not propagate filtered ones to
    some sites. (default dontrejectfiltered: false)
    Ap: Only check the exclusions against the Path header field of articles;
    don't check the site name. This is useful if your site names aren't the
    same as the path identities in Path header fields added by those remote
    sites, or for program feeds where the site name is arbitrary and
    unrelated to the Path header field body.

    if you reached here:
    go and read the Flag for "j" in docs url above first!

    ### /etc/news/newsfeeds example with 2 peers you can add ####
    # innfeed funnel master.
    innfeed!\
    :!*\
    :Tc,Wnm*:/usr/lib/news/bin/innfeed

    $NEWSDEEFDEFAULT=\
    !control,!control.*,\
    !junk,!junk.*,\
    !local,!local.*,\
    !ka.*,!gmane.*,!gwene.*,\
    !newsdeef.private.*

    $NEWSDEEFNOBINARY=\
    @newsdeef.private.*,\
    @a.b.*,@ab.alt.*,@ab.mom,@alt.b.*,@alt.*sex*,\
    @dk.b.*,@*alt-bin*,@*alt.bin*,\
    @*alt.dvd*,@*alt.hdtv*,@*dvdnordic*,\
    @*nairies*,@*naries*,@*.bain*,@*.banar*,@*.banir*,\
    @*.biana*,@*.bianr*,@*.biin*,@*.binar*,@*.binai*,\
    @*.binaer*,@*.bineri*,@*.biniar*,@*.binira*,\
    @*.binrie*,@*.biya*,@*.boneles*,@*cd.image*,\
    @*dateien*,@*files.images*,@*music.bin*,\
    @*nzb*,@*mp3*,@*ictures*,@*iktures*,\
    @*erotic*,@*porno*,@*pedo*,@*paedo*,@*xxx*,@*warez*,@unidata.*

    usenet.blueworldhosting.com\
    :*,$NEWSDEEFDEFAULT,$NEWSDEEFNOBINARY/!local\
    :Af,Ap,Tm,<1000000:innfeed!
    weretis.net/weretis.net\
    :*,$NEWSDEEFDEFAULT,$NEWSDEEFNOBINARY/!local\
    :Af,Ap,Tm,<262144:innfeed!
    ## EOF ###


    Am I missing anything important so far about the purpose and function of these files?

    https://www.eyrie.org/~eagle/software/inn/ https://www.eyrie.org/~eagle/software/inn/docs-2.7/

    Is there a way to ensure that my peer first drops all articles matching a pattern list, before forwarding to the other peers and programs? ... is there a way to ensure that articles matching certain text patterns
    are never forwarded to other peers, even if those peers don't
    specifically have those patterns in their requested configuration?

    add your f-word patterns below $NEWSDEEFNOBINARY as first entry
    like:
    $NEWSDEEFNOBINARY=\
    @*f-word*,@*another-f-word*,@*more*-f-word*,\
    @newsdeef.private.*,\
    ...
    and you will not send any articles to your remote peers posted to
    newsgroups that are matchting the pattern.
    if you ask your peers, they will set the same rules on their side so
    groups will not reach you like a double sided black whole...
    not adding the groups should do the trick too I think in default conf.

    about 95% of articles fit well below 32 KBytes.
    in most newsgroups the <32K rate is more like 99%+.

    This server with cyclic buffers has been started a week ago:
    360MB in storage in a week...
    with only 1-2 well connected peers you can receive all text usenet
    traffic. with cyclic buffers you don't have to worry about storage.
    you set buffers once and they roll over when full, overwriting older
    articles.
    runs fine with a single buffer of 1 GB catching articles <N in size.
    you then connect your reader to your server and read and post.
    your server does not need much space for text peering.
    a single 1GB buffer with this config and artsize <256K keeps 2-3 weeks.

    cnfsstat
    Class LOW for groups matching "*", article size min/max: 0/32000
    Buffer LOW1, size: 25.0 GBytes, position: 337 MBytes 0.01 cycles
    Newest: 2025-09-09 9:56:41, 0 days, 0:02:40 ago

    Class MID for groups matching "*", article size min/max: 32000/128000
    Buffer MID1, size: 3.00 GBytes, position: 19.2 MBytes 0.01 cycles
    Newest: 2025-09-09 9:56:41, 0 days, 0:02:40 ago

    Class BIG for groups matching "*", article size min/max: 128000/256000
    Buffer BIG1, size: 1.00 GBytes, position: 2.61 MBytes 0.00 cycles
    Newest: 2025-09-08 1:19:30, 1 days, 8:39:51 ago

    Read script I'm testing:
    https://pugleaf.net/inn2_setup_pub_deb12.txt https://web.archive.org/web/20250909115523/https://pugleaf.net/inn2_setup_pub_deb12.txt
    begins with ### DO NOT RUN ### for a reason.
    read lines carefully.
    tested on blank debian 12 with INN 2.7x.
    set first: values for hostname and gigabyte sizes for the 3 cyclic
    buffers. file '/etc/hostname' must be "new-serv" without domain part
    and execute: 'hostname -F /etc/hostname' before doing anything else.

    steps from script can be pasted as blocks into terminal.
    beware of "if", find ending "fi" and copy/paste full block.
    any "cat EOF" line needs to be copied up to and include next closer EOF.
    beware of "cat <<'EOF' >> "
    if pasted twice appends to same file and everything breaks!

    when executed correctly you can setup a server
    with any storage size in minutes.
    adding all groups will take some time.

    cleanfeed is not included yet.
    have a look at this configs file: https://reader-nyc.newsdeef.eu/cleanfeed.tar.gz
    works for me if put in /var/spool/news/cleanfeed
    then:
    mv /etc/news/filter/filter_innd.pl /etc/news/filter/filter_innd.pl.BAK.0 replace with: https://reader-nyc.newsdeef.eu/filter_innd.pl

    https://web.archive.org/web/20250909114820/https://reader-nyc.newsdeef.eu/cleanfeed.tar.gz
    sha256sum cleanfeed.tar.gz 20555e67fee6ea2c4a6f759bb1627a28459df3cd434e19a8c60725f377103d7c

    https://web.archive.org/web/20250909114802/https://reader-nyc.newsdeef.eu/filter_innd.pl
    sha256sum filter_innd.pl 2d4c116efffc8f60f23318e0b95d26388291ae7e1c8bd0bc6338f16eacf6bb60

    the server setup with the script is open for everyone for reading.
    posting needs an account.

    you can create your sys-op hash with: openssl passwd -5 "$password"

    another script for creating the users:
    root@reader-nyc:/etc/news# cat add_bbsuser.sh
    #!/bin/bash -e
    username=$(pwgen -s 12 -1)
    test ! -z "$1" && username="$1"
    password=$(pwgen -s 12 -1)
    HASH=$(openssl passwd -5 "$password")
    echo "$username:$HASH" >> /etc/news/passwd/bbsuser.passwd
    echo "$username:$password|$(date +%s)" >> /etc/news/bbsuser.created.log
    echo "New Login Credentials:"
    echo "username: '$username'"
    echo "password: '$password'"


    to backup your INN to new (debian/ubuntu) server:
    (other dists can have different paths)
    /etc/init.d/inn2 stop
    or systemctl stop inn2
    rsync -vad --delete-before --progress /etc/news/ root@target-host:/etc/news/ rsync -va --delete-before--progress /var/lib/news/ root@target-host:/var/lib/news/
    rsync -va --delete-before --progress /var/spool/news/ root@target-host:/var/spool/news/


    Want small feed? setup virtual server with:
    1 Core, 512MB to 1 GB RAM and 5-10 GB disk is enough.
    total traffic is low 1-10 GB range monthly with some readers...
    Traffic is not a typo. GB. needs no TB.
    Any VPS or raspi will be fine, dynamic ip and FQDN works too.

    If you got it configured just ask about peering and anyone will respond
    and send you a limited feed of few newsgroups or full hierarchies or all
    and you accept what you want and reject everything you dont want...
    most peers have filters too so don't worry too much what you send as
    long as it does not originate from your server.
    if you only peered the article from other peers: you are not at fault...
    only if you have a peer that only you have and is sending garbage via
    your server and you peer to others and they complain you should react...
    your peers can always stop accepting your articles and you can't complain.

    Ask in news.admin.peering and magic news start flowing in!

    Anyone complaining about sex filter.
    4.6T of alt.sex and more stuff available as backup.
    could be shared via torrent. If anybody wants it quote this.
    That will be deleted from the archive soon. process is already running.
    Many binary. we have youporn in 4K... I see no value in there.
    Downloaded for pugleaf code testing performance and memory usage.

    But I want to see some more seeders here first before creating the huge! https://pugleaf.net/snaps/rocksolid-us-2025-09-03.torrent
    ref in message:
    <d5f229b3933a6e4145c7fed7296073e8d83f8842@usenet.pugleaf.net>

    END! du -b message.txt
    10514 message.txt
    --
    .......
    Billy G. (go-while)
    https://pugleaf.net
    @Newsgroup: rocksolid.nodes.help
    irc.pugleaf.net:6697 (SSL) #lounge
    discord: https://discord.gg/rh2tGMJWwV
    --- Synchronet 3.21a-Linux NewsLink 1.2