alireza0 / x-ui

xray panel supporting multi-protocol multi-user expire day & traffic (Vmess & Vless & Trojan & Shadowsocks)
https://t.me/XrayUI
GNU General Public License v3.0
3.21k stars 491 forks source link

قابلیت merg اینباد #845

Closed asadace1 closed 10 months ago

asadace1 commented 10 months ago

سلام این قابلیت کپی اینباد عالیه ولی وقتی از قبل تو سرور اینباندی با همون پورت باشه قبول نمیکنه اگر بشه بتونیم اینباد رو از یه سرور کپی کنیم و تو یه اینباد دیگه merg کنیم یعنی رو همون پورتی که بوده عالی میشه البته میتونم ایمیل کلاینت ها هم نباید یکی باشه و اونایی که یکی هست رو سرچ میکنیم حذف میکنیم در کل اصن مرج کنه آخرش بگه که این ایمیلها تکراری بود و اسکیب کردم با تشکر

alireza0 commented 10 months ago

درود بر شما در واقع اون کار رو هم به راحتی میتونید انجام بدید. یکی از خوبی های این روش اینه که اطلاعات ترافیکی کاربر رو همراه خودش میاره. پس میتونید حتی پروتکل و پورت رو هم عوض کنید. ولی این کار نیازمند تغییرات دستی توی کد کپی شده است.

مثلا عوض کردن پورت به راحتی عوض کردنش توی زمانی که دارین import میکنین قابل انجامه

asadace1 commented 10 months ago

میدونم تو همون کد کپی شده میتونیم دستی تغییرات بدیم ولی من منظورم این نبود ما یک سرور a داریم فقط یک اینباد داره با پورت 1234 و سرور b هم داریم اونم فقط یک اینباد داره با پورت 1234 حالا اگر بخام کلاینتهای سرور a رو بریزم تو سرور b خطای تکراری بودن پورت رو میده و در واقع میخام اینباد سرور a رو رو همون پورت 1234 که در سرور b هست بریزم و کلاینتهای سرور b هم سرجاش بمونن با همون پورت حالا این وسط اگه ایمیل یه کلاینتی تکراری بود اونو سرچ و دستی ادیت میکنیم اما مسعله اینه اجازه نمیده تو همون پورت از قبل بوده بریزیم مشکل ما اینکه که میخاییم کلاینتهای جفت سرورها بمونه و باهم تو یک پورت مرج بشن برای سرورهایی رو cdn هستن ما از 5 تا پورت میتونیم استفاده کنیم و اگر پورت رو عوض کنیم دیگه کار نمیکنه اکاننتها وگرنه خیلی راحت پورت رو عوض میکردیم

alireza0 commented 10 months ago

همونطوری که عرض کردم با دستکاری دستی اینباند کپی شده میتونید کلی از این تغییرات دلخواه رو انجام بدید.

برای ادغام دواینباند باید ابتدا هردو رو کپی کنید و اونهایی رو که میخواید کنار هم باشند یکجا ویرایش کنید. بعد اینباند قبلی رو پاک کنید و اطلاعات جدید رو import کنید.

البته تغییراتی که شما میخواید اصلا ساده نیست و طبیعیه که باید روی اطلاعات کپی شده بیشتر کار کنید.

asadace1 commented 10 months ago

فهمیدم من اصن حواسم نبود که کد کپی شده جیسون هستش دوتا اینباند رو کپی کردم و کلاینت های سرور a رو به قسمت settings و clientStats تو سرور b اضافه کردم

عالی دم شما گرم

alireza0 commented 10 months ago

موفق باشید

AliM1988 commented 9 months ago

@alireza0

سلام ببخشید که روی تاپیک بسته شده پست گذاشتم. ولی مساله من هم مشابه این مورد هست.

من دو سرور دارم a , b . هر دو هم نسخه xui یکسانی دارن. مشابه بالا میخوام کلاینت های فرضا پورت 1234 از سرور a رو داخل اینباند 1234 در سرور b مرج کنم . ایمیل مشترکی هم ندارن. من از توی دیتابیس کلاینت ها رو از توی setting اینباند سرور a کپی کردم و به لیست کلاینت های اینباند مشابه در سرور b اضافه کردم. بعد ریستارت پنل ، کلاینتها بدرستی در اینباند سرور b مرج شدن. تست هم کردم اتصال برقرار میشه.

