Secure and simple file transfer with Python
- End-to-End Encryption: Ensures files are securely transmitted and unreadable by anyone intercepting them.
- Integrity Verification: Confirms that files arrive without corruption or tampering.
- Lightweight and Simple: Minimal dependencies and straightforward setup for quick deployment.
- Cross-Platform: Runs on any system with Python installed.
In an era where digital communication is often vulnerable, CipherDrop is built with three guiding principles:
- Privacy First: Your files are yours alone. Encryption ensures only the intended recipient can access them.
- Simplicity Without Sacrifice: Security doesn't have to be complex. CipherDrop keeps the interface intuitive while maintaining strong protection.
- Trust Through Transparency: Open-source by design, allowing anyone to inspect, improve, or audit the code.
Contributors are encouraged to participate not just to enhance CipherDrop, but to uphold the broader philosophy of free and open-source software. By contributing, you:
- Help advance secure file sharing practices and cryptographic experimentation.
- Support a culture of transparency and reproducibility in software development.
- Gain hands-on experience with real-world encryption, networking, and cross-platform Python development.
- Join a community that values accessibility, collaboration, and ethical use of technology.
CipherDrop embodies the belief that secure file sharing should be accessible, reliable, transparent, and a shared effort—inviting programmers, security researchers, and enthusiasts alike to contribute, learn, and innovate together.
# Clone the repository git clone https://github.com/aaronzeinali/CipherDrop.git cd CipherDroppip install -r requirements.txt
python server.py --host 0.0.0.0 --port 5000 --save-dir received --psk "[your_pass_key]"
The server ip address is local in this sample. [your_server_ip] = 127.0.0.1 python client.py --host [your_server_ip] --port 5000 --file tests/test.txt --psk "[your_pass_key]"
- Select a file to send via the client.
- The server receives the file, verifies its integrity, and saves it securely.
- Encryption ensures that even if network traffic is intercepted, file contents remain confidential.
Contributions are welcome! Please fork the repository, make your changes, and submit a pull request. Focus areas include:
- Improving encryption methods
- Adding cross-platform GUI support
- Enhancing performance and usability
This project is open-source under the MIT License. See LICENSE for details.