emergency_tool.py 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. from route.tool.func import *
  2. from route.tool.mark import load_conn2, namumark
  3. all_src = []
  4. for i_data in os.listdir("."):
  5. f_src = re.search("(.+)\.db$", i_data)
  6. if f_src:
  7. all_src += [f_src.groups()[0]]
  8. if len(all_src) == 0:
  9. exit()
  10. elif len(all_src) > 1:
  11. db_num = 1
  12. for i_data in all_src:
  13. print(str(db_num) + ' : ' + i_data)
  14. print('Number : ', end = '')
  15. db_name = all_src[int(number_check(input())) - 1]
  16. else:
  17. db_name = all_src[0]
  18. if len(all_src) == 1:
  19. print('DB\'s name : ' + db_name)
  20. conn = sqlite3.connect(db_name + '.db', check_same_thread = False)
  21. curs = conn.cursor()
  22. load_conn(conn)
  23. print('1. Backlink reset')
  24. print('2. reCAPTCHA delete')
  25. print('3. Ban delete')
  26. print('4. Change host')
  27. print('5. Change port')
  28. print('6. Change skin')
  29. print('7. Change password')
  30. print('8. Reset version')
  31. print('9. New DB create')
  32. print('Select : ', end = '')
  33. what_i_do = input()
  34. if what_i_do == '1':
  35. def parser(data):
  36. namumark(data[0], data[1], 1)
  37. curs.execute("delete from back")
  38. conn.commit()
  39. curs.execute("select title, data from data")
  40. data = curs.fetchall()
  41. num = 0
  42. for test in data:
  43. num += 1
  44. t = threading.Thread(target = parser, args = [test])
  45. t.start()
  46. t.join()
  47. if num % 10 == 0:
  48. print(num)
  49. elif what_i_do == '2':
  50. curs.execute("delete from other where name = 'recaptcha'")
  51. curs.execute("delete from other where name = 'sec_re'")
  52. elif what_i_do == '3':
  53. print('IP or Name : ', end = '')
  54. user_data = input()
  55. if re.search("^([0-9]{1,3}\.[0-9]{1,3})$", user_data):
  56. band = 'O'
  57. else:
  58. band = ''
  59. curs.execute("insert into rb (block, end, today, blocker, why, band) values (?, ?, ?, ?, ?, ?)",
  60. [user_data,
  61. 'release',
  62. get_time(),
  63. 'tool:emergency',
  64. '',
  65. band
  66. ])
  67. curs.execute("delete from ban where block = ?", [user_data])
  68. elif what_i_do == '4':
  69. print('Host : ', end = '')
  70. host = input()
  71. curs.execute("update other set data = ? where name = 'host'", [host])
  72. elif what_i_do == '5':
  73. print('Port : ', end = '')
  74. port = int(input())
  75. curs.execute("update other set data = ? where name = 'port'", [port])
  76. elif what_i_do == '6':
  77. print('Skin\'s name : ', end = '')
  78. skin = input()
  79. curs.execute("update other set data = ? where name = 'skin'", [skin])
  80. elif what_i_do == '7':
  81. print('1. sha256')
  82. print('2. sha3')
  83. print('Select : ', end = '')
  84. what_i_do = int(input())
  85. print('User\'s name : ', end = '')
  86. user_name = input()
  87. print('User\'s password : ', end = '')
  88. user_pw = input()
  89. if what_i_do == '1':
  90. hashed = hashlib.sha256(bytes(user_pw, 'utf-8')).hexdigest()
  91. else:
  92. if sys.version_info < (3, 6):
  93. hashed = sha3.sha3_256(bytes(user_pw, 'utf-8')).hexdigest()
  94. else:
  95. hashed = hashlib.sha3_256(bytes(user_pw, 'utf-8')).hexdigest()
  96. curs.execute("update user set pw = ? where id = ?", [hashed, user_name])
  97. elif what_i_do == '8':
  98. curs.execute("update other set data = '00000' where name = 'ver'")
  99. else:
  100. print('DB\'s name (data) : ', end = '')
  101. db_name = input()
  102. if db_name == '':
  103. db_name = 'data'
  104. sqlite3.connect(db_name + '.db', check_same_thread = False)
  105. conn.commit()
  106. print('OK')