mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-10-27 16:25:31 +03:00
feat(sub): make external subscription fetch User-Agent configurable (#6613)
* feat(sub): make external subscription fetch User-Agent configurable Some providers reject fetches that do not send a known client User-Agent. Expose externalSubUserAgent as a panel setting (default v2rayNG/1.8.5) and use it when fetching client external subscription URLs. Fixes #6383 * ci: retrigger frontend after npm registry maintenance The frontend job failed solely on `npm audit` while registry.npmjs.org returned 503 (Service Under Maintenance). Lint, typecheck, vitest, vite build, and storybook all passed. Local `npm audit --omit=dev --audit-level=high` now reports 0 vulnerabilities. * fix(sub): fall back to the default UA when the DB is not initialised externalSubUserAgent read the setting through SettingService.getSetting, which calls Model() on database.GetDB() and panics on a nil *gorm.DB. The fetch path's other DB read, service.ExternalSubscriptionHwid, already treats a nil DB as unreachable and sends no header; the new UA lookup did not, so any fetch before InitDB panicked instead of sending the historical v2rayNG/1.8.5. Production initialises the DB before the sub server starts, but the internal/sub fetch tests run without one: under make test-go's -shuffle=on, whenever one of them ran before the first InitDB test the panic aborted the whole package. Reproduced deterministically with go test -run '^TestDoFetchSubscriptionLinks_RejectsOversizedBody$'. --------- Co-authored-by: mrchatam <mrchatam@users.noreply.github.com> Co-authored-by: MHSanaei <ho3ein.sanaei@gmail.com>
This commit is contained in:
@@ -1277,6 +1277,8 @@
|
||||
"subDomainDesc": "آدرس دامنه برای سرویس سابسکریپشن. برای گوش دادن به تمام دامنهها و آیپیها خالیبگذارید. همچنین وقتی «مسیر پراکسی معکوس» خالی باشد، به عنوان دامنه پیشفرض لینک سابسکریپشن نمایشدادهشده استفاده میشود — اگر پنل و سابسکریپشن از دامنههای متفاوتی در دسترس هستند (مثلاً پشت یک پراکسی معکوس)، «مسیر پراکسی معکوس» را پر کنید.",
|
||||
"subUpdates": "فاصله بروزرسانی سابسکریپشن",
|
||||
"subUpdatesDesc": "(فاصله مابین بروزرسانی در برنامههای کاربری. (واحد: ساعت",
|
||||
"externalSubUserAgent": "User-Agent اشتراک خارجی",
|
||||
"externalSubUserAgentDesc": "هدر User-Agent هنگام واکشی URL اشتراک خارجی کلاینت. خالی بگذارید تا پیشفرض (v2rayNG/1.8.5) استفاده شود. بعضی ارائهدهندهها کلاینت ناشناس را رد میکنند.",
|
||||
"subEncrypt": "انکود",
|
||||
"subEncryptDesc": "کدگذاری خواهدشد Base64 محتوای برگشتی سرویس سابسکریپشن برپایه",
|
||||
"subURI": "پروکسی معکوس URI مسیر",
|
||||
|
||||
Reference in New Issue
Block a user