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

5.4 KiB
Raw Permalink Blame History

🎮 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

# 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:

  • curl ve jq paketlerini 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?

  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"

# 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

  • IGDB - Oyun veritabanı için
  • Twitch - OAuth için

📞 İletişim


v1.0.0 - 2025