Reference client for Bitmessage: a P2P encrypted decentralised communication protocol
Go to file
Peter Surda ba4162d7fe
Asyncore update
- get rid of per-connection writeQueue/receiveQueue, and instead use
strings and locking
- minor code cleanup
- all state handlers now should set expectBytes
- almost all data processing happens in ReceiveDataThread, and
AsyncoreThread is almost only I/O (plus TLS). AsyncoreThread simply
puts the connection object into the queue when it has some data for
processing
- allow poll, epoll and kqueue handlers. kqueue is untested and
unoptimised, poll and epoll seem to work ok (linux)
- stack depth threshold handler  in decode_payload_content, this is
recursive and I think was causing occasional RuntimeErrors. Fixes #964
- longer asyncore loops, as now data is handled in ReceiveDataThread
- randomise node order when deciding what to download. Should prevent
retries being stuck to the same node
- socks cleanup (socks5 works ok, socks4a untested but should work too)
2017-07-06 19:45:36 +02:00
build Compiletest for non-Windows systems 2017-01-11 14:21:53 +01:00
desktop Update pybitmessage.desktop with more search friendly GenericName 2016-11-14 18:33:46 -05:00
dev Missing import 2017-01-15 11:42:20 +01:00
man Packaging for multiple distros 2013-07-12 10:36:28 +01:00
packages PyInstaller spec file updates 2017-02-27 13:02:37 +01:00
src Asyncore update 2017-07-06 19:45:36 +02:00
.gitignore Total setup.py cleanup and simple script installation 2017-02-28 15:51:49 +02:00
configure Packaging for multiple distros 2013-07-12 10:36:28 +01:00
COPYING Copyright year updates 2016-05-02 15:00:26 +02:00
INSTALL.md Fixed INSTALL.md markdown. 2017-05-10 11:51:00 +02:00
LICENSE Copyright year updates 2016-05-02 15:00:26 +02:00
MANIFEST.in Total setup.py cleanup and simple script installation 2017-02-28 15:51:49 +02:00
README.md Made references capitalised 2014-08-06 20:08:37 +01:00
setup.py Made it possible to use installed umsgpack 2017-06-12 13:54:44 +03:00

PyBitmessage

Bitmessage is a P2P communications protocol used to send encrypted messages to another person or to many subscribers. It is decentralized and trustless, meaning that you need-not inherently trust any entities like root certificate authorities. It uses strong authentication, which means that the sender of a message cannot be spoofed, and it aims to hide "non-content" data, like the sender and receiver of messages, from passive eavesdroppers like those running warrantless wiretapping programs.

Development

Bitmessage is a collaborative project. You are welcome to submit pull requests although if you plan to put a non-trivial amount of work into coding new features, it is recommended that you first solicit feedback on the DevTalk pseudo-mailing list: BM-2D9QKN4teYRvoq2fyzpiftPh9WP9qggtzh

References