Commit Graph

197 Commits

Author SHA1 Message Date
Bryan Ashby 52585c78f0 Major changes around events, event log, etc.
* User event log is now functional & attached to various events
* Add additional missing system events
* Completely re-write last_callers to have new functionality, etc.
* Events.addListenerMultipleEvents()
* New 'moduleInitialize' export for module init vs Event specific registerEvents
* Add docs on last_callers mod
2018-07-21 14:32:06 -06:00
Bryan Ashby 013a947e15 Add release-info.asc used by some modern release groups 2018-07-15 19:18:44 -06:00
Bryan Ashby f4afe9847d Handle bad config.hjson at startup/re-cache: output to stderr 2018-07-02 19:32:27 -06:00
Bryan Ashby c894ed17ec Convert line endings when using Atr 2018-06-30 11:55:13 -06:00
Bryan Ashby b6e7ecb193 Atari Disk Image (.atr) support via (modified for now; PR open) atr tool 2018-06-29 22:40:13 -06:00
Bryan Ashby 5bb4f9b903 Fix archive util config reload 2018-06-23 21:02:16 -06:00
Bryan Ashby 1d8be6b014 Pardon the noise. More tab to space conversion! 2018-06-22 21:26:46 -06:00
Bryan Ashby e9787cee3e ENiGMA 1/2 WILL USE SPACES FROM THIS POINT ON VS TABS
* Really just to make GitHub formatting happy. Arg.
2018-06-21 23:15:04 -06:00
Bryan Ashby 1fe46894d3 More Hot-Reload related changes
* Config.get(): Returns the latest config
* Update code all over the place to use Config.get() vs Config.conf (which will be deprecated)
2018-06-20 19:57:06 -06:00
Bryan Ashby f3cd36ad07 Fix oputil hang 2018-06-17 15:14:31 -06:00
Bryan Ashby 4aab8224ed Initial version of hot-reload of config, menus, and prompts
* Themes use ES6 Map vs object{}
* Re-write and re-enable config cache using sane
* Events sent for config, prompt, or menu changes
* Event sent for theme changes
* Theme (or parent menu/prompt) changes cause re-merge and updates to connected clients
2018-06-13 21:02:00 -06:00
Bryan Ashby ccf29ea8d4 Force overwrite when extracting lha archives - they can contain dupes! 2018-06-02 17:09:43 -06:00
Bryan Ashby 3ecadebf91 Generic MIME types (file types) such as application/octet-stream can how have sub types for handlers (archive, info extract, ...)
+ Add Amiga DMS support via xdms
2018-06-02 16:06:04 -06:00
Bryan Ashby 83dd440219 Lzx / unlzx info 2018-06-01 19:32:00 -06:00
Bryan Ashby 37e5948f65 Add lzx archive support via unlzx 2018-05-31 20:58:24 -06:00
Bryan Ashby a0cd8fed83 Websocket config should be similar to web #176 2018-04-23 19:03:35 -06:00
Bryan Ashby 91bbc2e5fe DESCRIPT.ION generation disabled by default 2018-03-13 18:59:47 -06:00
Bryan Ashby 6311198f4d Schedule that actually is valid... 2018-03-12 22:55:10 -06:00
Bryan Ashby 0de98a673f Add DESCRIPT.ION export ability
* 4DOS style DESCRIPT.ION generated in storage areas @ weekly schedule by default
* Format can be controlled via templates; schedule can be changed or disabled, etc.
2018-03-12 22:18:09 -06:00
Bryan Ashby c3b62ac608 Some default long formats for theme helpers 2018-03-03 21:16:21 -07:00
Bryan Ashby ac1433e84b * Code cleanup and eslint since -- remove unused variables, clean up RegExs, so on... 2018-01-15 12:22:11 -07:00
Bryan Ashby e7b0e4af30 Add private exported + sent mail cleanup to trimMessageAreasScheduledEvent() scheduled event 2018-01-14 13:52:40 -07:00
Bryan Ashby 11a19d899e * Use per-network outbound for NetMail just like EchoMail
* Use BSO style FLO file for NetMail
* Some code cleanup
2017-12-31 18:45:39 -07:00
Bryan Ashby fc40641eeb NetMail avail to oputil & export - WIP 2017-12-31 17:54:11 -07:00
David Stephens b25b96d9de * Move default cert path into config
* Update docs to reflect changes
* More doc tweaks for new structure
2017-11-26 09:09:11 +00:00
David Stephens 521e38d7e9 Supply config path to main.js and oputil.js, rather than specific config file 2017-11-25 22:45:19 +00:00
David Stephens 32557975d9 Update mod paths in config.js 2017-11-24 23:33:45 +00:00
David Stephens 57d46dd57e Mega rejig! 2017-11-22 23:27:33 +00:00
Bryan Ashby f0b9cd102d Fix some year est issues & add ability for oputil fb scan --update to pick up years 2017-11-18 14:09:17 -07:00
Bryan Ashby af52ed6153 Better handling of TIC import descriptions
* Add descPriority config option (default='diz')
* Really prefer diz/ldesc over *generated* descriptions e.g. from filename or info extractors
2017-10-01 11:07:49 -06:00
Bryan Ashby 37c78209a8 Fix up system internal file areas 2017-09-26 10:39:07 -06:00
Bryan Ashby 88049a3c7a Prefer FILE_ID.ANS > FILE_ID.DIZ 2017-09-24 11:35:12 -06:00
Bryan Ashby b0260049ba Add VTX hyperlink support for URLs 2017-09-21 21:23:30 -06:00
Bryan Ashby 3980c8acae Add new file base system stats and MCI codes 2017-09-09 11:48:43 -06:00
Bryan Ashby 6f83d1075f Add some video file support 2017-08-27 16:25:32 -06:00
Bryan Ashby fa465613a1 Add packetMsgEncoding and packetAnsiMsgEncoding defaults 2017-08-20 20:37:10 -06:00
Bryan Ashby 983060284a WIP - will do later. Comic Book archive handling 2017-08-19 15:24:42 -06:00
Bryan Ashby d230a2f58b * Don't allow 'system' filters to be deleted
* Code cleanup
* Static UUID for "default/system" filters
2017-07-09 20:00:36 -06:00
Bryan Ashby 02d32a9e51 Add config getter 2017-06-11 20:23:12 -06:00
Bryan Ashby 74bab3d6c5 Better configuration for WebSockets 2017-05-30 21:31:35 -06:00
Bryan Ashby d0e2d41c00 Ability to scan single archive (e.g. compressed .pdf) -> extract useful description 2017-05-21 11:45:50 -06:00
Bryan Ashby 019596d709 Convert to using graceful-fs vs vanilla fs module 2017-05-19 21:20:19 -06:00
Bryan Ashby 54a7f4f774 * Lots of improvements to info extraction system
* MUCH faster browsing in file base
* Better release year estimation
* New tool: exiftool2desc
2017-05-19 18:41:13 -06:00
Bryan Ashby b8595f667d Short desc extraction for non-archives 2017-05-13 20:59:42 -06:00
Bryan Ashby 0e5d0c53d2 Use Config.fileTypes with mime-db backed MIME types; remove old archives.formats{} 2017-05-10 21:21:07 -06:00
Bryan Ashby 8ca0c31fb8 Add password blacklist "BADPASS.TXT" support. Using top 10k passowrds from https://github.com/danielmiessler/SecLists/ by default 2017-03-14 20:21:51 -06:00
Bryan Ashby 57dc7c91ef * TIC import support!!!
* reject/retain paths for FTN networks
* Fix bug in FileEntry.findFiles() with meta pairs
* New well known file meta - mostly related to TIC
* Index of file_sha256
* FileEntry.persist() can update entries
2017-03-08 22:37:02 -07:00
Bryan Ashby f5899bc10f * Bump version to 0.0.5-alpha
* Add email password reset support
2017-02-26 21:28:05 -07:00
Bryan Ashby 0ca2ca9bf2 * Add oputil import support for *.NA and AREAS.BBS 2017-02-20 11:31:24 -07:00
Bryan Ashby e70f28fffe * Use proper unrar for .rar riles (7za has issues)
* Fix short/long desc issues when filenames have paths
2017-02-17 21:56:28 -07:00
Bryan Ashby 6285193545 Very minor fixes 2017-02-16 20:53:14 -07:00
Bryan Ashby 849ab68de2 Add README.NOW support for long desc scan 2017-02-12 00:22:36 -07:00
Bryan Ashby 92772eb1a9 * Added ability to serve static files from web server
* Web server can have custom error pages, e.g. 404.html
* "file_area" stuff -> "file_base"
* Fix some rare bugs in theme/art loading
* Adjust tab order dynamically for file upload details
2017-02-04 09:20:36 -07:00
Bryan Ashby ff64a7aed5 * SEXYZ: XModem & YModem
* Explicit sort avail to protocols
* MenuView.removeItem()
* Natural sort for more things
* Fix some issues with HorizontalMenuView redraw/update
* Sanatize non-blind upload filename (security)
* Validator on non-blind upload filename
2017-02-01 19:42:27 -07:00
Bryan Ashby 8261881e3e Initial support for non-blind aka non-batch uploads 2017-01-31 23:10:17 -07:00
Bryan Ashby 807ca9bded Fix some year est regex's, add yyyy-mm-dd 2017-01-31 00:16:28 -07:00
Bryan Ashby 6f1015305b * Allow alternate matching group order for archive short/long desc
* max short/long desc file input byte size (ignore files larger than N)
* Add Arj support via 'arj'
2017-01-29 22:30:48 -07:00
Bryan Ashby 12d4c158c4 * ENiGMA now require Node.js 6.x LTS+
* Bump version to 0.0.4-alpha
* Update package dependencies
* Use modified node-buffers that does not use deprecated Array.get()
* Update lodash dependency to 4.x & convert to new methods/etc.
* Better 'noHistory' support for menu stack
* Fix bug in download queue init
* Misc code cleanup
2017-01-28 12:33:06 -07:00
Bryan Ashby 99036592ae * Bump version to 0.0.2-alpha: File Base alpha here
* LHA/LZH archive support via external lha command
* Nearly complete upload processor
* Set default file base filter if none is set
* Additional MenuModule common method/helpers
* MLTEV property: tabSwitchesView
2017-01-22 21:30:49 -07:00
Bryan Ashby 8d51c7d47c * Additional helpers to MenuModule
* Gzip signature (.gz)
* Switch to sha-256 vs sha1 for internal file hashes
* Nearly complete callback / scan update support for scanFile()
* Fix data input issue after performing upload
* Support 'sz' recv (uploads)
2017-01-21 22:09:29 -07:00
Bryan Ashby 1218fe65f9 Add new file scan year est regexp 2017-01-11 22:47:00 -07:00
Bryan Ashby a45142f2fd * Use more standard code paths & emit index events in ToggleMenuView
* Fix fetching areas & internal message attach area name
* Use proper config in new MenuModule methods
* More good progress on uploading
2017-01-01 21:53:04 -07:00
Bryan Ashby 0a92eec5e8 * WIP on upload support - protocols, modules, etc.
* Ability for KeyEntryView to only show specific/allowed keys
* Start moving/adding common methods to MenuModule vs boilerplate code
* menuFlags: String|StringArray: flags for menus, e.g. new 'noHistory' flag to prevent appending to history/stack
* New download stats/MCI codes
* Ability to redirect input stream to [protocols] temporairly
2016-12-31 14:50:29 -07:00
Bryan Ashby 6da7d557f9 * Improvements to ANSI parser
* Introduction of storage tags for file bases / areas
* Expiration for file web server items
* WIP work on clean ANSI (on hold for a bit while other file base stuff is worked on)
2016-12-06 18:58:56 -07:00
Bryan Ashby a7c0f2b7b0 * Add FileBaseFilters
* Add HTTP(S) file web server with temp URLs
* Get temp web d/l from file list
* Add File area filter editor (all file area stuff will be rename to file "base" later)
* Concept of "listening servers" vs "login servers"
* Ability to get servers by their package name
* New MCI: %FN: File Base active filter name
* Some ES6 updates
* VC resetInitialFocus() to set focus to explicit/detected initial focus field
* Limit what is dumped out when logging form data
2016-10-24 21:49:45 -06:00
Bryan Ashby 712cf512f0 * Add another year est regex
* Add queue file support
2016-10-14 21:57:02 -06:00
Bryan Ashby 806e6539f4 * Lots of improvements (WIP) to file browsing 2016-10-12 22:07:22 -06:00
Bryan Ashby 29947611f6 * New archives/archiver format - more flexible, more formats, etc.
* Add scanning inside archives ability, extract file_id.diz, etc.
* Initial year est (WIP) work
2016-10-05 23:22:59 -06:00
Bryan Ashby 61b0658743 Work on new archivers layout, short/long desc file discovery 2016-10-03 22:03:32 -06:00
Bryan Ashby 9593da5626 Additional work with archivers 2016-10-02 22:21:37 -06:00
Bryan Ashby ec716fdf2c * More file area utility methods/etc.
* Start adding oputil file-area --scan <areaTag> stuff
* New new ArchiveUtil.getInstance()
2016-10-02 21:40:37 -06:00
Bryan Ashby ac35d3506d File area updates WIP 2016-10-01 13:25:32 -06:00
Bryan Ashby 5a0b291a02 * Some WIP on file area releated stuff - various partially implemented pieces coming together
* Some changes to database.js: Triggers for FTS were not being created properly
* Misc fixes & improvements
2016-09-28 21:54:25 -06:00
Bryan Ashby caa9137162 * Move login servers to core/servers/login
* A bit of minor changes related to upcoming file areas --- will likely branch before anything major
* Clean up database.js a bit
2016-09-19 21:28:21 -06:00
Bryan Ashby d4d64f925d * Attempt to hide sensitive information by default (e.g. 'password' fields) in log
* New logger configuration - change logging: level -> logging: rotatingFile: level for current functionality
2016-09-04 17:46:28 -06:00
Bryan Ashby 9d46f23c66 Allow spaces in usernames by default 2016-09-01 23:39:49 -06:00
Bryan Ashby 51baba1f2a Add preAuthIdleLogoutSeconds 2016-08-21 19:59:21 -06:00
Bryan Ashby 787a855097 Auto-activation by default 2016-07-14 21:30:02 -06:00
Bryan Ashby 57180da398 Mods DB location 2016-06-25 22:37:02 -06:00
Bryan Ashby aafa3b68eb Run trim messages every 24 hours 2016-06-21 21:37:47 -06:00
Bryan Ashby 61c9a0d320 * Fix config.js & remove testing values 2016-06-20 14:11:37 -06:00
Bryan Ashby 36ce2354e3 * Functional event scheduler - still some to do, but works
* WIP on message area cleanup via scheduler
* Some const cleanup
2016-06-19 21:09:45 -06:00
Bryan Ashby 485dccfe11 SSH not enabled by default (Req's PK/pass in config) 2016-03-22 22:29:08 -06:00
Bryan Ashby 6094bed07f * Use node-temp for temp file creation, cleanup, etc.
* Lots of WIP on FTN BSO import
* Fix double callbacks in ArchiveUtil
* Impl ArchiveUtil.extractTo()
* Update bunyan
2016-03-03 22:54:32 -07:00
Bryan Ashby 5c324788fe * Minor work on FTN/BSO import
* Minor work on message network docs
2016-03-01 22:42:29 -07:00
Bryan Ashby 662d3f232e * Use key name for configured archiver name (e.g. "zip")
* Start WIP on mesasge import/toss via schedule
* Defaults for message network name
2016-02-29 22:32:51 -07:00
Bryan Ashby 76bbc43600 * Start work on FTN/BSO schedule via later.js
* Utilize last scan message ID to scan areas
* Lots of changes to FTN packet creation
* Create packets with target max size
* Create ArcMail bundles when configured to do so
2016-02-28 22:04:03 -07:00
Bryan Ashby 1417b7efdd * Fix messages with no origin line
* Fix end of message/termination detection for FTN packets
* Start of archive support -- one use will be FTN archives
* Work on FTN ArcMail/bundles
2016-02-23 21:56:22 -07:00
Bryan Ashby a858a93ee1 * FTN BSO module: Export to <domain>.<zone> dirs where appropriate
* Code cleanup
* Fix FTN packet header writing
* Add CHRS support to FTN packet I/O
* Change to FNV-1a hash of ms since 2016-1-1 ("enigma epoc") + message ID for MSGID serial number and <packet>.pkt BSO export
* Only write some FTN kludges for EchoMail (vs NetMail)
* If config specifies, call message network modoule(s) .record() method @ persist (WIP)
2016-02-20 17:57:38 -07:00
Bryan Ashby 74f5342997 * msg_network.js: Management of message network modules (start/stop/etc.)
* Minor updates to ES6 in some areas
* Better bbs.js startup seq
* Better iterator support for loadModulesForCategory()
* Start work on loading message network modules & tieing in record() (WIP)
* FTN PacketHeader is now a ES6 class
* Various FTN utils, e.g. Via line creation
2016-02-16 22:11:55 -07:00
Bryan Ashby dec78e942d * Reworked FTN packet I/O (WIP)
* Detect FTN packet 2, 2.2, and 2+
* Various FTN utils (MSGID, Origin, PID, generation etc)
* More work on message network readyness
2016-02-09 22:30:59 -07:00
Bryan Ashby 317af8419a Major commit for new message network WIP 2016-02-02 21:35:59 -07:00
Bryan Ashby 4fdd3dbbfe MAJOR CHANGE to theming system:
* Less complex
* Themes are only loaded once. Users share avail themes[] objects
* Themes are applied to configuration _once_
* Users can switch themes in configuration
* Other related improvements
2016-01-14 22:44:33 -07:00
Bryan Ashby ef047bc515 Use === for comparison 2016-01-04 23:33:03 -07:00
Bryan Ashby fe01a9f15e Additional max lengths for user properties 2015-12-24 11:51:49 -07:00
Bryan Ashby b53ad03ad0 Default to luciano_blocktronics for pre-login theme 2015-12-13 16:47:28 -07:00
Bryan Ashby 0d477210f9 Add Config.general.menuFile: Specify name or path of menu HJSON file. Defaults to menu.hjson in mods 2015-12-11 13:58:58 -07:00
Bryan Ashby 3ad43c07e8 * New user / apply crashes if no message areas defined #19 2015-11-20 23:46:48 -07:00
Bryan Ashby da460dfc7b * Change config.hjson path from ~/.enigma-bbs/config.hjson to ~/.config/enigma-bbs/config.hjson
* Note about first user being sysop
2015-11-12 16:18:28 -07:00
Bryan Ashby b6aa21b990 * Fix misc path 2015-11-06 18:30:08 -07:00