Simplify client resolver form
This commit is contained in:
parent
9272ee5a8c
commit
10398cad8a
|
@ -51,6 +51,7 @@ func init() {
|
|||
|
||||
type resolverRequest struct {
|
||||
Resolver string `json:"resolver"`
|
||||
Custom string `json:"custom,omitempty"`
|
||||
DomainName string `json:"domain"`
|
||||
Type string `json:"type"`
|
||||
}
|
||||
|
@ -64,7 +65,11 @@ func runResolver(_ *config.Options, ps httprouter.Params, body io.Reader) Respon
|
|||
}
|
||||
}
|
||||
|
||||
if urr.Resolver == "Local" {
|
||||
urr.DomainName = dns.Fqdn(urr.DomainName)
|
||||
|
||||
if urr.Resolver == "custom" {
|
||||
urr.Resolver = urr.Custom
|
||||
} else if urr.Resolver == "local" {
|
||||
cConf, err := dns.ClientConfigFromFile("/etc/resolv.conf")
|
||||
if err != nil {
|
||||
return APIErrorResponse{
|
||||
|
|
|
@ -212,6 +212,15 @@
|
|||
"success": "You can now login with your new password.",
|
||||
"success-change": "Your account's password has been changed with success."
|
||||
},
|
||||
"resolver": {
|
||||
"advanced": "With custom settings?",
|
||||
"custom": "Custom resolver",
|
||||
"custom-description": "Enter the addresse (a domain name or an IP) of the resolver you want to use.",
|
||||
"domain-description": "Indicate the domain you search the records. For example, you can try {0}.",
|
||||
"field-description": "What kind of DNS record you want to see. For example: A is for IPv4, AAAA is for IPv6, ... {0}",
|
||||
"field-description-more-info": "More information here",
|
||||
"resolver-description": "This is the server we will ask for the information."
|
||||
},
|
||||
"service": {
|
||||
"add": "Add service",
|
||||
"already": "Already managed",
|
||||
|
|
|
@ -39,26 +39,18 @@
|
|||
<b-row>
|
||||
<b-col :offset-md="responses.length?0:2" :md="responses.length?4:8" :class="responses.length?'bg-light':'' + 'pb-5 pt-4'">
|
||||
<form class="pt-3 pb-5" @submit.stop.prevent="submitRequest">
|
||||
<b-form-group
|
||||
id="input-resolver"
|
||||
:label="$t('common.resolver')"
|
||||
label-for="resolver"
|
||||
:description="$t('domains.give-explicit-name')"
|
||||
>
|
||||
<b-form-select
|
||||
id="resolver"
|
||||
v-model="form.resolver"
|
||||
required
|
||||
:options="existing_resolvers"
|
||||
/>
|
||||
</b-form-group>
|
||||
|
||||
<b-form-group
|
||||
id="input-domain"
|
||||
:label="$t('common.domain')"
|
||||
label-for="domain"
|
||||
:description="$t('common.description')"
|
||||
>
|
||||
<template slot="description">
|
||||
<i18n path="resolver.domain-description">
|
||||
<router-link to="/tools/client/wikipedia.org" class="text-monospaced">
|
||||
wikipedia.org
|
||||
</router-link>
|
||||
</i18n>
|
||||
</template>
|
||||
<b-form-input
|
||||
id="domain"
|
||||
v-model="form.domain"
|
||||
|
@ -67,19 +59,69 @@
|
|||
/>
|
||||
</b-form-group>
|
||||
|
||||
<b-form-group
|
||||
id="input-type"
|
||||
:label="$t('common.field')"
|
||||
label-for="type"
|
||||
:description="$t('common.type')"
|
||||
>
|
||||
<b-form-select
|
||||
id="type"
|
||||
v-model="form.type"
|
||||
required
|
||||
:options="existing_types"
|
||||
/>
|
||||
</b-form-group>
|
||||
<div class="text-center mb-3">
|
||||
<b-button v-b-toggle.resolver-advanced-settings variant="secondary">
|
||||
{{ $t('resolver.advanced') }}
|
||||
</b-button>
|
||||
</div>
|
||||
|
||||
<b-collapse id="resolver-advanced-settings">
|
||||
<b-form-group
|
||||
id="input-type"
|
||||
:label="$t('common.field')"
|
||||
label-for="type"
|
||||
>
|
||||
<template slot="description">
|
||||
<i18n path="resolver.field-description">
|
||||
<a href="//help.happydns.org/tools/resolver" target="_blank">{{ $t('resolver.field-description-more-info') }}</a>
|
||||
</i18n>
|
||||
</template>
|
||||
<b-form-select
|
||||
id="type"
|
||||
v-model="form.type"
|
||||
required
|
||||
:options="existing_types"
|
||||
/>
|
||||
</b-form-group>
|
||||
|
||||
<b-form-group
|
||||
id="input-resolver"
|
||||
:label="$t('common.resolver')"
|
||||
label-for="resolver"
|
||||
:description="$t('resolver.resolver-description')"
|
||||
>
|
||||
<b-form-select
|
||||
id="resolver"
|
||||
v-model="form.resolver"
|
||||
required
|
||||
>
|
||||
<b-form-select-option-group
|
||||
v-for="(group, gname) in existing_resolvers"
|
||||
:key="gname"
|
||||
:label="gname"
|
||||
:options="group"
|
||||
/>
|
||||
<b-form-select-option value="custom">
|
||||
{{ $t('resolver.custom') }}
|
||||
</b-form-select-option>
|
||||
</b-form-select>
|
||||
</b-form-group>
|
||||
|
||||
<b-form-group
|
||||
v-show="form.resolver === 'custom'"
|
||||
id="input-custom-resolver"
|
||||
:label="$t('resolver.custom')"
|
||||
label-for="custom-resolver"
|
||||
:description="$t('resolver.custom-description')"
|
||||
>
|
||||
<b-form-input
|
||||
id="custom-resolver"
|
||||
v-model="form.custom"
|
||||
:required="form.resolver === 'custom'"
|
||||
placeholder="127.0.0.1"
|
||||
/>
|
||||
</b-form-group>
|
||||
</b-collapse>
|
||||
|
||||
<div class="ml-3 mr-3">
|
||||
<b-button class="float-right" type="submit" variant="primary" :disabled="request_pending">
|
||||
|
@ -107,9 +149,68 @@ export default {
|
|||
return {
|
||||
request_pending: false,
|
||||
existing_types: ['ANY', 'A', 'AAAA', 'NS', 'SRV', 'MX', 'TXT'],
|
||||
existing_resolvers: ['Local', '1.1.1.1', '8.8.8.8', '9.9.9.9'],
|
||||
existing_resolvers: {
|
||||
Unfiltered:
|
||||
[
|
||||
{ value: 'local', text: 'Local resolver' },
|
||||
{ value: '1.1.1.1', text: 'Cloudflare DNS resolver' },
|
||||
{ value: '4.2.2.1', text: 'Level3 resolver' },
|
||||
{ value: '8.8.8.8', text: 'Google Public DNS resolver' },
|
||||
{ value: '9.9.9.10', text: 'Quad9 DNS resolver without security blocklist' },
|
||||
{ value: '64.6.64.6', text: 'Verisign DNS resolver' },
|
||||
{ value: '74.82.42.42', text: 'Hurricane Electric DNS resolver' },
|
||||
{ value: '208.67.222.222', text: 'OpenDNS resolver' },
|
||||
{ value: '8.26.56.26', text: 'Comodo Secure DNS resolver' },
|
||||
{ value: '199.85.126.10', text: 'Norton ConnectSafe DNS resolver' },
|
||||
{ value: '198.54.117.10', text: 'SafeServe DNS resolver' },
|
||||
{ value: '84.200.69.80', text: 'DNS.WATCH resolver' },
|
||||
{ value: '185.121.177.177', text: 'OpenNIC DNS resolver' },
|
||||
{ value: '37.235.1.174', text: 'FreeDNS resolver' },
|
||||
{ value: '80.80.80.80', text: 'Freenom World DNS resolver' },
|
||||
{ value: '216.131.65.63', text: 'StrongDNS resolver' },
|
||||
{ value: '94.140.14.140', text: 'AdGuard non-filtering DNS resolver' },
|
||||
{ value: '91.239.100.100', text: 'Uncensored DNS resolver' },
|
||||
{ value: '216.146.35.35', text: 'Dyn DNS resolver' },
|
||||
{ value: '77.88.8.8', text: 'Yandex.DNS resolver' },
|
||||
{ value: '129.250.35.250', text: 'NTT DNS resolver' },
|
||||
{ value: '223.5.5.5', text: 'AliDNS resolver' },
|
||||
{ value: '1.2.4.8', text: 'CNNIC SDNS resolver' },
|
||||
{ value: '119.29.29.29', text: 'DNSPod resolver' },
|
||||
{ value: '114.215.126.16', text: 'oneDNS resolver' },
|
||||
{ value: '124.251.124.251', text: 'cloudxns resolver' },
|
||||
{ value: '114.114.114.114', text: 'Baidu DNS resolver' },
|
||||
{ value: '156.154.70.1', text: 'DNS Advantage resolver' },
|
||||
{ value: '87.118.111.215', text: 'FoolDNS resolver' },
|
||||
{ value: '101.101.101.101', text: 'Quad 101 DNS resolver' },
|
||||
{ value: '114.114.114.114', text: '114DNS resolver' },
|
||||
{ value: '168.95.1.1', text: 'HiNet DNS resolver' },
|
||||
{ value: '80.67.169.12', text: 'French Data Network DNS resolver' },
|
||||
{ value: '81.218.119.11', text: 'GreenTeamDNS resolver' },
|
||||
{ value: '208.76.50.50', text: 'SmartViper DNS resolver' },
|
||||
{ value: '23.253.163.53', text: 'Alternate DNS resolver' },
|
||||
{ value: '109.69.8.51', text: 'puntCAT DNS resolver' },
|
||||
{ value: '156.154.70.1', text: 'Neustar DNS resolver' },
|
||||
{ value: '101.226.4.6', text: 'DNSpai resolver' }
|
||||
// Your open resolver here? Don't hesitate to contribute to the project!
|
||||
],
|
||||
Filtered: [
|
||||
{ value: '1.1.1.2', text: 'Cloudflare Malware Blocking Only DNS resolver' },
|
||||
{ value: '1.1.1.3', text: 'Cloudflare Malware and Adult Content Blocking Only DNS resolver' },
|
||||
{ value: '9.9.9.9', text: 'Quad9 DNS resolver' },
|
||||
{ value: '94.140.14.14', text: 'AdGuard default DNS resolver' },
|
||||
{ value: '94.140.14.15', text: 'AdGuard family protection DNS resolver' },
|
||||
{ value: '77.88.8.2', text: 'Yandex.DNS Safe resolver' },
|
||||
{ value: '77.88.8.3', text: 'Yandex.DNS Family resolver' },
|
||||
{ value: '156.154.70.2', text: 'DNS Advantage Threat Protection resolver' },
|
||||
{ value: '156.154.70.3', text: 'DNS Advantage Family Secure resolver' },
|
||||
{ value: '156.154.70.4', text: 'DNS Advantage Business Secure resolver' },
|
||||
{ value: '185.228.168.168', text: 'CleanBrowsing Family Filter DNS resolver' },
|
||||
{ value: '185.228.168.10', text: 'CleanBrowsing Adult Filter DNS resolver' }
|
||||
// Your open resolver here? Don't hesitate to contribute to the project!
|
||||
]
|
||||
},
|
||||
form: {
|
||||
resolver: 'Local',
|
||||
resolver: 'local',
|
||||
type: 'ANY'
|
||||
},
|
||||
show_responses: [],
|
||||
|
|
Loading…
Reference in New Issue
Block a user