ارور context deadline exceeded در v2rayN و v2rayNG
خطای context deadline exceeded در v2rayN یا v2rayNG یعنی یک عملیات پیش از پایان مهلت خود کامل نشده است؛ این عبارت بهتنهایی نمیگوید سرور خاموش است، اشتراک تمام شده یا DNS خراب است. ابتدا محل رخدادن خطا را مشخص کنید: تست داخلی، بهروزرسانی اشتراک یا درخواست واقعی یک برنامه. سپس همان عملیات را با تغییر فقط یک عامل دوباره بسنجید.
اگر همهٔ سایتها باز میشوند و تنها دکمهٔ تست این پیام را نشان میدهد، وضعیت شما با کسی که هیچ اتصال فعالی ندارد متفاوت است. هدف این راهنما خواندن همین تفاوتهاست. برای مشکل عمومی قطع اتصال، راهنمای علت قطعشدن VPN مسیر گستردهتری دارد؛ اینجا روی مهلت درخواست و شواهد کنار آن تمرکز میکنیم.
خود پیام چه میگوید و چه نمیگوید؟
در مستندات رسمی Go برای context، DeadlineExceeded به پایان مهلت عملیات اشاره دارد. این تعریف علت شبکهای واحدی تعیین نمیکند. یک برنامه میتواند برای دریافت پاسخ HTTP، برقراری اتصال یا اجرای تست مهلت داشته باشد. وقتی آن زمان تمام میشود، پیام نهایی ممکن است مشترک باشد، هرچند عملیات و علت اولیه متفاوت بودهاند.
بنابراین فقط آخرین سطر لاگ را نخوانید. چند سطر نزدیک به همان رخداد، نام عملیات، نوع مقصد و زمان را بررسی کنید. اگر پیش از این عبارت یک خطای مشخصتر دیده میشود، همان نشانه ممکن است مسیر عیبیابی را تعیین کند. شناسهٔ اتصال، آدرس خصوصی یا لینک اشتراک را پیش از ارسال لاگ بپوشانید؛ برای فهم پایان مهلت معمولاً نیازی به افشای کل کانفیگ نیست.
| محل مشاهده | چیزی که باید آزمود | نتیجهگیری زودهنگام نامناسب |
|---|---|---|
| تست تأخیر یا اتصال | بازشدن مقصد واقعی با همان سرور | همهٔ اینترنت قطع است |
| دریافت Subscription | پاسخ نشانی اشتراک و مسیر دانلود | حتماً پروتکل سرور خراب است |
| آغاز اتصال | شبکهٔ پایه و تنظیمات سرور | افزایش timeout مشکل را حل میکند |
| فقط یک برنامه | مقصد و قواعد همان برنامه | کل اشتراک سوخته است |
| پس از تعویض شبکه | اتصال تازه روی شبکهٔ جدید | باید تمام پروفایلها پاک شوند |
۱. مرحلهٔ شکست را دقیق ثبت کنید
برنامه را باز کنید و همان عملیاتی را که خطا میدهد یک بار انجام دهید. بنویسید آیا در حال فشردن دکمهٔ تست بودید، اشتراک را بهروز میکردید یا سایتی را باز میکردید. نام نسخهٔ اپ و در صورت نمایش، نسخهٔ هسته را هم ثبت کنید. وجود کلمهٔ «v2ray» در عنوان آموزش کافی نیست؛ رفتار کلاینت اندروید و ویندوز میتواند متفاوت باشد.
یک یادداشت کوتاه مانند «فهرست اشتراک دریافت شد؛ سرور انتخاب شد؛ تست خطا داد؛ مرورگر باز میشود» ارزش تشخیصی بالایی دارد. برعکس، چند عکس از تنظیمات بدون ترتیب رخدادها معمولاً مشخص نمیکند خطا کجا شروع شده است. اگر مشکل متناوب است، ساعت و نوع شبکه را کنار نتیجه بنویسید تا یک موفقیت اتفاقی با رفع مشکل اشتباه نشود.
۲. تست داخلی را با درخواست واقعی مقایسه کنید
با همان سرور انتخابشده، یک صفحهٔ سبک و سپس برنامهٔ موردنیاز را امتحان کنید. اگر درخواستهای واقعی جواب میدهند، پیش از حذف کانفیگ، مقصد و روش تست داخلی را بررسی کنید. ممکن است تست به نشانی متفاوتی درخواست بفرستد یا مهلت کوتاهتری داشته باشد. «تست ناموفق» و «نبود دسترسی کاربردی» را دو نتیجهٔ جدا یادداشت کنید.
در گزارش کاربران v2rayNG دربارهٔ همین خطا نیز مسئله در زمینهٔ تست و شرایط مختلف اتصال مطرح شده است. گزارش کاربر اثبات یک علت عمومی نیست؛ برای دستگاه خود باید آزمون قابل تکرار بسازید. تفاوت هشدار تست داخلی و نبود اینترنت کمک میکند نتیجهٔ یک دکمه را بیش از حد تعمیم ندهید.
۳. اگر خطا هنگام دریافت اشتراک است
نشانی اشتراک را از محل تحویل دوباره کپی کنید. لینک صفحهٔ سفارش یا ورود حساب با URL فهرست یکسان نیست. بررسی کنید دریافت با اتصال خاموش و با اتصال سالم چه تفاوتی دارد. اگر دانلود از تونل خرابی عبور میکند که خودش برای اصلاح فهرست به آن دانلود نیاز دارد، تکرار بیوقفهٔ همان درخواست اطلاعات تازهای تولید نمیکند.
برای این شاخه، راهنمای خطای بهروزرسانی اشتراک را دنبال کنید. دریافت موفق فهرست فقط همین مرحله را تأیید میکند؛ سپس باید اتصال یکی از سرورهای تازه را جدا امتحان کنید. همچنین وجود فهرست قدیمی در صفحه نشان نمیدهد آخرین بهروزرسانی موفق بوده است؛ زمان و پیام دریافت را ببینید.
۴. شبکه و سرور را با آزمون مقایسهای جدا کنید
ابتدا همان گوشی یا رایانه و همان کانفیگ را نگه دارید و فقط شبکه را تغییر دهید. برای مثال، نتیجهٔ وایفای را با دیتای موبایل مقایسه کنید. اگر اینترنت پایه بدون VPN هم کار نمیکند، عیبیابی تونل را متوقف کنید و اتصال معمول دستگاه را برگردانید. VPN جای اتصال پایه را نمیگیرد.
سپس روی شبکهای ثابت، فقط یک سرور دیگر از همان اشتراک را امتحان کنید. اگر یکی پاسخ میدهد و دیگری نه، پشتیبانی را با همین مقایسه مطلع کنید. این آزمایش هنوز ثابت نمیکند سرور دوم خاموش است؛ تفاوت مسیر یا تنظیمات هم ممکن است مطرح باشد. اما دامنهٔ مشکل را کوچک میکند و از تعویض بیدلیل همهٔ تنظیمات جلوگیری میکند.
| آزمون | ثابت نگه دارید | عامل تغییر | چیزی که نتیجه میدهد |
|---|---|---|---|
| شبکهٔ دوم | دستگاه و کانفیگ | وایفای یا دیتا | وابستگی به مسیر دسترسی |
| سرور دوم | دستگاه و شبکه | سرور انتخابی | مشترک یا اختصاصیبودن خطا |
| برنامهٔ دوم | اتصال فعال | مقصد درخواست | محدودبودن مشکل به یک کاربرد |
| اجرای تازه | شبکه و پروفایل | نشست اتصال | اثر نشست باقیمانده |
اگر هنوز timeout دارید
وجود چند کلاینت فعال، پروکسی باقیمانده در ویندوز یا قواعدی که مقصد را به مسیر دیگری میفرستند میتواند آزمون را مبهم کند. قبل از تغییر پیشرفته، مشخص کنید کدام کلاینت در حال مدیریت ترافیک است. خاموشکردن همهٔ ابزارهای امنیتی، انتخاب DNS تصادفی و دستکاری MTU بدون نشانه، تشخیص را سختتر میکند و پاسخ قطعی این خطا نیست.
اگر لاگ خطای گواهی یا نام میزبان هم دارد، آن را جدا به پشتیبانی بدهید. غیرفعالکردن اعتبارسنجی TLS فقط برای حذف پیام راهحل مناسبی نیست. همچنین زیادکردن مهلت انتظار نمیتواند نشانی اشتباه، لینک منقضی یا سرویس پاسخنداده را تعمیر کند؛ نهایتاً ممکن است شما را مدت بیشتری منتظر همان شکست نگه دارد.
پیش از نصب مجدد، لینک تحویل و اطلاعات نسخه را نگه دارید. نصب تازه بدون مقایسهٔ شبکه و سرور ممکن است همان خطا را بازتولید کند و در عین حال تنظیمات مفید قبلی را از بین ببرد. اگر بهروزرسانی علت زمانی محتمل است، نسخهٔ قبل و بعد را ثبت کنید و تنها از انتشار رسمی استفاده کنید؛ تغییر چند نسخهٔ ناشناس مقایسهٔ قابل اعتماد نمیسازد.
چه اطلاعاتی برای پشتیبانی بفرستیم؟
نام کلاینت و نسخه، نوع سیستمعامل، ساعت خطا، شبکه و مرحلهٔ شکست را بفرستید. اضافه کنید آیا فهرست دریافت میشود، آیا یک سرور دیگر کار میکند و آیا درخواست واقعی هم شکست میخورد. متن کوتاه خطا را با چند خط مرتبط ارسال کنید، نه فایل کامل حاوی اطلاعات دسترسی. این گزارش به پشتیبانی امکان میدهد سمت سرور را با زمان رخداد مقایسه کند.
سؤالات متداول
آیا context deadline exceeded یعنی حجم تمام شده است؟
خیر. پیام فقط پایان مهلت عملیات را بیان میکند. حجم و اعتبار باید از حساب یا ارائهدهنده بررسی شوند؛ از متن timeout بهتنهایی نمیتوان انقضا را نتیجه گرفت.
چرا اینترنت دارم ولی تست v2rayNG خطا میدهد؟
تست داخلی ممکن است مقصد، مسیر یا مهلت متفاوتی داشته باشد. بازشدن برنامهٔ موردنیاز را جدا ثبت کنید و قبل از حذف کانفیگ روش تست را بررسی کنید.
آیا افزایش timeout مشکل را حل میکند؟
فقط در شرایطی که پاسخ معتبر دیرتر میرسد ممکن است نتیجه متفاوت شود. نشانی غلط یا مسیر قطعشده با انتظار بیشتر اصلاح نمیشود؛ ابتدا علت توقف را پیدا کنید.
چرا همین کانفیگ روی وایفای کار میکند ولی روی دیتا نه؟
این نتیجه نشان میدهد شرایط شبکه در مسئله نقش دارد، ولی علت دقیق را مشخص نمیکند. نوع اپراتور، زمان و نتیجهٔ سرور دوم را ثبت کنید و از تغییر همزمان چند تنظیم پرهیز کنید.
نتیجهٔ عملی
پیش از خرید دوباره، محل خطا و نتیجهٔ دو آزمون شبکه و سرور را روشن کنید. اگر برای مقایسه به اشتراک دیگری نیاز داشتید، مسیر دریافت تست و گزینههای فعلی در صفحهٔ اصلی v2route هستند؛ یک پیام timeout بهتنهایی دلیل کافی برای تعویض سرویس نیست.
راهحلهای بالا را انجام دادید و هنوز مشکل باقی است؟
اول با یک کانفیگ سالم رایگان مقایسه کنید؛ اگر مشکل حل شد، بعد پلن مناسب را بخرید