Skip to content

itum/xui-db

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

X-UI Database Tools 🛠️

ابزارهای کاربردی برای مدیریت و تعمیر پایگاه داده X-UI

Persian License Shell Script Python

📋 درباره پروژه

این مجموعه ابزار برای حل مشکلات رایج پایگاه داده X-UI طراحی شده است. اولین و مهم‌ترین مشکلی که حل می‌کند، خطای NULL emails است که باعث crash شدن X-UI می‌شود.

⚡ مشکل اصلی

خطای معروف X-UI:

sql: Scan error on column index 0, name "JSON_EXTRACT(client.value, '$.email')": 
converting NULL to string is unsupported

🚀 راه‌حل سریع

# دانلود و اجرای سریع
curl -O https://raw.githubusercontent.com/itum/xui-db/main/fix_null_emails.sh
chmod +x fix_null_emails.sh
./fix_null_emails.sh

یا با Python:

curl -O https://raw.githubusercontent.com/itum/xui-db/main/fix_null_emails.py
python3 fix_null_emails.py

📁 فایل‌های پروژه

فایل توضیح زبان
fix_null_emails.py اسکریپت Python کامل و پیشرفته Python 3.6+
fix_null_emails.sh اسکریپت Bash سریع و ساده Bash
README_null_email_fix.md راهنمای تفصیلی مشکل null emails -

🔧 نصب و استفاده

روش 1: دانلود مستقیم

# دانلود اسکریپت Python
wget https://raw.githubusercontent.com/itum/xui-db/main/fix_null_emails.py
chmod +x fix_null_emails.py

# دانلود اسکریپت Bash  
wget https://raw.githubusercontent.com/itum/xui-db/main/fix_null_emails.sh
chmod +x fix_null_emails.sh

روش 2: Clone کامل

git clone https://github.com/itum/xui-db.git
cd xui-db
chmod +x *.py *.sh

اجرا

# متوقف کردن X-UI
systemctl stop x-ui

# اجرای اسکریپت (خودکار فایل پیدا می‌کند)
./fix_null_emails.py

# یا مشخص کردن مسیر
./fix_null_emails.py /etc/x-ui/x-ui.db

# راه‌اندازی مجدد X-UI
systemctl start x-ui

✨ ویژگی‌ها

  • 🛡️ امن: Backup خودکار قبل از تغییرات
  • 🔍 هوشمند: تشخیص خودکار مسیر فایل
  • کنترل‌شده: تأیید کاربر قبل از تعمیر
  • 🧪 تست‌شده: راستی‌آزمایی بعد از تعمیر
  • 📊 گزارش‌گر: نمایش جزئیات کامل عملیات
  • 🌐 چندزبانه: پشتیبانی از متن فارسی و انگلیسی

🎯 مسیرهای پشتیبانی شده

اسکریپت‌ها خودکار در این مسیرها جستجو می‌کنند:

  • ./x-ui.db
  • /etc/x-ui/x-ui.db
  • ./x-ui*.db (فایل‌های شماره‌گذاری شده)

📖 مثال خروجی

============================================================
🔧 اسکریپت حل مشکل NULL Emails در x-ui
============================================================
📁 فایل پایگاه داده: /etc/x-ui/x-ui.db
✅ Backup ایجاد شد: /etc/x-ui/x-ui.db.backup_1752506826

🔍 جستجوی null emails...
⚠️  2 رکورد با null email پیدا شد:
   - رکورد ID: 5
   - رکورد ID: 12

🔧 آیا می‌خواهی 2 رکورد را تعمیر کنم؟ (Y/n): Y

🔧 در حال تعمیر...
✅ 2 رکورد با موفقیت تعمیر شد!
✅ JSON_EXTRACT اکنون بدون مشکل کار می‌کند!
============================================================

⚠️ نکات مهم

  1. همیشه X-UI را متوقف کنید قبل از اجرای اسکریپت
  2. Backup خودکار ایجاد می‌شود، اما backup دستی هم توصیه می‌شود
  3. دسترسی root ممکن است نیاز باشد
  4. برای سرور production، ابتدا روی test environment تست کنید

🐛 عیب‌یابی

مشکلات رایج:

خطای دسترسی:

sudo ./fix_null_emails.py

فایل پیدا نمی‌شود:

./fix_null_emails.py /مسیر/کامل/x-ui.db

خطای SQLite:

  • مطمئن شوید X-UI متوقف است
  • فایل پایگاه داده corrupt نباشد

🤝 مشارکت

برای مشارکت در توسعه:

  1. Fork کنید
  2. Feature branch ایجاد کنید (git checkout -b feature/AmazingFeature)
  3. Commit کنید (git commit -m 'Add some AmazingFeature')
  4. Push کنید (git push origin feature/AmazingFeature)
  5. Pull Request ایجاد کنید

📝 لیسانس

این پروژه تحت لیسانس MIT منتشر شده است. فایل LICENSE را ببینید.

📞 پشتیبانی

🌟 ستاره بدید!

اگر این ابزار برایتان مفید بود، لطفاً ستاره بدید! ⭐


نکته: این ابزارها مخصوص X-UI panel هستند و با سایر پنل‌ها سازگار نیستند.

About

fix x-ui db problem

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published