diff --git a/src/views/domains.html b/src/views/domains.html index f06a90adb..bcd5b8059 100644 --- a/src/views/domains.html +++ b/src/views/domains.html @@ -84,6 +84,16 @@ + +
+ + +
+
+ + +
+

Setup A records for *.{{ domainConfigure.newDomain || domainConfigure.domain.domain }} and {{ domainConfigure.newDomain || domainConfigure.domain.domain }} to this server's IP.

diff --git a/src/views/domains.js b/src/views/domains.js index dd61bfa60..85fa37d75 100644 --- a/src/views/domains.js +++ b/src/views/domains.js @@ -28,6 +28,7 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat { name: 'GoDaddy', value: 'godaddy' }, { name: 'Google Cloud DNS', value: 'gcdns' }, { name: 'Name.com', value: 'namecom' }, + { name: 'Namecheap', value: 'namecheap' }, { name: 'Wildcard', value: 'wildcard' }, { name: 'Manual (not recommended)', value: 'manual' }, { name: 'No-op (only for development)', value: 'noop' } @@ -41,6 +42,7 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat case 'digitalocean': return 'Digital Ocean'; case 'gandi': return 'Gandi LiveDNS'; case 'namecom': return 'Name.com'; + case 'namecheap': return 'Namecheap'; case 'gcdns': return 'Google Cloud'; case 'godaddy': return 'GoDaddy'; case 'manual': return 'Manual'; @@ -122,6 +124,8 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat cloudflareEmail: '', nameComToken: '', nameComUsername: '', + namecheapUsername: '', + namecheapApiKey: '', provider: 'route53', zoneName: '', hyphenatedSubdomains: false, @@ -175,6 +179,9 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat $scope.domainConfigure.nameComToken = domain.provider === 'namecom' ? domain.config.token : ''; $scope.domainConfigure.nameComUsername = domain.provider === 'namecom' ? domain.config.username : ''; + $scope.domainConfigure.namecheapApiKey = domain.provider === 'namecheap' ? domain.config.apiKey : ''; + $scope.domainConfigure.namecheapUsername = domain.provider === 'namecheap' ? domain.config.username : ''; + $scope.domainConfigure.provider = domain.provider; $scope.domainConfigure.tlsConfig.provider = domain.tlsConfig.provider; @@ -232,6 +239,9 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat } else if (provider === 'namecom') { data.token = $scope.domainConfigure.nameComToken; data.username = $scope.domainConfigure.nameComUsername; + } else if (provider === 'namecheap') { + data.apiKey = $scope.domainConfigure.namecheapApiKey; + data.username = $scope.domainConfigure.namecheapUsername; } data.hyphenatedSubdomains = $scope.domainConfigure.hyphenatedSubdomains; @@ -293,6 +303,8 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat $scope.domainConfigure.cloudflareEmail = ''; $scope.domainConfigure.nameComToken = ''; $scope.domainConfigure.nameComUsername = ''; + $scope.domainConfigure.namecheapApiKey = ''; + $scope.domainConfigure.namecheapUsername = ''; $scope.domainConfigure.tlsConfig.provider = 'letsencrypt-prod'; $scope.domainConfigure.zoneName = '';