| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247 |
- from route.tool.func import *
- while 1:
- try:
- set_data = json.loads(open('data/set.json').read())
- if not 'db_type' in set_data:
- try:
- os.remove('data/set.json')
- except:
- print('Please delete set.json')
- print('----')
- raise
- else:
- break
- except:
- if os.getenv('NAMU_DB') != None or os.getenv('NAMU_DB_TYPE') != None:
- set_data = {
- "db" : os.getenv('NAMU_DB') if os.getenv('NAMU_DB') else 'data',
- "db_type" : os.getenv('NAMU_DB_TYPE') if os.getenv('NAMU_DB_TYPE') else 'sqlite'
- }
- break
- else:
- new_json = ['', '']
- normal_db_type = ['sqlite', 'mysql']
- print('DB type (sqlite, mysql) : ', end = '')
- new_json[0] = str(input())
- if new_json[0] == '' or not new_json[0] in normal_db_type:
- new_json[0] = 'sqlite'
- all_src = []
- for i_data in os.listdir("."):
- f_src = re.search("(.+)\.db$", i_data)
- if f_src:
- all_src += [f_src.groups()[0]]
- if all_src != []:
- print('DB name (' + ', '.join(all_src) + ') : ', end = '')
- else:
- print('DB name (data) : ', end = '')
- new_json[1] = str(input())
- if new_json[1] == '':
- new_json[1] = 'data'
-
- with open('data/set.json', 'w') as f:
- f.write('{ "db" : "' + new_json[1] + '", "db_type" : "' + new_json[0] + '" }')
-
- set_data = json.loads(open('data/set.json').read())
-
- break
-
- print('DB name : ' + set_data['db'])
- db_name = set_data['db']
- db_data_get(set_data['db_type'])
- if set_data['db_type'] == 'mysql':
- try:
- set_data_mysql = json.loads(open('data/mysql.json').read())
- except:
- new_json = ['', '']
- while 1:
- print('DB user id : ', end = '')
- new_json[0] = str(input())
- if new_json[0] != '':
- break
- while 1:
- print('DB password : ', end = '')
- new_json[1] = str(input())
- if new_json[1] != '':
- break
- with open('data/mysql.json', 'w') as f:
- f.write('{ "user" : "' + new_json[0] + '", "password" : "' + new_json[1] + '" }')
-
- set_data_mysql = json.loads(open('data/mysql.json').read())
- try:
- conn = pymysql.connect(
- host = 'localhost',
- user = set_data_mysql['user'],
- password = set_data_mysql['password'],
- db = db_name,
- charset = 'utf8mb4'
- )
- except:
- conn = pymysql.connect(
- host = 'localhost',
- user = set_data_mysql['user'],
- password = set_data_mysql['password'],
- db = db_name,
- charset = 'utf8mb4'
- )
- curs = conn.cursor()
- curs.execute(db_change('create database ? default character set utf8mb4;'), [db_name])
- conn.close()
- conn = pymysql.connect(
- host = 'localhost',
- user = set_data_mysql['user'],
- password = set_data_mysql['password'],
- db = db_name,
- charset = 'utf8mb4'
- )
- curs = conn.cursor()
- else:
- conn = sqlite3.connect(db_name + '.db', check_same_thread = False)
- curs = conn.cursor()
- load_conn(conn)
- print('----')
- print('1. Backlink reset')
- print('2. reCAPTCHA delete')
- print('3. Ban delete')
- print('4. Change host')
- print('5. Change port')
- print('6. Change skin')
- print('7. Change password')
- print('8. Reset version')
- print('9. Delete set.json')
- print('10. Change name')
- print('11. Delete mysql.json')
- print('----')
- print('Select : ', end = '')
- what_i_do = input()
- if what_i_do == '1':
- def parser(data):
- namumark(data[0], data[1], 1)
- curs.execute(db_change("delete from back"))
- conn.commit()
- curs.execute(db_change("select title, data from data"))
- data = curs.fetchall()
- num = 0
- for test in data:
- num += 1
- t = threading.Thread(target = parser, args = [test])
- t.start()
- t.join()
- if num % 10 == 0:
- print(num)
- elif what_i_do == '2':
- curs.execute(db_change("delete from other where name = 'recaptcha'"))
- curs.execute(db_change("delete from other where name = 'sec_re'"))
- elif what_i_do == '3':
- print('----')
- print('IP or Name : ', end = '')
- user_data = input()
- if re.search("^([0-9]{1,3}\.[0-9]{1,3})$", user_data):
- band = 'O'
- else:
- band = ''
- curs.execute(db_change("insert into rb (block, end, today, blocker, why, band) values (?, ?, ?, ?, ?, ?)"),
- [user_data,
- 'release',
- get_time(),
- 'tool:emergency',
- '',
- band
- ])
- curs.execute(db_change("delete from ban where block = ?"), [user_data])
- elif what_i_do == '4':
- print('----')
- print('Host : ', end = '')
- host = input()
- curs.execute(db_change("update other set data = ? where name = 'host'"), [host])
- elif what_i_do == '5':
- print('----')
- print('Port : ', end = '')
- port = int(input())
- curs.execute(db_change("update other set data = ? where name = 'port'"), [port])
- elif what_i_do == '6':
- print('----')
- print('Skin name : ', end = '')
- skin = input()
- curs.execute(db_change("update other set data = ? where name = 'skin'"), [skin])
- elif what_i_do == '7':
- print('----')
- print('1. sha256')
- print('2. sha3')
-
- print('----')
- print('Select : ', end = '')
- what_i_do = int(input())
- print('----')
- print('User name : ', end = '')
- user_name = input()
- print('----')
- print('User password : ', end = '')
- user_pw = input()
- if what_i_do == '1':
- hashed = hashlib.sha256(bytes(user_pw, 'utf-8')).hexdigest()
- else:
- if sys.version_info < (3, 6):
- hashed = sha3.sha3_256(bytes(user_pw, 'utf-8')).hexdigest()
- else:
- hashed = hashlib.sha3_256(bytes(user_pw, 'utf-8')).hexdigest()
-
- curs.execute(db_change("update user set pw = ? where id = ?"), [hashed, user_name])
- elif what_i_do == '8':
- curs.execute(db_change("update other set data = '00000' where name = 'ver'"))
- elif what_i_do == '9':
- try:
- os.remove('data/set.json')
- except:
- pass
- elif what_i_do == '10':
- print('----')
- print('User name : ', end = '')
- user_name = input()
- print('----')
- print('New name : ', end = '')
- new_name = input()
- curs.execute(db_change("update user set id = ? where id = ?"), [new_name, user_name])
- else:
- try:
- os.remove('data/mysql.json')
- except:
- pass
- conn.commit()
- print('----')
- print('OK')
|