drop ipv4 from specific domain config

This commit is contained in:
Matt Hill
2023-07-12 17:09:49 -06:00
parent e35a8c942b
commit 19f5e92a74
2 changed files with 12 additions and 23 deletions

View File

@@ -2,7 +2,7 @@ import { Config } from '@start9labs/start-sdk/lib/config/builder/config'
import { Value } from '@start9labs/start-sdk/lib/config/builder/value' import { Value } from '@start9labs/start-sdk/lib/config/builder/value'
import { Variants } from '@start9labs/start-sdk/lib/config/builder/variants' import { Variants } from '@start9labs/start-sdk/lib/config/builder/variants'
const ddnsOptions = { const ddnsOptions = Config.of({
username: Value.text({ username: Value.text({
name: 'Username', name: 'Username',
required: { default: null }, required: { default: null },
@@ -12,18 +12,7 @@ const ddnsOptions = {
required: { default: null }, required: { default: null },
masked: true, masked: true,
}), }),
} })
const ipv4Option = {
ipv4: Value.toggle({
name: 'Enable IPv4',
default: false,
description:
'Enable IPv4 if: <ol><li>Your ISP or router does not support IPv6</li><li>You want those who lack IPv6 to reach your site</li></ol> <b>Warning!</b> IPv4 addresses are closely correlated with geographic areas. If you are not using a reverse proxy, everyone will be able to determine the general location of your server on Earth.',
}),
}
const options = Config.of(ddnsOptions)
const optionsPlus = Config.of({ ...ddnsOptions, ...ipv4Option })
export const domainSpec = Config.of({ export const domainSpec = Config.of({
hostname: Value.text({ hostname: Value.text({
@@ -39,31 +28,31 @@ export const domainSpec = Config.of({
Variants.of({ Variants.of({
start9: { start9: {
name: 'Start9', name: 'Start9',
spec: Config.of(ipv4Option), spec: Config.of({}),
}, },
duckdns: { duckdns: {
name: 'Duck DNS', name: 'Duck DNS',
spec: optionsPlus, spec: ddnsOptions,
}, },
dyn: { dyn: {
name: 'DynDNS', name: 'DynDNS',
spec: optionsPlus, spec: ddnsOptions,
}, },
easydns: { easydns: {
name: 'easyDNS', name: 'easyDNS',
spec: optionsPlus, spec: ddnsOptions,
}, },
googledomains: { googledomains: {
name: 'Google Domains', name: 'Google Domains',
spec: optionsPlus, spec: ddnsOptions,
}, },
namecheap: { namecheap: {
name: 'Namecheap (IPv4 only)', name: 'Namecheap (IPv4 only)',
spec: options, spec: ddnsOptions,
}, },
zoneedit: { zoneedit: {
name: 'Zoneedit', name: 'Zoneedit',
spec: optionsPlus, spec: ddnsOptions,
}, },
}), }),
), ),

View File

@@ -36,7 +36,7 @@
<ion-row class="grid-headings"> <ion-row class="grid-headings">
<ion-col size="3">Domain</ion-col> <ion-col size="3">Domain</ion-col>
<ion-col size="2.5">Added</ion-col> <ion-col size="2.5">Added</ion-col>
<ion-col size="2.5">Provider</ion-col> <ion-col size="2.5">DDNS Provider</ion-col>
<ion-col size="2">In Use</ion-col> <ion-col size="2">In Use</ion-col>
<ion-col size="2"></ion-col> <ion-col size="2"></ion-col>
</ion-row> </ion-row>
@@ -87,7 +87,7 @@
<ion-row class="grid-headings"> <ion-row class="grid-headings">
<ion-col size="3">Domain</ion-col> <ion-col size="3">Domain</ion-col>
<ion-col size="2.5">Added</ion-col> <ion-col size="2.5">Added</ion-col>
<ion-col size="2.5">Provider</ion-col> <ion-col size="2.5">DDNS Provider</ion-col>
<ion-col size="2">In Use</ion-col> <ion-col size="2">In Use</ion-col>
<ion-col size="2"></ion-col> <ion-col size="2"></ion-col>
</ion-row> </ion-row>
@@ -97,7 +97,7 @@
> >
<ion-col size="3">{{ domain.value }}</ion-col> <ion-col size="3">{{ domain.value }}</ion-col>
<ion-col size="2.5">{{ domain.createdAt| date: 'medium' }}</ion-col> <ion-col size="2.5">{{ domain.createdAt| date: 'medium' }}</ion-col>
<ion-col size="2.5">{{ domain.provider }}</ion-col> <ion-col size="2.5">{{ domain.provider.unionSelectKey }}</ion-col>
<ion-col size="2" *ngIf="domain.usedBy as usedBy"> <ion-col size="2" *ngIf="domain.usedBy as usedBy">
<a <a
*ngIf="usedBy.length as qty; else unused" *ngIf="usedBy.length as qty; else unused"