Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

امکان Disable شدن کانفیگ ها همزمان با Expire شدن #1305

Closed
Alireza78na opened this issue Jun 10, 2024 · 4 comments
Closed
Labels
dependencies Pull requests that update a dependency file enhancement New feature or request

Comments

@Alireza78na
Copy link

عرض سلام و خسته نباشید

مشکل:
یه مشکلی که الان پنل داره اینه که وقتی یه کانفیگ منقضی میشه ( حجم یا زمان ) وضعیتش به Ended تغییر میکنه و با اینکه Xray و یا کلا سرور Restart میشه اما همچنان کاربران با کانفیگ های منقضی شده میتونن متصل بشن ( چون وضعیت کلیشون همچنان فعاله ) ، حتی پنل نشون میده که آنلاین هستن!

راه حل:
با توجه به تست هایی که کردم ، وقتی وضعیت کانفیگ از حالت فعال به غیرفعال تغییر میکنه ( به صورت دستی ) دیگه کانفیگ متصل نمیشه.
من issue قبلی رو خوندم و تا جایی که میدونم این مورد بررسی نشده بود.
بنابراین اگر همزمان با تغییر وضعیت کانفیگ بعد از منقضی شدن به Ended ، پنل کانفیگ رو Disable هم کنه این مشکل به طور کامل برای همه حل میشه.

با تشکر از شما.

@Alireza78na Alireza78na added the enhancement New feature or request label Jun 10, 2024
@alireza0
Copy link
Owner

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

اینکه کاربر منقضی، غیر فعال هم بشه با کاربرانی که ریست اتوماتیک دارن تداخل داره.
این کاربرها اگر غیرفعال بشن، روال ریست اتوماتیک براشون فعال نمیشه.

در ضمن روال حذف کاربر در زمان منقضی شدن و غیرفعال شدن یکسانه.
هردو از یک متد تعریف شده در xray-api استفاده میکنن و اگر خطا بگیرن، هسته اتوماتیک ریستارت میشه.
اینکه خطایی نداشته باشیم یعنی دستور رو هسته گرفته و اعمال کرده. و اگر کاربر قطع نمیشه باگ هسته است.

در ضمن، آنلاین بودن کاربر فقط بر اساس داشتن ترافیک از سمت هسته است و این بررسی هر ده ثانیه یکبار انجام میشه.
در زمان قطع کردن حداکثر ۱۹ ثانیه طول میکشه که کاربر آفلاین نمایش داده بشه.
اگر این کاربر بعد از این مدت هنوز آنلاین نشون داده میشه، پس هنوز توی هسته ترافیک داره.

پ.ن: نمایش آنلاین همیشه نشونه وصل بودن کاربر نیست.

@alireza0
Copy link
Owner

#771

@Alireza78na
Copy link
Author

ممنون از توضیحاتتون
این مورد رو به Xray Core هم گزارش میکنم حتما.
این توضیحم اضافه کنم که سرور و Xray از طریق Cronjob روزانه حداقل 1 بار ری استارت میشن، اما کاربرانی که مثلا بیش از 10 روزه منقضی شدن ( گاها ) هنوز به حجم ترافیک مصرفیشون اضافه میشه ینی اتصالشون برقراره و درحد ارسال درخواست به سرور نیست.
حتی چند مورد رو من خودم تست کردم و متصل شدم و با اینکه کانفیگ منقضی بود اما به خوبی کار میکرد !

فقط چندتا پیشنهاد دارم ، امیدوارم قابلیت اجرا کردن داشته باش:

  1. درمورد غیرفعال کردن ، اگه بشه یه استثنا قرار بدید که مثلا درصورتی که Auto Renew فعال بود ، کانفیگ غیرفعال نشه و اگر نه ، غیرفعالش کنه.

  2. یک آپشن مشابه Auto Renew اضافه بشه ، به این صورت که اگه کانفیگ بیش از یک تایم قابل تنظیم ( مثلا 10 روز ) منقضی موند ، اون کانفیگ حذف بشه اینجوری سرور هم خلوت تر میشه.
    این گزینه رو میشه به بخش ساخت اینباند اضافه کرده که با تنظیمش به صورت پیش فرض برای تمام کاربران اون اینباند اعمال بشه یا اینکه مثل Auto Renew برای هرکاربر جداگانه باشه که اینجوری بهترم هست.

تشکر از توجه و زحماتتون.

@alireza0
Copy link
Owner

alireza0 commented Jun 15, 2024

هروقت شما هسته و یا کلا پنل رو ریستارت میکنید، تنظیمات ازنو نوشته میشه و امکان اتصال کاربر نیست.
نشتی شما احتمالا از تنظیماتتونه. مثلا اگر uuid تکراری داشته باشید و یا ایمیل تکراری ساخته شده با api.
و یا حتی کاراکترهای خاص در ایمیل میتونه این مشکل رو ایجاد کنه.
دو مورد پیشنهادی شما عملیات پیچیده تری داره و امکان باگ خوردن رو بیشتر میکنه

@alireza0 alireza0 added the dependencies Pull requests that update a dependency file label Jun 29, 2024
@alireza0 alireza0 closed this as not planned Won't fix, can't repro, duplicate, stale Jun 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants