Commit Graph

204 Commits

Author SHA1 Message Date
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
Bryan Ashby 2423a00d05 * Add misc to path creation 2015-11-06 17:15:05 -07:00
Bryan Ashby 5bd95255a3 * User.isGroupMember() can now take a string or array of strings to check
* Add WELCOME2.ANS
* Disallow "all" as a username
* Check group membership when switching areas
2015-11-04 23:04:55 -07:00
Bryan Ashby c5a094d8ff * Lots of mods/art/* file cleanup
* doortoomany.ans -> DOORMANY.ANS
2015-10-27 21:12:55 -06:00
Bryan Ashby 349549fae2 * Add .gitignore
* Use 'privateKeyPem' and 'privateKeyPass' for SSH
2015-10-27 20:46:30 -06:00
Bryan Ashby 4988559569 * Fix 'newMark' -> 'newIndicator' in message list
* Better Telnet trace filter similar to SSH
2015-10-22 13:01:16 -06:00
Bryan Ashby e9836e18db * New user reserved names now direct to applicaiton process for SSH 2015-10-22 12:22:03 -06:00
Bryan Ashby 93cff52c1f * Allow SSHPMPT.ASC for displaying SSH/secure app info/instructions 2015-10-22 11:04:50 -06:00
Bryan Ashby 4a22ce0924 * Servers now define 'firstMenu'. This allows e.g. SSH to pre auth, while Telnet still gets the matrix 2015-10-22 10:36:08 -06:00
Bryan Ashby ad4eea6ba7 * SSH is now functional for 'ssh', PuTTY, SyncTerm, EtherTerm, and hopefully most others
* Explicit detect of syncterm as ANSI
* Add serverType (TELNET, SSH) MCI: %ST
2015-10-21 22:51:35 -06:00
Bryan Ashby a3e37293f4 * WIP on customization of .config blocks
* getThemeArt() updated with new fallback mechanism (theme -> default theme -> art generic)
2015-09-27 22:05:40 -06:00
Bryan Ashby 870e5a9136 * Update modules
* Remove lingering strip-json-comments
2015-09-10 13:38:36 -06:00
Bryan Ashby ca4b99a83e * Convert all JSON configurations (*.json) to HJSON (*.hjson) which is much more flexible for a human readable and editable configuration format
* WIP "next" vs "action" changes
* options.cls is now defaulted in config.js/config.hjson (default = true)
* Notes/etc.
2015-09-08 22:08:45 -06:00
Bryan Ashby 1f3948d84c * Menus can specify status
* WIP changes of message loading in viewer - can now do next... WIP!!!
2015-09-06 15:58:58 -06:00
Bryan Ashby 8b3b36fd83 * Add dateTimeFormat 2015-09-01 22:42:54 -06:00
Bryan Ashby 150bd5778a * Switch to JSON/config.json based user groups, and user group membership 2015-08-20 22:29:16 -06:00
Bryan Ashby d69d00a14b * Cleanup related to message area IDs / database -> JSON format and names 2015-08-20 17:00:35 -06:00
Bryan Ashby 35de0a2487 * Initial work on moving to JSON configured Message Areas (vs ID's in SQLite). This will be applied to user groups, and other types as well such that JSON can simply be edited in config.json
* Hopefully better/proper merge of config.js + config.json => config
2015-08-20 16:35:04 -06:00
Bryan Ashby 82f3bc7601 * Use lodash for Config.js / config.json merge 2015-08-05 22:22:17 -06:00
Bryan Ashby 8d1fac41a9 * User idle timeout
* Only allow one session per user at a time
* user 'timestamp' property -> 'account_created'
* Better User.getLegacySecurityLevel() using group membership
* Client connection management -> client_connections.js
* Minor changes & cleanup
2015-08-04 22:35:59 -06:00
Bryan Ashby 144aa6b351 * More WIP on door support. Proof of concept mostly functional-ish for at least Pimpwars :) 2015-08-02 18:27:05 -06:00
Bryan Ashby 35a99b7e3e * Fix short timeFormat
* Pause prompts now support MCI codes using View Controller
* View Controller 'noInput' option for read-only/viewable but no interaction
* Ability to omit final trailing CRLF's in ANSI's
* Move asset.displayArtAsset -> theme.displayThemedAsset
2015-07-25 16:10:12 -06:00
Bryan Ashby 8b5152d66f * WIP pause prompt
* prompt.json::prompts::pause is now a standard/required prompt
* CT for current time MCI
* Fix up config/theme defaults.dateTimeFormat -> dateFormat & timeFormat
2015-07-23 22:23:44 -06:00
Bryan Ashby 4288c5b2e9 * A few fixes to standard MCI codes
* Load user groups properly
* Configurable/themeable date time formats
2015-07-22 21:35:35 -06:00
Bryan Ashby 81e684cdcc * Work on Renegade style pipe codes
* Change age -> birthday
* Minor tweaks and tests
2015-07-20 22:56:48 -06:00
Bryan Ashby 5e55ce4bee * Some WIP FTN packet processing 2015-07-14 00:13:29 -06:00
Bryan Ashby 30b98e9e3b * Some notes
* Placeholder menu editor module
2015-06-24 22:45:21 -06:00
Bryan Ashby a96af34a20 * Lots of code cleanup
* New standard MCI codes for labels
* WIP MaskEditTextView
* Extra styles for EditTextView
2015-05-14 23:01:00 -06:00
Bryan Ashby 1a1dd53ca1 * Moved themes from mods/art/themes > mods/themes/ 2015-05-14 16:49:19 -06:00
Bryan Ashby 34bf823f1f * Some solid progress on themeing / customization via theme.json 2015-05-13 22:21:55 -06:00
Bryan Ashby 2aa43295e3 * Start on new theme re-work
* theme_info.json -> theme.json
* Allow pipe codes for styleSGRx
2015-05-12 23:04:22 -06:00
Bryan Ashby a7f9e3846e * WIP on user groups
* Minor changes to user credential prompt
2015-05-11 16:39:28 -06:00
Bryan Ashby d5017203ac * WIP experimental pausing for ANSI/art 2015-05-03 21:36:53 -06:00
Bryan Ashby 7a643150e7 * Fixed double extra view redraws
* Redraw views when all of them are ready @ MCI init
* Moved a lot of properties of views to menu.json/prompts
* Allow scrolling editor for EditTextView
* New @config:path.to.property for menu.json view properties/etc.
2015-04-26 20:46:16 -06:00
Bryan Ashby ca2274dcf5 * Not much. Will start on DEMO mode for View development, etc. 2015-04-24 16:54:25 -06:00
Bryan Ashby bac2f63c1a * Tons of work with menu/prompts refactoring -- more to come soon
* More work with menu/prompt accets
2015-04-19 02:13:13 -06:00
Bryan Ashby 5faa11664b * Lots of work with fonts: Support mappings of various cterm/SyncTERM fonts.
* Load font info from SAUCE
* Better work with defaults & theme values
2015-04-16 22:29:53 -06:00
Bryan Ashby 586f3d60b3 * ButtonView is now MCI BT. BN is pre-defined "Board Name"
* Client current theme info loaded & used for e.g. passwordChar
* Code cleanup
2015-04-15 22:46:45 -06:00
Bryan Ashby 5eee568586 * Apply now semi functional 2015-04-14 22:27:07 -06:00
Bryan Ashby efcc8756ba * WIP Menu system vs raw module access 2015-03-22 22:52:04 -06:00
Bryan Ashby f7462bbbdd + Concept of PluginModule and inherited classes such as ServerModule, MenuModule, ...
* Client now tracks current menu module. Auto detach events, etc.
2015-03-18 23:08:23 -06:00
Bryan Ashby d3e35d286a * Start real work on SSH using ssh2 module 2015-03-16 22:41:14 -06:00
Bryan Ashby edc8266310 * A bit of work on VerticalMenuView
* Inheritance updates for Views
* Fixes and better handling of MCI factory
2014-10-31 16:25:11 -06:00
Bryan Ashby c3aa4c44e2 + Start work on MenuView & friends
* connect.js no longer a module. Part of initial connection always
* Cleaner & expandable BBS init
* Better theme handling
2014-10-30 22:59:21 -06:00
Bryan 14a321de2f * Work on themes. Ability to use ANSI to detect screen size if NAWS/etc. fail 2014-10-29 05:30:20 -06:00
NuSkooler 1ef9a4a1ce * Code cleanup. WIP theme stuff. Better CPR handling, etc. 2014-10-29 22:23:44 -06:00
NuSkooler 7a3e375f5d * Start work on database & users 2014-10-19 23:30:44 -06:00
NuSkooler 9a7e90b9b2 + Initial source checkin 2014-10-16 20:21:06 -06:00