mirror of https://github.com/certd/certd
chore:
parent
fc55010888
commit
19e1df1e5d
|
@ -154,7 +154,7 @@ export class DomainService extends BaseService<DomainEntity> {
|
||||||
}
|
}
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
const cnameRecord:CnameRecordEntity = cnameMap[mainDomain]
|
const cnameRecord:CnameRecordEntity = cnameMap[domain]
|
||||||
if (cnameRecord) {
|
if (cnameRecord) {
|
||||||
domainVerifiers[domain] = {
|
domainVerifiers[domain] = {
|
||||||
domain,
|
domain,
|
||||||
|
@ -168,7 +168,7 @@ export class DomainService extends BaseService<DomainEntity> {
|
||||||
}
|
}
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
const httpRecord = httpMap[mainDomain]
|
const httpRecord = httpMap[domain]
|
||||||
if (httpRecord) {
|
if (httpRecord) {
|
||||||
domainVerifiers[domain] = {
|
domainVerifiers[domain] = {
|
||||||
domain,
|
domain,
|
||||||
|
|
|
@ -1,19 +1,27 @@
|
||||||
import {Inject, Provide, Scope, ScopeEnum} from '@midwayjs/core';
|
import { Inject, Provide, Scope, ScopeEnum } from "@midwayjs/core";
|
||||||
import {InjectEntityModel} from '@midwayjs/typeorm';
|
import { InjectEntityModel } from "@midwayjs/typeorm";
|
||||||
import {Repository} from 'typeorm';
|
import { Repository } from "typeorm";
|
||||||
import {AccessService, BaseService, PlusService, ValidateException} from '@certd/lib-server';
|
import {
|
||||||
import {CnameRecordEntity, CnameRecordStatusType} from '../entity/cname-record.js';
|
AccessService,
|
||||||
import {createDnsProvider, IDnsProvider} from '@certd/plugin-cert';
|
BaseService,
|
||||||
import {CnameProvider, CnameRecord} from '@certd/pipeline';
|
PlusService,
|
||||||
import {cache, http, isDev, logger, utils} from '@certd/basic';
|
SysInstallInfo,
|
||||||
import {getAuthoritativeDnsResolver, walkTxtRecord} from '@certd/acme-client';
|
SysSettingsService,
|
||||||
import {CnameProviderService} from './cname-provider-service.js';
|
ValidateException
|
||||||
import {CnameProviderEntity} from '../entity/cname-provider.js';
|
} from "@certd/lib-server";
|
||||||
import {CommonDnsProvider} from './common-provider.js';
|
import { CnameRecordEntity, CnameRecordStatusType } from "../entity/cname-record.js";
|
||||||
import {DomainParser} from "@certd/plugin-cert/dist/dns-provider/domain-parser.js";
|
import { createDnsProvider, IDnsProvider } from "@certd/plugin-cert";
|
||||||
import punycode from 'punycode.js'
|
import { CnameProvider, CnameRecord } from "@certd/pipeline";
|
||||||
import {SubDomainService} from "../../pipeline/service/sub-domain-service.js";
|
import { cache, http, isDev, logger, utils } from "@certd/basic";
|
||||||
import {SubDomainsGetter} from "../../pipeline/service/getter/sub-domain-getter.js";
|
import { getAuthoritativeDnsResolver, walkTxtRecord } from "@certd/acme-client";
|
||||||
|
import { CnameProviderService } from "./cname-provider-service.js";
|
||||||
|
import { CnameProviderEntity } from "../entity/cname-provider.js";
|
||||||
|
import { CommonDnsProvider } from "./common-provider.js";
|
||||||
|
import { DomainParser } from "@certd/plugin-cert/dist/dns-provider/domain-parser.js";
|
||||||
|
import punycode from "punycode.js";
|
||||||
|
import { SubDomainService } from "../../pipeline/service/sub-domain-service.js";
|
||||||
|
import { SubDomainsGetter } from "../../pipeline/service/getter/sub-domain-getter.js";
|
||||||
|
|
||||||
type CnameCheckCacheValue = {
|
type CnameCheckCacheValue = {
|
||||||
validating: boolean;
|
validating: boolean;
|
||||||
pass: boolean;
|
pass: boolean;
|
||||||
|
@ -35,6 +43,8 @@ export class CnameRecordService extends BaseService<CnameRecordEntity> {
|
||||||
|
|
||||||
@Inject()
|
@Inject()
|
||||||
cnameProviderService: CnameProviderService;
|
cnameProviderService: CnameProviderService;
|
||||||
|
@Inject()
|
||||||
|
sysSettingsService: SysSettingsService;
|
||||||
|
|
||||||
@Inject()
|
@Inject()
|
||||||
accessService: AccessService;
|
accessService: AccessService;
|
||||||
|
@ -101,7 +111,17 @@ export class CnameRecordService extends BaseService<CnameRecordEntity> {
|
||||||
}
|
}
|
||||||
param.hostRecord = hostRecord;
|
param.hostRecord = hostRecord;
|
||||||
|
|
||||||
const cnameKey = utils.id.simpleNanoId().toLowerCase();
|
let cnameKey = utils.id.simpleNanoId(8).toLowerCase();
|
||||||
|
|
||||||
|
let userIdHash = ""
|
||||||
|
if(param.cnameProviderId < 0){
|
||||||
|
//公共cname服务
|
||||||
|
userIdHash = utils.hash.md5(`userId_${userId}`).substring(0, 8)
|
||||||
|
}else{
|
||||||
|
const installInfo = await this.sysSettingsService.getSetting<SysInstallInfo>(SysInstallInfo)
|
||||||
|
userIdHash = utils.hash.md5(installInfo.siteId).substring(0, 8)
|
||||||
|
}
|
||||||
|
cnameKey = `${userIdHash}-${cnameKey}`;
|
||||||
const safeDomain = param.domain.replaceAll('.', '-');
|
const safeDomain = param.domain.replaceAll('.', '-');
|
||||||
param.recordValue = `${safeDomain}.${cnameKey}.${cnameProvider.domain}`;
|
param.recordValue = `${safeDomain}.${cnameKey}.${cnameProvider.domain}`;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue