diff --git a/.gitignore b/.gitignore index 6f12e70..9f9426e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /.idea /.git -/venv \ No newline at end of file +/venv +range_ips \ No newline at end of file diff --git a/else/range_ips b/else/range_ips new file mode 100644 index 0000000..0aaa6b5 --- /dev/null +++ b/else/range_ips @@ -0,0 +1,50 @@ +2.176.1.0 +5.22.1.0 +5.23.112.0 +5.52.1.0 +5.56.132.0 +5.56.134.0 +5.57.32.0 +5.61.24.0 +5.61.26.0 +5.61.28.0 +5.62.192.0 +5.63.8.0 +5.72.1.0 +5.106.1.0 +5.112.1.0 +5.134.128.0 +5.134.192.0 +5.144.128.0 +5.145.112.0 +5.159.48.0 +5.160.1.0 +5.198.160.0 +5.200.64.0 +5.201.128.0 +5.202.1.0 +5.208.1.0 +5.250.1.0 +5.252.216.0 +5.253.24.0 +5.253.225.0 +31.2.128.0 +31.7.64.0 +31.7.72.0 +31.7.76.0 +31.7.88.0 +31.7.96.0 +31.24.200.0 +31.24.232.0 +31.25.90.0 +31.25.92.0 +31.25.104.0 +31.25.128.0 +31.40.1.0 +31.40.2.0 +31.41.35.0 +31.47.32.0 +31.56.1.0 +31.130.176.0 +31.170.48.0 +31.184.128.0 \ No newline at end of file diff --git a/menu.py b/menu.py index db3d0bc..ff55e45 100644 --- a/menu.py +++ b/menu.py @@ -3,52 +3,68 @@ from namizun_core.monitor import get_size from threading import Thread from namizun_core.monitor import monitor +from os import system, path -def running_setter(): +def fake_udp__uploader_running_setter(): display.banner() - print(f"\n{display.cornsilk}Do you want uploader to be activated?") + print(f"\n{display.cornsilk}Do you want fake udp uploader to be activated?\n") selection = input(f"\n{display.green}y{display.cornsilk}/{display.red}n{display.cornsilk}?\n") if selection.lower() == 'y': - database.set_parameter('running', True) + database.set_parameter('fake_udp_uploader_running', True) return main_menu() elif selection.lower() == 'n': - database.set_parameter('running', False) + database.set_parameter('fake_udp_uploader_running', False) return main_menu() else: - return running_setter() + return fake_udp__uploader_running_setter() -def speed_setter(): +def coefficient_of_buffer_size_setter(): display.banner() - print(f"\n{display.cornsilk}Choose upload speed? (max = 5, min = 1)\n" - f"{display.red}Warning: The higher the speed, the higher the CPU consumption{display.cornsilk}\n") + print(f"\n{display.cornsilk}Choose coefficient of buffer size? (max = 5, min = 1)\n\n" + f"{display.red}Warning: The larger the buffer size, the more likely the provider will notice that " + f"your traffic is fake, BE CAREFUL!{display.cornsilk}\n") selection = int(input(f"\n{display.cyan}1{display.cornsilk} to {display.cyan}5{display.cornsilk}?")) if selection in range(1, 6): - database.set_parameter('speed', selection) + database.set_parameter('coefficient_buffer_size', selection) return main_menu() else: - return speed_setter() + return coefficient_of_buffer_size_setter() -def coefficient_setter(): +def coefficient_uploader_threads_count_setter(): + display.banner() + print(f"\n{display.cornsilk}Choose coefficient of uploader threads count? (max = 25, min = 1)\n\n" + f"{display.red}Warning: The higher the speed, the higher the CPU consumption!{display.cornsilk}\n") + selection = int(input(f"\n{display.cyan}1{display.cornsilk} to {display.cyan}25{display.cornsilk}?")) + if selection in range(1, 26): + database.set_parameter('coefficient_uploader_threads_count', selection) + return main_menu() + else: + return coefficient_uploader_threads_count_setter() + + +def coefficient_of_limitation_setter(): display.banner() print(f"\n{display.cornsilk}What is your limit coefficient?" - f"(max = {display.cyan}12{display.cornsilk}, min = {display.cyan}3{display.cornsilk})\n") - selection = int(input(f"\n{display.cyan}3{display.cornsilk} to {display.cyan}12{display.cornsilk}?")) - if selection in range(3, 13): - database.set_parameter('coefficient', selection) + f"(max = {display.cyan}15{display.cornsilk}, min = {display.cyan}3{display.cornsilk})\n\n" + f"For example, if you need to observe the ratio of {display.cyan}1{display.cornsilk} to " + f"{display.cyan}10{display.cornsilk}, enter the value of {display.cyan}10{display.cornsilk}") + selection = int(input(f"\n{display.cyan}3{display.cornsilk} to {display.cyan}15{display.cornsilk}?")) + if selection in range(3, 16): + database.set_parameter('coefficient_limitation', selection) return main_menu() else: - return coefficient_setter() + return coefficient_of_limitation_setter() def total_upload_before_reboot_setter(): display.banner() print(f"\n{display.cornsilk}How much did you upload before the last reboot?" - f"(max = {display.cyan}50000{display.cornsilk}GB)\n") + f"(max = {display.cyan}100000{display.cornsilk}GB)\n") selection = int(input("\nJust enter GB amount?")) - if selection <= 50000: + if selection <= 100000: database.set_parameter('total_upload_before_reboot', selection * 1024 * 1024 * 1024) return main_menu() else: @@ -58,57 +74,89 @@ def total_upload_before_reboot_setter(): def total_download_before_reboot_setter(): display.banner() print(f"\n{display.cornsilk}How much did you download before the last reboot?" - f"(max = {display.cyan}5000{display.cornsilk}GB)\n") + f"(max = {display.cyan}10000{display.cornsilk}GB)\n") selection = int(input("\nJust enter GB amount?")) - if selection <= 5000: + if selection <= 10000: database.set_parameter('total_download_before_reboot', selection * 1024 * 1024 * 1024) return main_menu() else: return total_download_before_reboot_setter() -def running_status(): - if database.get_parameter('running'): +def reload_namizun_service(): + if path.isfile('range_ips'): + database.set_parameter('range_ips', open('range_ips').read()) + else: + system('ln -s /var/www/namizun/else/range_ips /var/www/namizun/range_ips') + database.set_parameter('range_ips', open('range_ips').read()) + system('systemctl restart namizun.service') + + +def fake_udp_uploader_running_status(): + if database.get_parameter('fake_udp_uploader_running'): + return display.green + "True" + else: + return display.red + "False" + + +def speedtest_uploader_running_status(): + if database.get_parameter('speedtest_uploader_running'): return display.green + "True" else: return display.red + "False" def main_menu(): - sleep(0.5) + display.banner() database.set_parameter('in_submenu', False) print( - f"\n{display.gold}--------------{display.magenta}Control menu{display.gold}-------------\n\n{display.cornsilk}" - f"[1] - Uploader Running : {running_status() + display.cornsilk}\n" - f"[2] - Speed : {display.cyan + str(database.get_parameter('speed')) + display.cornsilk}\n" - f"[3] - Coefficient : {display.cyan + str(database.get_parameter('coefficient')) + display.cornsilk}\n" - f"[4] - Total Upload Before Reboot : " + f"\n\n\n\n\n\n\n" + f"{display.gold}--------------{display.magenta}Control menu{display.gold}-------------\n\n{display.cornsilk}" + f"[1] - Fake udp uploader running : " + f"{fake_udp_uploader_running_status() + display.cornsilk}\n" + f"[2] - Speedtest uploader running : " + f"{speedtest_uploader_running_status() + display.cornsilk} (coming soon)\n\n" + f"[3] - Coefficient of buffer size : " + f"{display.cyan + str(database.get_parameter('coefficient_buffer_size')) + display.cornsilk}\n" + f"[4] - Coefficient of uploader threads count : " + f"{display.cyan + str(database.get_parameter('coefficient_uploader_threads_count')) + display.cornsilk}\n" + f"[5] - Coefficient of upload/download : " + f"{display.cyan + str(database.get_parameter('coefficient_limitation')) + display.cornsilk}\n\n" + f"[6] - Total Upload Before Reboot : " f"{display.cyan + str(get_size(database.get_parameter('total_upload_before_reboot'))) + display.cornsilk}\n" - f"[5] - Total Download Before Reboot : " + f"[7] - Total Download Before Reboot : " f"{display.cyan + str(get_size(database.get_parameter('total_download_before_reboot'))) + display.cornsilk}\n\n" + f"[9] - Reload\n" f"[0] - Exit\n\n" f"ENTER YOUR SELECTION: \n\n") display.description() display.line_jumper(-9) - user_choice = int(input()) - if user_choice == 1: + user_choice = input() + if user_choice == '1': database.set_parameter('in_submenu', True) - return running_setter() - elif user_choice == 2: + return fake_udp__uploader_running_setter() + elif user_choice == '3': database.set_parameter('in_submenu', True) - return speed_setter() - elif user_choice == 3: + return coefficient_of_buffer_size_setter() + elif user_choice == '4': database.set_parameter('in_submenu', True) - return coefficient_setter() - elif user_choice == 4: + return coefficient_uploader_threads_count_setter() + elif user_choice == '5': + database.set_parameter('in_submenu', True) + return coefficient_of_limitation_setter() + elif user_choice == '6': database.set_parameter('in_submenu', True) return total_upload_before_reboot_setter() - elif user_choice == 5: + elif user_choice == '7': database.set_parameter('in_submenu', True) return total_download_before_reboot_setter() - elif user_choice == 0: + elif user_choice == '9': + reload_namizun_service() + return main_menu() + elif user_choice == '0': database.set_parameter('in_submenu', None) - return print(display.reset) + exit() + print(display.reset) + return exit() else: return main_menu() diff --git a/namizun_core/__init__.py b/namizun_core/__init__.py index f9ba610..87b63cb 100644 --- a/namizun_core/__init__.py +++ b/namizun_core/__init__.py @@ -1,6 +1,5 @@ -from .database import get_parameter, set_parameter, get_cache_parameter, set_parameters_to_cache +from .database import get_parameter, set_parameter, get_cache_parameter, set_parameters_to_cache, get_random_range_ip from .display import cornsilk, cyan, gold, green, magenta, red, reset, yellow, \ clear, line_remover, line_jumper, banner, description -from .ip import ips from .monitor import get_size, get_network_io, monitor from .udp import multi_udp_uploader diff --git a/namizun_core/database.py b/namizun_core/database.py index d11d3a1..fc62e19 100644 --- a/namizun_core/database.py +++ b/namizun_core/database.py @@ -1,26 +1,39 @@ -import redis +from redis import Redis +from os import system, path +from random import choice parameters = [ - 'running', 'speed', 'coefficient', 'total_upload_before_reboot', 'total_download_before_reboot', 'in_submenu'] + 'range_ips', 'fake_udp_uploader_running', 'speedtest_uploader_running', + 'coefficient_buffer_size', 'coefficient_uploader_threads_count', 'coefficient_limitation', + 'total_upload_before_reboot', 'total_download_before_reboot', 'in_submenu'] namizun_db = None prefix = 'namizun_' - cache_parameters = {} def singleton(): global namizun_db if namizun_db is None: - namizun_db = redis.Redis() + namizun_db = Redis() return namizun_db def get_default(key): - if key == 'running': + if key == 'range_ips': + if path.isfile('range_ips'): + return open('range_ips').read() + else: + system('ln -s /var/www/namizun/else/range_ips /var/www/namizun/') + return get_default(key) + elif key == 'fake_udp_uploader_running': return True - elif key == 'speed': - return 3 - elif key == 'coefficient': + elif key == 'speedtest_uploader_running': + return False + elif key == 'coefficient_buffer_size': + return 2 + elif key == 'coefficient_uploader_threads_count': + return 5 + elif key == 'coefficient_limitation': return 10 elif key == 'total_upload_before_reboot': return 0 @@ -39,8 +52,10 @@ def check_datatype(value): return True elif value == 'None': return None - else: + elif value.isdigit(): return int(value) + else: + return value def get_parameter(key): @@ -73,3 +88,7 @@ def get_cache_parameter(key): def set_parameters_to_cache(): for key in parameters: cache_parameters[key] = get_parameter(key) + + +def get_random_range_ip(): + return choice(get_cache_parameter('range_ips').split('\n')) diff --git a/namizun_core/ip.py b/namizun_core/ip.py deleted file mode 100644 index 7c364e2..0000000 --- a/namizun_core/ip.py +++ /dev/null @@ -1,237 +0,0 @@ -ips = ['2.144.1.', '2.176.1.', '5.1.43.', '5.22.1.', '5.22.192.', '5.22.200.', '5.23.112.', '5.34.208.', '5.42.223.', - '5.52.1.', '5.53.32.', '5.56.128.', '5.56.132.', '5.56.134.', '5.57.32.', '5.61.24.', '5.61.26.', '5.61.28.', - '5.62.160.', '5.62.192.', '5.63.8.', '5.72.1.', '5.74.1.', '5.75.1.', '5.104.208.', '5.106.1.', '5.112.1.', - '5.134.128.', '5.134.192.', '5.144.128.', '5.145.112.', '5.145.116.', '5.159.48.', '5.160.1.', '5.182.44.', - '5.190.1.', '5.198.160.', '5.200.64.', '5.200.128.', '5.201.128.', '5.202.1.', '5.208.1.', '5.232.1.', - '5.236.1.', '5.236.128.', '5.236.144.', '5.236.156.', '5.236.160.', '5.236.192.', '5.237.1.', '5.238.1.', - '5.250.1.', '5.252.216.', '5.253.24.', '5.253.96.', '5.253.225.', '8.27.67.', '8.27.67.', '31.2.128.', - '31.7.64.', '31.7.72.', '31.7.76.', '31.7.88.', '31.7.96.', '31.7.128.', '31.14.80.', '31.14.112.', '31.14.144.', - '31.24.200.', '31.24.232.', '31.25.90.', '31.25.92.', '31.25.104.', '31.25.128.', '31.25.232.', '31.40.1.', - '31.40.2.', '31.41.35.', '31.47.32.', '31.56.1.', '31.130.176.', '31.170.48.', '31.171.216.', '31.184.128.', - '31.193.112.', '31.214.132.', '31.214.146.', '31.214.154.', '31.214.168.', '31.214.200.', '31.214.228.', - '31.214.248.', '31.216.62.', '31.217.208.', '37.9.248.', '37.10.64.', '37.10.109.', '37.10.117.', '37.19.80.', - '37.32.1.', '37.32.32.', '37.32.112.', '37.44.56.', '37.49.144.', '37.63.128.', '37.75.240.', '37.98.1.', - '37.114.192.', '37.128.240.', '37.129.1.', '37.130.200.', '37.137.1.', '37.143.144.', '37.148.1.', '37.148.248.', - '37.152.160.', '37.153.128.', '37.153.176.', '37.156.1.', '37.156.8.', '37.156.16.', '37.156.48.', '37.156.100.', - '37.156.112.', '37.156.128.', '37.156.144.', '37.156.152.', '37.156.160.', '37.156.176.', '37.156.212.', - '37.156.232.', '37.156.240.', '37.156.248.', '37.191.64.', '37.202.128.', '37.221.1.', '37.228.131.', - '37.228.133.', '37.228.135.', '37.228.136.', '37.235.16.', '37.254.1.', '37.255.1.', '37.255.128.', - '37.255.128.', '37.255.128.', '37.255.128.', '37.255.129.', '37.255.130.', '37.255.132.', '37.255.136.', - '37.255.144.', '37.255.160.', '37.255.192.', '45.8.160.', '45.9.144.', '45.9.252.', '45.15.200.', '45.15.248.', - '45.81.16.', '45.82.136.', '45.84.156.', '45.84.248.', '45.86.4.', '45.86.87.', '45.86.196.', '45.87.4.', - '45.89.136.', '45.89.200.', '45.89.236.', '45.90.72.', '45.91.152.', '45.92.92.', '45.93.168.', '45.94.212.', - '45.94.252.', '45.128.140.', '45.129.36.', '45.129.116.', '45.132.32.', '45.132.168.', '45.135.240.', - '45.138.132.', '45.139.8.', '45.139.100.', '45.140.224.', '45.142.188.', '45.144.16.', '45.144.124.', - '45.147.76.', '45.148.248.', '45.149.76.', '45.150.88.', '45.155.192.', '45.156.180.', '45.156.184.', - '45.156.192.', '45.156.200.', '45.157.244.', '45.158.120.', '45.159.112.', '45.159.148.', '45.159.196.', - '46.18.248.', '46.21.80.', '46.28.72.', '46.32.1.', '46.34.96.', '46.34.160.', '46.36.96.', '46.38.128.', - '46.38.130.', '46.38.131.', '46.38.131.', '46.38.132.', '46.38.136.', '46.38.144.', '46.41.192.', '46.51.1.', - '46.62.128.', '46.100.1.', '46.102.120.', '46.102.128.', '46.102.184.', '46.143.1.', '46.143.204.', - '46.143.208.', '46.143.244.', '46.143.248.', '46.148.32.', '46.164.64.', '46.167.128.', '46.182.32.', - '46.209.1.', '46.224.1.', '46.235.76.', '46.245.1.', '46.248.32.', '46.249.120.', '46.251.224.', '46.251.224.', - '46.251.224.', '46.251.226.', '46.251.237.', '46.255.216.', '51.68.162.', '62.3.14.', '62.3.41.', '62.3.42.', - '62.32.49.', '62.32.49.', '62.32.49.', '62.32.49.', '62.32.50.', '62.32.53.', '62.32.53.', '62.32.53.', - '62.32.61.', '62.32.61.', '62.32.63.', '62.60.128.', '62.60.144.', '62.60.160.', '62.60.196.', '62.60.200.', - '62.60.232.', '62.60.240.', '62.60.252.', '62.102.128.', '62.133.46.', '62.193.1.', '62.204.61.', '62.220.96.', - '63.243.185.', '64.214.116.', '66.79.96.', '67.16.178.', '67.16.178.', '67.16.178.', '69.194.64.', '72.14.201.', - '77.36.128.', '77.42.1.', '77.77.64.', '77.81.32.', '77.81.76.', '77.81.78.', '77.81.82.', '77.81.128.', - '77.81.144.', '77.81.192.', '77.95.220.', '77.104.64.', '77.237.64.', '77.237.160.', '77.238.104.', - '77.238.112.', '77.245.224.', '78.31.232.', '78.38.1.', '78.109.192.', '78.110.112.', '78.111.1.', '78.154.32.', - '78.157.32.', '78.158.160.', '79.127.1.', '79.132.192.', '79.132.200.', '79.132.208.', '79.143.84.', - '79.143.86.', '79.174.160.', '79.175.128.', '79.175.160.', '79.175.164.', '79.175.166.', '79.175.167.', - '79.175.167.', '79.175.167.', '79.175.167.', '79.175.167.', '79.175.167.', '79.175.168.', '79.175.176.', - '80.66.176.', '80.71.112.', '80.71.149.', '80.75.1.', '80.91.208.', '80.191.1.', '80.191.128.', '80.191.192.', - '80.191.224.', '80.191.240.', '80.191.241.', '80.191.242.', '80.191.244.', '80.191.248.', '80.210.1.', - '80.210.128.', '80.242.1.', '80.249.112.', '80.250.192.', '80.253.128.', '80.255.3.', '81.12.1.', '81.16.112.', - '81.28.32.', '81.29.240.', '81.31.160.', '81.31.224.', '81.31.240.', '81.31.248.', '81.90.144.', '81.91.128.', - '81.92.216.', '81.163.1.', '82.97.240.', '82.99.192.', '82.138.140.', '82.180.192.', '82.198.136.', '83.120.1.', - '83.147.192.', '83.147.194.', '83.147.240.', '83.147.252.', '83.147.254.', '83.149.208.', '83.150.192.', - '84.17.168.', '84.47.192.', '84.241.1.', '85.9.64.', '85.15.1.', '85.133.128.', '85.133.160.', '85.133.164.', - '85.133.166.', '85.133.168.', '85.133.176.', '85.133.192.', '85.133.195.', '85.133.196.', '85.133.200.', - '85.133.208.', '85.133.216.', '85.133.218.', '85.133.220.', '85.133.224.', '85.133.232.', '85.133.237.', - '85.133.239.', '85.133.240.', '85.133.248.', '85.133.252.', '85.133.254.', '85.185.1.', '85.198.1.', - '85.198.48.', '85.204.76.', '85.204.80.', '85.204.104.', '85.204.128.', '85.204.208.', '85.208.252.', - '85.239.192.', '86.55.1.', '86.57.1.', '86.104.32.', '86.104.80.', '86.104.96.', '86.104.232.', '86.104.240.', - '86.105.40.', '86.105.128.', '86.106.142.', '86.106.192.', '86.107.1.', '86.107.80.', '86.107.144.', - '86.107.172.', '86.107.208.', '86.109.32.', '87.107.1.', '87.128.22.', '87.236.209.', '87.236.209.', - '87.236.210.', '87.236.213.', '87.236.214.', '87.247.168.', '87.247.176.', '87.248.128.', '87.248.139.', - '87.248.140.', '87.248.142.', '87.248.147.', '87.248.150.', '87.248.152.', '87.248.154.', '87.248.159.', - '87.251.128.', '88.131.240.', '88.135.32.', '88.135.68.', '89.32.1.', '89.32.96.', '89.32.196.', '89.32.248.', - '89.33.18.', '89.33.100.', '89.33.240.', '89.34.20.', '89.34.32.', '89.34.128.', '89.34.200.', '89.34.248.', - '89.35.68.', '89.35.120.', '89.35.132.', '89.35.180.', '89.35.194.', '89.36.16.', '89.36.48.', '89.36.96.', - '89.36.176.', '89.36.194.', '89.36.226.', '89.36.252.', '89.37.1.', '89.37.102.', '89.37.144.', '89.37.152.', - '89.37.168.', '89.37.198.', '89.37.208.', '89.37.218.', '89.37.240.', '89.38.24.', '89.38.80.', '89.38.102.', - '89.38.184.', '89.38.192.', '89.38.212.', '89.38.244.', '89.39.8.', '89.39.208.', '89.40.78.', '89.40.106.', - '89.40.152.', '89.40.240.', '89.41.8.', '89.41.16.', '89.41.40.', '89.41.184.', '89.41.192.', '89.41.240.', - '89.42.44.', '89.42.56.', '89.42.68.', '89.42.96.', '89.42.136.', '89.42.150.', '89.42.184.', '89.42.196.', - '89.42.208.', '89.42.210.', '89.42.210.', '89.42.210.', '89.42.210.', '89.42.210.', '89.42.210.', '89.42.210.', - '89.42.210.', '89.42.211.', '89.42.228.', '89.43.1.', '89.43.36.', '89.43.70.', '89.43.88.', '89.43.96.', - '89.43.144.', '89.43.182.', '89.43.188.', '89.43.216.', '89.43.224.', '89.44.128.', '89.44.176.', '89.44.190.', - '89.44.240.', '89.45.48.', '89.45.80.', '89.45.89.', '89.45.112.', '89.45.126.', '89.45.152.', '89.46.60.', - '89.46.94.', '89.46.184.', '89.46.216.', '89.47.64.', '89.47.128.', '89.47.196.', '89.47.200.', '89.144.128.', - '89.165.1.', '89.196.1.', '89.198.1.', '89.219.64.', '89.219.192.', '89.221.80.', '89.235.64.', '91.92.104.', - '91.92.114.', '91.92.121.', '91.92.122.', '91.92.124.', '91.92.129.', '91.92.130.', '91.92.132.', '91.92.145.', - '91.92.146.', '91.92.148.', '91.92.156.', '91.92.164.', '91.92.172.', '91.92.180.', '91.92.184.', '91.92.192.', - '91.92.204.', '91.92.208.', '91.92.220.', '91.92.228.', '91.92.231.', '91.92.236.', '91.98.1.', '91.106.64.', - '91.108.128.', '91.109.104.', '91.133.128.', '91.147.64.', '91.184.64.', '91.185.128.', '91.186.192.', - '91.186.201.', '91.186.204.', '91.186.207.', '91.186.216.', '91.186.218.', '91.190.88.', '91.194.6.', - '91.199.9.', '91.199.18.', '91.199.27.', '91.199.30.', '91.207.138.', '91.207.205.', '91.208.165.', '91.209.96.', - '91.209.179.', '91.209.183.', '91.209.184.', '91.209.186.', '91.209.242.', '91.212.16.', '91.212.252.', - '91.213.151.', '91.213.157.', '91.213.167.', '91.213.172.', '91.216.4.', '91.217.64.', '91.220.79.', - '91.220.113.', '91.220.243.', '91.221.240.', '91.222.196.', '91.222.204.', '91.224.20.', '91.224.110.', - '91.224.176.', '91.225.52.', '91.226.225.', '91.227.84.', '91.227.246.', '91.228.22.', '91.228.132.', - '91.228.189.', '91.229.46.', '91.229.214.', '91.230.32.', '91.232.64.', '91.232.68.', '91.232.72.', '91.233.56.', - '91.236.168.', '91.237.254.', '91.238.1.', '91.239.14.', '91.239.108.', '91.239.214.', '91.240.60.', - '91.240.180.', '91.241.20.', '91.241.92.', '91.242.44.', '91.243.126.', '91.243.160.', '91.244.120.', - '91.245.228.', '91.246.44.', '91.247.66.', '91.247.171.', '91.247.174.', '91.250.224.', '91.251.1.', '92.42.48.', - '92.43.160.', '92.61.176.', '92.114.16.', '92.114.48.', '92.114.64.', '92.119.57.', '92.119.58.', '92.119.68.', - '92.242.192.', '92.246.144.', '92.246.156.', '92.249.56.', '93.88.64.', '93.88.72.', '93.93.204.', '93.110.1.', - '93.113.224.', '93.114.16.', '93.114.104.', '93.115.120.', '93.115.144.', '93.115.216.', '93.115.224.', - '93.117.1.', '93.117.32.', '93.117.96.', '93.117.176.', '93.118.96.', '93.118.128.', '93.118.160.', - '93.118.180.', '93.118.184.', '93.119.32.', '93.119.64.', '93.119.208.', '93.126.1.', '93.190.24.', '94.24.1.', - '94.24.16.', '94.24.80.', '94.24.96.', '94.46.11.', '94.74.128.', '94.101.128.', '94.101.176.', '94.101.240.', - '94.139.160.', '94.176.8.', '94.176.32.', '94.177.72.', '94.182.1.', '94.184.1.', '94.199.136.', '94.232.168.', - '94.241.164.', '95.38.1.', '95.64.1.', '95.80.128.', '95.81.64.', '95.82.1.', '95.130.56.', '95.130.225.', - '95.130.240.', '95.142.224.', '95.156.222.', '95.156.233.', '95.156.234.', '95.156.236.', '95.156.248.', - '95.156.252.', '95.162.1.', '95.215.59.', '95.215.160.', '95.215.173.', '103.130.144.', '103.130.146.', - '103.215.220.', '103.216.60.', '103.231.136.', '103.231.138.', '104.28.9.', '104.28.9.', '104.28.18.', - '104.28.18.', '104.28.37.', '104.28.37.', '104.28.37.', '104.28.51.', '104.28.51.', '104.28.80.', '104.28.80.', - '104.28.80.', '104.28.106.', '104.28.106.', '104.28.106.', '104.28.131.', '104.28.131.', '104.28.194.', - '104.28.194.', '104.28.194.', '104.28.214.', '104.28.214.', '104.28.214.', '104.28.214.', '104.28.226.', - '104.28.226.', '104.28.226.', '104.28.246.', '104.28.246.', '104.28.246.', '104.28.246.', '109.70.237.', - '109.72.192.', '109.74.232.', '109.94.164.', '109.95.60.', '109.95.64.', '109.107.131.', '109.108.160.', - '109.109.32.', '109.110.160.', '109.122.193.', '109.122.195.', '109.122.196.', '109.122.204.', '109.122.208.', - '109.122.210.', '109.122.214.', '109.122.217.', '109.122.218.', '109.122.220.', '109.122.222.', '109.122.224.', - '109.122.240.', '109.122.250.', '109.122.252.', '109.125.128.', '109.162.128.', '109.201.1.', '109.203.128.', - '109.206.252.', '109.225.128.', '109.230.64.', '109.230.192.', '109.230.200.', '109.230.204.', '109.230.221.', - '109.230.223.', '109.230.242.', '109.230.246.', '109.230.251.', '109.232.1.', '109.238.176.', '109.239.1.', - '113.203.1.', '128.65.160.', '130.185.72.', '130.193.77.', '130.244.41.', '130.244.41.', '130.244.71.', - '130.244.71.', '130.244.71.', '130.244.71.', '130.244.85.', '130.255.192.', '134.255.196.', '134.255.200.', - '134.255.245.', '134.255.246.', '134.255.248.', '141.11.42.', '146.19.104.', '146.19.217.', '146.66.128.', - '146.75.132.', '146.75.132.', '146.75.148.', '146.75.169.', '146.75.180.', '151.232.1.', '151.238.1.', - '151.240.1.', '152.89.12.', '152.89.44.', '157.119.188.', '158.58.1.', '158.58.184.', '158.255.74.', - '158.255.78.', '159.20.96.', '164.138.16.', '164.138.128.', '164.215.56.', '164.215.128.', '171.22.24.', - '172.80.128.', '172.225.187.', '172.225.191.', '172.225.196.', '172.225.196.', '172.225.228.', '172.225.229.', - '176.12.64.', '176.46.128.', '176.56.144.', '176.62.144.', '176.65.160.', '176.65.192.', '176.67.64.', - '176.97.218.', '176.97.220.', '176.101.32.', '176.101.48.', '176.102.224.', '176.116.7.', '176.122.210.', - '176.123.64.', '176.124.64.', '176.126.120.', '176.221.16.', '176.221.64.', '176.223.80.', '178.21.40.', - '178.21.160.', '178.22.72.', '178.22.120.', '178.131.1.', '178.157.1.', '178.169.1.', '178.173.128.', - '178.173.192.', '178.211.145.', '178.215.1.', '178.216.248.', '178.219.224.', '178.236.32.', '178.236.96.', - '178.238.192.', '178.239.144.', '178.248.40.', '178.251.208.', '178.252.128.', '178.253.16.', '178.253.22.', - '178.253.26.', '178.253.31.', '178.253.38.', '178.253.44.', '178.253.55.', '185.1.77.', '185.2.12.', - '185.3.124.', '185.3.200.', '185.3.212.', '185.4.1.', '185.4.16.', '185.4.28.', '185.4.104.', '185.4.220.', - '185.5.156.', '185.7.212.', '185.8.172.', '185.10.71.', '185.10.72.', '185.11.68.', '185.11.88.', '185.11.176.', - '185.12.60.', '185.12.100.', '185.12.102.', '185.13.228.', '185.14.80.', '185.14.160.', '185.16.232.', - '185.18.156.', '185.18.212.', '185.19.201.', '185.20.160.', '185.21.68.', '185.21.76.', '185.22.28.', - '185.23.128.', '185.24.136.', '185.24.148.', '185.24.228.', '185.24.252.', '185.24.254.', '185.25.172.', - '185.26.32.', '185.26.232.', '185.29.220.', '185.30.4.', '185.30.76.', '185.31.124.', '185.32.128.', - '185.34.160.', '185.36.228.', '185.36.231.', '185.37.52.', '185.39.139.', '185.39.180.', '185.40.16.', - '185.40.240.', '185.41.1.', '185.41.220.', '185.42.24.', '185.42.212.', '185.42.224.', '185.44.36.', - '185.44.100.', '185.44.112.', '185.45.188.', '185.46.1.', '185.46.108.', '185.46.216.', '185.47.48.', - '185.49.84.', '185.49.96.', '185.49.104.', '185.49.231.', '185.50.36.', '185.51.40.', '185.51.200.', - '185.53.140.', '185.55.224.', '185.56.92.', '185.56.96.', '185.57.132.', '185.57.164.', '185.57.200.', - '185.58.140.', '185.58.240.', '185.59.112.', '185.60.32.', '185.60.136.', '185.62.232.', '185.63.113.', - '185.63.114.', '185.63.236.', '185.64.176.', '185.66.224.', '185.67.12.', '185.67.100.', '185.67.156.', - '185.67.212.', '185.69.108.', '185.70.60.', '185.71.152.', '185.71.192.', '185.72.24.', '185.72.80.', - '185.73.1.', '185.73.76.', '185.73.112.', '185.73.114.', '185.73.226.', '185.74.164.', '185.75.196.', - '185.75.204.', '185.76.248.', '185.78.20.', '185.79.60.', '185.79.96.', '185.79.156.', '185.80.100.', - '185.80.197.', '185.80.198.', '185.81.40.', '185.81.96.', '185.81.99.', '185.82.28.', '185.82.64.', - '185.82.136.', '185.82.164.', '185.82.180.', '185.83.28.', '185.83.76.', '185.83.80.', '185.83.88.', - '185.83.112.', '185.83.114.', '185.83.180.', '185.83.184.', '185.83.196.', '185.83.208.', '185.84.220.', - '185.85.68.', '185.85.136.', '185.86.36.', '185.86.180.', '185.88.48.', '185.88.152.', '185.88.176.', - '185.88.252.', '185.89.112.', '185.92.4.', '185.92.8.', '185.92.40.', '185.94.96.', '185.94.98.', '185.94.99.', - '185.94.99.', '185.94.99.', '185.94.99.', '185.94.99.', '185.95.60.', '185.95.152.', '185.95.180.', - '185.96.240.', '185.97.116.', '185.98.112.', '185.99.212.', '185.100.44.', '185.101.228.', '185.103.84.', - '185.103.128.', '185.103.244.', '185.103.248.', '185.104.192.', '185.104.228.', '185.104.232.', '185.104.240.', - '185.105.100.', '185.105.120.', '185.105.184.', '185.105.236.', '185.106.136.', '185.106.144.', '185.106.200.', - '185.106.228.', '185.107.28.', '185.107.32.', '185.107.244.', '185.107.248.', '185.108.96.', '185.108.164.', - '185.109.60.', '185.109.72.', '185.109.80.', '185.109.128.', '185.109.244.', '185.109.248.', '185.110.28.', - '185.110.216.', '185.110.228.', '185.110.236.', '185.110.244.', '185.110.252.', '185.111.8.', '185.111.64.', - '185.111.80.', '185.111.136.', '185.112.32.', '185.112.130.', '185.112.148.', '185.112.168.', '185.113.56.', - '185.113.112.', '185.114.188.', '185.115.76.', '185.115.148.', '185.115.168.', '185.116.20.', '185.116.24.', - '185.116.44.', '185.116.160.', '185.117.48.', '185.117.136.', '185.117.204.', '185.118.12.', '185.118.136.', - '185.118.152.', '185.119.4.', '185.119.164.', '185.119.240.', '185.120.120.', '185.120.136.', '185.120.160.', - '185.120.168.', '185.120.192.', '185.120.200.', '185.120.208.', '185.120.224.', '185.120.240.', '185.120.248.', - '185.121.56.', '185.121.128.', '185.122.80.', '185.123.68.', '185.123.208.', '185.124.112.', '185.124.156.', - '185.124.172.', '185.125.20.', '185.125.244.', '185.125.248.', '185.126.1.', '185.126.16.', '185.126.40.', - '185.126.132.', '185.126.200.', '185.127.232.', '185.128.48.', '185.128.80.', '185.128.136.', '185.128.152.', - '185.128.164.', '185.129.80.', '185.129.168.', '185.129.184.', '185.129.196.', '185.129.200.', '185.129.212.', - '185.129.216.', '185.129.228.', '185.129.232.', '185.129.240.', '185.130.76.', '185.131.28.', '185.131.84.', - '185.131.88.', '185.131.100.', '185.131.108.', '185.131.112.', '185.131.124.', '185.131.128.', '185.131.136.', - '185.131.148.', '185.131.152.', '185.131.164.', '185.131.168.', '185.132.80.', '185.132.212.', '185.133.152.', - '185.133.164.', '185.133.244.', '185.133.246.', '185.134.96.', '185.135.28.', '185.135.228.', '185.136.100.', - '185.136.172.', '185.136.180.', '185.136.192.', '185.136.220.', '185.137.24.', '185.137.60.', '185.137.108.', - '185.137.110.', '185.139.64.', '185.140.4.', '185.140.56.', '185.140.232.', '185.140.240.', '185.141.36.', - '185.141.48.', '185.141.104.', '185.141.132.', '185.141.168.', '185.141.212.', '185.141.244.', '185.142.92.', - '185.142.124.', '185.142.156.', '185.142.232.', '185.143.72.', '185.143.204.', '185.143.232.', '185.144.64.', - '185.145.8.', '185.145.184.', '185.147.40.', '185.147.84.', '185.147.160.', '185.147.176.', '185.150.108.', - '185.153.184.', '185.153.208.', '185.154.184.', '185.155.8.', '185.155.72.', '185.155.236.', '185.157.8.', - '185.158.172.', '185.159.152.', '185.159.176.', '185.160.104.', '185.160.176.', '185.161.36.', '185.161.112.', - '185.162.40.', '185.162.216.', '185.163.88.', '185.164.73.', '185.164.74.', '185.164.252.', '185.165.28.', - '185.165.40.', '185.165.100.', '185.165.116.', '185.165.204.', '185.166.60.', '185.166.104.', '185.166.112.', - '185.167.72.', '185.167.100.', '185.167.124.', '185.168.28.', '185.169.6.', '185.169.20.', '185.169.36.', - '185.170.8.', '185.170.236.', '185.171.52.', '185.172.1.', '185.172.68.', '185.172.212.', '185.173.104.', - '185.173.129.', '185.173.130.', '185.173.168.', '185.174.132.', '185.174.134.', '185.174.200.', '185.174.248.', - '185.175.76.', '185.175.240.', '185.176.32.', '185.176.56.', '185.177.156.', '185.177.232.', '185.178.104.', - '185.178.220.', '185.179.90.', '185.179.168.', '185.179.220.', '185.180.52.', '185.180.128.', '185.181.180.', - '185.182.220.', '185.182.248.', '185.184.32.', '185.184.48.', '185.185.16.', '185.185.240.', '185.186.48.', - '185.186.240.', '185.187.48.', '185.187.84.', '185.188.104.', '185.188.112.', '185.189.120.', '185.190.20.', - '185.190.39.', '185.191.76.', '185.192.8.', '185.192.112.', '185.193.47.', '185.193.208.', '185.194.76.', - '185.194.244.', '185.195.72.', '185.196.148.', '185.197.68.', '185.197.112.', '185.198.160.', '185.199.64.', - '185.199.208.', '185.201.48.', '185.202.56.', '185.203.160.', '185.204.168.', '185.204.180.', '185.204.197.', - '185.205.203.', '185.205.220.', '185.206.92.', '185.206.229.', '185.206.231.', '185.206.236.', '185.207.52.', - '185.207.72.', '185.208.76.', '185.208.148.', '185.208.174.', '185.208.180.', '185.209.188.', '185.210.200.', - '185.211.56.', '185.211.84.', '185.211.88.', '185.212.48.', '185.212.192.', '185.213.8.', '185.213.164.', - '185.213.195.', '185.214.36.', '185.215.124.', '185.215.152.', '185.215.228.', '185.219.112.', '185.220.224.', - '185.221.112.', '185.221.192.', '185.221.239.', '185.222.120.', '185.222.180.', '185.222.184.', '185.222.210.', - '185.223.160.', '185.224.176.', '185.225.80.', '185.225.180.', '185.225.240.', '185.226.97.', '185.226.116.', - '185.226.132.', '185.226.140.', '185.227.64.', '185.227.116.', '185.228.236.', '185.229.1.', '185.229.28.', - '185.229.204.', '185.231.65.', '185.231.112.', '185.231.114.', '185.231.180.', '185.232.152.', '185.232.176.', - '185.233.12.', '185.233.84.', '185.233.131.', '185.234.14.', '185.234.192.', '185.235.41.', '185.235.136.', - '185.235.245.', '185.236.36.', '185.236.45.', '185.236.88.', '185.237.8.', '185.237.84.', '185.238.20.', - '185.238.44.', '185.238.92.', '185.239.1.', '185.239.104.', '185.240.56.', '185.240.148.', '185.243.48.', - '185.244.52.', '185.246.4.', '185.248.32.', '185.251.76.', '185.252.28.', '185.252.200.', '185.254.165.', - '185.254.166.', '185.255.68.', '185.255.88.', '185.255.208.', '188.1.240.', '188.75.64.', '188.94.188.', - '188.95.89.', '188.118.64.', '188.121.96.', '188.121.128.', '188.122.96.', '188.136.128.', '188.136.192.', - '188.158.1.', '188.191.176.', '188.208.56.', '188.208.64.', '188.208.144.', '188.208.160.', '188.208.200.', - '188.208.208.', '188.208.224.', '188.209.1.', '188.209.32.', '188.209.64.', '188.209.116.', '188.209.152.', - '188.209.192.', '188.210.64.', '188.210.80.', '188.210.96.', '188.210.128.', '188.210.192.', '188.210.232.', - '188.211.1.', '188.211.32.', '188.211.64.', '188.211.128.', '188.211.176.', '188.211.192.', '188.212.22.', - '188.212.48.', '188.212.64.', '188.212.96.', '188.212.144.', '188.212.160.', '188.212.200.', '188.212.208.', - '188.212.224.', '188.212.240.', '188.213.64.', '188.213.96.', '188.213.144.', '188.213.176.', '188.213.192.', - '188.213.208.', '188.214.4.', '188.214.84.', '188.214.96.', '188.214.120.', '188.214.160.', '188.214.216.', - '188.215.24.', '188.215.88.', '188.215.128.', '188.215.160.', '188.215.192.', '188.215.240.', '188.229.1.', - '188.240.196.', '188.240.212.', '188.240.248.', '188.253.2.', '188.253.4.', '188.253.8.', '188.253.16.', - '188.253.32.', '188.253.64.', '192.3.190.', '192.15.1.', '192.167.140.', '193.1.156.', '193.3.31.', '193.3.182.', - '193.3.231.', '193.3.255.', '193.8.139.', '193.19.144.', '193.22.20.', '193.28.181.', '193.29.24.', '193.29.26.', - '193.32.80.', '193.34.244.', '193.35.62.', '193.38.247.', '193.39.9.', '193.56.59.', '193.56.61.', '193.56.107.', - '193.56.118.', '193.104.22.', '193.104.29.', '193.104.212.', '193.105.2.', '193.105.6.', '193.105.234.', - '193.106.190.', '193.108.242.', '193.111.234.', '193.134.100.', '193.141.64.', '193.141.126.', '193.142.30.', - '193.142.232.', '193.142.254.', '193.148.64.', '193.150.66.', '193.151.128.', '193.162.129.', '193.176.240.', - '193.178.200.', '193.186.4.', '193.186.32.', '193.189.122.', '193.200.102.', '193.200.148.', '193.201.72.', - '193.201.192.', '193.222.51.', '193.228.90.', '193.228.136.', '193.240.187.', '193.240.207.', '193.242.194.', - '193.242.208.', '193.246.160.', '193.246.164.', '193.246.174.', '193.246.200.', '194.5.40.', '194.5.175.', - '194.5.176.', '194.5.188.', '194.5.192.', '194.5.195.', '194.5.205.', '194.9.56.', '194.9.80.', '194.26.2.', - '194.26.20.', '194.26.117.', '194.31.194.', '194.33.104.', '194.33.122.', '194.33.124.', '194.34.163.', - '194.36.1.', '194.36.174.', '194.39.36.', '194.41.48.', '194.50.204.', '194.50.209.', '194.50.216.', - '194.50.218.', '194.53.118.', '194.53.122.', '194.56.148.', '194.59.170.', '194.59.214.', '194.60.208.', - '194.60.228.', '194.62.17.', '194.62.43.', '194.87.23.', '194.143.140.', '194.146.148.', '194.146.239.', - '194.147.164.', '194.150.68.', '194.156.140.', '194.180.224.', '194.225.1.', '195.8.102.', '195.8.110.', - '195.8.112.', '195.8.114.', '195.20.136.', '195.27.14.', '195.28.10.', '195.28.168.', '195.88.188.', - '195.96.128.', '195.96.153.', '195.110.38.', '195.114.4.', '195.114.8.', '195.146.32.', '195.181.1.', - '195.182.38.', '195.190.130.', '195.190.139.', '195.190.144.', '195.191.22.', '195.191.44.', '195.191.74.', - '195.211.44.', '195.217.44.', '195.219.71.', '195.225.232.', '195.226.223.', '195.230.97.', '195.230.105.', - '195.230.107.', '195.230.124.', '195.234.191.', '195.238.231.', '195.238.240.', '195.238.247.', '195.245.70.', - '196.3.91.', '204.18.1.', '204.245.22.', '204.245.22.', '204.245.22.', '209.28.123.', '210.5.196.', '210.5.197.', - '210.5.198.', '210.5.198.', '210.5.198.', '210.5.198.', '210.5.198.', '210.5.204.', '210.5.205.', '210.5.208.', - '210.5.208.', '210.5.209.', '210.5.214.', '210.5.218.', '210.5.218.', '210.5.232.', '210.5.233.', '210.5.233.', - '212.1.192.', '212.16.64.', '212.18.108.', '212.23.201.', '212.23.214.', '212.23.216.', '212.33.192.', - '212.46.45.', '212.80.1.', '212.86.64.', '212.120.146.', '212.120.146.', '212.120.192.', '212.151.56.', - '212.151.60.', '212.151.182.', '212.151.182.', '212.151.186.', '212.151.186.', '213.108.240.', '213.109.199.', - '213.109.240.', '213.176.1.', '213.176.16.', '213.176.64.', '213.195.1.', '213.207.192.', '213.217.32.', - '213.232.124.', '213.233.160.', '217.11.16.', '217.24.144.', '217.25.48.', '217.60.1.', '217.66.192.', - '217.77.112.', '217.114.40.', '217.144.104.', '217.146.208.', '217.161.16.', '217.170.240.', '217.171.145.', - '217.171.148.', '217.171.191.', '217.172.98.', '217.172.102.', '217.172.104.', '217.172.112.', '217.172.116.', - '217.172.118.', '217.172.120.', '217.174.16.', '217.198.190.', '217.218.1.', '217.219.1.', '217.219.128.', - '217.219.192.', '217.219.200.', '217.219.204.', '217.219.205.', '217.219.205.', '217.219.206.', '217.219.208.', - '217.219.224.'] diff --git a/namizun_core/monitor.py b/namizun_core/monitor.py index 05b069b..c7e2ed4 100644 --- a/namizun_core/monitor.py +++ b/namizun_core/monitor.py @@ -18,8 +18,8 @@ def get_network_io(): def total_upload_color(total_upload, total_download): - value = max(0, (database.get_parameter('coefficient') - total_upload / total_download)) / \ - database.get_parameter('coefficient') * 100 + value = max(0, (database.get_parameter('coefficient_limitation') - total_upload / total_download)) / \ + database.get_parameter('coefficient_limitation') * 100 if 66 <= value <= 100: return display.red + get_size(total_upload) + display.cornsilk elif 33 <= value < 66: @@ -65,7 +65,9 @@ def cpu_percent_color(cpu_usage_percent): def monitor(): - display.banner() + sleep(0.2) + display.line_jumper(-21) + display.line_remover(5) old_bytes_sent, old_bytes_recv = get_network_io() namizun_monitor = PrettyTable() namizun_monitor.field_names = [f"{display.cyan}Σ Upload{display.cornsilk}", @@ -74,17 +76,19 @@ def monitor(): f"{display.cyan}⇩ Speed{display.cornsilk}", f"{display.cyan}% CPU{display.cornsilk}"] namizun_monitor.add_row([0, 0, 0, 0, 0]) - print(f"{display.gold}--------------{display.magenta}MONITORING{display.gold}-------------\n\n{display.cornsilk}" + print(f"{display.gold}---------------{display.magenta}MONITORING{display.gold}--------------\n\n{display.cornsilk}" f"{namizun_monitor}") - sleep(1) + display.line_jumper(+17) while True: sleep(1) if database.get_parameter('in_submenu') is None: display.clear() return exit() if database.get_parameter('in_submenu') is False: - display.line_jumper(-14) + display.line_jumper(-21) display.line_remover(5) + print( + f"{display.gold}---------------{display.magenta}MONITORING{display.gold}--------------\n{display.cornsilk}") new_bytes_sent, new_bytes_recv = get_network_io() namizun_monitor.add_row([ total_upload_color(new_bytes_sent, new_bytes_recv), @@ -94,5 +98,5 @@ def monitor(): cpu_percent_color(cpu_percent())]) namizun_monitor.del_row(0) print(namizun_monitor) - display.line_jumper(+12) + display.line_jumper(+17) old_bytes_sent, old_bytes_recv = new_bytes_sent, new_bytes_recv diff --git a/namizun_core/udp.py b/namizun_core/udp.py index 1e670c7..ae25e7f 100644 --- a/namizun_core/udp.py +++ b/namizun_core/udp.py @@ -1,5 +1,5 @@ -from namizun_core import ip, database -from random import choice +from namizun_core import database + from threading import Thread from random import randint from time import sleep @@ -7,13 +7,19 @@ def get_random_ip(): - return choice(ip.ips) + str(randint(1, 255)) + fragmented_random_ip = database.get_random_range_ip().split('.') + if fragmented_random_ip[0].isdigit() and 0 < int(fragmented_random_ip[0]) < 255 and \ + fragmented_random_ip[1].isdigit() and 0 < int(fragmented_random_ip[1]) < 255 and \ + fragmented_random_ip[2].isdigit() and 0 <= int(fragmented_random_ip[2]) < 255: + return f"{fragmented_random_ip[0]}.{fragmented_random_ip[1]}.{fragmented_random_ip[2]}.{randint(1, 255)}" + else: + return get_random_ip() def start_udp_uploader(udp_upload_size, target_ip): sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) while udp_upload_size >= 0: - buf = int(randint(3000, 6000) * database.get_cache_parameter('speed') * 4 / 5) + buf = int(randint(3000, 5000) * database.get_cache_parameter('coefficient_buffer_size')) if sock.sendto(bytes(buf), (target_ip, 443)): udp_upload_size -= buf sleep(0.01) @@ -21,7 +27,7 @@ def start_udp_uploader(udp_upload_size, target_ip): def multi_udp_uploader(udp_upload_size): - udp_thread_count = int(randint(3, 7) * database.get_cache_parameter('speed') * 3 / 4) + udp_thread_count = int(randint(3, 7) * database.get_cache_parameter('coefficient_uploader_threads_count')) threads = [] for sender_agent in range(udp_thread_count): agent = Thread(target=start_udp_uploader, args=(udp_upload_size, get_random_ip())) diff --git a/readme.md b/readme.md index 66d1ee9..13520e6 100644 --- a/readme.md +++ b/readme.md @@ -50,15 +50,6 @@ source /var/www/namizun/venv/bin/activate && cd /var/www/namizun && pip install ln -s /var/www/namizun/else/namizun.service /etc/systemd/system/ ``` -**Note:** If you have installed the previous version, you will face the **file exists** error. Remove it with the -following command: - -```bash -rm /etc/systemd/system/namizun.service -``` - -Then enter the command of step 6 (**ln** command) - - 7\) Reload the service files to include the new service: ```bash diff --git a/setup.py b/setup.py index 3a0c50d..284e835 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,7 @@ from setuptools import setup setup(name='namizun_core', - version='1.1', + version='1.2', description='Asymmetric upload and download', author='MalKeMit', author_email='khodemalkemit@gmail.com', diff --git a/uploader.py b/uploader.py index 7ece091..816597b 100644 --- a/uploader.py +++ b/uploader.py @@ -8,19 +8,20 @@ def get_network_usage(): upload, download = get_network_io() difference = download - upload / (randint( - database.get_cache_parameter('coefficient') * 7, database.get_cache_parameter('coefficient') * 13) / 10) + database.get_cache_parameter('coefficient_limitation') * 7, + database.get_cache_parameter('coefficient_limitation') * 13) / 10) if difference < 1: return 1 - elif difference > 100000000 * database.get_cache_parameter('speed'): - return 100000000 * database.get_cache_parameter('speed') + elif difference > 100000000 * database.get_cache_parameter('coefficient_buffer_size'): + return 100000000 * database.get_cache_parameter('coefficient_buffer_size') return difference while True: database.set_parameters_to_cache() - if database.get_cache_parameter('running'): - count = randint(70, 140) + if database.get_cache_parameter('fake_udp_uploader_running'): + count = randint(70, 140) * database.get_cache_parameter('coefficient_uploader_threads_count') size = get_network_usage() while count >= 0: count -= multi_udp_uploader(size) - sleep(randint(50, 200)) + sleep(randint(30, 150))