mirror of
https://github.com/jung-geun/DynamicDNS-SSL.git
synced 2025-12-19 20:44:40 +09:00
84 lines
3.1 KiB
Markdown
84 lines
3.1 KiB
Markdown
# DynamicDNS-SSL
|
|
|
|
**DynamicDNS-SSL**는 Cloudflare를 통해 동적 DNS 업데이트(DDNS)를 자동으로 수행하고, Certbot을 이용해 SSL 인증서를 자동으로 갱신하는 스크립트입니다. 이 프로젝트는 도메인 소유자가 IP 주소가 변경될 때마다 수동으로 업데이트할 필요 없이, 자동으로 DNS와 SSL 인증서를 관리할 수 있도록 도와줍니다.
|
|
|
|
동적 IP를 사용하는 개인 사용자나 작은 규모의 서버 운영자들에게 유용한 프로젝트입니다.
|
|
|
|
[](https://sonar.pieroot.xyz/dashboard?id=jung-geun_cloudflare-ddns_AZIjf9NeRMPvGKjJzls4)
|
|
[](https://sonar.pieroot.xyz/dashboard?id=jung-geun_cloudflare-ddns_AZIjf9NeRMPvGKjJzls4)
|
|
[](https://sonar.pieroot.xyz/dashboard?id=jung-geun_cloudflare-ddns_AZIjf9NeRMPvGKjJzls4)
|
|
|
|
## 주요 기능
|
|
|
|
- **자동 DNS 업데이트**: Cloudflare API를 사용하여 IP 주소가 변경될 때마다 자동으로 DNS 레코드를 업데이트합니다.
|
|
- **SSL 인증서 자동 갱신**: Certbot을 사용하여 SSL 인증서를 자동으로 발급 및 갱신합니다.
|
|
- **환경 설정 파일 사용**: JSON 형식의 설정 파일을 통해 쉽게 설정을 변경할 수 있습니다.
|
|
|
|
## 요구 사항
|
|
|
|
시작하기 전에 다음 사항을 준비해야 합니다:
|
|
|
|
- Cloudflare 계정
|
|
- 등록된 도메인 이름
|
|
- Cloudflare API 자격 증명
|
|
|
|
## 설치
|
|
|
|
### 1. **프로젝트 클론**
|
|
|
|
```bash
|
|
git clone https://github.com/jung-geun/cloudflare-ddns.git
|
|
|
|
<!-- or -->
|
|
|
|
git clone https://git.pieroot.xyz/jung-geun/cloudflare-ddns.git
|
|
|
|
|
|
cd cloudflare-ddns
|
|
```
|
|
|
|
### 2. **필요한 패키지 설치**
|
|
|
|
```bash
|
|
sudo apt update
|
|
sudo apt install -y certbot python3-certbot-dns-cloudflare jq
|
|
|
|
<!-- or -->
|
|
|
|
make install # makefile을 이용해 패키지를 설치할 수 있습니다.
|
|
```
|
|
|
|
### 3. **환경 설정 파일 생성**
|
|
|
|
```bash
|
|
vi /app/cloudflare-ddns/config/env.json
|
|
```
|
|
|
|
아래와 같이 환경 설정 파일을 작성합니다:
|
|
|
|
```json
|
|
{
|
|
"CLOUDFLARE_API_KEY": "your_cloudflare_api_key",
|
|
"CLOUDFLARE_ZONE_ID": "your_cloudflare_zone_id",
|
|
"CLOUDFLARE_DOMAIN": "example.com",
|
|
"EMAIL": "your_email@example.com",
|
|
"CLOUDFLARE_A": {
|
|
"@": true
|
|
},
|
|
"CLOUDFLARE_CNAME": {
|
|
"@": {
|
|
"www": true
|
|
}
|
|
},
|
|
"CLOUDFLARE_MX": {}
|
|
}
|
|
```
|
|
|
|
## 기여하기
|
|
|
|
기여는 환영합니다! 제안이나 개선 사항이 있으시면 이슈를 열거나 풀 리퀘스트를 제출해 주세요.
|
|
|
|
## 라이선스
|
|
|
|
이 프로젝트는 MIT 라이선스로 배포됩니다. 자세한 내용은 [LICENSE](./LICENSE) 파일을 참조하세요.
|