Upload files to "/"
This commit is contained in:
		
							
								
								
									
										21
									
								
								client.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								client.py
									
									
									
									
									
										Normal file
									
								
							@@ -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)
 | 
			
		||||
							
								
								
									
										57
									
								
								server.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								server.py
									
									
									
									
									
										Normal file
									
								
							@@ -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()
 | 
			
		||||
		Reference in New Issue
	
	Block a user