diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..bc4cd22 --- /dev/null +++ b/.github/CODE_OF_CONDUCT.md @@ -0,0 +1,7 @@ +# CODE OF CONDUCT + +1. **Respect Simplicity:** Keep contributions simple and focused on the project goals. Avoid adding unnecessary complexity. +2. **Limited Scope:** Contributions are welcome, but the project is personal and learning-focused, so not all suggestions or code may be accepted. +3. **Constructive Feedback:** Share feedback respectfully, keeping in mind the learning purpose of the project. +4. **Patience and Understanding:** The project may not always be actively maintained, so responses or updates might take time. +5. **No Harassment:** Respectful and professional behavior is mandatory in all interactions. diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 0000000..3505b2d --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,19 @@ +# **🤝 Thank you for considering to contribute!** + +I was started writing a script to learn Python, but this became my loved project afterwards when I learned to do more things over time. It was initially a learning project, but now it's a problem-solver and time-saving Python project for me, which has saved me so much time. + +## Things that would help + +### **How You Can Contribute:** + +- **Suggest improvements:** If you have ideas on how to improve the script, feel free to open an issue or submit a pull request. +- **Report bugs:** If you encounter any issues or glitches, please let me know by opening an issue with details about the problem. +- **Documentation:** Contributions to improving the documentation are always welcome. +- **Translations** + +### **What You Can Expect:** + +- I will review contributions and suggestions when I can, but please note this project is in a **permanent beta phase** and my availability may be limited. +- Since this is a personal project for learning, I can’t guarantee that every contribution will be merged or that I’ll be able to offer extensive feedback. + +If you'd like to contribute, please feel free to open a pull request or start a discussion. Thank you for your interest! diff --git a/.github/CONTRIBUTING.tr.md b/.github/CONTRIBUTING.tr.md new file mode 100644 index 0000000..f7d8ac5 --- /dev/null +++ b/.github/CONTRIBUTING.tr.md @@ -0,0 +1,19 @@ +# **🤝 Katkı Sağlamayı Düşündüğünüz İçin Teşekkürler!** + +Python öğrenmek amacıyla bir script yazmaya başladım, ancak zamanla daha fazla şey yapmayı öğrendikçe bu proje benim sevdiğim bir hale geldi. Başlangıçta bir öğrenme projesiydi, ancak şimdi benim için zaman kazandıran ve problem çözen bir Python projesi haline geldi, bu proje bana çok zaman kazandırdı. + +## Yardımcı Olabilecek Şeyler + +### **Nasıl Katkı Sağlayabilirsiniz:** + +- **İyileştirme önerileri:** Script'i nasıl geliştirebileceğinizle ilgili fikirleriniz varsa, bir issue açarak ya da pull request göndererek katkı sağlayabilirsiniz. +- **Hata bildirimleri:** Herhangi bir sorun veya hata ile karşılaşırsanız, lütfen problemi detaylarıyla birlikte bir issue açarak bildirin. +- **Dokümantasyon:** Dokümantasyonu geliştirmeye yönelik katkılar her zaman kabul edilir. +- **Çeviriler** + +### **Ne Bekleyebilirsiniz:** + +- Katkıları ve önerileri, zamanım olduğunda inceleyeceğim, ancak bu projenin **kalıcı beta aşamasında** olduğunu ve zamanımın sınırlı olabileceğini unutmayın. +- Bu proje kişisel bir öğrenme projesi olduğundan, her katkının birleştirileceğini veya geniş bir geri bildirim sağlanabileceğini garanti edemem. + +Katkı sağlamak isterseniz, lütfen bir pull request açmaktan veya bir tartışma başlatmaktan çekinmeyin. İlginiz için teşekkür ederim! diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..8caf4f7 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: [Cyber-Syntax] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..fe2accf --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,38 @@ +--- +name: Bug report +about: Create a report to help us improve +title: "bug: " +labels: bug +assignees: "" +--- + +**please complete the following information:** + +- OS: [e.g. iOS] +- Version [e.g. 0.2.3-beta] +- Python version [e.g 3.11] + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: + +1. python3 main.py +2. select choice 3 +3. See choice 1... 2..., select 2 +4. See this error: + +```python + +``` + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Additional context** +Add any other context about the problem here. + +``` + +``` diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..f903f82 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,17 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: "feat: " +labels: enhancement +assignees: "" +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. +Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. diff --git a/README.md b/README.md index c801e12..5906421 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,91 @@ -# AutoTarCompress -The script compresses specific directories as tar. -# Requirements -- Python3 -- Linux - -# Dependencies -- tar -- openssl - -# Installation -- Clone the repository via `git clone https://github.com/Cyber-Syntax/AutoTarCompress.git` - -# Usage -- You need to change directories on the example-dirs_to_backup.txt and rename it to dirs_to_backup.txt. -- You can change the backup directory on the `main.py` or you can create `backup-for-cloud` directory on your `~/Documents/` directory. -- `python3 main.py` +[![en](https://img.shields.io/badge/lang-en-green.svg)](https://github.com/Cyber-Syntax/AutoTarCompress/blob/main/README.md) +[![tr](https://img.shields.io/badge/lang-tr-blue.svg)](https://github.com/Cyber-Syntax/AutoTarCompress/blob/main/README.tr.md) + +--- + +# **⚠️ Attention** + +- **This project is in a beta phase** due to limited testing at this time.. Although primarily developed for learning purposes, it effectively addresses my specific needs. +- **Important:** Follow the instructions in the **Releases section** when updating the script. Updates may include new features or changes that could require different steps. I’ll strive to keep the instructions as simple as possible. +- **Currently supported:** Linux only. While it might work on macOS, it has not been tested yet. + +--- + +## **About AutoTarCompress** + +- The script compresses specific directories into tar files (e.g., 01-01-2025.tar.xz) and is able to encrypt them using the OpenSSL Python library. +- It also allows for decryption and extraction of the created files. + +--- + +## **💡 How to Use** + +1. Open a terminal and clone this repo (make sure you have git installed): + + ```bash + cd ~/Downloads & + git clone https://github.com/Cyber-Syntax/AutoTarCompress.git + ``` + +2. Navigate to the project directory: + + ```bash + cd ~/Downloads/Cyber-Syntax/AutoTarCompress + ``` + +3. **Optional: Create a virtual environment (Recommended)** + + - Create a virtual environment: + - `python3 -m venv .venv` + - Activate the virtual environment: + - `source .venv/bin/activate` + - Install dependencies using `pip`: + - `pip install -r requirements.txt` + - If this doesn't work, install manually (some of them may already be installed; exclude those if you encounter an error again). + - `pip3 install tqdm` + +4. Activate the virtual environment (if applicable): + + ```bash + source .venv/bin/activate + ``` + +5. You need do before start: + + - You need to change example directories on the **example-dirs_to_backup.txt** and rename it to **dirs_to_backup.txt**. + - You can create `backup-for-cloud` directory on your `~/Documents/` directory. + - or you can change the backup directory on this line on the main.py: + ```python + backup_folder: str = os.path.expanduser("~/Documents/backup-for-cloud/") + ``` + +6. Start the script: + + ```bash + python3 main.py + ``` + +7. Follow the on-screen instructions. + +--- + +## **🙏 Support This Project** + +If this script has been helpful: + +- **Consider giving it a star ⭐** on GitHub to show your support and keep me motivated on my coding journey! +- **💖 Support This Project:** If you'd like to support my work and help me continue learning and building projects, consider sponsoring me: + - [![Sponsor Me](https://img.shields.io/badge/Sponsor-💖-brightgreen)](https://github.com/sponsors/Cyber-Syntax) + +### **🤝 Contributing** + +- This project is primarily a learning resource for me, but I appreciate any feedback or suggestions! While I can't promise to incorporate all contributions or maintain active involvement, I’m open to improvements and ideas that align with the project’s goals. +- Anyway, please refer to the [CONTRIBUTING.md](.github/CONTRIBUTING.md) file for more detailed explanation. + +--- + +## **📝 License** + +This script is licensed under the [GPL 3.0 License]. You can find a copy of the license in the [LICENSE](https://github.com/Cyber-Syntax/my-unicorn/blob/main/LICENSE) file or at [www.gnu.org](https://www.gnu.org/licenses/gpl-3.0.en.html). + +--- diff --git a/README.tr.md b/README.tr.md new file mode 100644 index 0000000..082a922 --- /dev/null +++ b/README.tr.md @@ -0,0 +1,90 @@ +[![en](https://img.shields.io/badge/lang-en-green.svg)](https://github.com/Cyber-Syntax/AutoTarCompress/blob/main/README.md) +[![tr](https://img.shields.io/badge/lang-tr-blue.svg)](https://github.com/Cyber-Syntax/AutoTarCompress/blob/main/README.tr.md) + +--- + +# **⚠️ Dikkat** + +- Bu proje sınırlı testlerden dolayı şu anlık **beta aşamasındadır** . Başlangıçta öğrenme amaçlı geliştirilmiş olsa da, benim özel ihtiyaçlarımı etkin bir şekilde karşılamaktadır. +- **Önemli:** Script’i güncellerken **Releases** bölümündeki talimatları takip edin. Güncellemeler yeni özellikler veya değişiklikler içerebilir ve bu değişiklikler farklı adımlar gerektirebilir. Talimatları olabildiğince basit tutmaya çalışacağım. +- **Şu anda desteklenen:** Sadece Linux. macOS'ta çalışabilir, ancak henüz test edilmemiştir. + +--- + +## **AutoTarCompress Hakkında** + +- Bu script, belirli dizinleri tar dosyalarına sıkıştırır (örn. 01-01-2025.tar.xz) ve OpenSSL Python kütüphanasını kullanarak bunları şifreleyebilir. +- Ayrıca oluşturulan dosyaların şifresini çözmeyi ve çıkarmayı sağlar. + +--- + +# **💡 Nasıl Kullanılır** + +1. Bir terminal açın ve bu depoyu klonlayın (git'in yüklü olduğundan emin olun): + + ```bash + cd ~/Downloads/ + git clone https://github.com/Cyber-Syntax/AutoTarCompress.git + ``` + +2. Proje dizinine gidin: + + ```bash + cd ~/Downloads/Cyber-Syntax/AutoTarCompress + ``` + +3. **Opsiyonel: Sanal bir ortam oluşturun (Tavsiye Edilir)** + + - Sanal ortam oluşturun: + - `python3 -m venv .venv` + - Sanal ortamı etkinleştirin: + - `source .venv/bin/activate` + - `pip` kullanarak bağımlılıkları yükleyin: + - `pip install -r requirements.txt` + - Eğer bu yöntem çalışmazsa, bağımlılıkları manuel olarak yükleyin (bazıları zaten yüklü olabilir; hata alırsanız yüklenmeyenleri deneyin). + - `pip3 install tqdm` + +4. Sanal ortamı etkinleştirin (eğer oluşturulduysa): + + ```bash + source .venv/bin/activate + ``` + +5. Başlamadan önce yapmanız gerekenler: + + - **example-dirs_to_backup.txt** dosyasındaki örnek **dizinleri** değiştirmelisiniz ve adını **dirs_to_backup.txt** olarak değiştirmelisiniz. + - `~/Documents/` dizininde `backup-for-cloud` adlı bir dizin oluşturabilirsiniz. (Eğer bilgisayarınız türkçe ise dizin adını kesinlikle değiştirmelisiniz.) + + - veya yedekleme dizinini main.py bu satırdan değiştirebilirsiniz: + ```python + backup_folder: str = os.path.expanduser("~/Documents/backup-for-cloud/") + ``` + +6. Script'i başlatın: + + ```bash + python3 main.py + ``` + +7. Ekrandaki talimatları izleyin. + +--- + +## **🙏 Bu Projeye Destek Olun** + +- **GitHub üzerinde yıldız ⭐** vererek desteğinizi gösterebilirsiniz, böylece kodlama yolculuğumda motive olmamı sağlar! +- **💖 Projeyi Destekle:** Çalışmalarımı desteklemek ve projeler yapmaya devam etmemi sağlamak istersen, bana sponsor olmayı düşünebilirsin: + - [![Sponsor Ol](https://img.shields.io/badge/Sponsor-💖-brightgreen)](https://github.com/sponsors/Cyber-Syntax) + +### **🤝 Katkı Sağlama** + +- Bu proje benim için öncelikle bir öğrenme kaynağıdır, ancak geri bildirim veya önerilerden memnuniyet duyarım! Tüm katkıları entegre etmeyi veya sürekli olarak katılım sağlamayı vaat edemem, ancak proje hedeflerine uygun iyileştirmelere ve fikirlere açığım. +- Yine de, daha ayrıntılı bir açıklama için lütfen [CONTRIBUTING.tr.md](.github/CONTRIBUTING.tr.md) dosyasına göz atın. + +--- + +## **📝 Lisans** + +Bu script, [GPL 3.0 Lisansı](https://www.gnu.org/licenses/gpl-3.0.en.html) altında lisanslanmıştır. Lisansın bir kopyasını [LICENSE](https://github.com/Cyber-Syntax/my-unicorn/blob/main/LICENSE) dosyasından veya [www.gnu.org](https://www.gnu.org/licenses/gpl-3.0.en.html) adresinden bulabilirsiniz. + +--- diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..92ecb08 --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +tqdm==4.67.0