Files
vim-ale/duckdns.sh
AJ ONeal 7f0c92e262 add releases.conf for all remaining packages and wire new fetchers
New fetcher packages:
- chromedist: Chrome for Testing API (googlechromelabs.github.io)
- gpgdist: SourceForge RSS for GPG macOS
- mariadbdist: MariaDB downloads REST API

New releases.conf files for:
- GitHub: aliasman, awless, duckdns.sh, hugo-extended, kubens, rg, postgres
- gittag: vim-commentary, vim-zig
- gitea: pathman
- chromedist: chromedriver
- gpgdist: gpg
- mariadbdist: mariadb
- nodedist: node

Alias support (alias_of key):
- golang → go, dashd → dashcore, psql → postgres, zig.vim → vim-zig
- Aliases skip fetching and share cache with their target

Every package with a releases.js now has a releases.conf (except the
dead macos package). fetchraw dispatches to all 13 source types.
2026-03-09 22:48:11 -06:00
..
2023-01-15 03:23:45 +00:00

title, homepage, tagline
title homepage tagline
DuckDNS.sh https://github.com/BeyondCodeBootcamp/DuckDNS.sh DuckDNS.sh: Dynamic DNS updater for https://duckdns.org. Works on all POSIX*ish* systems (Mac, Linux, Docker, BSD, etc).

To update or switch versions, run webi duckdns.sh@stable (or @v1.0.3, @beta, etc).

Files

These are the files / directories that are created and/or modified with this install:

~/.config/envman/PATH.env
~/.local/bin/duckdns.sh
~/.config/duckdns.sh/

Cheat Sheet

DuckDNS.sh (duckdns.sh) is the best Dynamic DNS client to date. Not only does it have some nice sub commands and work on all Posix systems, but it can also register itself with your system launcher - systemd on Linux and launchctl on macOS.

Paste your token from duckdns.org to start.

# duckdns.sh auth <subdomain>
# duckdns.sh auth foobar # do NOT include '.duckdns.org'

Set to launch on login (Mac) or on boot (Linux)

# duckdns.sh enable <subdomain>
duckdns.sh enable foobar

Usage

Use -v to filter out all matches so that only non-matches are left.

USAGE
    duckdns.sh <subcommand> [arguments...]

SUBCOMMANDS
    myip                         - show this device's ip(s)
    ip <subdomain>               - show subdomain's ip(s)

    list                         - show subdomains
    auth <subdomain>             - add Duck DNS token
    update <subdomain>           - update subdomain to device ip
    set <subdomain> <ip> [ipv6]  - set ipv4 and/or ipv6 explicitly
    clear <subdomain>            - unset ip(s)
    run <subdomain>              - check ip and update every 5m
    enable <subdomain>           - enable on boot (Linux) or login (macOS)
    disable <subdomain>          - disable on boot or login

    help                         - show this menu
    version                      - show version and exit

How to check your current IP address

duckdns.sh myip

This is the same as

curl -fsSL 'https://api.ipify.org?format=text'
curl -fsSL 'https://api64.ipify.org?format=text'

How to check your domain's current DNS records

duckdns.sh ip foobar

This is the same as

dig +short A foobar.duckdns.org
dig +short AAAA foobar.duckdns.org

How to manually set your domain's DNS records

duckdns.sh set foobar 127.0.0.1 ::1