Update README.pl.md
This commit is contained in:
parent
c4d0793290
commit
1017a5f455
126
README.pl.md
126
README.pl.md
|
|
@ -41,3 +41,129 @@ cd /opt
|
|||
sudo git clone https://git.invelio.co.uk/rafal/ionos-ddns.git
|
||||
cd /opt/ionos-ddns
|
||||
```
|
||||
|
||||
### 2. Zainstaluj zależności
|
||||
|
||||
sudo apt update
|
||||
sudo apt install python3-pip
|
||||
sudo pip3 install -r requirements.txt
|
||||
|
||||
### 3. Konfiguracja
|
||||
|
||||
Edytuj plik konfiguracyjny:
|
||||
```
|
||||
sudo nano config.json
|
||||
```
|
||||
Uzupełnij: api_prefix api_secret
|
||||
|
||||
Lista domen – edytuj plik domains.txt (jedna domena na linię):
|
||||
```
|
||||
sudo nano domains.txt
|
||||
```
|
||||
Przykład:
|
||||
```
|
||||
mydomain.com
|
||||
vpn.mydomain.com
|
||||
server.other-domain.net
|
||||
```
|
||||
Zabezpieczenie klucza API
|
||||
|
||||
Ponieważ config.json zawiera wrażliwe dane, ustaw prawa tylko dla roota:
|
||||
```
|
||||
sudo chown root:root /opt/ionos-ddns/config.json
|
||||
sudo chmod 600 /opt/ionos-ddns/config.json
|
||||
```
|
||||
Nadaj prawa do uruchomienia skryptu:
|
||||
```
|
||||
sudo chmod +x /opt/ionos-ddns/update_ddns.py
|
||||
```
|
||||
### 4. Instalacja usługi systemowej
|
||||
|
||||
Skopiuj plik usługi:
|
||||
```
|
||||
sudo cp ionos-ddns.service /etc/systemd/system/
|
||||
```
|
||||
Przeładuj demona, włącz i uruchom usługę:
|
||||
```
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable ionos-ddns.service
|
||||
sudo systemctl start ionos-ddns.service
|
||||
```
|
||||
Monitorowanie
|
||||
|
||||
Status usługi:
|
||||
```
|
||||
sudo systemctl status ionos-ddns.service
|
||||
```
|
||||
Podgląd logów:
|
||||
```
|
||||
tail -f /var/log/ionos-ddns.log
|
||||
```
|
||||
Jak to działa
|
||||
|
||||
Skrypt działa w pętli (co 10 minut):
|
||||
|
||||
Pobiera Twoje publiczne IP.
|
||||
|
||||
Wczytuje domains.txt.
|
||||
|
||||
Dla każdej domeny:
|
||||
|
||||
znajduje odpowiednie Zone ID przez API,
|
||||
|
||||
sprawdza czy istnieje rekord A,
|
||||
|
||||
jeśli istnieje → porównuje IP i wykonuje PUT (update),
|
||||
|
||||
jeśli nie istnieje → wykonuje POST (create).
|
||||
|
||||
|
||||
### BŁĄD: 400 Invalid API key format
|
||||
|
||||
Ten błąd oznacza, że serwer IONOS odrzucił klucz, ponieważ jego budowa jest nieprawidłowa.
|
||||
|
||||
Najczęstsze przyczyny:
|
||||
|
||||
Spacje (skopiowane przypadkiem przy wklejaniu).
|
||||
|
||||
Ręczne dodanie kropki w pliku config (skrypt sam dodaje kropkę!).
|
||||
|
||||
Zły typ klucza (klucz Cloud API zamiast Hosting/DNS API).
|
||||
|
||||
KROK 1: Sprawdź spacje w config.json
|
||||
```
|
||||
sudo nano /opt/ionos-ddns/config.json
|
||||
```
|
||||
Upewnij się, że cudzysłowy przylegają idealnie do znaków.
|
||||
|
||||
ŹLE (zwróć uwagę na spacje):
|
||||
```
|
||||
"api_prefix": " 23498723498 ",
|
||||
"api_secret": " a1b2c3d4 "
|
||||
```
|
||||
DOBRZE:
|
||||
```
|
||||
"api_prefix": "23498723498",
|
||||
"api_secret": "a1b2c3d4"
|
||||
```
|
||||
KROK 2: Nie dodawaj kropki w config.json
|
||||
|
||||
Skrypt w Pythonie zawiera linię:
|
||||
```
|
||||
"X-API-Key": f"{prefix}.{secret}"
|
||||
```
|
||||
On sam łączy te dwie wartości kropką.
|
||||
|
||||
Jeśli w config.json wpiszesz:
|
||||
```
|
||||
"api_prefix": "myPrefix."
|
||||
```
|
||||
skrypt wyśle:
|
||||
```
|
||||
myPrefix..secret
|
||||
```
|
||||
(co zawiera dwie kropki) i spowoduje błąd.
|
||||
|
||||
api_prefix → tylko pierwsza część klucza
|
||||
|
||||
api_secret → tylko druga, długa część klucza
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user