KiwiIRC

KiwiIRC

Web site: kiwiirc.com
Category: Network
Subcategory: IRC clients
Platform: BSD, Linux, OS X, Windows
License: Apache 2.0
Interface: Web interface
Programing language: JavaScript, Node.js
First release: 2016
line

KiwiIRC – a web based, open source IRC client software, which works in a modern web browsers.

Features:
– 100% static files. Host with your favourite web server or a CDN
– For single networks, bouncer hosts, or a personal generic IRC client that remembers your networks
– Works out of the box with a default IRC network – or use your own
– Single or multiple IRC network connections
– Multiple layouts for small areas or full page layouts
– Light and dark modes
– Desktop notifications
– Extremely versatile via a single JSON config file at runtime
– Themable and rich plugin support such as file uploading and video calling
– Team mode for workplaces
– Directly to a websocket IRC server
– Connect via the webircgateway websocket proxy for normal IRC servers
– Stay connected with KiwiBNC

Website Widgets – Embed an IRC client widget into your website for an instant, free live chat. The web widget gives you access to a large number of supported networks without any in-depth setting up. No downloads or plugins required meaning your users can start engaging in your community easily.

F-IRC

F-IRC

Web site: vanheusden.com/f-irc/
Category: Network
Subcategory: IRC clients
Platform: UNIX-like
License: GPL
Interface: TUI
Programing language: C++
First release:
line

F-IRC – an IRC client for terminals/command-line/console. Its goal is to be as user friendly as possible with easy navigation and keyboard shortcuts for quick navigation. It has an as much a gentle learning curve as possible.

From the project page:

Why?

I wrote it because I had too many problems with irssi. For a lot (most?) people irssi is perfect but I wanted an easy, clear interface like XChat and mIRC usable from within a terminal window (and compatible to GNU screen). I wanted easy channel select navigation, a pop-up menu for actions and easy to configure. There was no such thing at that time.

F-IRC was analyzed by Coverity Scan, CPPCheck and LLVM’s scan-build for software defects.

The project founder is Folkert van Heusden.

ERC

Emacs

Web site: gnu.org/software/emacs/erc.html
Category: Network
Subcategory: IRC clients
Platform: BSD, DOS, Linux, OS X, Windows
License: GPL
Interface: TUI
Programing language: C, Emacs Lisp
First release:
line

ERC – a powerful, modular, and extensible Internet Relay Chat client distributed with GNU Emacs since version 22.1.

ERC provides all the features that users expect from an IRC client:
– multi channels / multi servers: every channel is put in a separate buffer; several IRC servers may be used at the same time.
– queries: private conversations are treated as channels, and are put into private buffers.
– highlighting: some occurences of words can be highlighted, thus easing conversation tracking (ErcHighlighting)
– notification: ERC can notify you that users are online (ErcNotify)
– channel tracking: channels can be hidden and conversation continue in the background. You are notified when something is said in such a hidden channel. (ErcChannelTracking)
– nick completion: ERC can complete words so as to ease the writing of nicknames. (ErcCompletion)
– history: past actions are kept in history rings for future use. (ErcHistory)
– multi languages: messages are multilingual and can be customized. (ErcCatalog)
– user scripting: users can load scripts (e.g. auto greeting scripts) at ERC startup.

ERC works with both GNU Emacs and XEmacs; it also uses optional features specific to each flavour. It can also use some Emacs modules, such as the BBDB (Big Brother Database).

ERC was originally written by Alexander L. Belikoff and Sergey Berezin. They stopped development around December 1999. Their last released version was ERC 2.0.

In June 2001, Mario Lang and Alex Schroeder took over development and created a ERC Project at https://sourceforge.net/projects/erc.

In reaction to a mail about the new ERC development effort, Sergey Berezin said, “First of all, I’m glad that my version of ERC is being used out there. The thing is, I do not have free time and enough incentive anymore to work on ERC, so I would be happy if you guys take over the project entirely.”

Since about 2009, ERC is no longer developed as a separate project, but is maintained as part of Emacs.

WireShare

WireShare

