Αυτό το έγγραφο περιγράφει το RESTful JSON API της Simply.com.
Μπορείτε να βρείτε το HTTP endpoint στο https://api.simply.com/2/ - Προσθέστε αυτό ως πρόθεμα στα ερωτήματά σας.
Παράδειγμα: https://api.simply.com/2/my/products/
Η αυθεντικοποίηση γίνεται με HTTP Basic Authentication.
Κωδικός πρόσβασης είναι το κλειδί API για το συγκεκριμένο λογαριασμό.
Όνομα χρήστη μπορεί να είναι οτιδήποτε, επειδή το κλειδί API μόνο του αναγνωρίζει τον λογαριασμό.
Εναλλακτικά, το κλειδί API μπορεί να αποσταλεί ως Bearer‑token στην κεφαλίδα Authorization:
Authorization: Bearer APIKEY
API-κλειδιά δημιουργούνται στον Πίνακα Ελέγχου του Simply.com, στην ενότητα Λογαριασμός, API-κλειδιά.
Μπορείτε να βρείτε την διαδραστική τεκμηρίωση API εδώ: https://api.simply.com/2/doc/
Ή κατεβάστε την προδιαγραφή OpenAPI ως JSON: https://api.simply.com/2/doc.json
Το API υπόκειται σε περιορισμούς ταχύτητας, μόνο για την πρόληψη κατάχρησης.
Σε περίπτωση υπέρβασης, το API απαντά με 429 και υποδεικνύει τον χρόνο αναμονής στο Retry-After.
Οι παρακάτω βιβλιοθήκες είναι διαθέσιμες για χρήση.
| 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/ |
|---|
Δρομολογητές και πελάτες DDNS που υποστηρίζουν το πρωτόκολλο DynDNS2, μπορούν να χρησιμοποιήσουν τον διακομιστή ddns.simply.com απευθείας.
Για scripts και άλλη αυτοματοποίηση του DNS προτείνουμε το REST API, το οποίο μπορεί να δημιουργήσει, να τροποποιήσει και να διαγράψει DNS-records.
https://ddns.simply.com/nic/update?hostname=home.example.com&domain=example.com&myip=1.2.3.4
Η ταυτοποίηση γίνεται με HTTP Basic Authentication, όπου ο κωδικός πρόσβασης είναι το κλειδί API του λογαριασμού. Το όνομα χρήστη μπορεί να είναι οτιδήποτε, π.χ. το όνομα λογαριασμού.
Αν παραλειφθεί το myip, χρησιμοποιείται η διεύθυνση IP από την οποία προέρχεται το αίτημα. Οι ενημερώσεις πρέπει να γίνονται μέσω HTTPS.
Η εγγραφή πρέπει να βρεθεί στη ζώνη DNS, πριν μπορέσει να ενημερωθεί: μια A-record για IPv4 και μια AAAA-record για IPv6. Αν δεν υπάρχει, επιστρέφεται nohost, οπότε δημιουργήστε την εγγραφή πρώτα στον πίνακα ελέγχου.
Η παράμετρος domain υποδεικνύει το domain. Πρέπει να συμπεριλαμβάνεται όταν το ίδιο το domain ενημερώνεται, π.χ. hostname=example.com&domain=example.com, και μπορεί να χρησιμοποιηθεί όταν το domain δεν μπορεί να εξαχθεί από το hostname.
Οι απαντήσεις ακολουθούν το πρωτόκολλο DynDNS2, π.χ. good κατά την ενημέρωση και nochg, όταν η IP διεύθυνση είναι αμετάβλητη.
Η διεύθυνση https://ddns.simply.com/myip επιστρέφει τη δημόσια διεύθυνση IP, από την οποία προέρχεται το αίτημα, και δεν απαιτεί έλεγχο ταυτότητας.
protocol=dyndns2
ssl=yes
server=ddns.simply.com
login=ACCOUNTNAME
password=APIKEY
home.example.com
Χρησιμοποιήστε την παρακάτω εντολή Curl για να ορίσετε home.example.com στην εξωτερική IP για τον αιτούντα πελάτη:
curl -s -u "ACCOUNTNAME:APIKEY" "https://ddns.simply.com/nic/update?hostname=home.example.com"
Μπορείτε να ρυθμίσετε αυτήν την εντολή να τρέχει σε ένα crontab, σε ένα τοπικό μηχάνημα, κάθε 15 λεπτά ή περίπου.
Στο Synology μπορείτε να χρησιμοποιήσετε την παρακάτω σύνταξη ως προσαρμοσμένο πάροχο DDNS
https://ddns.simply.com/nic/update?hostname=__HOSTNAME__&myip=__MYIP__
hostname θα πρέπει στη συνέχεια να δοθεί ως το πλήρες προσδιορισμένο όνομα τομέα, το οποίο θέλετε να ενημερώσετε, π.χ. home.example.com.
Ο αισθητήρας ανακτά τη δημόσια διεύθυνση IP κάθε 5 λεπτά και η αυτοματοποίηση ενημερώνει το DNS μόνο όταν η διεύθυνση αλλάζει και όταν ξεκινά το Home Assistant. Το κλειδί API αποθηκεύεται στο 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
Στο UniFi OS πρέπει να ρυθμίσετε έναν προσαρμοσμένο πάροχο Dynamic DNS και να εισαγάγετε την ακόλουθη συμβολοσειρά στο πεδίο "Server".
ddns.simply.com/nic/update?hostname=%h&myip=%i