Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Personal DDNS client and server with DigitalOcean as backend

License

NotificationsYou must be signed in to change notification settings

Heapy/ddns-fullstack

Repository files navigation

Simple client-server DDNS setup for personal use.

Diagram

Prerequisites

  1. Server with static public IP address or domain name, i.eddns.bar.com
  2. Domain used with DigitalOcean DNS, i.ebar.com
  3. DigitalOcean API token (Obtain a token using the API section in DigitalOcean UI)
  4. Home router with public, but dynamic IP (This project is nota tunneling solution)

Server Configuration

ParameterDefaultRequiredDescription
MODEclienttrueDescribes mode in which application running, set toserver to run as IP server
HEADERnonefalseDefines which header will contain IP value. Otherwise IP from request will be taken.
PORT8080falsePort on which application will be listening
HOST0.0.0.0falseHost on which application will be listening

Client Configuration

ParameterDefaultRequiredDescription
MODEclientfalseDescribes mode in which application running, omit or set toclient to run as DNS updater
SERVER_URLnonetrueURL to endpoint that returns IP
CHECK_PERIOD5mfalsePeriod of time between checks for IP change
REQUEST_TIMEOUT30sfalseTimeout for request to server
ATTEMPTS_BEFORE_WARNING5falseNumber of attempts to make before warning about failed request

Digitalocean DNS

ParameterDefaultRequiredDescription
DIGITALOCEAN_TOKENnonetrueToken to access DigitalOcean API
DIGITALOCEAN_DOMAIN_NAMEnonetrueDomain name to update, example:bar.com
DIGITALOCEAN_SUBDOMAINnonetrueSubdomain to update, example:foo (for foo.bar.com)

Cloudflare DNS

ParameterDefaultRequiredDescription
CLOUDFLARE_TOKENnonetrueToken to access Cloudflare API
CLOUDFLARE_DOMAIN_NAMEnonetrueDomain name to update, example:foo.bar.com
CLOUDFLARE_ZONE_IDnonetrueCloudflare Zone Id

Telegram channel for notifications

SetTELEGRAM_TOKEN andTELEGRAM_CHAT_ID environment variables to enable notifications about IP changes and warning.

ParameterDefaultRequiredDescription
TELEGRAM_TOKENnonetrueToken to access Telegram API. Obtain an token using@BotFather
TELEGRAM_CHAT_IDnonetrueChat ID to send messages to, start bot, and checkhttps://api.telegram.org/bot[TELEGRAM_TOKEN]/getUpdates to obtain chat.

About

Personal DDNS client and server with DigitalOcean as backend

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

    Packages

     
     
     

    [8]ページ先頭

    ©2009-2025 Movatter.jp