Web site: sourceforge.net/projects/wireshare/
Category: Network
Subcategory: Peer2Peer Clients
Platform: BSD, Linux, OS X, Windows
License: GPL
Interface: GUI
Programing language: Java
First release: October 28, 2010
line

WireShare – an open source peer2peer multiplatform client. Formerly entitled LimeWire Pirate Edition(LPE), WireShare is the newest fork of the original LimeWire open source project. Our sole intention is to create and maintain a bona fide continuation of the project. All work is undertaken on a pro bono basis. The name was changed for legal reasons.

Features:
– Ease of use. Just install, run, and search.
– Ability to search by artist, title, genre, or other meta-information.
– Elegant multiple search tabbed interface.
– “Swarm” downloads from multiple hosts help you get files faster.
– Utilizes “ultrapeer” technology that reduces bandwidth requirements for most users.
– Integrated chat.
– Browse host feature. Even works through firewalls.
– Can connect to the network using GWebCache, a distributed connection system.
– Automatic local network searches for lightning-fast downloads. If you’re on a corporate or university network, download files from other users on the same network almost instantaneously!
– Share files privately with Friends.
– Download and share torrents.
– Support for MAGNET links that allow you to click on web page links that access Gnutella.
– No adware, spyware, or advertising.

EiskaltDC++

EiskaltDC++

Web site: sourceforge.net/projects/eiskaltdcpp/
Category: Network
Subcategory: Peer2Peer Clients
Platform: BSD, Haiku, GNU/Hurd, Linux, OS X, Windows
License: GPL
Interface: GUI
Programing language: C++, Qt
First release: 2013
line

EiskaltDC++ – a cross-platform program that uses the Direct Connect and ADC protocols. It is compatible with DC++, FlylinkDC++, LinuxDC++ and other DC clients. EiskaltDC++ also interoperates with all common DC hub software.

Currently supported systems (in order of decreasing importance): GNU/Linux, macOS, MS Windows, FreeBSD, Haiku and GNU/Hurd.

