An open API service indexing awesome lists of open source software.

https://github.com/ultrareflex8672/ultraconsole

UltraConsole, kullanıcı dostu bir modüler komut satırı arayüzü sunarak üreteceğiniz konsol uygulamalarını, modülleri ve çeşitli işlemleri yönetmenizi sağlayan güçlü bir framework aracıdır. Gelişmiş otomatik menü sisteminden bilgi penceresine, kullanıcı yönetiminden kişiselleştirmeye, kolay modül yönetiminden otomatik güncellemeye kadar destekler.
https://github.com/ultrareflex8672/ultraconsole

add-modul auto-menu console-application console-framework default-modules framework python user-interface

Last synced: 3 months ago
JSON representation

UltraConsole, kullanıcı dostu bir modüler komut satırı arayüzü sunarak üreteceğiniz konsol uygulamalarını, modülleri ve çeşitli işlemleri yönetmenizi sağlayan güçlü bir framework aracıdır. Gelişmiş otomatik menü sisteminden bilgi penceresine, kullanıcı yönetiminden kişiselleştirmeye, kolay modül yönetiminden otomatik güncellemeye kadar destekler.

Awesome Lists containing this project

README

          

ultareflex8672

# UltraConsole ![GitHub Repo stars](https://img.shields.io/github/stars/Ultrareflex8672/UltraConsole)

