(null)
-const tlsFingerprintProfiles = ref<{ id: number; name: string }[]>([])
+const tlsFingerprintProfiles = ref<{ id: number; name: string; bound_account_count?: number }[]>([])
const tlsFingerprintRandomized = ref(false)
const tlsFingerprintRandomizing = ref(false)
const sessionIdMaskingEnabled = ref(false)
@@ -2483,11 +2485,11 @@ watch(
const loadTLSProfiles = async () => {
try {
const profiles = await adminAPI.tlsFingerprintProfiles.list()
- // Hide auto-generated profiles from the manual dropdown; they're
- // owned by a specific account and shouldn't be picked by others.
- tlsFingerprintProfiles.value = profiles
- .filter(p => !p.name.startsWith('__auto__:acc-'))
- .map(p => ({ id: p.id, name: p.name }))
+ tlsFingerprintProfiles.value = profiles.map(p => ({
+ id: p.id,
+ name: p.name,
+ bound_account_count: p.bound_account_count,
+ }))
} catch {
tlsFingerprintProfiles.value = []
}
diff --git a/frontend/src/components/admin/TLSFingerprintProfilesModal.vue b/frontend/src/components/admin/TLSFingerprintProfilesModal.vue
index 694653464d..afdfd4e096 100644
--- a/frontend/src/components/admin/TLSFingerprintProfilesModal.vue
+++ b/frontend/src/components/admin/TLSFingerprintProfilesModal.vue
@@ -47,6 +47,9 @@
|
{{ t('admin.tlsFingerprintProfiles.columns.grease') }}
|
+
+ {{ t('admin.tlsFingerprintProfiles.columns.boundAccounts') }}
+ |
{{ t('admin.tlsFingerprintProfiles.columns.alpn') }}
|
@@ -73,6 +76,15 @@
:class="profile.enable_grease ? 'text-green-500' : 'text-gray-400'"
/>
+
+
+ {{ profile.bound_account_count }}
+
+ 0
+ |
|