5.4 KiB
5.4 KiB
🎮 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-runile 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
# 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:
# .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
# 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:
curlvejqpaketlerini kurar (sudo ile)- Config dosyasını oluşturur (
~/.game-bash.conf) - İlk poster indirmelerini yapar
📖 Kullanım
Temel Kullanım
# Normal mod - SCAN_DIR'yi tarar
./poster-bash
# Test modu - TEST_DIR'yi tarar, eski posterleri temizler
./poster-bash --test-run
Seçenekler
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
# 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)
# .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?
- Başlat: Script çalıştırılır
- Otomatik Kurulum: Eksik paketler (
curl,jq) otomatik kurulur - .env Okuma: Ayarlar aynı dizindeki
.envdosyasından okunur - Tarama: Config'deki dizin taranır
- IGDB Arama: Oyunlar IGDB'de aranır
- VR Yeniden Deneme: Bulunamazsa "VR" eklenip tekrar aranır
- Poster İndirme: Bulunursa poster indirilir
- Kaydet:
poster.pngolarak oyun dizinine kaydedilir
🐛 Sorun Giderme
"sudo: ./poster-bash: command not found"
# 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ı
# Script'e çalıştırma izni verin
chmod +x poster-bash
".env dosyası bulunamadı"
# 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
📞 İletişim
- GitHub: wisecolt/poster-bash
- Issues: GitHub Issues
v1.0.0 - 2025