# 📦 Backup Tool

![GitHub release (latest by date)](https://img.shields.io/github/v/release/aminzdev/zsafe?style=for-the-badge)
![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/aminzdev/zsafe/codecov.yml?style=for-the-badge)
![GitHub issues](https://img.shields.io/github/issues/aminzdev/zsafe?style=for-the-badge)
![GitHub stars](https://img.shields.io/github/stars/aminzdev/zsafe?style=for-the-badge)
![Code Coverage](https://img.shields.io/codecov/c/github/aminzdev/zsafe?style=for-the-badge)
![GitHub license](https://img.shields.io/github/license/aminzdev/zsafe?style=for-the-badge)
![GitHub forks](https://img.shields.io/github/forks/aminzdev/zsafe?style=for-the-badge)
![GitHub watchers](https://img.shields.io/github/watchers/aminzdev/zsafe?style=for-the-badge)
![GitHub contributors](https://img.shields.io/github/contributors/aminzdev/zsafe?style=for-the-badge)
![Supported OS](https://img.shields.io/badge/OS-Linux-blue?style=for-the-badge)
![Docs](https://img.shields.io/badge/docs-up_to_date-brightgreen?style=for-the-badge)

> **A lightweight CLI tool for compressing, encrypting, and backing up directories to Telegram & Google Drive.** 🚀

## ✨ Features

- [x] Compress & encrypt directories using `zstd` and `Fernet` encryption 🔒  
- [ ] Upload backups to **Telegram** 📤  
- [ ] Upload backups to **Google Drive** ☁️  
✅ Simple & easy-to-use CLI 🎯  
✅ Fast & efficient ⚡  

---

## 📥 Installation

You can install the tool using **pip**:

```bash
pip install zsafe
```

After installation, you can use it from anywhere:

```bash
zsafe --help
```

---

## 🚀 Usage

### 🔹 Create a Backup
```bash
zsafe backup --file /path/to/directory
```

### 🔹 Send Backup to Telegram
```bash
zsafe telegram --file backup.zst.enc --token YOUR_BOT_TOKEN --chat YOUR_CHAT_ID
```

### 🔹 Upload Backup to Google Drive
```bash
zsafe gdrive --file backup.zst.enc
```

---

## ⚙️ Configuration

To use Telegram and Google Drive features, set up your credentials:

### 🔹 Telegram Setup
- Create a bot via [BotFather](https://t.me/BotFather) and get the `BOT_TOKEN`.
- Get your chat ID from [this guide](https://stackoverflow.com/a/32572159/1234567).

### 🔹 Google Drive Setup
- Authenticate via Google OAuth2.
- Store credentials in `~/.zsafe/config.json`.

---

## 🛠️ Development & Contribution

1. Clone the repository:
```bash
git clone https://github.com/aminzdev/zsafe.git
cd zsafe
```

2. Install dependencies:
```bash
pip install -r requirements.txt
```

3. Run the tool locally:
```bash
python backup_cli.py --help
```

🚀 Feel free to **fork** and submit PRs! Contributions are welcome. 😊

---

## 📜 License

This project is licensed under the **MIT License** - see the [LICENSE](LICENSE) file for details.

---

## ⭐ Support & Feedback

If you like this project, consider giving it a **⭐ star**! 😊  
For any issues, feel free to open an [issue](https://github.com/aminzdev/zsafe/issues).
