diff --git a/data.py b/data.py index af9782f..879af2b 100644 --- a/data.py +++ b/data.py @@ -1,43 +1,114 @@ import sqlite3 +import subprocess +from datetime import datetime +#initialize database create = sqlite3.connect("db") connect = create.cursor() -# Create TABLE only used once -# connect.execute("""CREATE TABLE IPS ( -# user_vpn, -# user_ips text -# )""") -def insert_ips(): - #user input - # user_name = input(str("username: ")) - # user_ips = input(str("ip: ")) - # #add input to list inside tuple - # users = [ - # (user_name,user_ips) - # ] - # insert 2 values to IPS TABLE - # connect.executemany("INSERT INTO IPS VALUES (?,?) ", users) - # commit the input to db - # create.commit() - # read db with row id - connect.execute("SELECT rowid, * FROM IPS") #to check with rowid use WHERE rowid = 1 - #close the db -def checking(): - userinput = '10.10.11.1' +#Create TABLE only used once +connect.execute("""CREATE TABLE VPN ( + user_vpn text, + user_ips text, + public_key blob, + private_key blob, + symbol, + date blob, + time blob + )""") + +def user_input(): + #read keys + subprocess.run("wg genkey | tee privatekey | wg pubkey > publickey", + shell=True,capture_output=True + ) + #convert keys to txt file + subprocess.run("mv publickey publickey.txt && mv privatekey privatekey.txt",shell=True) + #format date and time + now = datetime.now() + dates = now.strftime("%Y-%m-%d") + times = now.strftime("%H:%M:%S") + #read keys file + with open("publickey.txt","r") as pk: + public = pk.read() + print(public) + with open("privatekey.txt","r") as prk: + private = prk.read() + # user input + user_name = input(str("Insert username: ")) + user_ips = input(str("Insert IP:")) + user_public_key = public + user_private_key = private + date = dates + time = times + # reverse function + add_ips( + user_name, + user_ips, + user_public_key, + user_private_key, + date, + time + ) +#add users & ips & keys & date & time into db +def add_ips( + user_name, + user_ips, + user_public_key, + user_private_key, + date, + time + ): + #insert keys with symbols + symbols = '< > & " = ' + connect.execute('INSERT INTO VPN (symbol) VALUES (?)', (symbols,)) + #insert values to VPN TABLE + connect.execute("INSERT INTO VPN (symbol) VALUES (?,?,?,?,?,?,?)", + ( + ('User = ' + user_name), + (user_ips + "/24"), + (user_public_key), + (user_private_key), + ('Date: ' + date), + ('Time: ' + time) + )) + + #Commit into db + create.commit() + + #delete the keys + subprocess.run("rm privatekey.txt publickey.txt",shell=True) + + #should deltet after finish + connect.execute("SELECT rowid, * FROM VPN") #to check with rowid use WHERE rowid = 1 items = connect.fetchall() for item in items: - item_list = [item[2]] - print(item_list) - # if item_list == userinput: - # print('ip exist') - # break - # else: - # print('new ip') - # break -#call the func -insert_ips() -checking() + print(item) -#close the db +#----------------------------------------------------- + +# #Checking if the ip exsit +# def checking(): +# #read db with row id +# connect.execute("SELECT rowid, * FROM VPN") #to check with rowid use WHERE rowid = 1 +# items = connect.fetchall() +# for item in items: +# print(item[3]) +# userinput = '10.10.11.1' +# items = connect.fetchall() +# for item in items: +# item_list = [item[2]] +# print(item_list) +# if item_list == userinput: +# print('ip exist') +# break +# else: +# print('new ip') +# break + +# #call fucn +user_input() +# checking() + +#Close the db after finishing create.close() \ No newline at end of file diff --git a/db b/db deleted file mode 100644 index 0218da9..0000000 Binary files a/db and /dev/null differ diff --git a/gen.sh b/gen.sh old mode 100755 new mode 100644 index 8034546..28525ac --- a/gen.sh +++ b/gen.sh @@ -27,7 +27,7 @@ sleep 1 #Checking IPS echo "Checking.....";sleep 1 python3 -c 'import cat;cat.cat_search()' -check_ip() { +check_ip () { for ip in "${ips[@]}" do if [[ "$ip" == "$user_input" ]];then