Discussion:
NEWSGROUP MODERATION DEV GUIDE
(too old to reply)
salahuddin
2024-01-21 18:12:07 UTC
Permalink
____________________________________________

NEWSGROUP MODERATION TOOL DEVELOPERS GUIDE

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>
| 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$***@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$***@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>
| Newsgroups: demo.comments
| Date: Fri, 5 Jan 2024 21:29:04 -0000 (UTC)
| Subject: test2
| Message-ID: <unb5kg$19e$***@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 ***@example.com
| X-SCRM-Info-2: Send technical complaints to demo-***@example.com
| X-SCRM-Info-3: Send complaints about policy to demo-***@example.com
| X-Comment: moderators do not necessarily agree or disagree with
this article.
| X-Robomod: YOUR_MODERATION, ***@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 ***@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 ***@EMAILHOST
'USENETMOD <***@YOUR_DOMAIN>' -a 'Newsgroups: YOUR_NEWSGROUP'
`----


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

Develop YOUR_INCOMING_MAIL_HANDLER to moderate newsgroup posts.
Julien ÉLIE
2024-01-21 20:53:43 UTC
Permalink
Hi Salahuddin,
  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. »
salahuddin
2024-01-21 23:47:58 UTC
Permalink
Hi Julien,
Post by Julien ÉLIE
   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.
Post by Julien ÉLIE
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 <***@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>
| 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$***@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>
| Newsgroups: demo.comments
| Date: Fri, 5 Jan 2024 21:29:04 -0000 (UTC)
| Subject: test2
| Message-ID: <unb5kg$19e$***@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 ***@example.com
| X-SCRM-Info-2: Send technical complaints to demo-***@example.com
| X-SCRM-Info-3: Send complaints about policy to demo-***@example.com
| X-Comment: moderators do not necessarily agree or disagree with
this article.
| X-Robomod: YOUR_MODERATION, ***@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 ***@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 ***@EMAILHOST
'USENETMOD <***@YOUR_DOMAIN>' -a 'Newsgroups: YOUR_NEWSGROUP'
`----


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

Develop YOUR_INCOMING_MAIL_HANDLER to moderate newsgroup posts.
Julien ÉLIE
2024-01-22 17:58:57 UTC
Permalink
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. »
salahuddin
2024-01-22 22:30:09 UTC
Permalink
Post by Julien ÉLIE
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
Julien ÉLIE
2024-01-22 22:37:45 UTC
Permalink
Hi Salahuddin,
Post by 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.
Post by salahuddin
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)
salahuddin
2024-01-22 23:24:37 UTC
Permalink
Post by Julien ÉLIE
Hi Salahuddin,
Post by 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.
Post by salahuddin
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
Julien ÉLIE
2024-01-23 19:03:39 UTC
Permalink
Hi Salahuddin,
Post by 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...)
Post by salahuddin
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)
salahuddin
2024-01-23 23:01:07 UTC
Permalink
Post by Julien ÉLIE
Hi Salahuddin,
Post by 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,
Post by Julien ÉLIE
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.
Post by Julien ÉLIE
Post by salahuddin
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
salahuddin
2024-01-29 23:07:37 UTC
Permalink
Hi Julien,
Post by salahuddin
Post by Julien ÉLIE
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
Post by salahuddin
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.
Julien ÉLIE
2024-01-30 18:45:24 UTC
Permalink
Hi Salahuddin,
Post by salahuddin
Post by salahuddin
Post by Julien ÉLIE
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.
Post by salahuddin
Post by salahuddin
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é. »
salahuddin
2024-01-31 01:18:29 UTC
Permalink
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.
NNTPSERVER=HOST_NAME inews -h -P -p 119 < post_to_send.txt

Worked for me.

Thank you.
Urs Janßen
2024-01-30 23:04:14 UTC
Permalink
Post by salahuddin
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 -".
salahuddin
2024-01-31 01:20:07 UTC
Permalink
Post by Urs Janßen
Post by salahuddin
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.

Loading...