فارسی
دیتابیس
دیتابیس مرجع حقیقت است: وضعیت کرنل هر دو ثانیه از روی آن ساخته میشود. یکی از دو موتور است:
- SQLite، پیشفرض: یک فایل،
/var/lib/wui/wui.db، که تا پنل اجراست فایلهای-walو-shmهم کنارش هستند. فقط کاربر خود پنل میتواند آن را بخواند. - PostgreSQL: موقع نصب با
--db postgresانتخاب میشود، یا بعداً ازw-ui← 25. اطلاعات اتصال در/etc/wui/db.envاست. CI هر دو را نصب و آزمایش میکند.
در هر دو حالت، بکاپ همه چیز را با خود دارد و روی پنلی با هر کدام از دو موتور بازگردانی میشود.
جدولها
| جدول | چه چیزی را نگه میدارد |
|---|---|
admins | مالک، مدیران پنل و نمایندگان: هش bcrypt، عامل دوم، و سقف نماینده. |
admin_interfaces | اینکه هر نماینده کدام تونلها را میتواند بفروشد. |
settings | همهی تنظیمات پنل به شکل key / value (panel.*، sub.*، routing.*، engine.*، notify.*). |
nodes | همین پنل و پنلهایی که مدیریت میکند. |
interfaces | تونلها: کلیدها، سابنت، پورت، حالت، پارامترهای AmneziaWG، مرجع و گواهی سرور OpenVPN، و تنظیمات خاص هر پروتکل. |
clients | مشتریها: سقف حجم، انقضا، کاربران (device_limit)، تمدید، وضعیت، توکن اشتراک، شناسهی تلگرام. |
accounts | یک ردیف برای هر دستگاه مشتری: کلید یا اطلاعات ورودش، آدرسش و آخرین handshake. |
account_endpoints | هر دستگاه آخرین بار از کجا دیده شده، برای تشخیص اشتراکگذاری. |
sharing_events | سابقهی اشتراکگذاری: هر باری که دستگاهی از چند جا استفاده شده یا کنار گذاشته شده، که بعد از حذف مشتری هم میماند. |
traffic_samples | سابقهی مصرف. |
ip_leases | تخصیص آدرسها. |
groups، client_groups | گروهها، و اینکه چه کسی در هر کدام است. |
hosts، outbounds، outbound_subs، balancers، routing_rules | همان چیزی که صفحههایشان نشان میدهند. |
api_tokens | هش توکنهای صادرشده. |
کلید امضای نشستها در دیتابیس نیست؛ در /var/lib/wui/keys/ است.
دیدن داخل دیتابیس
bash
apt install sqlite3
sqlite3 /var/lib/wui/wui.db '.tables'
sqlite3 -header /var/lib/wui/wui.db 'select id,name,status,quota_bytes,used_bytes from clients;'خواندن آزاد است. فقط وقتی پنل متوقف است و فقط اگر میدانید چرا، در آن بنویسید: پنل هر چه را آنجا بگذارید اعمال میکند.
بکاپ
بکاپهای زمانبندیشده در /var/backups/wui/ نوشته میشوند. تنظیمات ← پشتیبانگیری تعیین میکند هر چند وقت یک بار و چند تا نگه داشته شوند، و ربات تلگرام میتواند هر کدام را دریافت کند. بازگردانی را از پنل یا منو انجام دهید، هیچوقت با باز کردن دستی آرشیو: نمای کلی ← بکاپ و بازگردانی ← انتخاب فایل، یا منوی w-ui backup و گزینهی 2. بکاپ و بازگردانی را ببینید.
انتقال به سرور دیگر
روی سرور جدید نصب کنید و یک بکاپ را آنجا بازگردانی کنید. اینترفیسها با همان کلیدها و پورتها بالا میآیند، پس وقتی DNS یا آدرس اندپوینت به سرور جدید اشاره کند، کانفیگ مشتریها کار میکند. انتقال پنل به سرور دیگر را ببینید.
