Commit Graph

252 Commits

Author SHA1 Message Date
Bryan Ashby e78f9cdb71
Merge branch '459-activitypub-integration' of github.com:NuSkooler/enigma-bbs into 459-activitypub-integration 2022-12-31 15:31:53 -07:00
Bryan Ashby 7b5cb165ee
Updates to WebFinger resource parsing 2022-12-31 15:30:54 -07:00
Nathan Byrd fb035f2b58 Added a start at a profile 2022-12-31 16:28:03 -06:00
Nathan Byrd d8de6171aa Added additional fields from Masto 2022-12-31 13:05:59 -06:00
Bryan Ashby 46bc92a690
WebFinger update: return super basic info 2022-12-31 00:38:09 -07:00
Bryan Ashby b1bb66e52f
WebFinger stub 2022-12-30 22:39:39 -07:00
Bryan Ashby d2d5aad236
Add concept of 'handlers' to web server 2022-12-30 22:35:18 -07:00
Bryan Ashby c265a44c1a
Bump version to 0.0.14-beta + major web server updates 2022-12-29 00:56:10 -07:00
Bryan Ashby 8c92f3cc49
Log IPs 2022-09-25 18:29:00 -06:00
Bryan Ashby c4518c7b94
Tidy/DRY 2022-09-25 14:00:52 -06:00
Bryan Ashby 5f6d70e460
Some fixes to NNTP POSTs, logging, etc. 2022-09-23 11:06:33 -06:00
Bryan Ashby 2cb0970a31
Add 'allowPosting' config 2022-09-22 21:24:24 -06:00
Bryan Ashby d2dafc4dbc
Initial NNTP write access support 2022-09-22 21:03:53 -06:00
Bryan Ashby e61be537aa
Minor bug fix 2022-09-21 08:26:52 -06:00
Bryan Ashby 4d6bc98a0f
Fix a dumb :( 2022-08-21 15:43:53 -06:00
Bryan Ashby 7060bf270b
Better debug logs 2022-08-21 15:41:37 -06:00
Bryan Ashby 4a63bc577e
Fix terminology used in code 2022-08-21 14:03:19 -06:00
Bryan Ashby 1f130347d5
Fix missing check 2022-08-21 14:02:47 -06:00
Bryan Ashby c8df7f3d6b
New easier to manage Gopher include/exclude areas with wildcard support
* Deprecate but still support older format for now
* Add new format allowing easier management
2022-08-21 13:27:32 -06:00
Bryan Ashby 4881c2123a First pass formatting with Prettier
* Added .prettierrc.json
* Added .prettierignore
* Formatted
2022-06-05 14:04:25 -06:00
Bryan Ashby dd6a0553d8
Some additional cleanup 2022-04-26 12:36:31 -06:00
Bryan Ashby 8283971b53
Update variable to disable SSH keep-alive checks which break NetRunner :( 2022-04-08 16:41:22 -06:00
Bryan Ashby 9019479bfd
Initial update, some quirks to work out with NetRunner mostly 2022-04-06 10:01:21 -06:00
Bryan Ashby b2fda13085
Update LRU cache backend used for NNTP server 2022-04-05 21:01:35 -06:00
Bryan Ashby e0ecf37869
FIX: Certain telnet clients make the BBS crashes. #369
userVars -> uservars to match telnet-socket impl.
2021-10-22 10:29:47 -06:00
Bryan Ashby c30b52c9d8
fix: ensure we have vars before attempting to fetch from them 2021-03-27 00:04:07 -06:00
Bryan Ashby 392dc160a0
Fix a dumb 2021-02-04 19:32:28 -07:00
Bryan Ashby 31f94efdd8
Better handling of bots hitting bad Gopher selectors 2021-02-04 19:27:57 -07:00
Bryan Ashby cd3b495e6c
SECURITY FIX
* Do not allow relative paths to route outside of www static root area
2020-11-27 12:50:57 -07:00
Bryan Ashby f7e4b57763
Gopher server revamp!
* gophermap support
* More generic and flexible server
2020-11-27 00:54:56 -07:00
Bryan Ashby 9e9dc9af89
A lot of code tidy up 2020-06-15 19:08:55 -06:00
Bryan Ashby 6258a39c57
Merge pull request #283 from NuSkooler/new-telnet-server
New telnet server implementation based on telnet-socket, includes new websocket server (which inherits from telnet) and some misc updates to I/O.
2020-06-03 20:36:37 -06:00
Bryan Ashby 5b20c3ec38
Crash using VTX Client #284
* Fix try/catch around JSON.parse()
* Ensure we don't try to replace on null/undefined no matter what
2020-06-01 19:22:15 -06:00
Bryan Ashby 74078939cc
DO should be a DONT for echo 2020-05-31 14:54:33 -06:00
Bryan Ashby 29ef0935c3
Don't send back don't in respond to wont new_environ 2020-05-31 11:49:32 -06:00
Bryan Ashby 438a3161d0
Fix up remoteAddress for WebSocket connections 2020-05-27 21:31:51 -06:00
Bryan Ashby 2234a71705
Working much nicer 2020-05-22 12:55:52 -06:00
Bryan Ashby eeba609560
This is broken WIP. Goign to refactor, but on the road... 2020-05-22 11:41:59 -06:00
Bryan Ashby 2a93de9487
Yet more ANSI-BBS related updates 2020-05-21 21:22:15 -06:00
Bryan Ashby 1e6c577cd3
More ANSI-BBS compliant... still some to go 2020-05-21 19:16:40 -06:00
Bryan Ashby 65d68f33dc
Allow passthrough 2020-05-20 20:23:09 -06:00
Bryan Ashby e85ba322ce
WebSockets work with new telnet server 2020-05-18 19:19:30 -06:00
Bryan Ashby 6d307ec06b
Clean up a bit. Still more to do... 2020-05-18 18:41:23 -06:00
Bryan Ashby a1ac6dfc67 Shim in dataHandler for toggling from elsewhere 2020-05-18 00:33:14 -06:00
Bryan Ashby e517e31b94 Working fairly well 2020-05-17 22:35:03 -06:00
Bryan Ashby 1018485e8e WIP 2020-05-17 21:36:48 -06:00
Bryan Ashby 75787b6107
Start work on new telnet server 2020-05-17 20:22:16 -06:00
Bryan Ashby cd3b8d5e76
Low hanging fruit: Don't re-create binary parsers constantly 2019-12-05 20:48:13 -07:00
Bryan Ashby c9ff904b2b
Fix various minor mistakes 2019-11-08 19:20:14 -07:00
Bryan Ashby 3eed388e33
BBSLink + WebSockets does not update key press monitor 2019-07-11 22:49:15 -06:00
David Stephens 65b48a2af2 Fix MRC prettyBoardName and /INFO 2019-06-22 23:16:08 +01:00
Bryan Ashby f8788d56d6
Merge branch '0.0.10-alpha' of ssh://numinibsd/git/base/enigma-bbs into security-updates 2019-06-11 18:25:35 -06:00
Bryan Ashby 487968dac9
Fix my previous dumb 2019-06-09 09:19:34 -06:00
David Stephens 43e22cfc74 Turn off debug logging of MRC message sending 2019-06-05 23:41:28 +01:00
David Stephens 8153473b89 Dial down MRC logging 2019-05-31 22:00:48 +01:00
David Stephens 19e10bb096 Tweak to MRC handshake 2019-05-31 21:19:29 +01:00
David Stephens 136854017a Lots of tidy-up from PR #235 feedback 2019-05-31 20:32:16 +01:00
David Stephens 593bf67b45 Stop passing sockets all over the place. General tidy up and refactor. Add reconnection to MRC logic. 2019-05-31 01:16:32 +01:00
David Stephens 109b157c02 more MRC bug squashing and tidy up 2019-05-26 00:14:36 +01:00
David Stephens 9f4f1fca13 Refactor and rename of MRC client and multiplexer 2019-05-22 23:43:41 +01:00
David Stephens 92528fc16f MRC bug squashing 2019-05-20 23:37:32 +01:00
David Stephens 67ecad4e1a Implemented most MRC server calls 2019-05-19 00:01:58 +01:00
David Stephens 9c2b3be0b1 MRC WIP 2019-05-18 00:25:35 +01:00
Bryan Ashby e960e2800d
Merge branch '0.0.10-alpha' of ssh://numinibsd/git/base/enigma-bbs into security-updates 2019-05-06 20:49:16 -06:00
Bryan Ashby 50426d0e60
Listen 'address' for WebSockets 2019-04-09 20:25:37 -06:00
Bryan Ashby 37ea1e3a30
Listen 'address' for SSH 2019-04-09 20:25:27 -06:00
Bryan Ashby 8114a1e3f2
Listen 'address' for Telnet 2019-04-09 20:25:14 -06:00
Bryan Ashby 3460b98bf5
Listen 'address' for Web 2019-04-09 20:25:03 -06:00
Bryan Ashby d54338c46e
Listen 'address' for Gopher 2019-04-09 20:24:52 -06:00
Bryan Ashby 0ed507cd7b
Initial real 2FA/OTP work 2019-04-09 20:07:19 -06:00
Bryan Ashby 23779c3abe
Use authInfo obj vs weird params. auth factor 1: factor 2 for 2FA, etc. 2019-02-22 22:51:12 -07:00
Bryan Ashby 57938e761e
+ Implement SSH PubKey authentication
* Security related items to config/security dir
2019-02-20 23:55:09 -07:00
Bryan Ashby 8ba80426e3 Better disconnect - should resolve issues with SSH 2019-02-02 10:20:22 -07:00
Bryan Ashby f15629682c Fix outstanding SSH bug seen with NetRunner and SyncTERM with ugly hack: Disable keep-alives 2019-01-29 20:36:45 -07:00
Bryan Ashby 6408e40604 Fix minor typo 2019-01-13 19:10:54 -07:00
Bryan Ashby c5a72c7356 TODO notes 2019-01-02 20:08:00 -07:00
Bryan Ashby b23cdd20bf Listen to 'env' events 2019-01-02 19:52:15 -07:00
Bryan Ashby 4fb7c4bf53 Some minor cleanup 2018-12-31 11:33:14 -07:00
Bryan Ashby 3864d957c9 * Servers now use async listen() 2018-12-27 02:46:16 -07:00
Bryan Ashby 9d1815682d * ServerModule's createServer() is now async
* Re-write of NNTP Message-ID <> internal message UUIDs
2018-12-27 02:19:26 -07:00
Bryan Ashby ee93035bb8 * Disconnect clients that attempt to login with banned usernames for Telnet as well
* Slow disconnects to thwart brute force attacks - these names won't exist anyway,
  but we want the attacking client to not DoS us
2018-12-25 00:18:04 -07:00
Bryan Ashby 06a1925288 Check bad usernames @ login 2018-12-24 15:32:38 -07:00
Bryan Ashby 73e8b0454e Wrap ctx.reject() and catch throws 2018-12-24 15:14:37 -07:00
Bryan Ashby f4088303ca cleanControlCodes -> stripAnsiControlCodes 2018-12-17 22:08:59 -07:00
Bryan Ashby 1f5ec39778 Strip pipe codes! 2018-12-17 21:39:10 -07:00
Bryan Ashby b1eea4f4b7 Some logging updates 2018-12-17 11:20:14 -07:00
Bryan Ashby 6d45d74a47 Little better NNTP config 2018-12-15 23:52:59 -07:00
Bryan Ashby cf6e3d3ba8 Better logging 2018-12-15 02:40:36 -07:00
Bryan Ashby 4b2771012b Show desc if set 2018-12-15 02:06:15 -07:00
Bryan Ashby dba2fc18f6 Strip MCI/Pipe codes 2018-12-15 01:55:38 -07:00
Bryan Ashby a3ba57b0b8 Fix schedule issue 2018-12-14 23:21:33 -07:00
Bryan Ashby b903b2ee82 Better logging 2018-12-14 23:08:53 -07:00
Bryan Ashby 874aee5baa Change listen addr 2018-12-14 23:03:10 -07:00
Bryan Ashby 772022f0d0 + NNTP Content Server
* Read-only to public conf/areas only for now
* Missing some protocol support
* Could use better encoding practices and ANSI prep
2018-12-14 22:21:57 -07:00
Bryan Ashby df2bf4477e SECURITY UPDATE
* Handle failed login attempts via Telnet
* New lockout features for >= N failed attempts
* New auto-unlock over email feature
* New auto-unlock after N minutes feature
* Code cleanup in users
* Add user_property.js - start using consts for user properties. Clean up over time.
* Update email docs
2018-11-22 23:07:37 -07:00
Bryan Ashby 9fd819d608 Resolve TODO RE using EnigError for bad login attempts 2018-11-21 19:43:50 -07:00
Bryan Ashby ebc70907d4 Newest messages first when listing msgs from Gopher 2018-11-21 17:55:31 -07:00
Bryan Ashby 3af5b6f509 * Word wrap messages when output via Gopher server
* Fix Gopher startup banner default
2018-11-20 21:02:30 -07:00
Bryan Ashby 74b03fe846 Fix exception when no SSH stuff is configured 2018-11-12 22:05:36 -07:00
Bryan Ashby 25560cb47a SyncTERM SSH support
+ Enabled all ssh2-streams supported KEX, ciphers, etc. for now. Will communicate with Deuce about this.
2018-11-04 19:29:51 -07:00