Short: nodelist browser+netmail door for C-Net Author: spitfiretn@gmail.com (Gary McCulloch / https://www.rofbbs.com) Uploader: spitfiretn gmail com (Gary McCulloch / SpitfireTN Entertainment) Type: comm/bbs Version: 2.18 Requires: C-Net/5 Professional BBS, ARexx, rexxsupport.library Architecture: generic Distribution: Freeware NODEINFO Nodelist Mailer - an FTN nodelist browser + netmail door for C-Net/5 =============================================================================== DESCRIPTION =============================================================================== NodeInfo (on-screen title: "Nodelist Mailer") is an ARexx door for C-Net/5 Professional BBS that lets callers browse whatever FidoNet Technology Network (FTN) nodelists your board carries, and jump straight into netmail addressed to any node they find - without you hand-editing the door every time you add, drop, or rename a network. FEATURES - Automatically discovers every network your board carries by reading the Zone,/Host,/Region, header lines straight out of your Nodelist: directory at run time. Nothing about which networks you carry, or their hub addresses, is hardcoded - point this at any C-Net/5 board's Nodelist: directory and it just works, unmodified. - Main menu: list every zone/network HQ found, browse any one network by area instead of dumping the whole nodelist at once, or list which nodelist files are currently compiled in (with each file's own release date pulled straight from its header). - Per-network submenu: zone coordinator info, a full system listing for just that one network, and a free-text node search. - Search for a Node looks a node up directly and, if it has a sysop name on file, offers to send it netmail on the spot - answering Yes drops the caller straight into C-Net's own Mail composer, already addressed as "Handle@zone:net/node" (the same mechanism/format PFiles:Netmail/apro.rx uses), so they just write the message. - [?] Quick Help on every menu shows install-guide-quality help without leaving the door, and doubles as the text shown by the BBS's own "?" help lookup at the main prompt - one file, no duplication. - Every selection is a single keypress - no Enter needed - including List Networks' zone picker, which uses a 1-9-then-A-Z hotkey scheme (Q reserved for Back/Quit) so it still works with more than 9 networks. - Self-contained and portable: every file this door touches (its own banner artwork, its help text) is referenced relative to wherever you install the NodeInfo/ folder, not hardcoded to this BBS's paths. Drop the whole folder anywhere and update one bbsmenu line - see INSTALLATION below. - Long listings page 20 lines at a time with a Continue/Quit prompt, so a big network (hundreds of nodes) doesn't just scroll off the top of the screen. - Nearly fully self-contained: everything except Zone Coordinator Info (H) reads your Nodelist: files directly rather than shelling out to third-party nodelist utilities (several of which have their own long-standing display bugs this works around by not relying on them). H uses Mail:bin/getnode for the hub's connection flags - that ships with every C-Net/5 board, so it's not an extra dependency. - The actual nodelist scanning (discovering networks, listing systems, searching for a node) runs through nihelper, a small compiled helper included right alongside nodeinfo.rexx, instead of ARexx re-parsing every line itself - noticeably faster on a big nodelist (FidoNet's alone is well over 100KB). ARexx still drives every screen, keypress, color, and the netmail hand-off - nihelper only does the file scanning and hands results back through a temp file, so none of the door's actual behavior changes, it's just quicker. INSTALLATION =============================================================================== 1. Copy the entire NodeInfo/ folder (nodeinfo.rexx, nihelper, sys.banner, nodeinfo.help) to PFiles: on your board - e.g. PFiles:NodeInfo/. It can live anywhere ARexx can reach; PFiles: just matches where this door ships from. nihelper must keep executable permission after copying (it's a compiled program, not a script) - if your archiver/transfer method strips that, run "Protect PFiles:NodeInfo/nihelper +e" (or set it however your Amiga OS/archiver expects) before running the door. 2. Add a line to your bbsmenu (wherever you keep your other PFile/door entries) pointing at it: NODEinfo `2- | #0 PFiles:NodeInfo/nodeinfo.rexx} NODEinfo is the command callers type (NODE is the required part, INFO optional); `2- restricts it to access level 2 and up - adjust or drop that to match your own board's access scheme. Change the path if you installed the folder somewhere other than PFiles:NodeInfo/. 3. (Optional, recommended) Copy nodeinfo.help to SysText:help/nodeinfo (drop the .help extension) so the BBS's own "?" help lookup at the main prompt also shows it, in addition to the door's in-door [?] Quick Help - which works either way, since it reads its own bundled copy. 4. That's it - no configuration file, no editing required. The door reads your actual Nodelist: directory fresh every time it's used, and discovers whatever networks you carry on its own. FILES INCLUDED =============================================================================== nodeinfo.rexx Main ARexx door nihelper Compiled m68k-AmigaOS helper - does the actual Nodelist: file scanning, called by nodeinfo.rexx sys.banner Title-screen artwork shown on the main menu nodeinfo.help Help text - shown in-door via [?], and optionally installable to SysText:help/nodeinfo too (see INSTALLATION step 3) readme.txt This file File_ID.DIZ Short archive-listing blurb REQUIREMENTS =============================================================================== - C-Net/5 Professional BBS (tested against a recent build; should work on any C-Net/5 release with a Nodelist: assign and standard FTN- format nodelist files). - ARexx, with rexxsupport.library available (standard on any system already running C-Net/5's ARexx door interface). - A populated Nodelist: assign containing standard FTN nodelist files (Zone,/Region,/Host, header format). Works with any mix of networks; nothing here assumes FidoNet specifically. - Mail:bin/getnode, for the Zone Coordinator Info (H) option only - ships standard with C-Net/5, so this shouldn't need any extra install step on a real C-Net/5 board. - AmigaDOS's Shell/command support (standard on any Amiga - this is what runs nihelper and captures its output). No fifo-handler or other special DOS-door setup needed; nihelper is invoked as a plain background helper, not as a door in its own right. - nihelper is precompiled and included - you don't need a compiler to use this door. If you want to rebuild it from source yourself, it was built with bebbo's m68k-amigaos-gcc (-mcrt=nix13), the same toolchain/convention as this SysOp's other Aminet releases (AmiBinkD, RoFTIC). VERSION HISTORY =============================================================================== 2.18 - Fixed a runtime error (ARexx Error 18/16) in RUNHELPER's temp- filename generation - random(1000,9999), added unnecessarily for uniqueness, was rejected by this ARexx. Dropped it in favor of time('s') alone, already used the same way everywhere else in this door. 2.17 - Fixed Options 1/2 still coming up empty after 2.16 - the real problem was ADDRESS COMMAND itself (most likely not permitted from inside a CNet ARexx door), not redirection or argument handling. nihelper is now run via the same {#4 f} MCI directive Mail:bin/getnode already used successfully. 2.16 - Fixed List Network HQ's / List Networks coming up completely empty: nihelper now takes its output path as a real argument and writes to it directly, instead of relying on '>' shell redirection through ADDRESS COMMAND to capture its output. 2.15 - The nodelist scanning itself (network discovery, system listings, node search) now runs through nihelper, a small compiled C helper included alongside the door, instead of ARexx re-parsing every line - noticeably faster on a large nodelist. Every screen, keypress, color, and the netmail hand-off still runs entirely in ARexx, unchanged - nihelper only replaces the file-scanning loop. Also tightened the search-input sanitizer to an allowlist (digits/colon/slash only), since search input now reaches an actual shell command line rather than just an MCI directive argument. 2.14 - Fixed a zone coordinator address bug (Region, line's number picked up instead of the real Host, line's number when a zone has both). Every menu selection is now a single keypress, no Enter needed. On-screen title changed to "Nodelist Mailer". 2.13 - Static title-screen banner. Added [?] Quick Help, in-door and via the BBS's own "?" lookup, from the same file. 2.12 - "Search for a Node" became self-contained (no more shelling out to Mail:bin/getnode for it), and can now hand the caller straight into netmail addressed to the node it finds. 2.00 - Full rewrite: dynamic network discovery (no hardcoded network list or hub addresses), boxed/colored menu screens, paginated listings, self-contained node search and coordinator lookup. 1.00 - Original static 5-option version. DISTRIBUTION =============================================================================== Freeware. Use it, modify it, share it - a credit is appreciated but not required. No warranty of any kind; back up your PFiles: directory before installing anything on a live board, as always. CONTACT =============================================================================== Gary McCulloch (SpitfireTN Entertainment) https://www.rofbbs.com - telnet://call.rofbbs.com:6800 - ssh call@call.rofbbs.com