مساله ای که هست اینه کلاینت های منتقل شده اتصال دارن اما مصرفشون همچنان 0 باقی می مونه. مجدد که دیتابیس رو چک کردم دیدم که توی تیبل client_traffics رکورد جدیدی برای یوزرهایی که دستی اضافه کردم، ایجاد نمیشه.

ضمنا فایل config.json رو هم چک کردم. کلاینتهای جدید اونجا هم اضافه شده نتیجه بررسی API (xui/API/inbounds)هم به شرح ذیل است: کلاینت های دستی اضافه شده، در مسیر obj\settings وجود دارد اما در مسیر obj\clientStats وجود ندارد

asadace1 commented 9 months ago

@alireza0

سلام ببخشید که روی تاپیک بسته شده پست گذاشتم. ولی مساله من هم مشابه این مورد هست.

من دو سرور دارم a , b . هر دو هم نسخه xui یکسانی دارن. مشابه بالا میخوام کلاینت های فرضا پورت 1234 از سرور a رو داخل اینباند 1234 در سرور b مرج کنم . ایمیل مشترکی هم ندارن. من از توی دیتابیس کلاینت ها رو از توی setting اینباند سرور a کپی کردم و به لیست کلاینت های اینباند مشابه در سرور b اضافه کردم. بعد ریستارت پنل ، کلاینتها بدرستی در اینباند سرور b مرج شدن. تست هم کردم اتصال برقرار میشه.

مساله ای که هست اینه کلاینت های منتقل شده اتصال دارن اما مصرفشون همچنان 0 باقی می مونه. مجدد که دیتابیس رو چک کردم دیدم که توی تیبل client_traffics رکورد جدیدی برای یوزرهایی که دستی اضافه کردم، ایجاد نمیشه.

ضمنا فایل config.json رو هم چک کردم. کلاینتهای جدید اونجا هم اضافه شده نتیجه بررسی API (xui/API/inbounds)هم به شرح ذیل است: کلاینت های دستی اضافه شده، در مسیر obj\settings وجود دارد اما در مسیر obj\clientStats وجود ندارد

خب تو همون دیتابیس بخش کلاینت ترافیک هم باید از قبلی به جدید اضافه کنی

AliM1988 commented 9 months ago

@alireza0 سلام ببخشید که روی تاپیک بسته شده پست گذاشتم. ولی مساله من هم مشابه این مورد هست. من دو سرور دارم a , b . هر دو هم نسخه xui یکسانی دارن. مشابه بالا میخوام کلاینت های فرضا پورت 1234 از سرور a رو داخل اینباند 1234 در سرور b مرج کنم . ایمیل مشترکی هم ندارن. من از توی دیتابیس کلاینت ها رو از توی setting اینباند سرور a کپی کردم و به لیست کلاینت های اینباند مشابه در سرور b اضافه کردم. بعد ریستارت پنل ، کلاینتها بدرستی در اینباند سرور b مرج شدن. تست هم کردم اتصال برقرار میشه. مساله ای که هست اینه کلاینت های منتقل شده اتصال دارن اما مصرفشون همچنان 0 باقی می مونه. مجدد که دیتابیس رو چک کردم دیدم که توی تیبل client_traffics رکورد جدیدی برای یوزرهایی که دستی اضافه کردم، ایجاد نمیشه. ضمنا فایل config.json رو هم چک کردم. کلاینتهای جدید اونجا هم اضافه شده نتیجه بررسی API (xui/API/inbounds)هم به شرح ذیل است: کلاینت های دستی اضافه شده، در مسیر obj\settings وجود دارد اما در مسیر obj\clientStats وجود ندارد

خب تو همون دیتابیس بخش کلاینت ترافیک هم باید از قبلی به جدید اضافه کنی

اینکار رو که میکنم آمار مصرف کاربرا میاد و با مصرف یوزرها، مقدار مصرف هم بدرستی آپدیت میشه. اما cpu میره روی 100 و اتصال ها با delay شدید مواجه میشه. اما اگه همون کاربرا رو نه از طریق ادیت دیتابیس بلکه بصورت تک به تک از طریق خود پنل انجام بدم مشکلی رخ نمیده. آقا علیرضا اگه ممکنه کمک کنید