commit ef7852412bffb1735fc7a93e8813c3811c0e20cd Author: elias Date: Thu Oct 30 15:24:41 2025 +0100 Upload files to "/" diff --git a/client.py b/client.py new file mode 100644 index 0000000..8e5891f --- /dev/null +++ b/client.py @@ -0,0 +1,21 @@ +import xmlrpc.client, argparse + +parser = argparse.ArgumentParser() +parser.add_argument( + "--enable", + action="store_true", +) +parser.add_argument( + "--disable", + action="store_true", +) + +args = parser.parse_args() +proxy = xmlrpc.client.ServerProxy("http://localhost:6767/") + +if args.enable: + result = proxy.enable() + print(result) +elif args.disable: + result = proxy.disable() + print(result) \ No newline at end of file diff --git a/server.py b/server.py new file mode 100644 index 0000000..64bc9f4 --- /dev/null +++ b/server.py @@ -0,0 +1,57 @@ +import os, subprocess +from xmlrpc.server import SimpleXMLRPCServer + +def firewall_rule(): + rule_name = "Inetaccess" + + check_cmd = f''' + $rule = Get-NetFirewallRule -DisplayName "{rule_name}" -ErrorAction SilentlyContinue + if ($rule) {{ Write-Host "exists" }} else {{ Write-Host "not_exist" }} + ''' + + try: + result = subprocess.run( + ['powershell', '-Command', check_cmd], + capture_output=True, + text=True, + check=True + ) + + if "exists" in result.stdout: + return True + + create_cmd = f''' + New-NetFirewallRule -DisplayName "{rule_name}" -Direction Outbound -Action Block -Protocol TCP -RemotePort 80,443 -Enabled False + ''' + + subprocess.run( + ['powershell', '-Command', create_cmd], + capture_output=True, + text=True, + check=True + ) + return True + + except Exception: + return False + +def enable(): + try: + firewall_rule() + os.system("netsh advfirewall firewall set rule name=Inetaccess new enable=yes") + return 0 + except Exception: + return 1 + +def disable(): + try: + firewall_rule() + os.system("netsh advfirewall firewall set rule name=Inetaccess new enable=no") + return 0 + except Exception: + return 1 + +server = SimpleXMLRPCServer(("localhost", 6767)) +server.register_function(enable, "enable") +server.register_function(disable, "disable") +server.serve_forever() \ No newline at end of file