Skip to content

SwiftIRC/Web-IRC

Repository files navigation

Web-IRC A feature-rich Websocket IRC client in JavaScript

• Multi-server support.
• Multi-Document Interface allows viewing multiple windows at the same time
• Useful Dockwidgets and toolbars, which are all sortable and/or movable.
• Monitor panels are able to be tabified by dragging one ontop anothers titlebar.
• Support for both ws:// and wss:// connections (See note below)
• Auto-completion of nicknames, commands and channels. (tab-key)
• Text formatting supported: Bold, Underline, Reverse, Color, Italic, Strikethru, HexColor and Monospace
• Inline media embedding (Images, Audio, Video and YouTube urls)
• Somewhat Mobile-Friendly. See details below.

Current IRCv3 Support:
• account-notify
• away-notify
• batch (includes chathistory)
• cap-notify
• chghost
• extended-join
• message-tags
• multi-prefix
• setname
• server-time (currently only used for chathistory)
• userhost-in-names
• echo-message (disabled by default, can be user enabled)
• client-only tags (See Note below)

Currently only +typing is supported for client-only tags, and within IRC events and the special "TAGMSG". Up to three nicknames will be shown in a channels input element placeholder value, more than 3 results in "Multiple people are typing..."

There's absolutely no setup required. Pure HTML/CSS/JavaScript. Connect to any IRC server that allows websockets and the underlying websocket protocol 'text.ircv3.net'

NOTE: Chromium based and FireFox do NOT allow ws:// sockets to be opened over a https:// connection! If you want to offer the ability to connect to both ws:// and wss:// this page must be hosted via http://, not https://. Unfortunately ONLY http connections can open both insecure and secure websockets, where https forces only secure sockets.

While testing, this does work on mobile web-browsers, chrome, firefox, even stock samsung internet, albiet with a few quirks. Certain things aren't standardized and implemented for mobile clients such as CSS "resize: both", while the control is visible, it does nothing. Other unique features requiring drag-n-drop have been forced with the usage of DragDropTouch.js

You can specify a "perform" query string which will execute a SINGLE command if this field is present. Useful for linking to your server and/or channels you wish people to join. Try out this Demo.

or try this one from the github pager: Libera.Chat Demo

There are currently 5 default "Favorites" (SwiftIRC running UnrealIRCd, Libera.Chat running solanum, Ergo running Ergo/Oragono, Unreal and WRNet another UnrealIRCd) which can be found under the star icon of any status window. Just click on one of the networks to connect to them.

By using this project or its source code, for any purpose and in any shape or form, you grant your implicit agreement that:

"all your base are belong to us!" --Zero Wing

About

A feature-rich Websocket IRC client in JavaScript

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published