Compare commits
4 Commits
7933e9cee3
...
2ebb6ff77e
| Author | SHA1 | Date | |
|---|---|---|---|
| 2ebb6ff77e | |||
| 89ac85bacd | |||
| 5681316673 | |||
| 590faef1bb |
25
Pihole.py
25
Pihole.py
@@ -10,7 +10,7 @@ class Pihole:
|
|||||||
__VERSION__ = '1.0.0'
|
__VERSION__ = '1.0.0'
|
||||||
|
|
||||||
_log = logging.getLogger(__name__)
|
_log = logging.getLogger(__name__)
|
||||||
__logFile = logging.FileHandler(__name__)
|
__logFile = logging.FileHandler('Pihole.log')
|
||||||
__logPrinter = logging.StreamHandler()
|
__logPrinter = logging.StreamHandler()
|
||||||
__logFormat = logging.Formatter('%(asctime)s %(levelname)s \t %(name)s : %(message)s')
|
__logFormat = logging.Formatter('%(asctime)s %(levelname)s \t %(name)s : %(message)s')
|
||||||
__logFile.setFormatter(__logFormat)
|
__logFile.setFormatter(__logFormat)
|
||||||
@@ -123,10 +123,7 @@ class Pihole:
|
|||||||
data = { 'action': 'add' }
|
data = { 'action': 'add' }
|
||||||
data['domain'] = domain
|
data['domain'] = domain
|
||||||
data['ip'] = ip
|
data['ip'] = ip
|
||||||
if reload:
|
data['reload'] = str(reload).lower()
|
||||||
data['reload'] = 'true'
|
|
||||||
else:
|
|
||||||
data['reload'] = 'false'
|
|
||||||
|
|
||||||
self._log.info(f'try to add new {domain=} for {ip=}')
|
self._log.info(f'try to add new {domain=} for {ip=}')
|
||||||
return self._query('customdns', data)
|
return self._query('customdns', data)
|
||||||
@@ -145,10 +142,7 @@ class Pihole:
|
|||||||
data = { 'action': 'delete' }
|
data = { 'action': 'delete' }
|
||||||
data['domain'] = domain
|
data['domain'] = domain
|
||||||
data['ip'] = ip
|
data['ip'] = ip
|
||||||
if reload:
|
data['reload'] = str(reload).lower()
|
||||||
data['reload'] = 'true'
|
|
||||||
else:
|
|
||||||
data['reload'] = 'false'
|
|
||||||
|
|
||||||
self._log.info(f'try to delete {domain=} for {ip=}')
|
self._log.info(f'try to delete {domain=} for {ip=}')
|
||||||
return self._query('customdns', data)
|
return self._query('customdns', data)
|
||||||
@@ -177,10 +171,8 @@ class Pihole:
|
|||||||
data = { 'action': 'add' }
|
data = { 'action': 'add' }
|
||||||
data['domain'] = domain
|
data['domain'] = domain
|
||||||
data['target'] = target
|
data['target'] = target
|
||||||
if reload:
|
data['reload'] = str(reload).lower()
|
||||||
data['reload'] = 'true'
|
|
||||||
else:
|
|
||||||
data['reload'] = 'false'
|
|
||||||
|
|
||||||
self._log.info(f'try to add {domain=} cname for {target=}')
|
self._log.info(f'try to add {domain=} cname for {target=}')
|
||||||
return self._query('customcname', data)
|
return self._query('customcname', data)
|
||||||
@@ -199,10 +191,7 @@ class Pihole:
|
|||||||
data = { 'action': 'delete' }
|
data = { 'action': 'delete' }
|
||||||
data['domain'] = domain
|
data['domain'] = domain
|
||||||
data['target'] = target
|
data['target'] = target
|
||||||
if reload:
|
data['reload'] = str(reload).lower()
|
||||||
data['reload'] = 'true'
|
|
||||||
else:
|
|
||||||
data['reload'] = 'false'
|
|
||||||
|
|
||||||
self._log.info(f'try to delete {domain=} cname for {target=}')
|
self._log.info(f'try to delete {domain=} cname for {target=}')
|
||||||
return self._query('customcname', data)
|
return self._query('customcname', data)
|
||||||
@@ -354,7 +343,7 @@ class Pihole:
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
def set_tmp_unit(self, unit: str = 'c') -> dict | None:
|
def set_tmp_unit(self, unit: str = 'c') -> dict | None:
|
||||||
"""set temperature unit (supported: c, f or k)
|
"""set cpu temperature unit (supported: c, f or k)
|
||||||
|
|
||||||
:param unit: temp unit (c, f or k)
|
:param unit: temp unit (c, f or k)
|
||||||
:type: unit: str
|
:type: unit: str
|
||||||
|
|||||||
67
README.md
67
README.md
@@ -1,3 +1,66 @@
|
|||||||
# api-pihole
|
# API Wrapper: Pi-hole
|
||||||
|
>A basic API wrapper for Pi-hole
|
||||||
|
|
||||||
API wrapper for pihole
|
## Functions
|
||||||
|
### Custom DNS
|
||||||
|
Read, add or delete a custom dns entry (no cname's!)
|
||||||
|
```python
|
||||||
|
get_custom_dns()
|
||||||
|
add_custom_dns(domain, ip)
|
||||||
|
del_custom_dns(domain, ip)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Custom CNAMES
|
||||||
|
Same as Custom DNS but for CNAMES only.
|
||||||
|
```python
|
||||||
|
get_custom_cname()
|
||||||
|
add_custom_cname(domain, target)
|
||||||
|
del_custom_cname(domain, target)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Filter Lists
|
||||||
|
Read, add or delete a filter list.
|
||||||
|
Availible lists:
|
||||||
|
- white
|
||||||
|
- black
|
||||||
|
- regex_white
|
||||||
|
- regex_black
|
||||||
|
|
||||||
|
*white and black only match exact machtes!*
|
||||||
|
|
||||||
|
```python
|
||||||
|
get_list(list, entry)
|
||||||
|
""" aliases """
|
||||||
|
get_whitelist(entry)
|
||||||
|
get_regex_whitelist(entry)
|
||||||
|
get_blacklist(entry)
|
||||||
|
get_regex_blacklist(entry)
|
||||||
|
|
||||||
|
add_to_list(list, entry)
|
||||||
|
""" aliases """
|
||||||
|
add_to_whitelist(entry)
|
||||||
|
add_to_regex_whitelist(entry)
|
||||||
|
add_to_blacklist(entry)
|
||||||
|
add_to_regex_blacklist(entry)
|
||||||
|
|
||||||
|
del_from_list(list, entry)
|
||||||
|
""" aliases """
|
||||||
|
del_from_whitelist(entry)
|
||||||
|
del_from_regex_whitelist(entry)
|
||||||
|
del_from_blacklist(entry)
|
||||||
|
del_from_regex_blacklist(entry)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Misc
|
||||||
|
Misc functions for:
|
||||||
|
- enable / disable filter
|
||||||
|
- get / check update status
|
||||||
|
- set temp unit from cpu
|
||||||
|
|
||||||
|
```python
|
||||||
|
enable()
|
||||||
|
disable()
|
||||||
|
get_version()
|
||||||
|
check_updates()
|
||||||
|
set_tmp_unit(unit)
|
||||||
|
```
|
||||||
1
__init__.py
Normal file
1
__init__.py
Normal file
@@ -0,0 +1 @@
|
|||||||
|
from .Pihole import Pihole
|
||||||
Reference in New Issue
Block a user