• Stars
    star
    769
  • Rank 59,078 (Top 2 %)
  • Language
    Go
  • License
    GNU General Publi...
  • Created over 12 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

HULK DoS tool ported to Go with some additional features.

Hulk DoS tool

HULK DoS tool ported to Go language from Python. Original Python utility by Barry Shteiman http://www.sectorix.com/2012/05/17/hulk-web-server-dos-tool/ I just ported the code as is quick and dirty. Original functions names are keeped and original logic mostly keeped too.

The main difference from Python version layed in Golang architecture for concurrency: the goroutines. hulk.py runs a new thread for each connection in the connection pool so it uses hundreds and thousands of threads. hulk.go just uses lightweight goroutines that used only tens of threads (commonly golang runtime started one thread for CPU core + several service threads). This architecture allows golang version better consume resources and got much higher connection pool on the same hardware than Python version can.

This tool targeted for stress testing and may really down badly configured server or badly made app. Use it carefully.

Examples:

$ hulk -site http://example.com/test/ 2>/dev/null

$ HULKMAXPROCS=4096 hulk -site http://example.com 2>/tmp/errlog

Useful environment vars:

  • GOMAXPROCS Set it to number of your CPUs or higher (no more actual for latest golang versions).
  • HULKMAXPROCS Limit the connection pool (1024 by default).

More details: http://old.siberian.laika.name/node/7

Update: well, I created this utility for one time task when I only played a bit with golang. Surprisingly I found that this utility used by other people, got some stars on github and even included in BlackArch Linux distro. So I cleaned up code a bit.

License

I think it may be public domain because of it is just simple and short piece of code but for reason I don't remember already I have choose GPL for it. Okey. So, Go version of HULK licensed under GPLv3. See LICENSE.

I am not related with original HULK utility in Python. Original HULK utility is authority of Barry Shteiman (http://sectorix.com). There are not any references to license in the original source then it is not under GPL. Ask author of the original utility about license.

More Repositories

1

m3u8

Parser and generator of M3U8-playlists for Apple HLS. Library for Go language. 🎦
Go
1,225
star
2

plantuml2mysql

This utility parses PlantUML class diagram and generates SQL DDL for MySQL
Python
115
star
3

bcast

Broadcasting library for Go. Broadcast message of any type on a set of channels. WIP
Go
98
star
4

go-playground

GNU/Emacs mode that setup local Go playground for code snippets like play.golang.org or even better :)
Emacs Lisp
83
star
5

streamsurfer

Software for monitoring of HTTP video streams.
Go
82
star
6

rust-playground

GNU/Emacs mode that setup local playground for code snippets in Rust language.
Emacs Lisp
45
star
7

hlsprobe

Utility to probe Apple HLS streams.
Python
39
star
8

kiwi

Fast, structured, with filters and dynamic sinks. No levels. Logger & context keeper for Go language πŸ₯ It smells like a mushroom.
Go
24
star
9

shift-shift

Xorg/Wayland keyboard layout switcher.
Go
15
star
10

russian-holidays

Russian holidays for GNU/Emacs calendar πŸ“†
Emacs Lisp
14
star
11

websocket-utils

Simple utils for testing websocket connections.
Go
5
star
12

reddit-clone-example

Example of realization of Reddit-like API with Go language.
Go
5
star
13

mpegts

Mpegts stream decoder
Go
3
star
14

gorg

Org-mode parser and generator for Golang
3
star
15

quickpic-cloud-linux-downloader

Download photos from the cloud that offered by Quickpic
Go
2
star
16

broadcast

The experiment
Go
2
star
17

pin-buffer

πŸ“Pins buffer to current window in GNU/Emacs
Emacs Lisp
2
star
18

wtfm

Where's The Fucking Manual? (ok, let Write the Fabulous Manual)
Go
2
star
19

mysql-backup

Simple tool for backuping MySQL databases.
2
star
20

rule-mode

Emacs support for rule-based comments in code.
Emacs Lisp
2
star
21

slack-anything

Slack Anything offers additional ways for using Slack Chat
Go
2
star
22

keyboard

Alternative keyboard layouts. Colemacs layout for emacsers on unix.
PHP
2
star
23

go-loggers-comparison

Benchmarks of loggers for Go language.
Go
2
star
24

service

The service tree 🌳 library for Go
Go
2
star
25

aeis

Ordering chaos in ~/.emacs.d.
Emacs Lisp
2
star
26

tw

Text Widgets library.
1
star
27

viewga

Experiments with desktop UI
1
star
28

quicksand

Quicksand β€” website stress testing & DOS tool. Hulk' successor.
1
star
29

whereami

Where am I? β€” executes actions based on your geographic place
1
star
30

webhotkey

URL shortener + HTTP proxy + DNS cache: swiss knife for webdeveloper.
1
star
31

apply

Apply the command to the project directories.
1
star
32

dotemacs

My emacs config.
Emacs Lisp
1
star
33

ergodox_configurator

JavaScript
1
star
34

portage-utils

Misc utils for Gentoo portage.
Python
1
star
35

perkeep-docker

Docker build for perkeep (calimstore).
Dockerfile
1
star
36

image-resize-service

The example of image resizing HTTP-service in Go
Go
1
star
37

randfs

Go library for generating random files/filenames/directories. For testing applications that needs work with massive number of files.
Go
1
star