Documentation

Polfence docs

Polfence speaks the standard dyndns2 remote-access protocol. If your client can update Dyn, No-IP or DuckDNS, it can update Polfence.

Quick start

  1. Create an account and add a hostname.
  2. Copy the update URL (it includes your token) from the hostname page.
  3. Paste it into your router's DDNS settings, or run it from any always-on device.

The update API

Send an HTTP GET (or POST) to:

GET https://polfence.net/nic/update?hostname=<FQDN>&myip=<IP>&token=<TOKEN>

Parameters:

ParameterMeaning
hostnameThe FQDN to update, e.g. myhome.polfence.net. Comma-separate to update several at once.
myipThe IPv4 and/or IPv6 to set (comma-separated). Omit to use the address the request comes from.
tokenYour per-host update secret. Alternatively send it as the HTTP Basic password.

The response is plain text, one line per hostname:

ResponseMeaning
good <ip>The record was updated to the given IP.
nochg <ip>The IP was already current — nothing changed.
nohostNo such hostname, or it isn't yours.
badauthMissing or wrong update token.
notfqdnThe hostname was malformed or no usable IP was supplied.
abuseThe hostname is paused or blocked.

Authentication is either the token query parameter or HTTP Basic auth, where the password is your update token. The username is recorded but not checked, so any value works.

Automatic IP detection

Leave out myip and Polfence uses the source address of the request — ideal when the updating device is the one whose IP you want to publish. To set a specific address (or both families), pass them explicitly:

# IPv4 + IPv6 in one call
curl "https://polfence.net/nic/update?hostname=myhome.polfence.net\
&myip=203.0.113.10,2001:db8::10&token=YOUR_TOKEN"

Router setup (dyndns2)

In your router's Dynamic DNS section, pick a Custom / dyndns2 provider and map the fields:

FieldValue
Serverpolfence.net
Update path/nic/update?hostname=<domain>
Hostnamemyhome.polfence.net
Usernameyour account email
Passwordyour update token

ddclient

Run ddclient on any Linux/macOS box that's always on:

# /etc/ddclient.conf
protocol=dyndns2
use=web, web=checkip.amazonaws.com
server=polfence.net
ssl=yes
login=you@example.com
password=YOUR_TOKEN
myhome.polfence.net

Ready to try it?

Your first hostname is free and resolves immediately.

Create a hostname
Documentation · Polfence