• Re: Questions about NNTP

    From freet@freet@aussies.space (The Free Thinker) to local.test,tilde.meta on Sun Jul 31 00:06:51 2022
    Cross-posting to tilde.meta.

    jacksonbenete@gmail.com wrote:
    So I've been thinking about it...

    I don't understand very much about NNTP, I'll soon look at the RFC's when I have some free time,
    but until then, some of you guys might know about it and might help me with the curiosity.

    Is there a way to set up a NNTP server that is "read-only"?
    In fact, I could make use of two possible options.

    1 - You can't create a new thread, but you can reply to one. (this would be the best)
    2 - You can't post at all, the server is a "read-only" news server.

    If this sounds absurd for some reason, let me explain:

    I've been planning to create a "blog engine", in fact, it'll be a minimalist website to post some ideas.
    I wish this website would be available over lynx as well.
    I could just try to structure the website using lists I guess, but I was planning to use some javascript
    to test another idea (even though I don't like javascript at all, but it's an experiment).

    So, for maintain compatibility, and the users to be able to both access via browser (the javascript interface)
    and also via lynx, I thought that maybe the engine could generate the blog posts as news over newsgroups.

    Everytime I make a new post, it would have a category (newsgroup) and it would create a message over there,
    so people could read my blog over lynx or another newsreader, as well as the users accessing via a browser
    (I would parse the messages and structure it as regular html page for those users).

    Alternatively I could just check the userAgent and deliver the site in a text-reader friendly format.
    But for a moment I thought that an engine that would produce both html and news content would be cool.

    This is an iteration of an idea I have posted before on BBJ, where I talked about an idea about a system
    that once written would generate content for multiple channels at the same time (gopher, rss, twitter, etc).

    I'm still thinking about it, so any ideas or suggestions are welcomed.

    In fact my domain is down (expired) and I don't know if I'll be able to recover it without paying a fortune...
    But I might create this blog engine anyways as a project to practice some Scala.

    Posting this using lynx is kind of cool, I just hope it works because that was a lot of text... hahaha

    The easy way to do this would be to simply create an RSS feed (or
    multiple for your different categories) and subscribe it to Gwene
    so that it appears as a newsgroup at news.gmane.io.

    The Perl scripts that run Gwene are open-source, so you could
    theoretically also run your own NNTP server that way: https://github.com/larsmagne/gwene/

    I'm thinking that figuring out how to set them up might take a lot
    of time though, unless there's documentation hidden somewhere.

    There have also been various web interfaces for NNTP implemented in
    the past. I collected a few in PHP a while ago, which I can dig up
    and list for you if you're interested.
    --

    - The Free Thinker | gopher://aussies.space/1/%7efreet/
    --- Synchronet 3.19a-Linux NewsLink 1.113
  • From freet@freet@aussies.space (The Free Thinker) to local.test,tilde.meta on Sun Jul 31 00:14:13 2022
    Jack <jacksonbenete@gmail.com> wrote:

    But I had this idea, it could be a newserver where everyone can post
    just fine, normally, but in the website, as a "blog" section,
    considering that I only want to show up things I have produced
    (mainly to avoid spam or potential malicious messages), I could find
    a way to filter the messages that I want to show up on the website/blog.

    All the other messages are still available to be read and replied into
    the news server itself.

    Initially I thought about to just filter and show up only the messages
    where the "from" is from me. But then I remembered that anyone could put
    any email in the "from" field, so it could be bypassed.

    So I might need to create a small database to record the message/file id
    when I'm the one creating it, so I can list only these ones on the website.

    This normally seems (from a client-side perspective) to be done
    using moderated groups, where only articles from the moderator/s
    are accepted. You could also potentially allow comments to your
    blog post to be posted as follow-ups and only block users from
    creating new subjects in those groups.

    In a basic implementation I guess you'd have to approve your own
    posts via the moderation interface, but no doubt more automated
    approaches are possible.
    --

    - The Free Thinker | gopher://aussies.space/1/%7efreet/
    --- Synchronet 3.19a-Linux NewsLink 1.113
  • From xwindows@xwindows@tilde.club to tilde.meta on Sun Jul 31 20:32:00 2022
    (This post is *NOT* cross-posted to tilde.club's local.test newsgroup
    since that's not a proper place for thread like this;
    so I might be speaking into the void, but I will speak anyway.
    For who are connecting through a different server, see [0]
    for original post in tilde.club's local.test which this is a reply to)

    On Sat, 30 Jul 2022, jacksonbenete wrote:

    I don't understand very much about NNTP,
    I'll soon look at the RFC's when I have some free time,
    but until then, some of you guys might know about it
    and might help me with the curiosity.

    I have once described this in #netnews IRC channel (of tilde.chat)
    on 26-Nov-2020, so I will just more-or-less copy that here,
    with extra note at the end...

    "What is netnews / how does it work?", Netnews could be described
    as a distributed text bulletin board. It works with a very basic principle: basically, when someone post a "newspost" to local server,
    that server would *broadcast* the post to the peered servers
    (subjecting to de-duplication rules and filtering of newsgroup)
    hop-by-hop, until all servers have a copy of that newspost.

    Once converged, each Netnews server would effectively be a mirror
    of each other (provided that they carry the same newsgroups)
    Which means user on each server could read/reply-to newsposts locally;
    even that inter-server connection is not always on, or super-expensive.

    It originated pre-Internet, where server-to-server peering
    were done through P2P dialup, via UUCP; once a day.

    Extra note: NNTP is a protocol which was introduced to allow aforementioned Netnews systems to propagate newsposts over TCP/IP network; it also has
    a second role of providing remote newreading/newsposting access to
    users as well. (In the original system, user ought to log in to each server, usually via a means of direct dial-up or Telnet, and read/post there)

    Is there a way to set up a NNTP server that is "read-only"?
    In fact, I could make use of two possible options.

    1 - You can't create a new thread, but you can reply to one.
    (this would be the best)
    2 - You can't post at all, the server is a "read-only" news server.

    If this sounds absurd for some reason

    No, that's not absurd. It's a use of appropriate technology;
    Netnews is *the* original (pre-)Internet protocol
    for public threaded text discussions.

    Not so long ago, I have used a phpBB web forum which is bolted
    on top of mailing list which participants can read/reply from both sides;
    and I thought of such thing as brilliant.

    However, doing such thing (whether with email or Netnews) come with
    certain shortcoming: you are not to allow editing a post;
    as you cannot change the emails that are already sent;
    and while Netnews has a provision for post editing (called "superseding"),
    it has no provision to guarantee propagation of edited post
    to servers other than its origin, much less to the individual news client.

    For the two options you discussed; one important part to note is
    that Netnews server, at the most basic level, do not really distinguish
    between original "post" or follow-up "reply"; it just treat everything
    as posts. In its nomenclature, each post (or reply) is called "article".

    To distinguish its thread-starter or thread-followup status,
    the newsreaders (yes, newsreaders, not news servers) would look
    inside each article and check for header called 'References`
    (or less commonly `In-Reply-To`) when they sort articles into tree view
    for user to see. So from now on, I'll use the term "article" to refer
    to Netnews post/reply.

    The option 2 is easily configured in any brand of Netnews server;
    for example: nntp://cosmic.voyage/ is read-only for the public.

    The option 1 is harder, one option that ~freet suggested [1]
    is using a moderated group like how it's done on USENET.
    I hadn't dug out how moderation is flagged or how the moderation address
    is communicated on the protocol or control message level yet:
    but the gist is the group will be essentially read-only for the public;
    but when someone post an article (whether being a thread-starter
    or follow-up), the client-facing Netnews server will send
    that article to your (moderator's) email instead, and you can choose
    to ignore it (if not a reply) or finally post it on Netnews
    with `Approved` header when you checked that it is a reply.

    But that is the USENET way, which have the amount of required
    hurdles in order to allow participation in decentralized way.
    However, I figured that your discussion server is just a *standalone* NNTP server that does *not* peer (receiving articles to/from) with any other
    NNTP servers, right?

    If that is the case, here comes an other option: you can simply just
    allow posting normally, and then configure your Netnews server to
    filter every incoming articles with a custom filter program.
    Then write that custom filter program to check every incoming article
    to make sure that `References` or `In-Reply-To` header exist
    and refer to at least one correct existing article message ID
    in the group before letting it through. (And reject the article
    if it doesn't)

    Then you can simply write a Netnews server config rule
    to make the articles that came from *inside* the server (e.g. the
    thread starter posted by you, or follow-up articles by your web interface)
    to not be subjected to that filtering. This way, you can have what you want without having to deal with authentication shenanigans or hurdles
    that are associated to actual moderation-based workflow. [2]
    (And this can also be the place that you generate the WWW part of
    each reply as well; in case that your WWW comment front exist
    in parallel rather than on top of Netnews discussion threads)

    If you would like an easy way out by using third-party service,
    then ~freet's suggestion of using Gwene [4] can be interesting.
    Not sure how well it works in regard of displaying syndicated content
    however, and you would now have a different kind of extra work
    if you would like to bridge that discussions back to the WWW side
    (which would now require a full NNTP client capability to do so).

    I've been planning to create a "blog engine", in fact,
    it'll be a minimalist website to post some ideas.
    I wish this website would be available over lynx as well.
    I could just try to structure the website using lists I guess,
    but I was planning to use some javascript
    to test another idea (even though I don't like javascript at all,
    but it's an experiment).

    So, for maintain compatibility, and the users to be able to
    both access via browser (the javascript interface)
    and also via lynx, I thought that maybe the engine
    could generate the blog posts as news over newsgroups.

    "access via browser" doesn't imply JavaScript. You are not supposed
    to use JavaScript for any part of the page that isn't
    inherently interactive; instead, provide bare-bone HTML navigation elements
    by default, and make script hijack these elements only when it
    actually managed to initialize all of the APIs it uses.

    (For Pete's sake, how come people have now completely forgotten
    about the "progressive enhancement" paradigm that have been prevalent
    up to at least the middle 2010s?)

    Alternatively I could just check the userAgent
    and deliver the site in a text-reader friendly format.
    But for a moment I thought that an engine that would produce
    both html and news content would be cool.

    Don't do U/A sniffing, that's just plain evil. I use featured graphical
    browser but with scripts/plugins disabled by default, and guess what
    my browser see on such sites? [5]

    This is an iteration of an idea I have posted before on BBJ,

    FWIW, I don't really participate in Tildeverse BBJ. [6]

    where I talked about an idea about a system that once written
    would generate content for multiple channels at the same time
    (gopher, rss, twitter, etc).

    That's good idea. My tilde site (read: my art site, see this post's
    signature) is HTTPS/HTTP/Gopher, with headings+summary Atom feed;
    but I'm currently authoring it in a fully-manual fashion,
    and without actual comment mechanism. I should really write a
    bespoke semi-automatic CMS for it someday at least.

    Regards,
    ~xwindows


    [0] "Questions about NNTP" [2022-07-30T00:52:00Z]
    <news:tc1vbg$3lq8i$1@tilde.club>
    <nntp://news.tilde.club/local.test/390>
    <https://tilde.club/~xwindows/tools/netnews/groups/?local.test/390>

    [1] "Re: Questions about NNTP" [2022-07-31T00:14:03Z]
    <news:tc4hgl$36e6h$2@tilde.club>
    <nntp://news.tilde.club/tilde.meta/271>
    <https://tilde.club/~xwindows/tools/netnews/groups/?tilde.meta/271>

    [2] The concept is here, when applied to USENET at large:
    <https://www.big-8.org/wiki/Moderated_Newsgroups>

    How-To is here:
    <https://www.eyrie.org/~eagle/usefor/other/moderators-handbook>

    How to configure moderation route for standlone INN2 Netnews server:
    <https://www.eyrie.org/~eagle/software/inn/docs-2.7/moderators.html>
    (Or see `man 5 moderators` on the machine with such server)

    [3] Apart from [2], the associated problems with full-moderation
    workflow are here:
    <https://www.eyrie.org/~eagle/faqs/mod-pitfalls.html>

    You can do an automated (not-really-)"moderation" of course
    by just automatically posting the article received if it fit
    certain header criteria. If your server don't peer, that is still
    an extra hurdle (and your server got to have a fully-functional
    email inbox), compared to just having a filter than run in
    the server's post queue.

    [4] "Re: Questions about NNTP" [2022-07-31T00:06:51Z]
    <news:tc1vbg$3lq8i$1@tilde.club>
    <nntp://news.tilde.club/tilde.meta/270>
    <https://tilde.club/~xwindows/tools/netnews/groups/?tilde.meta/270>

    [5] Tildeverse mailing list archive service <https://lists.tildeverse.org/>
    (actual archive view powered by HyperKitty)
    is one of the sites with such obnoxious U/A discrimination behavior.
    Unbrowsable archive is *the* reason that I don't use Tildeverse
    mailing list and swear by Netnews instead.

    If you don't get what I said, try viewing
    <https://lists.tildeverse.org/hyperkitty/list/tildeclub@lists.tildeverse.org/thread/H6TAMR7UZ4ORBMT7JQJ7WFD6DQV2SUDJ>
    in a graphical browser (but with JavaScript *disabled*) and see
    if you can actually see any post other than the thread starter.
    Once you're done, try using W3M to view the same URL
    and check the same thing again, then finally try using Lynx to view it.

    [6] Reasons in following post's footnote number 7:
    "Re: What do you use Tildes for? [Tilde.club]" [2022-04-30T11:46:23Z]
    <news:94de2eff-2a93-48b6-aae4-c3229c4b48a9@tilde.club>
    <nntp://news.tilde.club/tilde.meta/219>
    <https:///tilde.club/~xwindows/tools/netnews/groups/?tilde.meta/219>
    --
    xwindows' gallery of freely-licensed artworks
    https://tilde.club/~xwindows/ http://tilde.club/~xwindows/ gopher://tilde.club/1/~xwindows/
    --- Synchronet 3.19a-Linux NewsLink 1.113
  • From vort3@vort3@tilde.team to local.test,tilde.meta on Tue Dec 12 10:31:05 2023
    On 2022-07-31, The Free Thinker <freet@aussies.space> wrote:
    The easy way to do this would be to simply create an RSS feed (or
    multiple for your different categories) and subscribe it to Gwene
    so that it appears as a newsgroup at news.gmane.io.

    There is also Feedbase (feedbase.org), it's an RSS to NNTP gate.
    You can't post there but can follow up on news.

    --- Synchronet 3.19a-Linux NewsLink 1.113