v2-dev-order
xiaojunnuo 2025-07-13 23:58:07 +08:00
parent fc55010888
commit 19e1df1e5d
2 changed files with 39 additions and 19 deletions

View File

@ -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,

View File

@ -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}`;
} }