chore: initial commit
This commit is contained in:
46
main.py
Normal file
46
main.py
Normal file
@@ -0,0 +1,46 @@
|
||||
import asyncio
|
||||
import yaml
|
||||
|
||||
from asusrouter import AsusRouter, AsusData
|
||||
from asusrouter.modules.port_forwarding import PortForwardingRule
|
||||
|
||||
with open("credentials.yml") as stream:
|
||||
try:
|
||||
credentials = yaml.safe_load(stream)['credentials']
|
||||
except yaml.YAMLError as exc:
|
||||
print(exc)
|
||||
|
||||
router = AsusRouter(
|
||||
hostname=credentials.get('ip'),
|
||||
username=credentials.get('user'),
|
||||
password=credentials.get('password'),
|
||||
use_ssl=credentials.get('use_ssl', False)
|
||||
)
|
||||
|
||||
async def main(rule_name):
|
||||
# Start connection to router
|
||||
await router.async_connect()
|
||||
# Get port forwarding rules
|
||||
pfwd = await router.async_get_data(AsusData.PORT_FORWARDING)
|
||||
|
||||
for rule in pfwd['rules']:
|
||||
if(rule_name in rule.name):
|
||||
rules = [
|
||||
PortForwardingRule(
|
||||
name=rule.name,
|
||||
ip_address=rule.ip_address,
|
||||
port=rule.port,
|
||||
protocol=rule.protocol,
|
||||
ip_external=rule.ip_external,
|
||||
port_external=rule.port_external
|
||||
)
|
||||
]
|
||||
result = await router.async_remove_port_forwarding_rules(rules=rules)
|
||||
print(result)
|
||||
|
||||
# End connection to router
|
||||
await router.async_disconnect()
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(main(""))
|
||||
|
||||
Reference in New Issue
Block a user