• NEWSGROUP MODERATION DEV GUIDE

    From salahuddin@21:1/5 to All on Sun Jan 21 19:12:07 2024
    XPost: news.software.nntp

    ____________________________________________

    NEWSGROUP MODERATION TOOL DEVELOPERS GUIDE

    Salahuddin <salahuddin@member.fsf.org>
    ____________________________________________


    <2024-01-21 Sun>


    Table of Contents
    _________________

    1. local DNS server
    2. Setup USENET server
    .. 1. enable IHAVE
    .. 2. enable incoming
    .. 3. Server logs
    3. Setup USENET client
    .. 1. IHAVE command not enabled
    .. 2. Install rnews
    .. 3. Test rnews
    4. Setup local Mail Server
    .. 1. Setup procmail
    .. 2. Message formatting
    .. 3. add custom headers
    .. 4. add Approved header(s)
    .. 5. Test Post
    5. Simulate newsgroup post
    6. Develop incoming mail handler





    1 local DNS server
    ==================

    Setup a local DNS server (bind9 or other), and add DNS entries of your
    local virtual servers.

    usenet-server.home.lab - USENET server
    usenet-client.home.lab - client will post news to USENET server via
    rnews

    note: Please make sure your virtual servers are using your DNS server.


    2 Setup USENET server
    =====================

    usenet-server.home.lab

    setup inn2 from source or in Debian based distribution.
    ,----
    | # apt-get install inn2
    `----

    edit /etc/news/inn.conf
    ,----
    | pathhost: usenet-server.home.lab
    | domain: usenet-server.home.lab
    `----

    create groups
    ,----
    | $ /usr/sbin/ctlinnd newgroup demo.comments
    `----

    edit /var/lib/news/newsgroups
    ,----
    | demo.comments Demo comments
    `----

    edit /etc/news/readers.conf
    ,----
    | auth "demo" {
    | hosts: "*"
    | default: "<demo>"
    | }
    |
    | access "demo" {
    | users: "<demo>"
    | newsgroups: "demo.comments"
    | access: RPA
    | }
    `----


    2.1 enable IHAVE
    ~~~~~~~~~~~~~~~~

    Enable IHAVE to send news from rnews from other client.

    edit /etc/news/control.ctl change drop -> doit
    ,----
    | ihave:*:*:doit
    `----


    2.2 enable incoming
    ~~~~~~~~~~~~~~~~~~~

    edit /etc/news/incoming.conf
    ,----
    | peer other {
    | hostname: "HOST_OR_IP_OF_YOUR_CLIENT_WITH_RNEWS"
    | }
    `----

    Replace HOST_OR_IP_OF_YOUR_CLIENT_WITH_RNEWS with your
    usenet-client.home.lab name or IP.
    It will allow usenet-client.home.lab to post news to
    usenet-server.home.lab via rnews.

    restart
    ,----
    | # systemctl stop inn2
    | # systemctl start inn2
    `----


    2.3 Server logs
    ~~~~~~~~~~~~~~~

    ,----
    | # journalctl -u inn2.service
    `----


    3 Setup USENET client
    =====================

    usenet-client.home.lab

    You may test your USENET server using a USENET client or telnet.

    ,----
    | telnet usenet-server.home.lab 119
    | POST
    | //It will return you a Message-ID.
    | // add Message-ID in your manual post
    | Path: hi!not-for-mail
    | From: Home <demo@demo>
    | Newsgroups: demo.comments
    | Date: Fri, 5 Jan 2024 21:29:04 -0000 (UTC)
    | Subject: test
    | Organization: A poorly-installed InterNetNews site
    | Message-ID: <unb5kg$17e$1@usernet-server.dynamic.lab>
    | MIME-Version: 1.0
    | Content-Type: text/plain; charset=UTF-8
    |
    | test
    |
    | QUIT
    `----
    Now, your message should appear in demo.comments news group.


    3.1 IHAVE command not enabled
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    example: error IHAVE command not enabled
    ----------------------------------------------------------------------
    ,----
    | telnet usenet-server.home.lab 119
    | Trying 192.168.0.196...
    | Connected to usenet-server.home.lab.
    | Escape character is '^]'.
    | 200 usenet-server.home.lab InterNetNews NNRP server INN 2.7.1 ready (posting ok)
    | IHAVE <unb5kg$18e$1@usenet-client.home.lab>
    | 480 IHAVE command disabled by administrator
    `----

    note: rnews uses IHAVE command.
    Please make sure your server has IHAVE command enabled.


    3.2 Install rnews
    ~~~~~~~~~~~~~~~~~

    Install rnews from source or in Debian based distribution.
    ,----
    | # apt-get install inn2-inews
    `----


    3.3 Test rnews
    ~~~~~~~~~~~~~~

    create test_message.txt
    ,----
    | Path: hi!not-for-mail
    | From: home <demo@demo>
    | Newsgroups: demo.comments
    | Date: Fri, 5 Jan 2024 21:29:04 -0000 (UTC)
    | Subject: test2
    | Message-ID: <unb5kg$19e$1@usenet-client.dynamic.lab>
    |
    | test2
    `----


    post message
    ,----
    | /usr/bin/rnews -h usene-server.home.lab -P 119 -S
    usenet-server.home.lab < test_message.txt
    `----

    verify the message post status using your usenet reader.


    4 Setup local Mail Server
    =========================

    usenet-client.home.lab

    Setup local Mail Server for moderation (Sendmail, Exim, others).

    warning: *by default mail server disable email exchange for local IP
    series.*
    If you have local IP series 192.168.0.x, please make sure you allow
    this series for mail exchange.

    Example: in Exim /etc/exim4/exim4.conf.template
    ,----
    | dnslookup:
    | debug_print = "R: dnslookup for $local_part@$domain"
    | driver = dnslookup
    | domains = ! +local_domains
    | transport = remote_smtp
    | same_domain_copy_routing = yes
    | # ignore private rfc1918 and APIPA addresses
    | ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/16 :\
    | 172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16 :\
    | 255.255.255.255
    | no_more
    | .endif
    `----
    remove 192.168.0.0/16 to allow local mail exchange.


    4.1 Setup procmail
    ~~~~~~~~~~~~~~~~~~

    ,----
    | add $HOME/.procmailrc
    | ------------------------
    | DEFAULT=$HOME/Maildir/
    | MAILDIR=$HOME/Maildir/
    | LOCKFILE=$HOME/.lockmail
    | LOGFILE=$MAILDIR/procmail.log
    | LOGABSTRACT=yes
    | VERBOSE=yes
    |
    | :0c
    | | ../YOUR_INCOMING_MAIL_HANDLER
    `----

    "YOUR_INCOMING_MAIL_HANDLER" will read mail via STDIN and save for
    further processing. You need to notify the sender an acknowledgment of
    the submission (automatically or manually).


    4.2 Message formatting
    ~~~~~~~~~~~~~~~~~~~~~~

    If your comment or any header line is too long, it should be
    reformatted to next line with space(s).
    Example:
    ,----
    | HEADER: your long
    | comment for moderation
    `----

    This will fail while posting in newsgroup.

    You need to either make the comment shorter or add space(s) as prefix
    after header line
    ,----
    | HEADER: your long
    | comment for moderation
    `----


    4.3 add custom headers
    ~~~~~~~~~~~~~~~~~~~~~~

    add your custom headers with the original submission for approval
    ,----
    | X-SCRM-Policy: https://example.com/
    | X-SCRM-Info-1: Send submissions to demo@example.com
    | X-SCRM-Info-2: Send technical complaints to demo-admin@example.com
    | X-SCRM-Info-3: Send complaints about policy to demo-board@example.com
    | X-Comment: moderators do not necessarily agree or disagree with
    this article.
    | X-Robomod: YOUR_MODERATION, demo@example.com
    | X-Moderation-1: YOUR moderation tool
    | X-Moderation-2: See https://example.com/
    `----


    4.4 add Approved header(s)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~

    Remove unnecessary header(s) and add approved header before
    submission.
    ,----
    | formail -f -I Path: \
    | -I X-Moderate-For: \
    | -I Return-Path: \
    | -I X-Mailer: \
    | -I "Date:" \
    | -I "X-400-Received:" \
    | -I Received: \
    | -I "From " \
    | -a "Approved: YOUR_APPROVAL_EMAIL" \
    | -I Lines: \
    | -I Cc: \
    | -I Status:
    |
    | > post_to_send.txt
    `----


    4.5 Test Post
    ~~~~~~~~~~~~~

    Now you can post to your local newsgroup server via rnews.
    ,----
    | /usr/bin/rnews -h usene-server.home.lab -P 119 -S
    usenet-server.home.lab < post_to_send.txt
    `----

    After successful posting, move the submitted mail submission in a
    different directory to avoid re-posting. You may automate the process
    by implementing scripts and web-interface.

    If you plan to use it in a production/external USENET server, you need
    to add your login password in /etc/news/passwd.nntp
    ,----
    | EXTERNAL_USENET_SERVER_HOST:YOUR_LOGIN:YOUR_PASSWORD
    `----
    Use port with SSL/TLS (563) instead of insecure port 119.


    5 Simulate newsgroup post
    =========================

    You may use usenet-client.home.lab for testing.
    Send test message with usenet header (using -a).

    You need to set -r --return-address=ADDRESS explicitly. Otherwise, it
    will send mail as SENDER_USER@localhost and exim will not deliver
    submission response to this account.

    Destination "USER" is the account with procmail configured for
    moderation.
    ,----
    | $ echo "Test message." | mail -s "Test" -r SENDER_USER@EMAILHOST 'USENETMOD <USER@YOUR_DOMAIN>' -a 'Newsgroups: YOUR_NEWSGROUP'
    `----


    6 Develop incoming mail handler
    ===============================

    Develop YOUR_INCOMING_MAIL_HANDLER to moderate newsgroup posts.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Julien_=C3=89LIE?=@21:1/5 to All on Sun Jan 21 21:53:43 2024
    XPost: news.software.nntp

    Hi Salahuddin,

    A few remarks below:

      create groups
      ,----
      | $ /usr/sbin/ctlinnd newgroup demo.comments
      `----

    I do not understand well in the documentation when you test the
    moderation. There's no moderated newsgroup involved.
    Shouldn't demo.comments be a moderated newsgroup?

    ctlinnd newgroup demo.comments m


      edit /var/lib/news/newsgroups
      ,----
      | demo.comments   Demo comments
      `----

    demo.comments Demo comments. (Moderated)


      Enable IHAVE to send news from rnews from other client.

      edit /etc/news/control.ctl change drop -> doit
      ,----
      | ihave:*:*:doit
      `----

    The 2.2 step with the addition of the IP of the client to incoming.conf
    is enough to enable the IHAVE command.
    control.ctl is not involved in that process: ihave, here, is the type of
    a control article (like newgroup, checkgroups, cancel), not an NNTP
    command like IHAVE.
    You can then remove the 2.1 step.


      | Organization: A poorly-installed InterNetNews site

    There's a better organization to put :)
    At step 2, while editing inn.conf, you could update it too.


      | MIME-Version: 1.0
      | Content-Type: text/plain; charset=UTF-8

    I would also suggest:

    Content-Transfer-Encoding: 8bit


      | test
      |
      | QUIT

    You must add a dot on a mere line to mark the end of the article:

    test
    .
    QUIT

    Also, in your example of posting, I would add a "MODE READER" command
    first, as you may not be in that mode in case your client has been
    configured in incoming.conf.


      post message
      ,----
      | /usr/bin/rnews -h usene-server.home.lab -P 119 -S usenet-server.home.lab < test_message.txt

    There's a typo in the name of the server.

    Thanks for your work on explaining how to set up moderation. (It may
    still be a bit obscure for people who have never installed a news server
    and a mail server.)

    --
    Julien ÉLIE

    « Medicorum nutrix est intemperantia. »

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From salahuddin@21:1/5 to All on Mon Jan 22 00:47:58 2024
    XPost: news.software.nntp

    Hi Julien,

    On 1/21/24 21:53, Julien ÉLIE wrote:
    A few remarks below:

       create groups
       ,----
       | $ /usr/sbin/ctlinnd newgroup demo.comments
       `----

    I do not understand well in the documentation when you test the
    moderation.  There's no moderated newsgroup involved.
    Shouldn't demo.comments be a moderated newsgroup?

        ctlinnd newgroup demo.comments m


    Yes.

    Thanks for your work on explaining how to set up moderation. (It may
    still be a bit obscure for people who have never installed a news server
    and a mail server.)

    Welcome. Thank you for your feedback.

    I also posted update in my blog: https://netuse.dynamicmalloc.com/usenet_mod_dev.html

    ____________________________________________

    NEWSGROUP MODERATION TOOL DEVELOPERS GUIDE

    Salahuddin <salahuddin@member.fsf.org>
    ____________________________________________


    <2024-01-22 Mon>


    Table of Contents
    _________________

    1. local DNS server
    2. Setup USENET server
    .. 1. enable incoming
    .. 2. Server logs
    3. Setup USENET client
    .. 1. Install rnews
    .. 2. Test rnews
    4. Setup local Mail Server
    .. 1. Setup procmail
    .. 2. Message formatting
    .. 3. add custom headers
    .. 4. add Approved header(s)
    .. 5. Test Post
    5. Simulate newsgroup post
    6. Develop incoming mail handler





    1 local DNS server
    ==================

    Setup a local DNS server (bind9 or other), and add DNS entries of your
    local virtual servers.

    usenet-server.home.lab - USENET server
    usenet-client.home.lab - client will post news to USENET server via
    rnews

    note: Please make sure your virtual servers are using your DNS server.


    2 Setup USENET server
    =====================

    usenet-server.home.lab

    setup inn2 from source or in Debian based distribution.
    ,----
    | # apt-get install inn2
    `----

    edit /etc/news/inn.conf
    ,----
    | Organization: "Demo InterNetNews site"
    | pathhost: usenet-server.home.lab
    | domain: usenet-server.home.lab
    `----

    create a moderated group
    ,----
    | $ /usr/sbin/ctlinnd newgroup demo.comments m
    `----

    edit /var/lib/news/newsgroups
    ,----
    | demo.comments Demo comments. (Moderated)
    `----

    edit /etc/news/readers.conf
    ,----
    | auth "demo" {
    | hosts: "*"
    | default: "<demo>"
    | }
    |
    | access "demo" {
    | users: "<demo>"
    | newsgroups: "demo.comments"
    | access: RPA
    | }
    `----


    2.1 enable incoming
    ~~~~~~~~~~~~~~~~~~~

    edit /etc/news/incoming.conf
    ,----
    | peer other {
    | hostname: "HOST_OR_IP_OF_YOUR_CLIENT_WITH_RNEWS"
    | }
    `----

    Replace HOST_OR_IP_OF_YOUR_CLIENT_WITH_RNEWS with your
    usenet-client.home.lab name or IP.
    It will allow usenet-client.home.lab to post news to
    usenet-server.home.lab via rnews.

    restart
    ,----
    | # systemctl stop inn2
    | # systemctl start inn2
    `----


    2.2 Server logs
    ~~~~~~~~~~~~~~~

    ,----
    | # journalctl -u inn2.service
    `----


    3 Setup USENET client
    =====================

    usenet-client.home.lab

    You may test your USENET server using a USENET client or telnet.

    ,----
    | telnet usenet-server.home.lab 119
    | MODE READER
    | POST
    | //It will return you a Message-ID.
    | // add Message-ID in your manual post
    | Path: hi!not-for-mail
    | From: Home <demo@demo>
    | Newsgroups: demo.comments
    | Date: Fri, 5 Jan 2024 21:29:04 -0000 (UTC)
    | Subject: test
    | Organization: A poorly-installed InterNetNews site
    | Message-ID: <unb5kg$17e$1@usernet-server.dynamic.lab>
    | MIME-Version: 1.0
    | Content-Type: text/plain; charset=UTF-8
    | Content-Transfer-Encoding: 8bit
    |
    | test
    | .
    | QUIT
    `----
    Now, your message should appear in demo.comments news group.


    3.1 Install rnews
    ~~~~~~~~~~~~~~~~~

    Install rnews from source or in Debian based distribution.
    ,----
    | # apt-get install inn2-inews
    `----


    3.2 Test rnews
    ~~~~~~~~~~~~~~

    create test_message.txt
    ,----
    | Path: hi!not-for-mail
    | From: home <demo@demo>
    | Newsgroups: demo.comments
    | Date: Fri, 5 Jan 2024 21:29:04 -0000 (UTC)
    | Subject: test2
    | Message-ID: <unb5kg$19e$1@usenet-client.dynamic.lab>
    |
    | test2
    `----


    post message
    ,----
    | /usr/bin/rnews -h usenet-server.home.lab -P 119 -S
    usenet-server.home.lab < test_message.txt
    `----

    verify the message post status using your usenet reader.


    4 Setup local Mail Server
    =========================

    usenet-client.home.lab

    Setup local Mail Server for moderation (Sendmail, Exim, others).

    warning: *by default mail server disable email exchange for local IP
    series.*
    If you have local IP series 192.168.0.x, please make sure you allow
    this series for mail exchange.

    Example: in Exim /etc/exim4/exim4.conf.template
    ,----
    | dnslookup:
    | debug_print = "R: dnslookup for $local_part@$domain"
    | driver = dnslookup
    | domains = ! +local_domains
    | transport = remote_smtp
    | same_domain_copy_routing = yes
    | # ignore private rfc1918 and APIPA addresses
    | ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/16 :\
    | 172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16 :\
    | 255.255.255.255
    | no_more
    | .endif
    `----
    remove 192.168.0.0/16 to allow local mail exchange.


    4.1 Setup procmail
    ~~~~~~~~~~~~~~~~~~

    ,----
    | add $HOME/.procmailrc
    | ------------------------
    | DEFAULT=$HOME/Maildir/
    | MAILDIR=$HOME/Maildir/
    | LOCKFILE=$HOME/.lockmail
    | LOGFILE=$MAILDIR/procmail.log
    | LOGABSTRACT=yes
    | VERBOSE=yes
    |
    | :0c
    | | ../YOUR_INCOMING_MAIL_HANDLER
    `----

    "YOUR_INCOMING_MAIL_HANDLER" will read mail via STDIN and save for
    further processing. You need to notify the sender an acknowledgment of
    the submission (automatically or manually).


    4.2 Message formatting
    ~~~~~~~~~~~~~~~~~~~~~~

    If your comment or any header line is too long, it should be
    reformatted to next line with space(s).
    Example:
    ,----
    | HEADER: your long
    | comment for moderation
    `----

    This will fail while posting in newsgroup.

    You need to either make the comment shorter or add space(s) as prefix
    after header line
    ,----
    | HEADER: your long
    | comment for moderation
    `----


    4.3 add custom headers
    ~~~~~~~~~~~~~~~~~~~~~~

    add your custom headers with the original submission for approval
    ,----
    | X-SCRM-Policy: https://example.com/
    | X-SCRM-Info-1: Send submissions to demo@example.com
    | X-SCRM-Info-2: Send technical complaints to demo-admin@example.com
    | X-SCRM-Info-3: Send complaints about policy to demo-board@example.com
    | X-Comment: moderators do not necessarily agree or disagree with
    this article.
    | X-Robomod: YOUR_MODERATION, demo@example.com
    | X-Moderation-1: YOUR moderation tool
    | X-Moderation-2: See https://example.com/
    `----


    4.4 add Approved header(s)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~

    Remove unnecessary header(s) and add approved header before
    submission.
    ,----
    | formail -f -I Path: \
    | -I X-Moderate-For: \
    | -I Return-Path: \
    | -I X-Mailer: \
    | -I "Date:" \
    | -I "X-400-Received:" \
    | -I Received: \
    | -I "From " \
    | -a "Approved: YOUR_APPROVAL_EMAIL" \
    | -I Lines: \
    | -I Cc: \
    | -I Status:
    |
    | > post_to_send.txt
    `----


    4.5 Test Post
    ~~~~~~~~~~~~~

    Now you can post to your local newsgroup server via rnews.
    ,----
    | /usr/bin/rnews -h usenet-server.home.lab -P 119 -S
    usenet-server.home.lab < post_to_send.txt
    `----

    After successful posting, move the submitted mail submission in a
    different directory to avoid re-posting. You may automate the process
    by implementing scripts and web-interface.

    If you plan to use it in a production/external USENET server, you need
    to add your login password in /etc/news/passwd.nntp
    ,----
    | EXTERNAL_USENET_SERVER_HOST:YOUR_LOGIN:YOUR_PASSWORD
    `----
    Use port with SSL/TLS (563) instead of insecure port 119.


    5 Simulate newsgroup post
    =========================

    You may use usenet-client.home.lab for testing.
    Send test message with usenet header (using -a).

    You need to set -r --return-address=ADDRESS explicitly. Otherwise, it
    will send mail as SENDER_USER@localhost and exim will not deliver
    submission response to this account.

    Destination "USER" is the account with procmail configured for
    moderation.
    ,----
    | $ echo "Test message." | mail -s "Test" -r SENDER_USER@EMAILHOST 'USENETMOD <USER@YOUR_DOMAIN>' -a 'Newsgroups: YOUR_NEWSGROUP'
    `----


    6 Develop incoming mail handler
    ===============================

    Develop YOUR_INCOMING_MAIL_HANDLER to moderate newsgroup posts.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Julien_=C3=89LIE?=@21:1/5 to All on Mon Jan 22 18:58:57 2024
    XPost: news.software.nntp

    Hi Salahuddin,

      | POST
    [...]
      | Organization: A poorly-installed InterNetNews site

    You can remove that header field.


      Now, your message should appear in demo.comments news group.

    It won't, as the group is moderated.
    You should say that it is normal that the message did not appear in the newsgroup when posted. It was mailed to the moderator for manual approval.

    Unless you wish to test whether posting works?
    Then I would suggest to create 2 newsgroups: demo.comments and demo.comments.moderated, the first one unmoderated, and the second one moderated.
    You first try to post in demo.comments, and ensure the post appears.
    And then you send another post to demo.comments.moderated, which does
    not appear in the newsgroup.
    But you have to set up the local mail server (step 4) before doing that
    second test.

    --
    Julien ÉLIE

    « Petite annonce : Artificier cherche femme canon. »

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From salahuddin@21:1/5 to All on Mon Jan 22 23:30:09 2024
    XPost: news.software.nntp

    On 1/22/24 18:58, Julien ÉLIE wrote:
    Hi Salahuddin,

       | POST
    [...]
       | Organization: A poorly-installed InterNetNews site

    You can remove that header field.


       Now, your message should appear in demo.comments news group.

    It won't, as the group is moderated.
    You should say that it is normal that the message did not appear in the newsgroup when posted.  It was mailed to the moderator for manual approval.

    Unless you wish to test whether posting works?
    Then I would suggest to create 2 newsgroups: demo.comments and demo.comments.moderated, the first one unmoderated, and the second one moderated.
    You first try to post in demo.comments, and ensure the post appears. And
    then you send another post to demo.comments.moderated, which does not
    appear in the newsgroup.
    But you have to set up the local mail server (step 4) before doing that second test.


    Hi Julien,

    I updated https://netuse.dynamicmalloc.com/usenet_mod_dev.html

    Removed the header, but for simplicity I kept the newsgroup not
    moderated (for testing only).

    I assume, initially news moderator won't run a news-server, but use
    external news-server for submitting approved post.

    I am using external news-server to send the submission by adding
    "Approved:" header.


    Another experimental work:
    ------------------------
    I created a draft Perl code, which can fetch message from external mail provider (IMAP) and save locally for further processing.

    But later, I realized if I want to post news I should have static IP
    which my news-server allowed to post news via rnews.

    Is there any alternative way news-server can allow any random IP to
    submit post via rnews.

    (In this case news moderator won't need to run a server.
    Just perl script will fetch message and process locally and submit via
    rnews.)

    Thank you.


    Regards,
    Salahuddin

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Julien_=C3=89LIE?=@21:1/5 to All on Mon Jan 22 23:37:45 2024
    XPost: news.software.nntp

    Hi Salahuddin,

    Removed the header, but for simplicity I kept the newsgroup not
    moderated (for testing only).

    I assume, initially news moderator won't run a news-server, but use
    external news-server for submitting approved post.

    I am using external news-server to send the submission by adding
    "Approved:" header.

    OK, that sounds a more frequent case.



    But later, I realized if I want to post news I should have static IP
    which my news-server allowed to post news via rnews.

    Is there any alternative way news-server can allow any random IP to
    submit post via rnews.

    Why don't you just use inews instead of rnews?
    inews will send a POST command, and as "RPA" access has been allowed in readers.conf, posts with an Approved header field will be allowed. This
    way, you can have any IP you want.

    Furthermore, the setting in incoming.conf is no longer necessary as you
    won't use IHAVE commands.

    --
    Julien ÉLIE

    « Prouidentia, dum ortum ante obitum ponit, sapienter fecit, sin autem
    quid uitae sit notum ? » (Alphonse Allais)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From salahuddin@21:1/5 to All on Tue Jan 23 00:24:37 2024
    XPost: news.software.nntp

    On 1/22/24 23:37, Julien ÉLIE wrote:
    Hi Salahuddin,

    Removed the header, but for simplicity I kept the newsgroup not
    moderated (for testing only).

    I assume, initially news moderator won't run a news-server, but use
    external news-server for submitting approved post.

    I am using external news-server to send the submission by adding
    "Approved:" header.

    OK, that sounds a more frequent case.



    But later, I realized if I want to post news I should have static IP
    which my news-server allowed to post news via rnews.

    Is there any alternative way news-server can allow any random IP to
    submit post via rnews.

    Why don't you just use inews instead of rnews?
    inews will send a POST command, and as "RPA" access has been allowed in readers.conf, posts with an Approved header field will be allowed.  This way, you can have any IP you want.

    Furthermore, the setting in incoming.conf is no longer necessary as you
    won't use IHAVE commands.


    Hi Julien,

    https://www.eyrie.org/~eagle/software/inn/docs/inews.html
    inews — Post an article to the local news server

    Is there any other inews you mean ?
    or
    If I configure /etc/news/inn.conf correctly, then this local news post
    to inews will be posted to remote news-server ?

    I am not quite clear about it.

    Thank you.

    Regards,
    Salahuddin

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Julien_=C3=89LIE?=@21:1/5 to All on Tue Jan 23 20:03:39 2024
    XPost: news.software.nntp

    Hi Salahuddin,

    https://www.eyrie.org/~eagle/software/inn/docs/inews.html
    inews — Post an article to the local news server

    Is there any other inews you mean ?

    I indeed meant this one.
    You can also use tinews.pl shipped with tin, which works pretty well and
    is actively maintained. (Looking at the contents of the Debian package, tinews.pl is not directly installed in /usr/bin but in /usr/share/doc/tin/tools/tinews.pl.gz so you'll need an extra step to uncompress it in the right directory. Too bad it is not installed by default...)


    If I configure /etc/news/inn.conf correctly, then this local news post
    to inews will be posted to remote news-server ?

    inews will post the article to the news server set in the "server"
    parameter in inn.conf.
    I've not tested that use case of posting to a remote server with inews,
    but it should normally work. Please tell if it does not.

    --
    Julien ÉLIE

    « Les amis de la vérité sont ceux qui la cherchent, et non ceux qui se
    vantent de l'avoir trouvée. » (Condorcet)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From salahuddin@21:1/5 to All on Wed Jan 24 00:01:07 2024
    XPost: news.software.nntp

    On 1/23/24 20:03, Julien ÉLIE wrote:
    Hi Salahuddin,

    https://www.eyrie.org/~eagle/software/inn/docs/inews.html
    inews — Post an article to the local news server

    Is there any other inews you mean ?

    I indeed meant this one.

    Hi Julien,

    You can also use tinews.pl shipped with tin, which works pretty well and
    is actively maintained.  (Looking at the contents of the Debian package, tinews.pl is not directly installed in /usr/bin but in /usr/share/doc/tin/tools/tinews.pl.gz so you'll need an extra step to uncompress it in the right directory.  Too bad it is not installed by default...)


    I will have a look.

    If I configure /etc/news/inn.conf correctly, then this local news post
    to inews will be posted to remote news-server ?

    inews will post the article to the news server set in the "server"
    parameter in inn.conf.
    I've not tested that use case of posting to a remote server with inews,
    but it should normally work.  Please tell if it does not.


    I think, I tested once/twice to post inews with "Approved:" header to my
    USENET provider. (They allowed my account to post with approved header.)

    I setup correct information in "inn.conf", but the post did not appear.
    Later, administrator suggested to use rnews.

    I will try to do a small test with inews in my local virtual servers.

    Thank you.

    regards,
    Salahuddin

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From salahuddin@21:1/5 to salahuddin on Tue Jan 30 00:07:37 2024
    XPost: news.software.nntp

    Hi Julien,

    On 1/24/24 00:01, salahuddin wrote:
    On 1/23/24 20:03, Julien ÉLIE wrote:

    You can also use tinews.pl shipped with tin, which works pretty well
    and is actively maintained.  (Looking at the contents of the Debian
    package, tinews.pl is not directly installed in /usr/bin but in
    /usr/share/doc/tin/tools/tinews.pl.gz so you'll need an extra step to
    uncompress it in the right directory.  Too bad it is not installed by
    default...)

    I will have a look.

    tinews.pl worked.

    I wrote a Perl script to fetch messages using IMAP from remote server.
    Then moderator can format the message and post using tinews.pl

    I added "Moderation without server" using IMAP.

    https://netuse.dynamicmalloc.com/usenet_mod_dev.html


    I will try to do a small test with inews in my local virtual servers.

    I could not find any option to specify host for inews.

    Thank you.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Julien_=C3=89LIE?=@21:1/5 to All on Tue Jan 30 19:45:24 2024
    XPost: news.software.nntp

    Hi Salahuddin,

    You can also use tinews.pl shipped with tin, which works pretty well
    and is actively maintained.  (Looking at the contents of the Debian
    package, tinews.pl is not directly installed in /usr/bin but in
    /usr/share/doc/tin/tools/tinews.pl.gz so you'll need an extra step to
    uncompress it in the right directory.  Too bad it is not installed by
    default...)

    tinews.pl worked.

    Glad to hear :)
    tinews.pl is a great tool.


    I will try to do a small test with inews in my local virtual servers.

    I could not find any option to specify host for inews.

    https://www.eyrie.org/~eagle/software/inn/docs/inn.conf.html

    """
    server

    The name of the default NNTP server. If nnrpdposthost is not set and
    UNIX domain sockets are not supported, nnrpd tries to hand off
    locally-posted articles through an INET domain socket to this server.

    actsync, getlist, inews, and nntpget also use this value as the default
    server to connect to. In the latter cases, the value of the NNTPSERVER environment variable, if it exists, overrides this. The default value is
    unset.

    """

    Just tested, and it works for me. I don't know why it does not for you.
    Maybe the easiest way is to just use the NNTPSERVER environment variable:

    % NNTPSERVER=news.eternal-september.org inews -h -P < test
    inews: cannot send article to server: 441 You are not allowed to post to fr.test
    inews: article not posted


    I do not have an account on that news server, so the error is normal.
    -h indicates that the article has headers, and -P to not add a Sender
    header field.

    --
    Julien ÉLIE

    « Le travail n'est pas une bonne chose. Si ça l'était, les riches
    l'auraient accaparé. »

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Urs =?UTF-8?Q?Jan=C3=9Fen?=@21:1/5 to salahuddin on Tue Jan 30 23:04:14 2024
    XPost: news.software.nntp

    salahuddin wrote:
    I added "Moderation without server" using IMAP. https://netuse.dynamicmalloc.com/usenet_mod_dev.html

    no need to install tin, tinews.pl can be fetched from <http://bzr.tin.org/tools/tinews.pl> <ftp://ftp.tin.org/pub/news/clients/tin/tools/tinews.pl>

    | Configure tin with server host, login, and password.
    ^^^ tinews.pl

    tinews.pl looks for a config in (first match counts)
    $XDG_CONFIG_HOME/tinewsrc
    $HOME/.config/tinewsrc
    $HOME/.tinewsrc
    as "option=value" configuration pairs, last match counts and only
    "value" is case sensitive. Available config options are those listed
    via tinews.pl --help --verbose. Env.-vars and cmd-line options do override
    the config settings. See "tinews.pl --help --verbose" and
    "pod2man tinews.pl | man -l -".

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From salahuddin@21:1/5 to All on Wed Jan 31 02:18:29 2024
    XPost: news.software.nntp

    On 1/30/24 19:45, Julien ÉLIE wrote:
    The name of the default NNTP server.  If nnrpdposthost is not set and
    UNIX domain sockets are not supported, nnrpd tries to hand off
    locally-posted articles through an INET domain socket to this server.

    actsync, getlist, inews, and nntpget also use this value as the default server to connect to.  In the latter cases, the value of the NNTPSERVER environment variable, if it exists, overrides this. The default value is unset.

    """

    Just tested, and it works for me.  I don't know why it does not for you. Maybe the easiest way is to just use the NNTPSERVER environment variable:


    NNTPSERVER=HOST_NAME inews -h -P -p 119 < post_to_send.txt

    Worked for me.

    Thank you.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From salahuddin@21:1/5 to All on Wed Jan 31 02:20:07 2024
    XPost: news.software.nntp

    On 1/31/24 00:04, Urs Janßen wrote:
    salahuddin wrote:
    I added "Moderation without server" using IMAP.
    https://netuse.dynamicmalloc.com/usenet_mod_dev.html

    no need to install tin, tinews.pl can be fetched from <http://bzr.tin.org/tools/tinews.pl> <ftp://ftp.tin.org/pub/news/clients/tin/tools/tinews.pl>

    | Configure tin with server host, login, and password.
    ^^^ tinews.pl

    tinews.pl looks for a config in (first match counts)
    $XDG_CONFIG_HOME/tinewsrc
    $HOME/.config/tinewsrc
    $HOME/.tinewsrc
    as "option=value" configuration pairs, last match counts and only
    "value" is case sensitive. Available config options are those listed
    via tinews.pl --help --verbose. Env.-vars and cmd-line options do override

    I added these changes.
    https://netuse.dynamicmalloc.com/usenet_mod_dev.html

    Thank you.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)