- Cloudflare e configurazione dominio DNS (host, host_test, host_ip, ecc...)
This commit is contained in:
@@ -29,6 +29,8 @@ export default defineComponent({
|
||||
const inputRequired = ref(false)
|
||||
const inputPrompt = ref('')
|
||||
const statusWs = ref('')
|
||||
const rischeckDNS = ref('')
|
||||
const errorDNS = ref(false)
|
||||
|
||||
let ws: any = null;
|
||||
|
||||
@@ -61,6 +63,7 @@ export default defineComponent({
|
||||
const selectedApi = ref(<string>'');
|
||||
|
||||
const dnsPageActive = ref(false)
|
||||
const dnsCheckMySite = ref(false)
|
||||
|
||||
const optionsApi = ref(<any>[])
|
||||
const arrZones = ref(<any>[])
|
||||
@@ -83,6 +86,8 @@ export default defineComponent({
|
||||
{ name: 'name', required: true, label: 'Nome', align: 'left', field: 'name', sortable: true, visible: true },
|
||||
{ name: 'type', required: true, label: 'Tipo', align: 'left', field: 'type', sortable: true, visible: true },
|
||||
{ name: 'proxied', required: true, align: 'center', label: 'Proxy', field: 'proxied', sortable: true, visible: true },
|
||||
{ name: 'priority', required: true, align: 'center', label: 'Priorità', field: 'priority', sortable: true, visible: true },
|
||||
{ name: 'ttl', required: true, align: 'center', label: 'TTL', field: 'ttl', sortable: false, visible: true },
|
||||
{ name: 'content', required: true, label: 'Valore', align: 'left', field: 'content', sortable: true, visible: true },
|
||||
];
|
||||
|
||||
@@ -90,6 +95,8 @@ export default defineComponent({
|
||||
{ name: 'name', required: true, label: 'Nome', align: 'left', field: 'name', sortable: true, visible: true, editable: true },
|
||||
{ name: 'type', required: true, label: 'Tipo', align: 'left', field: 'type', sortable: true, visible: true, editable: true },
|
||||
{ name: 'proxied', required: true, align: 'center', label: 'Proxy', field: 'proxied', sortable: true, visible: true, editable: true },
|
||||
{ name: 'priority', required: true, align: 'center', label: 'Priorità', field: 'priority', sortable: true, visible: true },
|
||||
{ name: 'ttl', required: true, align: 'center', label: 'TTL', field: 'ttl', sortable: false, visible: true },
|
||||
{ name: 'content', required: true, label: 'Valore', align: 'left', field: 'content', sortable: true, visible: true, editable: true },
|
||||
];
|
||||
|
||||
@@ -118,24 +125,6 @@ export default defineComponent({
|
||||
}
|
||||
})
|
||||
|
||||
watch(() => selZoneId.value, async (to: any, from: any) => {
|
||||
if (selZoneId.value) {
|
||||
incaricamento.value = true
|
||||
arrDNS.value = await globalStore.getCloudFlareTok("getDNS", selectedApi.value, selZoneId.value)
|
||||
|
||||
incaricamento.value = false
|
||||
|
||||
tools.setCookie('CF_API_ZONE_ID_' + selectedApi.value, selZoneId.value)
|
||||
|
||||
/*optDNS.value = []
|
||||
|
||||
for (let i = 0; i < arrZones.value.length; i++) {
|
||||
optDNS.value.push({ label: arrZones.value[i].name, value: arrZones.value[i].id })
|
||||
}*/
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
watch(() => mydir.value, async (to: any, from: any) => {
|
||||
// ...
|
||||
|
||||
@@ -143,6 +132,8 @@ export default defineComponent({
|
||||
|
||||
myarrscript.value = []
|
||||
|
||||
optionsApi.value = []
|
||||
|
||||
dnsPageActive.value = (mydir.value === '2_DNS')
|
||||
|
||||
incaricamento.value = true
|
||||
@@ -160,6 +151,37 @@ export default defineComponent({
|
||||
incaricamento.value = false
|
||||
})
|
||||
|
||||
async function updateArrDns() {
|
||||
arrDNS.value = []
|
||||
arrDNS.value = await globalStore.getCloudFlareTok("getDNS", selectedApi.value, selZoneId.value)
|
||||
}
|
||||
|
||||
watch(() => selZoneId.value, async (to: any, from: any) => {
|
||||
if (selZoneId.value) {
|
||||
incaricamento.value = true
|
||||
await updateArrDns()
|
||||
|
||||
const checksiteprec = dnsCheckMySite.value
|
||||
|
||||
dnsCheckMySite.value = dnsPageActive.value && (getNameBySelZoneinId() === tools.getDomainSite())
|
||||
|
||||
if (dnsCheckMySite.value && !checksiteprec) {
|
||||
await checkDNSSite()
|
||||
}
|
||||
|
||||
incaricamento.value = false
|
||||
|
||||
tools.setCookie('CF_API_ZONE_ID_' + selectedApi.value, selZoneId.value)
|
||||
|
||||
/*optDNS.value = []
|
||||
|
||||
for (let i = 0; i < arrZones.value.length; i++) {
|
||||
optDNS.value.push({ label: arrZones.value[i].name, value: arrZones.value[i].id })
|
||||
}*/
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
watch(() => messages.value, async (to: any, from: any) => {
|
||||
await nextTick(); // Aspetta che il DOM si aggiorni
|
||||
scrollToBottom();
|
||||
@@ -209,6 +231,7 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
async function mounted() {
|
||||
|
||||
myarrdir.value = await getArrayByScript('cd admin_scripts; ls -d */', '')
|
||||
|
||||
myarroptionsdir.value = []
|
||||
@@ -389,6 +412,24 @@ export default defineComponent({
|
||||
await saveRecordDNS(arrDNS.value[indrec])
|
||||
}
|
||||
}
|
||||
const saveTTLDNS = async (ttl: string, initialValue: string) => {
|
||||
|
||||
if (selected.value && selected.value.length > 0 && selected.value[0].id) {
|
||||
const indrec = arrDNS.value.findIndex((rec: any) => rec.id === selected.value[0].id)
|
||||
arrDNS.value[indrec].ttl = ttl
|
||||
|
||||
await saveRecordDNS(arrDNS.value[indrec])
|
||||
}
|
||||
}
|
||||
const savePriorityDNS = async (priority: string, initialValue: string) => {
|
||||
|
||||
if (selected.value && selected.value.length > 0 && selected.value[0].id) {
|
||||
const indrec = arrDNS.value.findIndex((rec: any) => rec.id === selected.value[0].id)
|
||||
arrDNS.value[indrec].priority = priority
|
||||
|
||||
await saveRecordDNS(arrDNS.value[indrec])
|
||||
}
|
||||
}
|
||||
const saveTypeDNS = async (type: string, initialValue: string) => {
|
||||
|
||||
if (selected.value && selected.value.length > 0 && selected.value[0].id) {
|
||||
@@ -399,6 +440,17 @@ export default defineComponent({
|
||||
}
|
||||
}
|
||||
|
||||
const setCorrectIpsOnDNS = async () => {
|
||||
|
||||
let myrecord = {
|
||||
name: tools.getDomainSite()
|
||||
}
|
||||
await globalStore.getCloudFlareTok("setCorrectIpsOnDNS", selectedApi.value, selZoneId.value, null, myrecord)
|
||||
|
||||
await checkDNSSite()
|
||||
}
|
||||
|
||||
|
||||
const saveRecordDNS = async (row: any) => {
|
||||
|
||||
console.log('record da salvare su CF:', row)
|
||||
@@ -417,6 +469,44 @@ export default defineComponent({
|
||||
|
||||
}
|
||||
|
||||
async function checkDNSSite() {
|
||||
incaricamento.value = true
|
||||
await updateArrDns()
|
||||
await globalStore.loadSite()
|
||||
|
||||
rischeckDNS.value = '<br>'
|
||||
errorDNS.value = false
|
||||
|
||||
const domainSite = tools.getDomainSite();
|
||||
const domains = [
|
||||
domainSite,
|
||||
'api.' + domainSite,
|
||||
'test.' + domainSite,
|
||||
'testapi.' + domainSite
|
||||
];
|
||||
|
||||
const ips = [
|
||||
globalStore.site.host_ip,
|
||||
globalStore.site.host_api_ip,
|
||||
globalStore.site.host_test_ip,
|
||||
globalStore.site.host_testapi_ip
|
||||
];
|
||||
|
||||
if (dnsPageActive.value) {
|
||||
let checkDomainA1 = '';
|
||||
errorDNS.value = false
|
||||
for (let i = 0; i < domains.length; i++) {
|
||||
let ris = tools.getHostPuntamento(arrDNS.value, domains[i], ips[i]!)
|
||||
checkDomainA1 += ris.text
|
||||
if (!ris.ok) {
|
||||
errorDNS.value = true
|
||||
}
|
||||
}
|
||||
rischeckDNS.value = checkDomainA1
|
||||
}
|
||||
|
||||
incaricamento.value = false
|
||||
}
|
||||
onMounted(mounted)
|
||||
|
||||
return {
|
||||
@@ -468,6 +558,14 @@ export default defineComponent({
|
||||
saveContentDNS,
|
||||
saveNameDNS,
|
||||
saveTypeDNS,
|
||||
saveTTLDNS,
|
||||
savePriorityDNS,
|
||||
dnsCheckMySite,
|
||||
checkDNSSite,
|
||||
rischeckDNS,
|
||||
globalStore,
|
||||
setCorrectIpsOnDNS,
|
||||
errorDNS,
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user