Commit Graph

896 Commits

Author SHA1 Message Date
Bryan Ashby 1bad0de5c1 Major improvements to quote builder for pre-formatted text/etc. 2017-08-27 20:08:13 -06:00
Bryan Ashby 6f83d1075f Add some video file support 2017-08-27 16:25:32 -06:00
Bryan Ashby f6f3f8d80e ANSI replies are now importing to Mysgic correctly!
* Removed XX> prefix when in ANSI reply mode -- this borks Mystic/others
* Hard code CRLF in text lines in ANSI replies - no longer try to "flow" the text (no other systems support this)
2017-08-27 11:17:29 -06:00
Bryan Ashby d132f3932a Prepare exported ANSI messages by ensuring they are < 79 characters in length, using ESC[A ESC[<N>C to adjust long lines 2017-08-26 20:37:20 -06:00
Bryan Ashby 968a22c5eb Silence warning 2017-08-26 20:26:41 -06:00
Bryan Ashby 4914bb9003 Add getFullMatchRegExp(): This will be used elsewhere eventually 2017-08-26 19:59:26 -06:00
Bryan Ashby c58f9a6510 Tearline handling 2017-08-24 22:23:14 -06:00
Bryan Ashby 59716da4d0 Better quote builder 2017-08-24 22:21:37 -06:00
Bryan Ashby dda4ad6698 Fix some prepAnsi code, add insert() method 2017-08-24 22:20:44 -06:00
Bryan Ashby fc200250e8 Better quote prefix generator 2017-08-24 22:20:07 -06:00
Bryan Ashby dc39998841 Fix some breakage caused by word wrapping with ESC seqs 2017-08-24 22:18:07 -06:00
Bryan Ashby d47f26004d DESCRIPT.ION support for oputil fb scan 2017-08-24 20:22:50 -06:00
Bryan Ashby f54ae16ce4 Fix > termHeight issue in parser 2017-08-22 20:54:04 -06:00
Bryan Ashby 2b83630431 * Explicit encoding handling
* Word wrap with ANSI in FSE
2017-08-20 20:42:25 -06:00
Bryan Ashby b3ce44ae42 Add explicit_encoding System meta 2017-08-20 20:41:53 -06:00
Bryan Ashby f45de620b1 Utilize explicit_encoding at export if set 2017-08-20 20:41:19 -06:00
Bryan Ashby bf8552e24f * Better isAnsi() regex
* Handle word wrap within ANSI on plain text lines
2017-08-20 20:40:36 -06:00
Bryan Ashby fa465613a1 Add packetMsgEncoding and packetAnsiMsgEncoding defaults 2017-08-20 20:37:10 -06:00
Bryan Ashby b922f54024 Remove extra reset in ESC seq 2017-08-20 20:34:18 -06:00
Bryan Ashby b1bd7cef65 If reply is ANSI, ensure first few chars of message show that -- for detection 2017-08-19 15:25:05 -06:00
Bryan Ashby 983060284a WIP - will do later. Comic Book archive handling 2017-08-19 15:24:42 -06:00
Bryan Ashby 9eec1c1528 Remove dead code, return if ANSI was detected from quote builder 2017-08-19 15:24:23 -06:00
Bryan Ashby c63a32a9ba Handle lack of command in odd state 2017-08-19 13:59:09 -06:00
Bryan Ashby c7ff033737 Assert we have a buffer 2017-08-19 13:57:02 -06:00
Bryan Ashby 2711f892a2 Handle 'error' SSH event 2017-08-19 13:56:42 -06:00
Bryan Ashby 0ebf839822 Fix undefined ref 2017-08-18 21:50:41 -06:00
Bryan Ashby b896046bff Add 'auto' support for prepAnsi() rows/height 2017-08-17 21:31:57 -06:00
Bryan Ashby 8a619b5138 Remove rest to text in MLTEV for now 2017-08-17 21:14:05 -06:00
Bryan Ashby a7060a351b ANSI improvements
* ANSI in FSE
* ANSI vs standard quote builder
* ANSI handling methods/helpers
2017-08-16 21:36:14 -06:00
Bryan Ashby 353b18ffad Remove unused code 2017-08-16 21:35:03 -06:00
Bryan Ashby d674370d6d Detect VTX terminal 2017-08-16 21:34:36 -06:00
Bryan Ashby 3f4ce1c0f4 Merge branch 'master' of ssh://numinibsd/git/base/enigma-bbs into 0.0.7-alpha 2017-08-14 21:22:36 -06:00
Bryan Ashby b7ca78ebc4 Fix WebSocket disconnect 2017-08-14 21:22:03 -06:00
Bryan Ashby 278eb8e7cf setAnsi() method, various cleanup and optimizations 2017-08-06 11:32:32 -06:00
Bryan Ashby 70a53e9613 Nothing really 2017-08-06 11:31:56 -06:00
Bryan Ashby 0a079ee4d8 Display ANSI in file area desc view 2017-08-06 11:31:21 -06:00
Bryan Ashby 9cb31367fd Mask out key/authCode from log 2017-08-06 11:22:37 -06:00
Bryan Ashby 941b180227 Remove unused & commented table 2017-08-06 11:22:15 -06:00
Bryan Ashby 254b5712be Fixes to ANSI escape parser @ end of row 2017-08-06 11:21:27 -06:00
Bryan Ashby 9720258303 Merge branch 'master' of github.com:NuSkooler/enigma-bbs into 0.0.7-alpha 2017-08-06 10:33:53 -06:00
Bryan Ashby d5954f8198 #118: Crash on STDIO doors when logged in via WebSocket 2017-08-06 10:20:55 -06:00
Bryan Ashby 848b0f7cf6 EnigAssert() vs assert() and fix a logging issue 2017-07-30 14:31:16 -06:00
Bryan Ashby 84c0614dcd Merge branch 'master' of ssh://numinibsd/git/base/enigma-bbs into 0.0.7-alpha 2017-07-25 19:30:25 -06:00
Bryan Ashby e5ea457db0 Update to send proper term size for pty 2017-07-25 19:30:03 -06:00
Bryan Ashby ab81b247c6 Fix file newscan pointer 2017-07-23 18:11:33 -06:00
Bryan Ashby 429e03185c Merge from master 2017-07-23 13:05:28 -06:00
Bryan Ashby ca45656c11 Add Exodus door server support 2017-07-23 13:03:47 -06:00
Bryan Ashby d57ca0873e * File Base newscan basic functionality
* Try to handle unknown options in telnet server
2017-07-17 19:46:38 -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 fb9ecbfb93 New MCI codes for system up/down stats 2017-07-09 16:48:53 -06:00
Bryan Ashby 0366f0139c Add application/x-arj and text/x-ansi MIME types 2017-06-23 22:49:46 -06:00
Bryan Ashby 4b8369a41f Merge branch 'master' of github.com:NuSkooler/enigma-bbs 2017-06-22 22:20:40 -06:00
Bryan Ashby 7c81cbed51 Fix route handling for HTTPS 2017-06-22 22:20:05 -06:00
Bryan Ashby 7343ab2ff2 Updated Events - use glob for finding nested modules/etc. 2017-06-22 22:19:34 -06:00
Bryan Ashby b7ad850bdc Merge branch 'master' of github.com:NuSkooler/enigma-bbs into 0.0.7-alpha 2017-06-21 21:42:56 -06:00
Andrew Pamment bb76939745 Fixes thtrue in #115 2017-06-22 12:38:57 +10:00
Josh M. McKee b383950314 Add getModulePaths to module_util, call it from events.registerModules 2017-06-11 19:44:34 -07:00
Bryan Ashby 02d32a9e51 Add config getter 2017-06-11 20:23:12 -06:00
Josh M. McKee 06e84eee94 Spaces to tabs, to match upstream convention 2017-06-10 18:52:11 -07:00
Josh M. McKee c45824b3ad Rename connect event to term_detected, add connected and disconnected events 2017-06-10 18:46:28 -07:00
Josh M. McKee 002b0e941e Events system, first pass 2017-06-10 17:29:00 -07:00
Bryan Ashby 64aa63e8b5 Fix disconnect of WebSocket 2017-06-06 20:04:28 -06:00
Bryan Ashby ff5896e80c Fix proxied check for remoteAddress 2017-06-01 18:56:05 -06:00
Bryan Ashby ab8cb77f81 * secureProxy -> proxied in webSocket config
* Add support for X-Forwarded-For and X-Real-IP in WebSocket for remoteAddr
2017-06-01 18:48:14 -06:00
Bryan Ashby 385edc0953 X-Forwarded-Proto isSecure override option 2017-05-31 22:13:44 -06:00
Bryan Ashby 74bab3d6c5 Better configuration for WebSockets 2017-05-30 21:31:35 -06:00
Bryan Ashby 2e18833014 Working WebSocket connections - not yet complete, but working well 2017-05-26 08:25:41 -06:00
Bryan Ashby 3a41a6b2e1 fb move FILENAME_WC ... DST support: Allow moving entries via their filenames inc. wildcard support 2017-05-23 21:55:22 -06:00
Bryan Ashby 1c92b349cd Clean up oputil help a bit
Minor code tidy + notes
2017-05-22 21:35:06 -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 a49abc7c67 Catch spawn errors 2017-05-19 20:28:15 -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 a1e51c41ee Call main... main! 2017-05-10 21:29:04 -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 50dda3300a Faster, better predefined MCI handling 2017-05-10 21:17:19 -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 f510fca656 Tic File Processor didn't work on nodelist file #111 2017-03-13 20:11:43 -06:00
Bryan Ashby d6e5dcbdf1 Optutil not working #110 2017-03-13 19:54:22 -06:00
Bryan Ashby 732e2eefd5 Don't trim() Ldesc; may muck with FILE_ID.DIZ type descriptions 2017-03-10 21:21:09 -07:00
Bryan Ashby 221ec08bc8 * Don't archive non-good non-pkt files (e.g. TICs that are *not* rejected)
* asyncSeries() for TIC import (SQLite transaction)
2017-03-10 21:13:30 -07:00
Bryan Ashby 043987bacb Fix 'Size' 2017-03-10 08:31:36 -07:00
Bryan Ashby 76aa54f22c Don't try to log error that doesn't exist 2017-03-08 23:01:25 -07: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 f95e8dfe4c TIC file reader 2017-03-06 20:31:26 -07:00
Bryan Ashby 213f63ae12 More deleted user robustness 2017-03-02 18:50:58 -07:00
Bryan Ashby be38bbf3c7 Crash on exporting packet #104 2017-03-01 20:02:45 -07:00
Bryan Ashby bd8718beaa Remove FSC-48 packet writing stuff for now 2017-02-27 21:10:33 -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 97e19957ce * Default upload descriptions based on file names if no FILE_ID.DIZ/etc. could be found
* Add default desc & prompt for desc to oputil fb scan
2017-02-24 23:39:31 -07:00
Bryan Ashby 9a2b48ac47 * Update ACS parser PEG.js script to include some missing functionality
* Regenerate acs_parser.js with latest pegjs & new rules
2017-02-24 23:38:30 -07:00
Bryan Ashby 79c1ad6ce6 Hopefully fix FTN 2+ packet export when using a point address 2017-02-23 21:30:06 -07:00
Bryan Ashby 9bb28b36cd Crash on Telnet Bridge connecting to Tradewars server #105 2017-02-22 23:20:05 -07:00
Bryan Ashby 3f873f5877 Fix writing packet headers for origins that have dot addresses 2017-02-21 21:27:32 -07:00
Bryan Ashby 4cea9e023a Fix bug with FTN export scheduler 2017-02-21 21:26:56 -07:00
Bryan Ashby 3af1858c39 Add 'fb move' to oputil 2017-02-20 22:31:01 -07:00
Bryan Ashby 72b0eafc7b Minor fixes to oputil 2017-02-20 11:46:18 -07:00
Bryan Ashby 0ca2ca9bf2 * Add oputil import support for *.NA and AREAS.BBS 2017-02-20 11:31:24 -07:00
Bryan Ashby 5c58fd2cfa Fix loading order on fb info 2017-02-18 23:05:40 -07:00
Bryan Ashby 6717cd5179 Add fb 'info' support to oputil 2017-02-18 19:00:09 -07:00
Bryan Ashby 058ff3f367 * Rework user.js and User object to ES6
* Update download stats for user when web download is completed
2017-02-18 13:21:18 -07:00
Bryan Ashby 6406d32165 Handle (default) case of web server being disabled in file areas/web link generation 2017-02-18 09:56:23 -07:00
Bryan Ashby 701f3c9728 Fix client IP when connected via SSH 2017-02-18 09:37:22 -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 ec3e3f0755 Add 'overrideUrlPrefix' support to web server 2017-02-16 21:40:05 -07:00
Bryan Ashby 6a684266a2 Fix crash when file does not exist... and 404 page contents don't exist :) 2017-02-16 21:09:53 -07:00
Bryan Ashby 6285193545 Very minor fixes 2017-02-16 20:53:14 -07:00
Bryan Ashby f80492d869 Merge branch 'master' into FILE_BASE 2017-02-15 21:46:35 -07:00
Bryan Ashby bced59da09 MUCH faster crc32 impl 2017-02-15 21:40:22 -07:00
Bryan Ashby d0511d5d74 * Split out oputil stuff into modules based on <command>
* oputil: better syntax
* oputil: allow areaTag@storageTag for scan, e.g. oputil fb scan <args> retro_pc@some_specific_storage
2017-02-15 20:27:16 -07:00
Bryan Ashby 9b0f956934 * Start work on new oputil format: oputil <command> <action> <args> <target>
* Add auto tagging for oputil scan
2017-02-13 22:51:20 -07:00
Bryan Ashby aa40d998b2 Fix from username in message post 2017-02-12 22:13:03 -07:00
Bryan Ashby f85388e747 Remove bad code :) 2017-02-12 21:52:56 -07:00
Bryan Ashby e95aba0582 Fix some DB startup issues for new installs 2017-02-12 19:49:56 -07:00
Bryan Ashby edb9d32acc * Fix CRC32 meta
* Properly store upload user info in meta @ upload
2017-02-12 00:24:24 -07:00
Bryan Ashby 50a5b8d78e Use proper resetScreen() vs clearScreen() 2017-02-12 00:23:39 -07:00
Bryan Ashby 6dccbd124f Fix upload_by_user_id parse 2017-02-12 00:22:53 -07:00
Bryan Ashby 849ab68de2 Add README.NOW support for long desc scan 2017-02-12 00:22:36 -07:00
Bryan Ashby 2e10fdfdf5 Updates to upload check, docs 2017-02-09 22:03:21 -07:00
Bryan Ashby f9e91987ac Better arg parsing for main 2017-02-09 21:08:23 -07:00
Bryan Ashby 2d9cd39ae8 Use config route path for temp files 2017-02-09 20:34:29 -07:00
Bryan Ashby a257a9ba4b * Fix up and improve oputil file-base stuff
* Specialize if user does not have upload ACS
2017-02-08 22:53:48 -07:00
Bryan Ashby 5549ff5512 * Help pages
* No results for criteria page
* noHistory can be passed to gotoMenu()
2017-02-07 22:15:34 -07:00
Bryan Ashby f0db0e3c94 * file.db: file_user_rating: Table for tracking average user rating of a file
* Default filter order to descending
* File rating support including in search/filter
* Default to passing submitted form data (if any) @ prevMenu()
* Fix issues with byte/size formatting for 0
* Allow action keys for prompts
* use MenuModule.pausePrompt() in various places
* Add quick search to file area
* Display dupes, if any @ upload
2017-02-07 20:20:10 -07:00
Bryan Ashby 5f929b3d63 comment 2017-02-07 20:14:56 -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 690d148ad5 * Move to uuid vs node-uuid
* Use uuid-parse for to/from string
2017-01-31 00:17:19 -07:00
Bryan Ashby 9c61b2b945 Use natural sort 2017-01-31 00:16:43 -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 c7640de07e Add focusItemIndex property 2017-01-30 21:54:32 -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 9525afddd3 * Created new npm module: temptmp: This replaces node-temp usage & solves global temp file cleanup issue with concept of temp "sessions" 2017-01-29 19:56:46 -07:00
Bryan Ashby e10d085cab Remove accidental typo in code 2017-01-29 19:56:34 -07:00
Bryan Ashby 8aa42342a2 Fix setText('')/clearText() issue with text views 2017-01-28 12:48:04 -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 8889014f47 Update copyrights 2017-01-25 22:59:12 -07:00
Bryan Ashby 99ab60bf77 * Convert MenuModule to ES6 style class
* Convert modules that are MenuModule subclasses to ES6 style classes
* Convert mixins to ES6 style
* Various cleanup
2017-01-25 22:18:05 -07:00
Bryan Ashby 1c03c3021a * Temporary fix for MAJOR global temp cleanup bug: comment out node-temp .cleanup() methods
* Don't move temp uploads to area directory until user submit/completed
* New file util module
2017-01-23 23:32:40 -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 fb176d3ab3 * Fix updating of existing file filter
* Update findFiles() to properly apply filters, sort order / direction, etc.
* Properly persist hash tags @ file entry persist
* Lots of improvements / additions to MCI for upload/download, etc. stats
* Persist processed entries @ upload (WIP, but close!)
2017-01-18 22:23:53 -07:00
Bryan Ashby e265e3cc97 * WIP on upload scan/processing
* WIP on user add/edit data to uploads
* Add write access (upload) to area ACS
* Add upload collision handling
* Add upload stats
2017-01-11 22:51:00 -07:00
Bryan Ashby 4c1c05e4da Fix bug with already logged in/connected check logic @ login 2017-01-11 22:48:04 -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 6f3fe7c52d #103: FTN PKT files need to be uppercase 2016-12-06 20:51:48 -07:00