Bytestag: Wide Availability Peer-to-Peer File Sharing
Bytestag is a peer-to-peer (P2P) file sharing system that uses a distributed hash table (DHT) to achieve wide availability of files. Unlike the BitTorrent protocol, files are published entirely via DHT and do not require trackers or swarming. Each computer donates disk space and bandwidth for caching of published values.
This software is currently under development.
You will need:
If you want the GUI you will need:
The command line version can be run as:
python3 -m bytestag
The GUI version can be run as:
python3 -m bytestagui
For Windows, Microsoft Visual C++ 2008 Redistributable Package is needed. SP1 is not needed. Be sure to match 32 or 64 bit. Read the cx_freeze documentation for details.
If it crashes hard on Windows, install the Windows Debugger Tools (WinDbg) to attach to the process and see which module failed to import. It is usually a missing DLL.
The project page is located at https://launchpad.net/bytestag. Code, bug reports, translations, and questions are welcomed there.
The code is occasionally mirrored at https://github.com/chfoo/bytestag.
A suggested local project directory structure is as follows:
bytestag/bytestag.bzr/trunk/
bytestag/bytestag.bzr/unstable/
bytestag/bytestag.bzr/stable/
bytestag/bytestag.bzr/branches/bug-NNNNN/
bytestag/bytestag.bzr/branches/feature-XXXXX/
bytestag.bzr is a Bzr shared repository. It is usually created by executing bzr init-repo --no-trees bytestag.bzr in the bytestag directory.
You might not want to work with Bzr, so use you can put a repo next to it:
bytestag/bytestag.git/
For more structure/layout ideas, see http://wiki.bazaar.canonical.com/SharedRepositoryLayouts.
Release tags for any version (alpha, beta, etc.) should use vN.N[.N]+[{a|b|c|rc}N[.N]+]. For example: v1.2b1.
The documentation is located in the doc directory. Sphinx is used to generate the documents. They will be made available online when ready.
Please update the release notes in the doc directory for releases.
Packaging scripts and templates are included in the pkg directory. If packaging templates do not work, require unnecessary tweaking, or violate packaging policies, please tell us.