[![GitHub Release](https://img.shields.io/github/v/release/Ultrareflex8672/UltraConsole)](https://github.com/Ultrareflex8672/UltraConsole/releases)
[![GitHub Release Date](https://img.shields.io/github/release-date/Ultrareflex8672/UltraConsole)](https://github.com/Ultrareflex8672/UltraConsole/releases)
[![GitHub top language](https://img.shields.io/github/languages/top/Ultrareflex8672/UltraConsole)](https://github.com/Ultrareflex8672/UltraConsole)
[![GitHub License](https://img.shields.io/github/license/Ultrareflex8672/UltraConsole)](https://github.com/Ultrareflex8672/UltraConsole?tab=MIT-1-ov-file)
[![GitHub repo size](https://img.shields.io/github/repo-size/Ultrareflex8672/UltraConsole)](https://github.com/Ultrareflex8672/UltraConsole)
[![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/Ultrareflex8672/UltraConsole/total)](https://github.com/Ultrareflex8672/UltraConsole/releases)

## 🚀 UltraConsole Nedir?

UltraConsole, kullanıcı dostu bir modüler komut satırı arayüzü sunarak üreteceğiniz konsol uygulamalarını, modülleri ve çeşitli işlemleri yönetmenizi sağlayan güçlü bir framework aracıdır. Gelişmiş otomatik menü sisteminden bilgi penceresine, kullanıcı yönetiminden kişiselleştirmeye, kolay modül yönetiminden otomatik güncelleştirmelere kadar birçok işlevi destekler.

----------

## 🔥 Özellikler

### 🏗️ Menü ve Yapılandırma
- Basit, orta ve ileri düzeyde otomatik menü yapıları oluşturulabilir.

- Menü sistemi `menu.cfg` dosyasından otomatik oluşturulur.

- Varsayılan `config.cfg` ile farklı menü yapıları veya ana menüler aktif hale getirilebilir.

- "Geri" ve "Çıkış" seçenekleri sabittir.

- Menü renkleri ve görselleri ayar dosyası üzerinden değiştirilebilir.

### 🛠️ Modüler Sistem

- Yeni modüller eklenebilir, silinebilir veya düzenlenebilir.

- Modüller parametre alabilir ve ana uygulama ile veri paylaşabilir.

- Framework 'ün nasıl çalıştığını analiz edebileceğiniz ve kullanışlı bulabileceğiniz bazı örnek dahili modüller:

- 🔒 Şifreli Dosya Kasası

- 🔉 Sesli Asistan

- 💱 Döviz Hesaplama Modülü (API ile anlık veri)

- 🌡️ Sıcaklık Birim Çevirici

- ⚖️ BMI Hesaplama Modülü

- 📊 Not Hesaplama Modülü

- 🎭 Adam Asmaca Oyunu

- ✂️ Taş, Kağıt, Makas

- 🏓 Pong Oyunu

- 🎲 Sayı Tahmin Oyunu

- 🧮 Hesap Makinesi

- 🚩 Bayrak Çizme Modülü

- 🔢 Ritmik Sayma Modülü

- 🔢 Çarpım Tablosu

- 📅 Takvim Modülü

### ⚙️ Ayarlar ve Konfigürasyon

- JSON tabanlı terminal arayüzünden ayar yönetimi.

- Menü ve pencere genişliği ve ayarları değiştirilebilir.

- Modüller `config.cfg` ile ilişkilendirilebilir.

### 👤 Kullanıcı Yönetimi

- SQLite tabanlı veritabanı altyapısı.

- Şifreler güvenli şekilde saklanır.

- İlk açılışta kullanıcı otomatik oluşturulur.

- Kullanıcı bilgileri düzenlenebilir.

- Yönetici yetkileri:

- Kullanıcı listeleme

- Yeni kullanıcı ekleme

- Kullanıcı silme

- Uygulama ayarlarını değiştirme

- Modül ekle, sil, değiştir

### 🖥️ Gelişmiş Konsol İşlevleri

- Kullanıcı bilgilerini modüller ile paylaşabilme.

- Basit menü, bilgi ve input pencereleri oluşturabilme.

- İleri seviye menü oluşturma.

- Konsol temizleme fonksiyonu.

- Açıklamalı örnek modüller.

- Basit, Orta ve İleri Seviye modları.

- Stabilize edilmiş menü çağırma fonksiyonu.

- Gelişmiş LOG kayıtları.

----------

## 📥 Kurulum

### [💾 UltraConsole 'u İndirin - ![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/Ultrareflex8672/UltraConsole/total)](https://github.com/Ultrareflex8672/UltraConsole/releases/download/V4.2.0.0/UltraConsole_Setup.exe)

```
# Seçenek 1: Kurulum dosyasını indirin ve yükleyin (Modül Kullanıcıları için Tavsiye Edilir)
https://github.com/Ultrareflex8672/UltraConsole/releases/download/V4.2.0.0/UltraConsole_Setup.exe

# Seçenek 2: Depoyu klonlayın (Framework Geliştiriciler için Tavsiye Edilir)
git clone https://github.com/Ultrareflex8672/UltraConsole.git
```

### UltraConsole Framework Yapısını Geliştirme

UltraConsole 'a modül geliştirmekten ayrıca UltraConsole Framework yapısında geliştirme ve değişiklik yapmak istiyorsanız [buradan son versiyon `UltraConsole_Setup.exe`](https://github.com/Ultrareflex8672/UltraConsole/releases) dosyasını indirin ve kurun. Uygulama kaynak kodları UltraConsole 'un yüklü olduğu dizinde `main.py` dosyası ve `application` klasöründedir. `UltraConsole.exe` dosyası çalışırken `main.py` dosyası ve `application` klasörüne ihtiyaç duymaz. Bu sadece geliştiriciler için açık kaynak kodları içerir. Ayrıca ```python -m pip install -r requirements.txt``` komutu ile bağımlılıkları yükleyin (gerekliyse). Bu işlem yalnız framework geliştiricileri içindir, modül üretici kullanıcılar için dahili kütüphaneler `UltraConsole.exe` içinde mevcuttur ve aşağıdaki gibidir. Geliştireceğiniz modül için farklı bir kütüphane ihticayınız varsa `application\ultraconsole.py` içine import ettikten sonra ```pyinstaller --name=UltraConsole --onefile --add-data "application;application" --add-data "modules;modules" --icon=ultraconsole.ico main.py``` çalıştırarak özel bir sürüm elde edebilsiniz.

`base64`, `BeautifulSoup`, `catalogue`, `charset_normalizer`, `coloroma`, `cycler`, `datetime`, `getpass`, `gTTS`, `hashlib`, `http.client`, `HTMLParser`, `importlib.util`, `import win32com.client`, `jiter`, `json`, `kiwisolver`, `logging`, `mdurl`, `msvcrt`, `murmurhash`, `os`, `uuid`, `packaging`, `playsound`, `preshed`, `pytz`, `re`, `regex`, `requests`, `signal`, `six`, `sqlite3`, `subprocess`,`shutil`, `sys`, `textwrap`, `time`, `turtle`, `urllib3`, `urllib.request`, `wasabi`, `webbrowser`, `wrapt`, `zipfile`, `zipp`

----------

## 📌 Katkıda Bulunma

Katkılarınızı bekliyoruz! Yeni modüller ekleyerek veya mevcut kodu geliştirerek projeye destek olabilirsiniz. PR'lerinizi açabilirsiniz.

----------

## 🏷️ Versiyon Geçmişi

UltraConsole [Versiyon Geçmişi](https://github.com/Ultrareflex8672/UltraConsole/blob/main/CHANGELOG.md)

----------

## 📜 Lisans

Bu proje [MIT Lisansı](https://github.com/Ultrareflex8672/UltraConsole/tree/main?tab=MIT-1-ov-file) altında lisanslanmıştır.

----------

## 🔒 Güvenlik

UltraConsole Güvenlik Politikasına [buradan ulaşabilirsiniz.](https://github.com/Ultrareflex8672/UltraConsole?tab=security-ov-file)

----------

## 🤝 Davranış Kuralları

UltraConsole Davranış Kurallarına [buradan ulaşabilirsiniz.](https://github.com/Ultrareflex8672/UltraConsole?tab=coc-ov-file)

----------

🚀 **UltraConsole ile komut satırını daha güçlü hale getirin!**

----------

## 🎯 Kullanım

```
UltraConsole.exe
```

### [UltraConsole Modülü Eklemek ve Kullanmak](#0)

1. [ **Modül Ekleme**](#1)

- [Python Dosyası Oluşturma](#1.1)
- [Modülünüzü UltraConsole’a Dahil Etme](#1.2)
- [Fonksiyon İsimlendirmesi](#1.3)
- [Modül Klasörüne Yerleştirme](#1.4)
- [Modül Ekleme](#1.5)
2. [**Menü Oluşturma**](#2)

- [Basit Menü Yapısı (Liste Kullanarak)](#2.1)
- [JSON Yapısı ile Menü](#2.2)
- [Menüyü Modül İçerisinde Kullanma](#2.3)
- [JSON Yapısını Dinamik Olarak Kullanma](#2.4)
- [`_init_` Fonksiyonu ile Parametre Gönderme](#2.5)
3. [**Bilgi Penceresi Oluşturma**](#3)

4. [**Kullanıcıdan Input Alma**](#4)

5. [**Giriş Yapmış Kullanıcının Bilgilerini Kullanma**](#5)

- [`user_data` İndeksleri](#5.1)
6. [**Menü Pencere Boyutları ve Renklerini Değiştirme**](#6)

7. [**Bilgi ve Input Pencere Boyutları ve Renklerini Değiştirme**](#7)

8. [**Renk Referansı**](#8)

9. [**Modülde Kullanabileceğiniz Diğer Fonksiyonlar**](#9)

10. [**Yönetici Kullanıcı Adı ve Şifremi Unuttum**](#10)

11. [**Ayar ve Menü Yapısı Sıfırlama**](#11)


# UltraConsole Modülü Eklemek ve Kullanmak

Bu yazıda UltraConsole modülünde yeni modüller nasıl eklenir, menü nasıl oluşturulur ve modül içerisinde hangi fonksiyonlar kullanılabilir gibi detayları bulabilirsiniz.

## 1. Modül Ekleme

Modül eklemek için öncelikle yeni bir Python dosyası (.py uzantılı) oluşturmalısınız. Bu dosya, modülünüzü içeren fonksiyonları ve sınıfları barındıracaktır.

### Adımlar:

1. **Python Dosyası Oluşturma:**

- Modülünüz için bir Python dosyası oluşturun (örneğin `ornek_modul.py`).
- Bu dosya içerisinde modülünüzü çalıştıracak fonksiyonlar veya sınıflar yer almalıdır.
2. **Modülünüzü UltraConsole’a Dahil Etme:**

- UltraConsole içerisinde modülünüzü kullanabilmek için ```from application.ultraconsole import UltraConsole as UC``` kodu ile UltraConsole modülünü içe aktarın.
3. **Fonksiyon İsimlendirmesi:**

- Modülünüzdeki ana fonksiyon, dosya ismiyle aynı isme sahip olmalıdır. Örneğin, `ornek_modul.py` dosyasındaki ana fonksiyon `ornek_modul()` olmalıdır.
- Ayrıca, modülünüzde sınıf yapısı oluşturabilir ve `_init_` fonksiyonuna parametreler gönderebilirsiniz. Bunun detaylı açıklaması için [buraya tıklayın](#2.5).
4. **Modülü Modül Klasörüne Yerleştirme:**

- Oluşturduğunuz Python dosyasını `modules` klasörüne yerleştirin.
5. **Modül Ekleme:**

- UltraConsole modül ayarlarından "Modül Ekle" seçeneğini seçin. Burada, oluşturduğunuz modülü göreceksiniz.
- Modülünüzü seçip menü adı vererek ekleme işlemini tamamlayın.

----------

## 2. Menü Oluşturma - (Basit - Orta ve İleri Düzeylerde)

Modülünüzde kullanıcıya seçim yapma imkanı veren menüler oluşturmak için birkaç farklı yöntem bulunmaktadır. Aşağıda iki ana seçenek açıklanmıştır.

### 2.1. Basit Menü Yapısı (Liste Kullanarak)

Basit bir menü oluşturmak için aşağıdaki gibi bir liste veri yapısı kullanabilirsiniz:

```menu_elemanlari = ["1. Seçenek", "2. Seçenek", "3. Seçenek", "4. Seçenek"]```

Eğer "Geri Dön" veya "Ana Menü" gibi seçenekler eklemek isterseniz, bunları şu şekilde ekleyebilirsiniz:

```menu_elemanlari = menu_elemanlari + ["Geri Dön"] # Veya menu_elemanlari.append("Ana Menü")```

Kullanıcı seçimlerini almak için aşağıdaki gibi bir kod yapısı kullanabilirsiniz:

```kullanici_secimi = UC.create_frame("Menü Başlığı", menu_elemanlari, "menu")```

### 2.2. JSON Yapısı ile Menü

Bir menüyü JSON formatında tanımlamak, daha büyük ve dinamik menüler için ideal bir yöntemdir. Menü seçeneklerini JSON formatında aşağıdaki gibi tanımlayabilirsiniz:

```json
{
"Örnek Modül": {
"Seçenek 1": "ornek_modul",
"Seçenek 2": "ornek_modul",
"Seçenek 3": "ornek_modul",
"Seçenek 4": "ornek_modul"
}
}
```

Bu yapıda, her seçeneğin karşılığı olan modül veya fonksiyon belirlenmiştir. Alt modüller çalıştırılacak şekilde de yapılandırabilirsiniz. Örneğin:

```json
{
"Örnek Modül": {
"Seçenek 1": "_ornek_modul1",
"Seçenek 2": "_ornek_modul2",
"Seçenek 3": "_ornek_modul3",
"Seçenek 4": "_ornek_modul4"
}
}
```

Yukarıdaki JSON verisini, `config/menu.cfg` dosyasına ekleyebilirsiniz.

### 2.3. Menüyü Modül İçerisinde Kullanma

Menüyü modülünüzde kullanmak için şu adımları takip edebilirsiniz:

```munu.cfg``` dosyası içeriğinin aşağıdaki gibi olduğunu varsayalım

```json
{
"Ana Menü": {
"Hesap Makinesi": "hesap_makinesi",
"Oyunlar": "oyunlar",
"Bayrak Çiz": "bayrak"
},
"Oyunlar": {
"Adam Asmaca": "_adamasmaca",
"Pong": "_pong",
"Sayı Tahmin Etme": "_sayitahmin",
"Taş Kağıt Makas": "_taskagitmakas"
},
"Örnek Modül": {
"Seçenek 1": "ornek_modul",
"Seçenek 2": "ornek_modul",
"Seçenek 3": "ornek_modul",
"Seçenek 4": "ornek_modul"
}
}
```
Yukarıdaki menü yapılandırılmasına göre 'Ana Menü' 0. Index, 'Oyunlar' 1. Index ve yeni eklenen 'Örnek Modül' 2. Index.
Bu durum da index değerimizi ilk parametresine yazarak ```UC.go_custom_menu(2, **kwargs)``` fonksiyonu ile menümüzü çağırabiliriz.
Örneğin:

```
from application.ultraconsole import UltraConsole as UC

def ornek_modul(**kwargs):
if UC.from_main_menu(**kwargs):
UC.go_custom_menu(2, **kwargs) # 2. index
```

Kullanıcı seçimlerini yakalamak için aşağıdaki yapıyı kullanabilirsiniz:

```
if UC.selected_key(1, **kwargs):
print("1 seçildi")
if UC.selected_key(2, **kwargs):
print("2 seçildi")
```

### 2.4. JSON Yapısını Dinamik Olarak Kullanma

Menüyü dinamik olarak oluşturmak için JSON verisini bir değişkene atayıp kullanabilirsiniz:

Aşağıda verilen örnekte olduğu gibi menü verisini ```menu.cfg``` dosyasından çağırmak yerine bir değişken üzerinden de gönderebilirsiniz.

```
menu_json = {
"Örnek Modül": {
"Seçenek 1": "_ornek_modul1",
"Seçenek 2": "_ornek_modul2",
"Seçenek 3": "_ornek_modul3",
"Seçenek 4": "_ornek_modul4"
}
}

def ornek_modul(**kwargs):
if UC.from_main_menu(**kwargs):
kwargs.update({"menu_data": menu_json})
UC.go_custom_menu(0, **kwargs) # Gönderilen menü verisinde hangi ana menü çalıştırılmak isteniyorsa o anahtarın index değeri girilmelidir. (Bu örenekte index 0)
```

Yukarıdaki örnekte menü yapısı ```menu_json``` değişkenine doğrudan tanımlanmıştır ancak dilerseniz menü yapısı json verisini kendi oluşturacağınız bir dosyadan da okuyarak ```menu_json``` değişkenide atayabilirsiniz. Örneğin:

```
from application.ultraconsole import UltraConsole as UC

menu_json = UC.load_json("kendi_menu_dosyam.cfg")

def ornek_modul(**kwargs):
if UC.from_main_menu(**kwargs):
kwargs.update({"menu_data": menu_json})
UC.go_custom_menu(0, **kwargs) # Gönderilen menü verisinde hangi ana menü çalıştırılmak isteniyorsa o anahtarın index değeri girilmelidir.
```

### 2.5. `_init_` Fonksiyonu ile Parametre Gönderme

Sınıf yapısı kullanıyorsanız, `_init_` fonksiyonuna parametreler gönderebilirsiniz. Bunun için aşağıdaki yapıyı kullanabilirsiniz:

```
from application.ultraconsole import UltraConsole as UC

menu_data = UC.load_json("config/test.cfg")
def test(**kwargs):
if UC.from_main_menu(**kwargs):
kwargs.update({"menu_data": menu_data})
kwargs.update({"class_name": "Test"})
kwargs.update({"func_name": "go_func"})
kwargs.update({"init_data": {"parametre": 123}})
UC.go_custom_menu(0, **kwargs)
else:
Test().go_func(**kwargs)

class Test(UC):
def __init__(self, **kwargs):
self.parametre = kwargs.get("parametre")
UC.create_frame("Gelen Parametreler", "params: "+str(self.parametre))

def go_func(self, **kwargs):
user_data = kwargs.get("user_data")
isim = user_data[4] # 4. index isim bilgisi
if UC.selected_key(1, **kwargs):
UC.create_frame("Seçim 1", f"Merhaba {isim} Seçenek 1 Seçildi")
```

```UC.go_custom_menu(menu_index, **kwargs)``` fonksiyonuna gönderebileceğiniz diğer parametreler:
```module_name``` , ```func_name``` , ```module_path``` Örneğin:

```
from application.ultraconsole import UltraConsole as UC

def ornek_modul(**kwargs):
if UC.from_main_menu(**kwargs):
kwargs.update({"menu_data": menu_json}) # Özel json verisi ile menü oluşturma
kwargs.update({"module_name": "modul_dosyası_adi"}) # Bağımsız modül dosyası adı tanımlamam
kwargs.update({"func_name": "fonksiyon_adi"}) # Modül dosyası adından bağımsız fonsiyon tanımlama
kwargs.update({"module_path": "modul_konumu"}) # 'modules' kalsöründen farklı modül klasörü tanımlama
kwargs.update({"class_name": "OrnekSinif"}) # Modül içinde çalıştırılacak sınıfı tanımlama
kwargs.update({"init_data": "parametre"}) # Sınıf içinde init yapısına gönderilecek parametre
UC.go_custom_menu(2, **kwargs)
```

----------

## 3. Bilgi Penceresi Oluşturma

Kullanıcıya bilgi göstermek için aşağıdaki kodu kullanabilirsiniz:

```UC.create_frame("Başlık", "Bilgi içeriği", "info")```

Bu, ekrana bir bilgi penceresi açacaktır.

----------

## 4. Kullanıcıdan Input Alma

Kullanıcıdan input almak için şu kodu kullanabilirsiniz:

```UC.create_frame("Başlık", "Input talebi açıklaması", "")```

Örneğin, kullanıcıdan adını almak için:

```UC.create_frame("Bilgi Girişi", "İsim Bilginiz Gereklidir", "Adınız: ")```

----------

## 5. Giriş Yapmış Kullanıcının Bilgilerini Kullanma

Giriş yapmış bir kullanıcının bilgilerini modülünüzde kullanmak için şu şekilde `kwargs.get("user_data")` ifadesini kullanabilirsiniz:

```
def ornek_modul(**kwargs):
user_data = kwargs.get("user_data")
isim = user_data[4] # 4. index isim bilgisi
if UC.selected_key(1, **kwargs):
print(f"Merhaba {isim}")
```

### user_data İndeksleri:

- 0 -> ID
- 1 -> Kullanıcı Adı
- 2 -> Kriptolu Parola
- 3 -> Kullanıcı Rolü
- 4 -> İsim
- 5 -> Soyisim
- 6 -> E-Posta
- 7 -> Telefon

----------

## 6. Menü Pencere Boyutları ve Renklerini Değiştirme

Menü pencere boyutları ve renklerini Ayar -> Ayar Değiştir menüsünden değiştirebilirsiniz.

- `menu_min_screen_width`: Minimum ekran genişliği.
- `menu_max_screen_width`: Maksimum ekran genişliği.
- `menu_title_color`, `menu_content_color`, `menu_frame_color`: Menü başlık, içerik ve çerçeve renklerini değiştirme.

----------

## 7. Bilgi ve Input Pencere Boyutları ve Renklerini Değiştirme

Bilgi ve input pencere boyutlarını ve renklerini de Ayar -> Ayar Değiştir menüsünden değiştirebilirsiniz:

- `info_min_screen_width` ve `info_max_screen_width`: Bilgi ve input penceresinin ekran genişliklerini ayarlayabilirsiniz.
- `info_title_color`, `info_content_color`, `info_frame_color`: Bilgi ve input penceresi başlık, içerik ve çerçeve renklerini değiştirme.

----------

## 8. Renk Referansı

| Renk | ANSI |
| ------------- | ---- |
| BLACK | *30* |
| RED | *31* |
| GREEN | *32* |
| BROWN | *33* |
| BLUE | *34* |
| PURPLE | *35* |
| CYAN | *36* |
| LIGHT_GRAY | *37* |

----------

## 9. Modülde Kullanabileceğiniz Diğer Fonksiyonlar

- **```UC.cls()```**: Konsolu temizler.
- **```UC.go_main_menu(**kwargs)```**: Ana menüye geri gider.
- **```UC.get_pass(1)```**: Kullanıcıdan şifre girişi ister.
- **```UC.get_pass(2)```**: Kullanıcıdan tekrar şifre girişi ister.
- **```UC.load_json("dosya_yolu")```**: JSON dosyası yükler.
- **```UC.create_file("dosya_yolu")```**: Dosya oluşturur.
- **```UC.load_file("dosya_yolu")```**: Dosya yükler.
- **```UC.load_lines("dosya_yolu")```**: Dosyayı satır satır yükler.
- **```UC.write_file("dosya_yolu", "içerik")```**: Dosyayı kaydeder.
- **```from application.log import log_ekle as LOG```**: Modüle import edilerek **```LOG("Log mesajı")```** şeklinde log kaydı tutar

----------

## 10. Yönetici Kullanıcı Adı ve Şifremi Unuttum

Eğer giriş yapamıyorsanız, `database` klasöründeki `users_db.db` dosyasını silebilirsiniz. Uygulama açıldığında yeni bir yönetici hesabı tanımlamanız istenecektir.

----------

## 11. Ayar ve Menü Yapısı Sıfırlama

- Sadece **ayarları sıfırlamak** için: `config/config.cfg` dosyasını silebilirsiniz.
- Sadece **menü yapısını sıfırlamak** için: `config/menu.cfg` dosyasını silebilirsiniz.
- Her ikisini de sıfırlamak için: `config` klasörünü silebilirsiniz.



ultrareflexofcl
kemalburakyildirim
ultrareflex
kemalburakyildirim