\x89PNG\r\n\x1a\n\x00\x00\x00\x0DIHDR\x00\x00\x00\x01\x00 \x00\x00\x01\x08\x06\x00\x00\x00\x1F\x15\xC4\x89\x00\x00\x00 \x0AIDATx\x9Ccb\x00\x00\x00\x06\x00\x03\x1A\x05\x9D\x00\x00 \x00\x00IEND\xAE\x42\x60\x82
| Path : /var/www/html/yedekledb24/DatabaseBackupMaster/ |
|
B-Con CMD Config cPanel C-Rdp D-Log Info Jump Mass Ransom Symlink vHost Zone-H |
| Current File : /var/www/html/yedekledb24/DatabaseBackupMaster/update_encryption_utils.py |
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
yedekleDB24 için şifreleme yardımcı fonksiyonlarını güncelleyen script.
Python-GnuPG sürüm uyumsuzluklarını düzeltir.
"""
import os
import sys
import logging
import shutil
# Logging yapılandırması
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
logger = logging.getLogger(__name__)
def update_encryption_utils():
"""
encryption_utils.py dosyasını günceller, farklı GPG kütüphane sürümleriyle uyumlu hale getirir.
"""
# Önce orijinal dosyayı yedekle
orig_file = 'encryption_utils.py'
backup_file = 'encryption_utils.py.bak'
if not os.path.exists(orig_file):
logger.error(f"{orig_file} dosyası bulunamadı.")
return False
# Dosyayı yedekle
try:
shutil.copy2(orig_file, backup_file)
logger.info(f"Orijinal dosya yedeklendi: {backup_file}")
except Exception as e:
logger.error(f"Dosya yedekleme hatası: {str(e)}")
return False
# Dosyayı okuyup güncelleyeceğimiz satırları belirle
replacements = [
(
" # GnuPG nesnesi oluştur\n gpg = gnupg.GPG(gnupghome=gpg_home)",
""" # GnuPG nesnesi oluştur - farklı sürümlere uyumlu
try:
# Yeni sürümlerde gpgbinary parametresi kullanılıyor
gpg = gnupg.GPG(gpgbinary='gpg', gnupghome=gpg_home)
except TypeError:
# Eski sürümlerde gnupghome parametresi yok, dizini manuel ayarla
os.environ['GNUPGHOME'] = gpg_home
gpg = gnupg.GPG(gpgbinary='gpg')"""
),
(
" # GnuPG nesnesi\n gpg = gnupg.GPG(gnupghome=gpg_home)",
""" # GnuPG nesnesi - farklı sürümlere uyumlu
try:
# Yeni sürümlerde gpgbinary parametresi kullanılıyor
gpg = gnupg.GPG(gpgbinary='gpg', gnupghome=gpg_home)
except TypeError:
# Eski sürümlerde gnupghome parametresi yok, dizini manuel ayarla
os.environ['GNUPGHOME'] = gpg_home
gpg = gnupg.GPG(gpgbinary='gpg')"""
)
]
try:
# Dosya içeriğini oku
with open(orig_file, 'r', encoding='utf-8') as f:
content = f.read()
# Değişiklikleri uygula
new_content = content
for old_text, new_text in replacements:
new_content = new_content.replace(old_text, new_text)
# Değişiklik yoksa uyarı ver
if new_content == content:
logger.warning("Yapılacak değişiklik bulunamadı veya dosya zaten güncellenmiş.")
return True
# Değişiklikleri kaydet
with open(orig_file, 'w', encoding='utf-8') as f:
f.write(new_content)
logger.info("encryption_utils.py dosyası başarıyla güncellendi.")
return True
except Exception as e:
logger.error(f"Dosya güncelleme hatası: {str(e)}")
# Hata durumunda yedeği geri yükle
try:
shutil.copy2(backup_file, orig_file)
logger.info("Hata nedeniyle yedek dosya geri yüklendi.")
except:
logger.error("Yedek dosya geri yüklenemedi!")
return False
def main():
"""Ana fonksiyon"""
print("yedekleDB24 için şifreleme yardımcı fonksiyonlarını güncelleme aracı")
print("---------------------------------------------------------------")
# encryption_utils.py güncelle
if update_encryption_utils():
print("✓ encryption_utils.py başarıyla güncellendi.")
return 0
else:
print("✗ Güncelleme sırasında hata oluştu.")
return 1
if __name__ == "__main__":
sys.exit(main())