Reference client for Bitmessage: a P2P encrypted decentralised communication protocol
Go to file
Peter Surda ca567acab3
Put uploads into a separate thread
- instead of being processed in the ReceiveQueue thread, uploads are now done
  in a dedicated thread. Only the parsing is done in ReceiveQueue thread.
- the UploadThread is modelled based on the DownloadThred, but simpler.
- it checks for intersection attack, eliminates duplicates and restricts the
  write buffer size to 2MB (may still grow slightly higher if too many big
  objects are requested, but the absolute limit appears to be about 4.5MB in the
  worst case scenario).
- the restriction of the write buffer may cause some upload throttling (to
  about 2MB per second per connection), but can be optimised later
- fixes #1414
2018-12-20 20:34:01 +01:00
build Compiletest for non-Windows systems 2017-01-11 14:21:53 +01:00
desktop Slightly redrawn the scalable icon 2017-10-19 21:17:30 +03:00
dev Changes based on style and lint checks. (final_code_quality_17) 2018-11-26 14:58:16 +00:00
docs Added: Sphinx docs, testing readthedocs integration 2018-06-13 10:07:45 +01:00
examples Changes based on style and lint checks. (final_code_quality_12) 2018-10-31 16:20:42 +00:00
fabfile Merge branch 'v0.6' into fabric_task_improvements 2018-06-27 11:10:04 +01:00
man Packaging for multiple distros 2013-07-12 10:36:28 +01:00
packages Merge branch '1159' into upstream-v0.6 2018-03-20 06:49:42 +01:00
src Put uploads into a separate thread 2018-12-20 20:34:01 +01:00
.gitignore Added: Sphinx docs, testing readthedocs integration 2018-06-13 10:07:45 +01:00
.travis.yml Fixed signal files creation 2018-10-22 17:18:23 +03:00
android_instruction.rst Added Navigation Drawer UI with create feature 2018-07-24 15:40:35 +05:30
bandit.yml Fixed: Simple Codacy errors and warnings in src/helper_* 2018-05-02 15:52:47 +01:00
checkdeps.py Fix error. EXTRAS_REQUIRE is dictionary not a list. 2018-11-04 17:17:36 +03:00
configure Packaging for multiple distros 2013-07-12 10:36:28 +01:00
COPYING Re-update Year 2018-04-15 13:33:18 +08:00
INSTALL.md Update INSTALL.md 2018-04-25 18:50:05 +01:00
LICENSE Fixed: Style and lint issues in src/qidenticon.py 2018-05-16 12:31:06 +01:00
MANIFEST.in Total setup.py cleanup and simple script installation 2017-02-28 15:51:49 +02:00
PULL_REQUEST_TEMPLATE.md Added: Sphinx docs, testing readthedocs integration 2018-06-13 10:07:45 +01:00
README.md Changed http:// to https:// on BeamStat link 2018-07-13 21:51:56 +02:00
requirements.txt New test case class hierarchy: 2018-10-22 17:18:23 +03:00
setup.cfg Add src to path when running pylint 2018-08-27 18:59:15 +02:00
setup.py Added tests_require keyword to setup() 2018-10-22 17:18:24 +03:00

PyBitmessage

Bitmessage is a P2P communication 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. BM aims to hide metadata from passive eavesdroppers like those ongoing warrantless wiretapping programs. Hence the sender and receiver of Bitmessages stay anonymous.

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

Feel welcome to join chan "bitmessage", BM-2cWy7cvHoq3f1rYMerRJp8PT653jjSuEdY which is on preview here: https://beamstat.com/chan/bitmessage

References