kopia lustrzana https://github.com/alexisart/fedi-meta
Added Formatting Options
rodzic
d1ceea1f58
commit
32c7563351
|
@ -0,0 +1,7 @@
|
|||
from typing import Generator
|
||||
|
||||
import json
|
||||
|
||||
def format_addresses(addresses: list[dict]) -> Generator[str, dict, None]:
|
||||
for address in addresses:
|
||||
yield json.dumps(obj=address)
|
|
@ -0,0 +1,6 @@
|
|||
from typing import Generator
|
||||
|
||||
def format_addresses(addresses: list[dict]) -> Generator[str, dict, None]:
|
||||
for address in addresses:
|
||||
if "route" in address:
|
||||
yield address["route"]
|
31
main.py
31
main.py
|
@ -1,6 +1,19 @@
|
|||
from functions import whois_lookup, iptables_generator
|
||||
from functions import plaintext_formatter, whois_lookup, iptables_generator, json_formatter
|
||||
|
||||
import argparse
|
||||
|
||||
if __name__ == "__main__":
|
||||
argParser = argparse.ArgumentParser()
|
||||
argParser.add_argument("-f", "--format",
|
||||
default="iptables",
|
||||
const="iptables",
|
||||
nargs="?",
|
||||
type=str,
|
||||
choices=("iptables", "plain", "jsonl"),
|
||||
help="Output format of IP address list (default: %(default)s)")
|
||||
|
||||
args = argParser.parse_args()
|
||||
|
||||
addresses: list[dict] = []
|
||||
|
||||
# Get IP Addresses To Ban
|
||||
|
@ -8,5 +21,17 @@ if __name__ == "__main__":
|
|||
addresses.append(address)
|
||||
|
||||
# Generate IP Table Rules
|
||||
for rule in iptables_generator.generate_iptable_rules(addresses=addresses):
|
||||
print(rule)
|
||||
if args.format == "iptables":
|
||||
# IP Tables Commands
|
||||
for rule in iptables_generator.generate_iptable_rules(addresses=addresses):
|
||||
print(rule)
|
||||
elif args.format == "plain":
|
||||
# Just Plain Addresses
|
||||
for address in plaintext_formatter.format_addresses(addresses=addresses):
|
||||
print(address)
|
||||
elif args.format == "jsonl":
|
||||
# JSON Formatted Addresses
|
||||
for address in json_formatter.format_addresses(addresses=addresses):
|
||||
print(address)
|
||||
else:
|
||||
print(f"Unknown format: `{args.format}`")
|
Ładowanie…
Reference in New Issue