Skip to content

P2P cross platform home or small office instant messenger. Written in C++ with Qt.

License

Notifications You must be signed in to change notification settings

corybolar/PXMessenger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

P2P cross platform home or small office instant messenger. Written in C++ with Qt.

Status

Build Status

Dependencies:

qt5 >= qt5.5.0

qtmultimedia

gcc > 4.9.0 or clang > 3.5.0

libevent >= 2.0.22

BUILD INSTRUCTIONS

git clone

cd ./PXMessenger

qmake

make

sudo make install (optional; installs a desktop entry as well)

./build-*/PXMessenger

If compiling on Windows, the .pro file will have to be edited to point to your installation of libevent. Specifically the lines

win32 {
LIBS += -L$$PWD/../libevent/build/lib -levent -levent_core
INCLUDEPATH += $$PWD/../libevent/include \
               $$PWD/../libevent/build/include
}

USAGE

PXMessenger is a cross platform instant messaging client that does not need a central server. It will automatically discover other users of the client through the use of a multicast group. All running clients have a UUID associated with them for verification purposes and history. The UUID's are saved in an .ini file in the users home directory (See QSettings in the Qt5 docs for more details). This program can be run multiple times on the same computer and login. The Global send item will send the message to all known peers. It is essentially a global chat room.

Settings

The multicast group that PXMessenger uses is 239.192.13.13. This can be changed in the settings window.

Adjustments can be made to the ports that are used for PXMessenger if firewall rules only allow specific ones. By default, PXMessenger allows the operating system to choose the TCP port. The UDP port defaults to 53723. The UDP port must be the same for all connected computers however the TCP port can be whichever you prefer for each.

The "Bloom" setting should not be needed under normal circumstances and only resends the discovery packed to the multicast group. This is useful if you believe that an exisiting group of computers have missed all discovery packets. (very rare)

PXMessenger will minimize to a tray if the system supports one and will alert itself in the event of receiving a message.

Notes

Bugs are possible, please report them here under the issues tab and they will be responded to.

Windows executable and setup included in the releases section

While this should theoretically work under Mac OSX, it has never been tested as I do not have access to a Mac.

Artwork created by Scott Bolar.

QSimpleUpdater credit to https://github.com/alex-spataru

About

P2P cross platform home or small office instant messenger. Written in C++ with Qt.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages