Detta dokument beskriver Simply.com RESTful JSON API.
Du kan hitta HTTP-endpoint på https://api.simply.com/2/ - prefixera dina förfrågningar med detta.
Autentisering sker med HTTP Basic Authentication.
Lösenord är API-nyckeln för det specifika kontot.
Användarnamn kan vara vad som helst, eftersom API-nyckeln ensam identifierar kontot.
Alternativt kan API-nyckeln skickas som Bearer-token i Authorization-headern:
Authorization: Bearer APIKEY
API-nycklar skapas i Simply.com Kontrollpanelen under Konto, API-nycklar.
Du kan hitta den interaktiva API-dokumentationen här: https://api.simply.com/2/doc/
Eller hämta OpenAPI-specifikationen som JSON: https://api.simply.com/2/doc.json
API är föremål för hastighetsbegränsningar, endast för att förhindra missbruk.
Vid överskridning svarar API med 429 och anger väntetiden i Retry-After.
Följande bibliotek är tillgängliga för användning.
| acme.sh | https://github.com/acmesh-official/acme.sh/ |
|---|---|
| Posh-ACME | https://github.com/rmbolger/Posh-ACME/ |
| cert-manager service | https://github.com/RunnerM/simply-dns-webhook/ |
| Certbot plugin | https://github.com/JohNan/certbot-dns-simply/ |
| Webhook provider for ExternalDNS | https://github.com/uozalp/external-dns-simply-webhook |
| PHP | https://github.com/simplycom/api-php/ |
|---|
Routrar och DDNS-klienter, som stöder DynDNS2-protokollet, kan använda värden ddns.simply.com direkt.
För skript och annan automatisering av DNS rekommenderar vi REST API:et, som kan skapa, ändra och radera DNS-poster.
https://ddns.simply.com/nic/update?hostname=home.example.com&domain=example.com&myip=1.2.3.4
Autentisering sker med HTTP Basic Authentication, där lösenordet är API-nyckeln för kontot. Användarnamnet kan vara vad som helst, t.ex. kontonamnet.
Utelämnas myip, används den IP-adress som begäran kommer från. Uppdateringar ska ske över HTTPS.
Posten måste finnas i DNS-zonen innan den kan uppdateras: en A-post för IPv4 och en AAAA-post för IPv6. Om den inte finns svaras det med nohost, så skapa posten i kontrollpanelen först.
Parametern domain anger domänen. Den ska skickas med när själva domänen uppdateras, t.ex. hostname=example.com&domain=example.com, och kan användas när domänen inte kan härledas från hostname.
Svaren följer DynDNS2-protokollen, t.ex. good vid en uppdatering och nochg, när IP-adressen är oförändrad.
Adressen https://ddns.simply.com/myip returnerar den offentliga IP-adressen, som begäran kommer från, och kräver ingen autentisering.
protocol=dyndns2
ssl=yes
server=ddns.simply.com
login=ACCOUNTNAME
password=APIKEY
home.example.com
Använd följande Curl-kommando för att ställa in home.example.com till den externa IP:n för den begärande klienten:
curl -s -u "ACCOUNTNAME:APIKEY" "https://ddns.simply.com/nic/update?hostname=home.example.com"
Du kan ställa in det här kommandot att köras i en crontab, på en lokal maskin, var 15:e minut eller så.
På Synology kan du använda följande syntax som anpassad DDNS-leverantör
https://ddns.simply.com/nic/update?hostname=__HOSTNAME__&myip=__MYIP__
hostname ska därefter anges som det fullständigt kvalificerade domännamnet som du vill uppdatera, t.ex. home.example.com.
Sensoren hämtar den offentliga IP-adressen var 5:e minut, och automationen uppdaterar bara DNS när adressen ändras, och när Home Assistant startar. API-nyckeln sparas i secrets.yaml.
# configuration.yaml
sensor:
- platform: rest
name: Public IP
resource: https://ddns.simply.com/myip
value_template: "{{ value | trim }}"
scan_interval: 300
rest_command:
simplycom_ddns:
url: "https://ddns.simply.com/nic/update?hostname=home.example.com"
username: "ACCOUNTNAME"
password: !secret simply_api_key
# secrets.yaml
simply_api_key: "APIKEY"
# Automation
alias: Simply.com DDNS
triggers:
- trigger: state
entity_id: sensor.public_ip
- trigger: homeassistant
event: start
actions:
- action: rest_command.simplycom_ddns
I UniFi OS ska du ställa in en anpassad dynamisk DNS-leverantör och ange följande sträng i "Server"-fältet.
ddns.simply.com/nic/update?hostname=%h&myip=%i