* started adding v6 support
* added error checking and change messages to the user
* fixed lsp caused issue
* fixed formatting error
* added error handling to https
* fixed formatting errors
* brought server starting into different func and added enable v6 and v4
* added error checking for disabling both v6 and v4. added option to prefer v6 for dns. added that stuff to the default config
* fixed dumb bug
* changed to settings named disable ipvx
* fixed failed ips still showing as listening
* fixed error handling
* changed ip protocol config layout
* small const name changes
* fixed no error if only available protocol fails, and changed wording of some errors
* fixed error handling saying 'non-fatal error' for protocol fail even when it's the only one enabled
* moved more logic to listen error handler
* fixed eslint issues
* added more info on when to prefer ipv6 for dns
* in conf changed one 'ipv6' to 'IPv6' for consistency
* changed error message and redid how starting the server works
* removed unneeded log
* removed unneeded log
* removed unneeded comments
* fixed errors
* fixed errors
* fixed errors
* changed the wording of ip related error messages
* removed empty lines
* changed to .finally(startServer);
* removed some whitespace
* disabled ipv6 by default ╯︿╰ and changed some message wording
* added auto mode for autorun hostname and changed formatting for listening log and added goto message with autorun url
* added autorun port override
* removed debug log
* changed formatting
* added cli args to ipv6 and autorun stuff
* moved cli args around
* changed formatting
* changed colors for ip
* added avoidLocalhost cli arg
* changed formatting
* changed to not print protocol on listening
* added config option for avoid localhost and changed formatting of messages
* fixed avoid localhost config option
* Fix ipv4 color
---------
Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
We don't need the server to tell us our user agent--we can get it
ourselves through navigator.userAgent and parse it on the frontend.
I've replaced device-detector-js with Bowser because device-detector-js
is really slow, freezing for up to 500ms to parse a single user agent.
This sets up ESLint and its config, and disables a bunch of recommended
lints that currently do not pass. Later PRs/commits will fix those lints
and re-enable them.