50 lines
1.5 KiB
Python
50 lines
1.5 KiB
Python
|
#!/home/nonroot/import_bans/venv/bin/python3
|
||
|
from settings import (get_connection)
|
||
|
|
||
|
def create_tables():
|
||
|
with get_connection() as conn:
|
||
|
with conn.cursor() as cur:
|
||
|
sql_statement = """
|
||
|
CREATE TABLE IF NOT EXISTS
|
||
|
`unloze_anti-spoofing`.kicklist
|
||
|
(
|
||
|
steam_id varchar(64) not null,
|
||
|
ipv4 varchar(64) not null,
|
||
|
kick boolean default FALSE,
|
||
|
inserted_on datetime default now(),
|
||
|
primary key (steam_id, ipv4)
|
||
|
)
|
||
|
"""
|
||
|
cur.execute(sql_statement)
|
||
|
|
||
|
def select_into_recent_bans():
|
||
|
with get_connection() as conn:
|
||
|
with conn.cursor() as cur:
|
||
|
sql_statement = """
|
||
|
insert IGNORE
|
||
|
`unloze_anti-spoofing`.kicklist(steam_id, ipv4)
|
||
|
select
|
||
|
cr.steam_id, cr.ipv4
|
||
|
from `unloze_anti-spoofing`.connect_restriction cr
|
||
|
where cr.cooldown > NOW()
|
||
|
"""
|
||
|
cur.execute(sql_statement)
|
||
|
|
||
|
def update_kick_flag():
|
||
|
with get_connection() as conn:
|
||
|
with conn.cursor() as cur:
|
||
|
sql_statement = """
|
||
|
update `unloze_anti-spoofing`.kicklist set kick = true
|
||
|
"""
|
||
|
cur.execute(sql_statement)
|
||
|
|
||
|
def main():
|
||
|
create_tables()
|
||
|
print("new iteration")
|
||
|
select_into_recent_bans()
|
||
|
#TODO generate some fingerprints to base the kick flag being set by
|
||
|
update_kick_flag()
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
main()
|