Currently supported features (not full list):
– Programs with graphical user interface (UI) on Qt (main) and GTK+ (alternative), plus daemon which may be controlled from command line or from Web UI (connected via JSON-RPC).
– Multi-threaded download (download fragments of a single file from several sources at once).
– Support of PFSR (partial file sharing): users may download parts of file from each other during file download even when no one of them do not have fully downloaded file.
– Support of DHT (allows to search file by TTH and exchange these files without connection to any hub). Implementation of this feature is based on StrongDC++ code and compatible with all versions of StrongDC++, ApexDC++, RSX++, FlylinkDC++ and Pulse++K where this feature exists. (Some DC clients have dropped the support of this function in lastest versions.)
– Support of UPnP (simplifies network connection configuration when user Wi-Fi router supports this feature).
– Support of binding to specific network interface or address (in case when user system has few network connections simultaneously).
– Support of auto updating of external IPv4 address via DynDNS services.
– Support of case-sensitive file lists. This feature is extremely important on all supported systems except MS Windows (in fact even NTFS supports case-sensitive file names, but MS Windows does not use this feature.).
– User interface is translated to many languages.
– GUI programs allow to place list of widgets on sidebar, on multiline tabbar panel or on single-line tabbar.
– GUI program based on Qt has support of hiding the program menu (it will be available by special button to the toolbar).
– Advanced search with the ability to group results; black list for search results.
– Lists of downloaded and uploaded files; ability to save logs of downloads.
– Lists of public and favorite hubs. Public hubs lists have multiple sources; favorite hubs are extremely flexible in configuration features.
– Lists of favorite users (they will receive extra slot for downloading files, etc.).
– List of active transfers (downloads/uploads), including the queue of users waiting for the slot (user may temporary grant extra slot for them).
– Flexible settings for downloading files (lists of destination directories, directory for incomplete downloads, limitation of number of simultaneous downloads, compressed transfers, check of check sums, etc.).
– Indicator of free space on disk where main downloads directory is located.
– Support of IP filter and basic antispam.
– Search spy (allows to see search phrases which send other users, but without identifying users of course).
– ADL search with support for Perl-style regular expressions (using PCRE library).
– Flexible filter (with regular expressions support) in users list, search results, public hubs lists, file lists, etc.. (Use ## string and read about Qt QRegExp syntax.)
– Full-featured chat (different fonts, nick coloring, parsing of magnet links and other links, emoticons, chat search, chat commands, BBCode support, disable/enable/clear chat, spell check (Aspell is used), keywords highlighting in the chat, separator for unread messages, saving of chat logs, the ability to display IP addresses and countries of users in the chat (depends on hub settings: some of them hide this data for usual users).
– User commands on hub.
– Flexible keyboard shortcuts settings.
– Text and sound notifications for different events.
– Highlighting of duplicates in shared files.
– Flexible settings for files hashing (speed of hashing, filters for ignoring files, etc.).
– Indicator of hashing progress in program status bar.
– Special tool for calculating of TTH for any file (without necessity to share this file) and preparing magnet link or web magnet link for it.
– Support of limitations of download/upload speed (permanent or by timetable).
– Support of limitations by size of shared files. (Yes, this is questionable feature, but it is highly demanded by users.)
– Support of handling of magnet links, web magnet links and hub links transferred via command line from other programs (for example from web browsers).
– Support of files drag-and-drop into field for entering messages (if file is present in user file list, magnet link to it will be added).
– Support of automatic replies to private messages in case of user absent.
– Support of user extensions on QtScript (only in Qt based GUI in GNU/Linux) and on Lua (in all supported systems).
– Support of IDNA (recognition of national domain names).
– Support of URL encoded strings for hub addresses.
– Support of traffic encryption.

Valknut

Valknut

Web site:
Category: Network
Subcategory: Peer2Peer Clients
Platform: BSD, Linux, OS/2, OS X, Windows
License: GPL
Interface: GUI
Programing language: C++
First release: March 2006
line

Valknut (previously: DCGUI, DCGUI-qt and wxDCGUI) – an open source cross platform client for the Direct Connect network. Valknut only supports the old (but common) Direct Connect “protocol”.

Dclib and Valknut are distributed under the terms of the GNU General Public License, either version 2 of the License, or (at your option) any later version. With additional permission for using the OpenSSL library.

The last version of Valknut 0.3.23/0.4.9 is released 09/03/2009.
The project founder is Mathias Küster.
Edward Sheldrake moved the code into the wxDCGUI project. A next version/port called Valknut with Qt3 and then Qt4 is the last one.

The Valknut screenshot source: wikipedia.org; author: Patrick.trettenbrein; License: GNU GPL 2+

Nyxt

Nyxt

Web site: nyxt.atlas.engineer
Category: Network
Subcategory: Web browsers
Platform: Linux, OS X
License: BSD 3-Clause License, CC BY-SA
Interface: CLI
Programing language:
First release: 2018
line

Nyxt – a keyboard-oriented, extensible web-browser designed for power users. Conceptually inspired by Emacs and Vim, it has familiar key-bindings (Emacs, vi, CUA), is fully configurable and extensible in Lisp, and has powerful features for productivity.

Features:
– Fast tab switching – Switch easily between your open tabs via fuzzy search.
– Multiple selection – Commands can accept multiple inputs, allowing you to quickly perform an operation against multiple objects. In the example below we search for penguins, and only open up links that have the text “animal” within them.
– Powerful bookmarks – Bookmark a page with tags. Search bookmarks with compound queries. Capture more data about your bookmarks, and group and wrangle them in any way you like.
– Multi tab search – Search multiple tabs at the same time, and view all the results in a single window. Jump quickly through your open tabs to find what you need.
– History as a tree – History is represented as a tree that you can traverse. Smarter than the “forwards-backwards” abstraction found in other browsers, the tree makes sure you never lose track of where you’ve been.

Ricochet

Ricochet

Web site: ricochet.im
Category: Network
Subcategory: Instant Messengers
Platform: Linux, OS X, Windows
License: BSD
Interface: GUI
Programing language: C++
First release: June 2014
line

Ricochet IM (previously: Torsion IM) – an instant messaging software project developed by John Brooks and later by Invisible.im group.

Ricochet is a different approach to instant messaging that doesn’t trust anyone in protecting your privacy.
– Eliminate metadata. Nobody knows who you are, who you talk to, or what you say.
– Stay anonymous. Share what you want, without sharing your identity and location.
– Nobody in the middle. There are no servers to monitor, censor, or hack.
– Safe by default. Security isn’t secure until it’s automatic and easy to use.

Ricochet uses the Tor network to reach your contacts without relying on messaging servers. It creates a hidden service, which is used to rendezvous with your contacts without revealing your location or IP address. Everything is encrypted end-to-end, so only the intended recipient can decrypt it, and anonymized, so nobody knows where it’s going and where it came from.

Ricochet is an experiment. Security and anonymity are difficult topics, and you should carefully evaluate your risks and exposure with any software.

The latest version 1.1.4 was released November 2016.

MCabber

MCabber

Web site: mcabber.com
Category: Network
Subcategory: Instant Messengers
Platform: BSD, Linux, OS X
License: GPL
Interface: CLI
Programing language: C
First release: June 7, 2005
line

MCabber – a small console based Jabber/XMPP client. MCabber includes features such as SASL/SSL/TLS support, MUC (Multi-User Chat) support, history logging, command completion, OpenPGP encryption, OTR (Off-the-Record Messaging) support, dynamic modules and external action triggers.

MCabber is released under the GNU GPL, and has been tested on GNU/Linux, BSD, Mac OS X and Cygwin.

Some features of mcabber:
– SASL/SSL/TLS support.
– MUC support (Multi-User Chat).
– PGP, OTR support
– Chat States support (typing notifications)
– History logging: If enabled (see the CONFIGURATION FILE section), mcabber can save discussions to text history log files.
– Commands completion: If possible, mcabber will try to complete your command line if you hit the Tab key.
– Input line history: Any message or command entered is in the input line history and can be reused easily.
– External actions: Some events (like receiving a message) can trigger an external action such as a shell script if you enable it in your configuration file. A sample events script (“eventcmd”) is provided with mcabber source code, in the contrib directory.
– Modules: mcabber can load modules (a.k.a. plugins) at runtime that extend its features.

Yate

Yate

Web site: yate.ro
Category: Network
Subcategory: VoIP Clients
Platform: BSD, Linux, OS X, Windows
License: GPL
Interface: GUI
Programing language: C++
First release: ?
line

Yate (Yet Another Telephony Engine) – mainly a telephony engine; while currently focused on Voice over Internet Protocol (VoIP) and PSTN, its power lies in its ability to be easily extended. Voice, video, data and instant messenging can all be unified under Yate’s flexible routing engine, maximizing communications efficiency and minimizing infrastructure costs for businesses.

The software is written in C++ and it supports scripting in various programming languages (such as those supported by the currently implemented PHP, Python, Perl and Javascript libraries) and even any Unix shell. The PHP, Python, Perl and Javascript libraries have been developed and made available in order to ease development of external functionalities for Yate.

Yate is production-ready software and is easily extensible.

The architecture of Yate is based on a message passing system. The architecture can be divided into 4 main parts:
– Core, where encapsulations for sockets, threads and others primitives can be found
– Message Engine, message related classes, used to exchange data between modules
– Telephony Engine, the telephony related classes
– Yate Modules, modules extending the functionality of Yate

YateClient is an Instant Messenger and SoftPhone based on Yate. It can be used on a variety of platforms: Windows, Mac OS, Linux.
YateClient supports multiple telephony protocols and has advanced telephony and chat features.

Instant Messenging
Support for multiple IM providers:
– Google talk
– Google Voice
– jabber.org
Various chat features:
– Message archive
– Search in chat history
– Chat rooms
File transfer and directory sharing

Telephony
Multiple telephony protocols:
– Jingle/Google Talk/XMPP
– SIP
– H.323
– IAX
Advanced telephony features:
– Call transfer
– Conference
– History
– Address Book