first commit

This commit is contained in:
2026-02-04 17:49:12 +03:00
commit f62e4cd769
16 changed files with 2748 additions and 0 deletions

225
README.md Normal file
View File

@@ -0,0 +1,225 @@
# 🎮 POSTER-BASH
Linux için bash tabanlı terminal uygulaması. Oyun .iso dosyalarınızı tarar, IGDB API'den poster resimlerini bulur ve indirir.
## 📋 Özellikler
-**Otomatik Kurulum**: Eksik paketleri otomatik indirir ve kurar
-**Otomatik Tarama**: Config'den belirtilen dizini tarar
-**IGDB Entegrasyonu**: Dünyanın en büyük oyun veritabanından poster arar
-**VR Desteği**: Oyun bulunamazsa otomatik olarak "VR" ile tekrar dener
-**Akıllı Önbellek**: Zaten indirilen posterleri atlar
-**Retries**: İndirme başarısız olursa 3 kere dener
-**Retro Terminal**: Renkli çıktı, 3D ASCII logo, progress bar
-**Detaylı Loglama**: Tüm işlemleri log dosyasına kaydeder
-**Test Modu**: `--test-run` ile test dizininde eski posterleri temizleyip yenilerini indirir
## 📸 Ekran Görüntüsü
```
╔═══════════════════╗
║ GAME POSTER ║
╚═══════════════════╝
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
INFO Taranan dizin: /media/Games
INFO Bulunan ISO dosyası sayısı: 5
[1/5] Elden Ring [████░░░░░] 20%
✓ İndirildi: poster.png
[2/5] Cyberpunk 2077 [█████░░░░] 40%
Poster zaten var, atlanıyor...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 ÖZET
✓ İndirildi: 2
Atlandı: 2
✗ Başarısız: 1
```
## 🚀 Kurulum
### Tek Dosya
```bash
# Script'i indirin
wget https://raw.githubusercontent.com/wisecolt/poster-bash/main/poster-bash
# Çalıştırılabilir yapın
chmod +x poster-bash
```
### Ayarlama (.env)
Script ile aynı dizine `.env` dosyası oluşturun:
```bash
# .env
IGDB_CLIENT_ID=your_client_id_here
IGDB_CLIENT_SECRET=your_client_secret_here
SCAN_DIR="/media/Games"
TEST_DIR="/test-games"
```
**Not**: IGDB credentials almak için: https://api-docs.igdb.com/#account-creation
### Kullanıma Hazır Kılma
```bash
# Script'i oyunlarınızın olduğu dizine koyun
cp poster-bash /media/Games/
# .env dosyasını aynı dizine oluşturun
cd /media/Games
nano .env # yukarıdaki içerikle doldurun
# Çalıştırın
./poster-bash
```
**İlk çalıştırmada script otomatik olarak şunları yapar:**
- `curl` ve `jq` paketlerini kurar (sudo ile)
- Config dosyasını oluşturur (`~/.game-bash.conf`)
- İlk poster indirmelerini yapar
## 📖 Kullanım
### Temel Kullanım
```bash
# Normal mod - SCAN_DIR'yi tarar
./poster-bash
# Test modu - TEST_DIR'yi tarar, eski posterleri temizler
./poster-bash --test-run
```
### Seçenekler
```bash
poster-bash [SEÇENEKLER]
Seçenekler:
-h, --help Yardım mesajını gösterir
-v, --version Versiyon bilgisini gösterir
-c, --config Config dosyasının konumunu gösterir
-l, --log Log dosyasını gösterir
--clear-log Log dosyasını temizler
--test-run Test modunda çalışır (önce eski posterleri temizler)
```
### Örnekler
```bash
# Yardım
./poster-bash --help
# Versiyon
./poster-bash --version
# Logları görüntüle
./poster-bash --log
# Config dosyasını görüntüle
./poster-bash --config
```
## ⚙️ Yapılandırma
Script iki yerden ayar okur:
### 1. .env Dosyası (Proje Dizini)
```bash
# .env
IGDB_CLIENT_ID=your_client_id
IGDB_CLIENT_SECRET=your_client_secret
SCAN_DIR="/path/to/games"
TEST_DIR="/test-games"
```
### 2. Config Dosyası (Otomatik Oluşturulur: `~/.game-bash.conf`)
Config dosyası IGDB token'ını ve diğer ayarları saklar.
---
## 📁 Dizin Yapısı
```
/media/Games/
├── poster-bash # Script (tek dosya)
├── .env # Ayarlarınız
├── Elden Ring/
│ ├── Elden Ring.iso
│ └── poster.png # Script indirir
├── Cyberpunk 2077/
│ ├── Cyberpunk 2077.iso
│ └── poster.png # Script indirir
└── ... (diğer oyunlar)
```
## 🔄 Nasıl Çalışır?
1. **Başlat**: Script çalıştırılır
2. **Otomatik Kurulum**: Eksik paketler (`curl`, `jq`) otomatik kurulur
3. **.env Okuma**: Ayarlar aynı dizindeki `.env` dosyasından okunur
4. **Tarama**: Config'deki dizin taranır
5. **IGDB Arama**: Oyunlar IGDB'de aranır
6. **VR Yeniden Deneme**: Bulunamazsa "VR" eklenip tekrar aranır
7. **Poster İndirme**: Bulunursa poster indirilir
8. **Kaydet**: `poster.png` olarak oyun dizinine kaydedilir
## 🐛 Sorun Giderme
### "sudo: ./poster-bash: command not found"
```bash
# Tam path ile çalıştırın
bash /path/to/poster-bash
# Veya sistem bin dizinine kopyalayın
sudo cp /path/to/poster-bash /usr/local/bin/
sudo poster-bash --test-run
```
### "Permission denied" hatası
```bash
# Script'e çalıştırma izni verin
chmod +x poster-bash
```
### ".env dosyası bulunamadı"
```bash
# Script ile aynı dizinde .env oluşturun
cat > .env << EOF
IGDB_CLIENT_ID=your_id
IGDB_CLIENT_SECRET=your_secret
SCAN_DIR="/path/to/games"
TEST_DIR="/test-games"
EOF
```
## 📜 Lisans
Bu proje MIT lisansı altında lisanslanmıştır.
## 🙏 Teşekkürler
- [IGDB](https://www.igdb.com) - Oyun veritabanı için
- [Twitch](https://dev.twitch.tv) - OAuth için
## 📞 İletişim
- **GitHub**: [wisecolt/poster-bash](https://github.com/wisecolt/poster-bash)
- **Issues**: [GitHub Issues](https://github.com/wisecolt/poster-bash/issues)
---
_v1.0.0 - 2025_