pavben / webirc Goto Github PK
View Code? Open in Web Editor NEWServer-based IRC client web app
License: MIT License
Server-based IRC client web app
License: MIT License
I really like this, saw it on HN, but whenever I try to use it by node main.js
it doesnt do anything, not even an error.
Hi,
I think this would be relatively easy to add and would make using WebIRC better. It's a feature that Slack has and it is convenient, because it allows using more of the UI without taking hands off your keyboard (they're commonly there due to the chat-oriented nature of the app).
Alt+Up Arrow = Go to Previous (one higher) channel/pane.
Alt+Down Arrow = Go to Next (one lower) channel/pane.
If you want to really to go all out, you can also implement 2 more shortcuts:
Alt+Shift+Up Arrow = Go to Previous channel/page with unread/new messages, if any.
Alt+Shift+Down Arrow = Go to Next channel/page with unread/new messages, if any.
I use these shortcuts in Slack quite often because they are useful. :)
See its keyboard help for reference:
Thanks for making an awesome persistent web IRC client!
Alt and Option are the same key.
webirc@57cddec63195:/data$ /opt/nodejs/bin/npm start
> [email protected] start /data
> node main.js
info - socket.io started
info: WebIRC started
/
/data/main.js:122
\ var cookies = connect.utils.parseSignedCookies(cookie.parse(data.headers.
^
TypeError: Cannot call method 'parseSignedCookies' of undefined
at Manager.<anonymous> (/data/main.js:122:34)
at Manager.authorize (/data/node_modules/socket.io/lib/manager.js:925:31)
at Manager.handleHandshake (/data/node_modules/socket.io/lib/manager.js:801:8)
at Manager.handleRequest (/data/node_modules/socket.io/lib/manager.js:616:12)
at Server.<anonymous> (/data/node_modules/socket.io/lib/manager.js:119:10)
at Server.emit (events.js:98:17)
at HTTPParser.parser.onIncoming (http.js:2108:12)
at HTTPParser.parserOnHeadersComplete [as onHeadersComplete] (http.js:121:23)
at Socket.socket.ondata (http.js:1966:22)
at TCP.onread (net.js:527:27)
-
npm ERR! [email protected] start: `node main.js`
npm ERR! Exit status 8
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is most likely a problem with the WebIRC package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node main.js
npm ERR! You can get their info via:
npm ERR! npm owner ls WebIRC
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 3.14.4+
npm ERR! command "/opt/nodejs/bin/node" "/opt/nodejs/bin/npm" "start"
npm ERR! cwd /data
npm ERR! node -v v0.10.29
npm ERR! npm -v 1.4.14
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /data/npm-debug.log
npm ERR! not ok code 0
package.json now restricts the version of socket.io to pre-1.0. Update to use the new API.
Not being able to bind to the server ip causes issues during deployment. For example, I've created a quickstart for openshift, but it won't work unless it can bind to the proper ip.
https://github.com/nskaggs/openshift-webirc
You can see the horrible hack I did to workaround this:
Would it be possible to simply allow you to set an IP in the config.json?
Babel has split out the babel-node
cmd, so after running npm install
I get this error
$ npm start
[email protected] start /Users/dignifiedquire/opensource/WebIRC
> babel-node main.js
The CLI has been moved into the package `babel-cli`.
$ npm install -g babel-cli
root@li646-175:~/WebIRC# npm start
> [email protected] start /root/WebIRC
> babel-node main.js
error: Failed to start WebIRC: Error: ENOENT, scandir '/root/WebIRC/users'
npm ERR! Linux 4.1.0-x86_64-linode59
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "start"
npm ERR! node v0.12.7
npm ERR! npm v2.11.3
npm ERR! code ELIFECYCLE
npm ERR! [email protected] start: `babel-node main.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script 'babel-node main.js'.
npm ERR! This is most likely a problem with the WebIRC package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! babel-node main.js
npm ERR! You can get their info via:
npm ERR! npm owner ls WebIRC
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /root/WebIRC/npm-debug.log
root@li646-175:~/WebIRC#
Feature Request:
I use ZNC as my IRC bouncer and would love the ability to define a username when connecting to a server, is this at all planned for future versions? Thanks in advance ๐
The following Urls are not recognized (hence they're not clickable, don't hover, etc.):
http://localhost/
http://localhost/foo
http://localhost:1234/bar.html
http://custom_entry_in_hosts_file/index.html
Regex! Have fun.
Hi - people paste a lot of ASCII art and code into the IRC channels I use, so I'd prefer to use a fixed width font. I see it's using FontAwesome - which I assume is for the icons?
If there's an easy way to add support for a new text font, I'd be happy to submit a patch. Any guidance would be appreciated!
Hello Pavben,
Thanks for this awesome software, I am trying to connect to my mattermost server (chat application) on my localhost. I used the command
"/server 127.0.0.1 8063 eeee 1234"
Below is the error is get in the browser
Also in the console, i get this
[email protected] start /home/v3nd1tt/WebIRC
babel-node main.js
debug: Logger initialized with logLevelConsole info and logLevelFile data
info: WebIRC is listening for https connections on port 28443
info: WebIRC started
info: WebSocket connection established: Z9XYrTo_0CH46u8_ANHpyxi1O3Auttjd
info: WebSocket disconnected
info: WebSocket connection established: Z9XYrTo_0CH46u8_ANHpyxi1O3Auttjd
info: User data saved
info: WebSocket disconnected
info: WebSocket connection established: Z9XYrTo_0CH46u8_ANHpyxi1O3Auttjd
info: User data saved
info: Chatbox send lines=[/server 127.0.0.1 8063 eeee 1234], exec=true, entityId=2
info: Connected to server 127.0.0.1:8063
data: SEND: PASS eeee 1234
data: SEND: NICK mynick
data: SEND: USER webirc webirc 127.0.0.1 :webirc
data: Line: HTTP/1.1 400 Bad Request
data: Line: Content-Type: text/plain
data: Line: Connection: close
data: Line:
info: Disconnected from server: 127.0.0.1:8063
info: User data saved
info: User data saved
Kindly help me fix what i may be doing wrong.
Does WebIRC use WebIRC? http://wiki.mibbit.com/index.php/WebIRC
Currently, a WebSocket connection may silently die and the user won't know about this until they try to do something that causes data to be sent to the WebIRC server, at which point the client is disconnected until it tries to reconnect in 3 seconds. Pings would make this experience smoother.
If the web client drops connection from the WebIRC server, there's no visible indication.
So when idling, the only way to verify you're still connected is to send a message (or see some activity).
There should be some sort of disconnect handling (either a message, more advanced a reconnect attempt, etc.).
Currently, if you send a private message to a nick that's not connected (either because the person disconnected, or you mistyped it), the only way to learn that your messages aren't sent is to check the irc server tab and see:
401 <your nick> <other person> No such nick/channel
This should appear in the same tab where you tried to send the message from.
In your package.json you have http which is not in the npm registry.
I've been reading the guide and readme a bit, but I haven't seen anything about hashed passwords.
Is there a time table on if/when the user configuration will support having the password in the json file be hashed, for additional server side security? While it is up to the server admin to make sure the server can't be compromised and malicious users getting access to sensitive files, it's also a good idea to make sure the passwords can be hashed in the configurations files, in the possible event that a user happened to use the same or similar password in other places. It shouldn't be too difficult, right? You simply read the password string, quickly check to see if the string is of a certain length, then checks to see if the first 2-3 characters match something on record, and... well, you get the idea.
I'm just unsure if it was already implemented, as there's nothing in the history or logs. Thank you for reading this little issue/enhancement. Have a good day.
See real world example in the following exchange.
Just to confirm, here's the same long message sent to myself; note that what I receive is cut off.
I don't know IRC details, like whether the 512 byte limit is a server parameter or a hardcoded IRC protocol issue, but, in order of priority:
/cc @dominikh Thanks for helping with this bug report.
debian 11
Followed the install instructions. Got this:
> [email protected] start /home/dave/WebIRC
> babel-node main.js
Failed to start WebIRC Error: { colors, emitErrs, formatters, padLevels, rewriters, stripColors } were removed in [email protected].
Use a custom winston.format(function) instead.
See: https://github.com/winstonjs/winston/tree/master/UPGRADE-3.0.md
at DerivedLogger.configure (/home/dave/WebIRC/node_modules/winston/lib/winston/logger.js:135:13)
at new Logger (/home/dave/WebIRC/node_modules/winston/lib/winston/logger.js:42:10)
at new DerivedLogger (/home/dave/WebIRC/node_modules/winston/lib/winston/create-logger.js:44:7)
at Object.module.exports [as createLogger] (/home/dave/WebIRC/node_modules/winston/lib/winston/create-logger.js:48:18)
at Object.init (/home/dave/WebIRC/logger.js:35:19)
at Function.<anonymous> (/home/dave/WebIRC/main.js:32:10)
at AsyncBlock.runIfSatisfied (/home/dave/WebIRC/async.js:242:25)
at AsyncBlock.depProvided (/home/dave/WebIRC/async.js:202:10)
at /home/dave/WebIRC/async.js:111:18
at Array.forEach (<anonymous>)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: `babel-node main.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2023-02-23T19_37_33_227Z-debug.log
What should I do?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.