Peer-to-peer file transfer. No password/sign-up/storage/server required.
Handshake is a Java program that allows you transfer files between any two Internet-connected computers without requiring an external file-transfer server to act as intermediate. Light, nimble and multi-platform, Handshake is everything a good, simple file transfer program should be, without being too geeky/nerdy. Also provides solid security measures.
The whole Handshake app is divided into two parts:
- This repo (HandshakeApp) handles all of the GUI, majority of functionality and interfaces with
gnupg-for-java: Provides an API for all the PGP related tasks such as encryption, key generation and other crypto stuff.
All the work happens on the
develop branch, with specific branches for major/under-development features (
feature/* branches). No guarantee
of compilation of code on
develop branch. Grab the
master branch if you want functional, buildable code.
gh-pages branch if you want to improve the website
Yes, in short we follow Vincent Driessen's branching model
We prefer Linux for building and developing Handshake, but the compiling should work on Windows and Mac OS too. To build you need
- Java Development Kit (JDK): Version 7 and above
- NetBeans IDE: Version 8
- Maven (Default wth NetBeans)
All other and any future dependencies will be handled by Maven
Note: NetBeans IDE is required only because of the GUI code. If you are contributing to non GUI code, any IDE with Apache Maven support will do.
Instructions for building
gnupg-for-java can be found in its own
If you notice any bug, or have a suggestion, please open a GitHub issue. Pull requests are welcome. Get going! Please be consistent with your style throughout.
If you aren't interested in contributing to the source code or aren't a developer, we have other vacancies too:
- 'The Handshake Wiki' which provides documentation and guides to both developers and common users of Handshake. For convenience and ease of translation to other languages, all original posts to the wiki should be in English.
- Translate Handshake to various international languages. We are currently working out a solution for smooth translation of Handshake's user interface, kindly do not alter the source code's labels and send us a pull request.
Any kind of contribution is welcome.
Your usage and copying rights regarding the software are covered under the GNU GPL v3 License. See the
LICENSE file for full text.