Files
poster-bash/README.md
2026-02-04 17:49:12 +03:00

225 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🎮 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_