Customize inbound name in subscription

This commit is contained in:
Vladislav Kobzev 2026-05-03 01:14:52 +03:00
parent 51e2fb6dbf
commit c7e0736a60
18 changed files with 48 additions and 3 deletions

View file

@ -825,7 +825,11 @@ func (s *SubService) genRemark(inbound *model.Inbound, email string, extra strin
'e': "", 'e': "",
'o': "", 'o': "",
} }
if len(email) > 0 { emailInRemark, err := s.settingService.GetSubEmailInRemark()
if err != nil {
emailInRemark = true
}
if len(email) > 0 && emailInRemark {
orders['e'] = email orders['e'] = email
} }
if len(inbound.Remark) > 0 { if len(inbound.Remark) > 0 {

View file

@ -48,6 +48,7 @@ class AllSetting {
this.subUpdates = 12; this.subUpdates = 12;
this.subEncrypt = true; this.subEncrypt = true;
this.subShowInfo = true; this.subShowInfo = true;
this.subEmailInRemark = true;
this.subURI = ""; this.subURI = "";
this.subJsonURI = ""; this.subJsonURI = "";
this.subClashURI = ""; this.subClashURI = "";

View file

@ -73,6 +73,7 @@ type AllSetting struct {
ExternalTrafficInformURI string `json:"externalTrafficInformURI" form:"externalTrafficInformURI"` // URI for external traffic reporting ExternalTrafficInformURI string `json:"externalTrafficInformURI" form:"externalTrafficInformURI"` // URI for external traffic reporting
SubEncrypt bool `json:"subEncrypt" form:"subEncrypt"` // Encrypt subscription responses SubEncrypt bool `json:"subEncrypt" form:"subEncrypt"` // Encrypt subscription responses
SubShowInfo bool `json:"subShowInfo" form:"subShowInfo"` // Show client information in subscriptions SubShowInfo bool `json:"subShowInfo" form:"subShowInfo"` // Show client information in subscriptions
SubEmailInRemark bool `json:"subEmailInRemark" form:"subEmailInRemark"` // Include email in subscription remark/name
SubURI string `json:"subURI" form:"subURI"` // Subscription server URI SubURI string `json:"subURI" form:"subURI"` // Subscription server URI
SubJsonPath string `json:"subJsonPath" form:"subJsonPath"` // Path for JSON subscription endpoint SubJsonPath string `json:"subJsonPath" form:"subJsonPath"` // Path for JSON subscription endpoint
SubJsonURI string `json:"subJsonURI" form:"subJsonURI"` // JSON subscription server URI SubJsonURI string `json:"subJsonURI" form:"subJsonURI"` // JSON subscription server URI

View file

@ -90,6 +90,14 @@
<a-switch v-model="allSetting.subShowInfo"></a-switch> <a-switch v-model="allSetting.subShowInfo"></a-switch>
</template> </template>
</a-setting-list-item> </a-setting-list-item>
<a-setting-list-item paddings="small">
<template #title>{{ i18n "pages.settings.subEmailInRemark"}}</template>
<template #description>{{ i18n
"pages.settings.subEmailInRemarkDesc"}}</template>
<template #control>
<a-switch v-model="allSetting.subEmailInRemark"></a-switch>
</template>
</a-setting-list-item>
<a-divider>{{ i18n "pages.xray.basicTemplate"}}</a-divider> <a-divider>{{ i18n "pages.xray.basicTemplate"}}</a-divider>
<a-setting-list-item paddings="small"> <a-setting-list-item paddings="small">
<template #title>{{ i18n "pages.settings.subTitle"}}</template> <template #title>{{ i18n "pages.settings.subTitle"}}</template>

View file

@ -68,6 +68,7 @@ var defaultValueMap = map[string]string{
"subUpdates": "12", "subUpdates": "12",
"subEncrypt": "true", "subEncrypt": "true",
"subShowInfo": "true", "subShowInfo": "true",
"subEmailInRemark": "true",
"subURI": "", "subURI": "",
"subJsonPath": "/json/", "subJsonPath": "/json/",
"subJsonURI": "", "subJsonURI": "",
@ -552,6 +553,10 @@ func (s *SettingService) GetSubShowInfo() (bool, error) {
return s.getBool("subShowInfo") return s.getBool("subShowInfo")
} }
func (s *SettingService) GetSubEmailInRemark() (bool, error) {
return s.getBool("subEmailInRemark")
}
func (s *SettingService) GetPageSize() (int, error) { func (s *SettingService) GetPageSize() (int, error) {
return s.getInt("pageSize") return s.getInt("pageSize")
} }

View file

@ -471,6 +471,8 @@
"subEncryptDesc" = "المحتوى اللي هيترجع من خدمة الاشتراك هيكون مشفر بـ Base64." "subEncryptDesc" = "المحتوى اللي هيترجع من خدمة الاشتراك هيكون مشفر بـ Base64."
"subShowInfo" = "اظهر معلومات الاستخدام" "subShowInfo" = "اظهر معلومات الاستخدام"
"subShowInfoDesc" = "هيظهر الترافيك المتبقي والتاريخ في تطبيقات العملاء." "subShowInfoDesc" = "هيظهر الترافيك المتبقي والتاريخ في تطبيقات العملاء."
"subEmailInRemark" = "تضمين البريد الإلكتروني في الاسم"
"subEmailInRemarkDesc" = "تضمين بريد العميل الإلكتروني في اسم ملف تعريف الاشتراك."
"subURI" = "مسار البروكسي العكسي" "subURI" = "مسار البروكسي العكسي"
"subURIDesc" = "مسار URI لرابط الاشتراك عشان تستخدمه ورا البروكسي." "subURIDesc" = "مسار URI لرابط الاشتراك عشان تستخدمه ورا البروكسي."
"externalTrafficInformEnable" = "تنبيه الترافيك الخارجي" "externalTrafficInformEnable" = "تنبيه الترافيك الخارجي"

View file

@ -471,6 +471,8 @@
"subEncryptDesc" = "The returned content of subscription service will be Base64 encoded." "subEncryptDesc" = "The returned content of subscription service will be Base64 encoded."
"subShowInfo" = "Show Usage Info" "subShowInfo" = "Show Usage Info"
"subShowInfoDesc" = "The remaining traffic and date will be displayed in the client apps." "subShowInfoDesc" = "The remaining traffic and date will be displayed in the client apps."
"subEmailInRemark" = "Include Email in Name"
"subEmailInRemarkDesc" = "Include the client email in the subscription profile name."
"subURI" = "Reverse Proxy URI" "subURI" = "Reverse Proxy URI"
"subURIDesc" = "The URI path of the subscription URL for use behind proxies." "subURIDesc" = "The URI path of the subscription URL for use behind proxies."
"externalTrafficInformEnable" = "External Traffic Inform" "externalTrafficInformEnable" = "External Traffic Inform"

View file

@ -470,7 +470,9 @@
"subEncrypt" = "Encriptar configuraciones" "subEncrypt" = "Encriptar configuraciones"
"subEncryptDesc" = "Encriptar las configuraciones devueltas en la suscripción." "subEncryptDesc" = "Encriptar las configuraciones devueltas en la suscripción."
"subShowInfo" = "Mostrar información de uso" "subShowInfo" = "Mostrar información de uso"
"subShowInfoDesc" = "Mostrar tráfico restante y fecha después del nombre de configuración." "subShowInfoDesc" = "Mostrar tráfico restante y fecha después del nombre de configuración."
"subEmailInRemark" = "Incluir Email en el nombre"
"subEmailInRemarkDesc" = "Incluir el correo del cliente en el nombre del perfil de suscripción."
"subURI" = "URI de proxy inverso" "subURI" = "URI de proxy inverso"
"externalTrafficInformEnable" = "Informe de tráfico externo" "externalTrafficInformEnable" = "Informe de tráfico externo"
"externalTrafficInformEnableDesc" = "Informar a la API externa sobre cada actualización de tráfico." "externalTrafficInformEnableDesc" = "Informar a la API externa sobre cada actualización de tráfico."

View file

@ -471,6 +471,8 @@
"subEncryptDesc" = "کدگذاری خواهدشد Base64 محتوای برگشتی سرویس سابسکریپشن برپایه" "subEncryptDesc" = "کدگذاری خواهدشد Base64 محتوای برگشتی سرویس سابسکریپشن برپایه"
"subShowInfo" = "نمایش اطلاعات مصرف" "subShowInfo" = "نمایش اطلاعات مصرف"
"subShowInfoDesc" = "ترافیک و زمان باقی‌مانده را در برنامه‌های کاربری نمایش می‌دهد" "subShowInfoDesc" = "ترافیک و زمان باقی‌مانده را در برنامه‌های کاربری نمایش می‌دهد"
"subEmailInRemark" = "گنجاندن ایمیل در نام"
"subEmailInRemarkDesc" = "ایمیل کاربر در نام پروفایل اشتراک گنجانده می‌شود."
"subURI" = "پروکسی معکوس URI مسیر" "subURI" = "پروکسی معکوس URI مسیر"
"subURIDesc" = "سابسکریپشن را برای استفاده در پشت پراکسی‌ها تغییر می‌دهد URI مسیر" "subURIDesc" = "سابسکریپشن را برای استفاده در پشت پراکسی‌ها تغییر می‌دهد URI مسیر"
"externalTrafficInformEnable" = "اطلاع رسانی خارجی مصرف ترافیک" "externalTrafficInformEnable" = "اطلاع رسانی خارجی مصرف ترافیک"

View file

@ -471,6 +471,8 @@
"subEncryptDesc" = "Konten yang dikembalikan dari layanan langganan akan dienkripsi Base64." "subEncryptDesc" = "Konten yang dikembalikan dari layanan langganan akan dienkripsi Base64."
"subShowInfo" = "Tampilkan Info Penggunaan" "subShowInfo" = "Tampilkan Info Penggunaan"
"subShowInfoDesc" = "Sisa traffic dan tanggal akan ditampilkan di aplikasi klien." "subShowInfoDesc" = "Sisa traffic dan tanggal akan ditampilkan di aplikasi klien."
"subEmailInRemark" = "Sertakan Email dalam Nama"
"subEmailInRemarkDesc" = "Sertakan email klien dalam nama profil langganan."
"subURI" = "URI Proxy Terbalik" "subURI" = "URI Proxy Terbalik"
"subURIDesc" = "Path URI dari URL langganan untuk digunakan di belakang proxy." "subURIDesc" = "Path URI dari URL langganan untuk digunakan di belakang proxy."
"externalTrafficInformEnable" = "Informasikan API eksternal pada setiap pembaruan lalu lintas." "externalTrafficInformEnable" = "Informasikan API eksternal pada setiap pembaruan lalu lintas."

View file

@ -471,6 +471,8 @@
"subEncryptDesc" = "サブスクリプションサービスが返す内容をBase64エンコードする" "subEncryptDesc" = "サブスクリプションサービスが返す内容をBase64エンコードする"
"subShowInfo" = "利用情報を表示" "subShowInfo" = "利用情報を表示"
"subShowInfoDesc" = "クライアントアプリで残りのトラフィックと日付情報を表示する" "subShowInfoDesc" = "クライアントアプリで残りのトラフィックと日付情報を表示する"
"subEmailInRemark" = "名前にメールを含める"
"subEmailInRemarkDesc" = "サブスクリプションプロファイル名にクライアントのメールアドレスを含めます。"
"subURI" = "リバースプロキシURI" "subURI" = "リバースプロキシURI"
"subURIDesc" = "プロキシ後ろのサブスクリプションURLのURIパスに使用する" "subURIDesc" = "プロキシ後ろのサブスクリプションURLのURIパスに使用する"
"externalTrafficInformEnable" = "外部トラフィック情報" "externalTrafficInformEnable" = "外部トラフィック情報"

View file

@ -471,6 +471,8 @@
"subEncryptDesc" = "O conteúdo retornado pelo serviço de assinatura será codificado em Base64." "subEncryptDesc" = "O conteúdo retornado pelo serviço de assinatura será codificado em Base64."
"subShowInfo" = "Mostrar Informações de Uso" "subShowInfo" = "Mostrar Informações de Uso"
"subShowInfoDesc" = "O tráfego restante e a data serão exibidos nos aplicativos de cliente." "subShowInfoDesc" = "O tráfego restante e a data serão exibidos nos aplicativos de cliente."
"subEmailInRemark" = "Incluir Email no nome"
"subEmailInRemarkDesc" = "Incluir o email do cliente no nome do perfil de assinatura."
"subURI" = "URI de Proxy Reverso" "subURI" = "URI de Proxy Reverso"
"subURIDesc" = "O caminho URI da URL de assinatura para uso por trás de proxies." "subURIDesc" = "O caminho URI da URL de assinatura para uso por trás de proxies."
"externalTrafficInformEnable" = "Informações de tráfego externo" "externalTrafficInformEnable" = "Informações de tráfego externo"

View file

@ -471,6 +471,8 @@
"subEncryptDesc" = "Шифровать возвращенные конфиги в подписке" "subEncryptDesc" = "Шифровать возвращенные конфиги в подписке"
"subShowInfo" = "Показать информацию об использовании" "subShowInfo" = "Показать информацию об использовании"
"subShowInfoDesc" = "Отображать остаток трафика и дату окончания после имени конфигурации" "subShowInfoDesc" = "Отображать остаток трафика и дату окончания после имени конфигурации"
"subEmailInRemark" = "Включать Email в название"
"subEmailInRemarkDesc" = "Включать email клиента в название профиля подписки."
"subURI" = "URI обратного прокси" "subURI" = "URI обратного прокси"
"subURIDesc" = "Изменить базовый URI URL-адреса подписки для использования за прокси-серверами" "subURIDesc" = "Изменить базовый URI URL-адреса подписки для использования за прокси-серверами"
"externalTrafficInformEnable" = "Информация о внешнем трафике" "externalTrafficInformEnable" = "Информация о внешнем трафике"

View file

@ -471,6 +471,8 @@
"subEncryptDesc" = "Abonelik hizmetinin döndürülen içeriği Base64 ile şifrelenir." "subEncryptDesc" = "Abonelik hizmetinin döndürülen içeriği Base64 ile şifrelenir."
"subShowInfo" = "Kullanım Bilgisini Göster" "subShowInfo" = "Kullanım Bilgisini Göster"
"subShowInfoDesc" = "Kalan trafik ve tarih müşteri uygulamalarında görüntülenir." "subShowInfoDesc" = "Kalan trafik ve tarih müşteri uygulamalarında görüntülenir."
"subEmailInRemark" = "Ada Email Ekle"
"subEmailInRemarkDesc" = "Abonelik profil adına istemcinin e-postasını dahil edin."
"subURI" = "Ters Proxy URI" "subURI" = "Ters Proxy URI"
"subURIDesc" = "Proxy arkasında kullanılacak abonelik URL'sinin URI yolu." "subURIDesc" = "Proxy arkasında kullanılacak abonelik URL'sinin URI yolu."
"externalTrafficInformEnable" = "Harici Trafik Bilgisi" "externalTrafficInformEnable" = "Harici Trafik Bilgisi"

View file

@ -471,6 +471,8 @@
"subEncryptDesc" = "Повернений вміст послуги підписки матиме кодування Base64." "subEncryptDesc" = "Повернений вміст послуги підписки матиме кодування Base64."
"subShowInfo" = "Показати інформацію про використання" "subShowInfo" = "Показати інформацію про використання"
"subShowInfoDesc" = "Залишок трафіку та дата відображатимуться в клієнтських програмах." "subShowInfoDesc" = "Залишок трафіку та дата відображатимуться в клієнтських програмах."
"subEmailInRemark" = "Включати Email до назви"
"subEmailInRemarkDesc" = "Включати email клієнта до назви профілю підписки."
"subURI" = "URI зворотного проксі" "subURI" = "URI зворотного проксі"
"subURIDesc" = "URI до URL-адреси підписки для використання за проксі." "subURIDesc" = "URI до URL-адреси підписки для використання за проксі."
"externalTrafficInformEnable" = "Інформація про зовнішній трафік" "externalTrafficInformEnable" = "Інформація про зовнішній трафік"

View file

@ -470,7 +470,9 @@
"subEncrypt" = "Mã hóa cấu hình" "subEncrypt" = "Mã hóa cấu hình"
"subEncryptDesc" = "Mã hóa các cấu hình được trả về trong gói đăng ký" "subEncryptDesc" = "Mã hóa các cấu hình được trả về trong gói đăng ký"
"subShowInfo" = "Hiển thị thông tin sử dụng" "subShowInfo" = "Hiển thị thông tin sử dụng"
"subShowInfoDesc" = "Hiển thị lưu lượng truy cập còn lại và ngày sau tên cấu hình" "subShowInfoDesc" = "Hiển thị lưu lượng truy cập còn lại và ngày sau tên cấu hình"
"subEmailInRemark" = "Thêm Email vào tên"
"subEmailInRemarkDesc" = "Thêm email của client vào tên hồ sơ đăng ký."
"subURI" = "URI proxy trung gian" "subURI" = "URI proxy trung gian"
"subURIDesc" = "Thay đổi URI cơ sở của URL gói đăng ký để sử dụng cho proxy trung gian" "subURIDesc" = "Thay đổi URI cơ sở của URL gói đăng ký để sử dụng cho proxy trung gian"
"externalTrafficInformEnable" = "Thông báo giao thông bên ngoài" "externalTrafficInformEnable" = "Thông báo giao thông bên ngoài"

View file

@ -471,6 +471,8 @@
"subEncryptDesc" = "订阅服务返回的内容将采用 Base64 编码" "subEncryptDesc" = "订阅服务返回的内容将采用 Base64 编码"
"subShowInfo" = "显示使用信息" "subShowInfo" = "显示使用信息"
"subShowInfoDesc" = "客户端应用中将显示剩余流量和日期信息" "subShowInfoDesc" = "客户端应用中将显示剩余流量和日期信息"
"subEmailInRemark" = "在名称中包含邮箱"
"subEmailInRemarkDesc" = "在订阅配置名称中包含客户端邮箱。"
"subURI" = "反向代理 URI" "subURI" = "反向代理 URI"
"subURIDesc" = "用于代理后面的订阅 URL 的 URI 路径" "subURIDesc" = "用于代理后面的订阅 URL 的 URI 路径"
"externalTrafficInformEnable" = "外部交通通知" "externalTrafficInformEnable" = "外部交通通知"

View file

@ -471,6 +471,8 @@
"subEncryptDesc" = "訂閱服務返回的內容將採用 Base64 編碼" "subEncryptDesc" = "訂閱服務返回的內容將採用 Base64 編碼"
"subShowInfo" = "顯示使用資訊" "subShowInfo" = "顯示使用資訊"
"subShowInfoDesc" = "客戶端應用中將顯示剩餘流量和日期資訊" "subShowInfoDesc" = "客戶端應用中將顯示剩餘流量和日期資訊"
"subEmailInRemark" = "在名稱中包含郵箱"
"subEmailInRemarkDesc" = "在訂閱配置名稱中包含客戶端郵箱。"
"subURI" = "反向代理 URI" "subURI" = "反向代理 URI"
"subURIDesc" = "用於代理後面的訂閱 URL 的 URI 路徑" "subURIDesc" = "用於代理後面的訂閱 URL 的 URI 路徑"
"externalTrafficInformEnable" = "外部交通通知" "externalTrafficInformEnable" = "外部交通通知"