8a1ba06c88d6cff0b08a1091293ff59251d4055d
				
			
			
		
	pddnsc
Возможно DDNS клиент
запуск
python -m pddnsc.cli
конфигурация
Конфигурация находится в файле settings/config.toml.
Пример конфигурации:
[sources]
  # сервис https://www.ipify.org
  [sources.ipfy]
    provider = "IPIFYSource" # имя python класса
[filters]
  # этот фильтр означает, что если ip адреса не изменились (по хешу)
  # то не нужно никуда отсылать ничего
  [filters.state-hash]
    provider = "StateHashFilter"
    filepath = "state/hash.txt"
[outputs]
  # сохранение хеша всех ip адресов в файл, 
  # чтобы потом проверить изменились ли они
  [outputs.hash-file]
    provider = "StateHashFile"
    filepath = "state/hash.txt"
  # сервис доменов на vscale (vds.selectel.ru)
  # токен в переменной окружения VSCALE_API_TOKEN
  [outputs.vscale]
    provider = "VscaleDomains" 
    domain = "example.com"
    target = "www" # изменяем www.example.com
    ttl = 3600
    ipv4 = true # менять A запись
    ipv6 = false # НЕ менять AAAA запись
Конфигурация состоит из секций:
sources- источники ip адресов (выбирается результат от первого по времени сработавшего источника, который вернул хотябы один ipv4 или ipv6 адрес)filters- фильтры, если хоть один вернет ложь то программа ничего никуда не запишет и не отправит, например проверка, что ip адрес не изменилсяoutputs- модули вывода, например вывод в консоль, запись в файл или создание dns записей на сервере
Все модули источников/фильтров/вывода работают конкурентно через asyncio.
TODO
- Добавить названия python классов и их параметры.
 
					Languages
				
				
								
								
									Python
								
								98.8%
							
						
							
								
								
									Dockerfile
								
								1.2%