Skip to content

CipherDrop is a Python-based client-server tool for secure file transfer. It uses end-to-end encryption and cryptographic integrity checks to ensure files are confidential, tamper-proof, and reliably delivered. Ideal for developers, security researchers, and anyone needing lightweight, auditable encrypted file exchange.

Notifications You must be signed in to change notification settings

aaronzeinali/CipherDrop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CipherDrop

Secure and simple file transfer with Python


🚀 Features

  • 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.

💡 Philosophy

In an era where digital communication is often vulnerable, CipherDrop is built with three guiding principles:

  1. Privacy First: Your files are yours alone. Encryption ensures only the intended recipient can access them.
  2. Simplicity Without Sacrifice: Security doesn't have to be complex. CipherDrop keeps the interface intuitive while maintaining strong protection.
  3. 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.

🛠️ Getting Started

# Clone the repository
git clone https://github.com/aaronzeinali/CipherDrop.git
cd CipherDrop

Install dependencies

pip install -r requirements.txt

Run the server

python server.py --host 0.0.0.0 --port 5000 --save-dir received --psk "[your_pass_key]"

Run the client

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]"

📁 Usage

  • 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.

🤝 Contributing

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

📜 License

This project is open-source under the MIT License. See LICENSE for details.

About

CipherDrop is a Python-based client-server tool for secure file transfer. It uses end-to-end encryption and cryptographic integrity checks to ensure files are confidential, tamper-proof, and reliably delivered. Ideal for developers, security researchers, and anyone needing lightweight, auditable encrypted file exchange.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages