Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions .idea/KrakenNet.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 8 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# 🦑 KrakenNet - Web Killer v2.1
# 🦑 KrakenNet - Web Killer v3

KrakenNet is a high-performance L7 and L4 DoS tool. It simulates random user traffic using rotating User-Agents, random HTTP methods, and dynamic paths. Optional proxy support is included to help bypass basic DDoS protections.

Expand Down Expand Up @@ -32,25 +32,23 @@ Tested on Ubuntu and Termux.. Should work on all the plateforms.
- Game methods (FiveM, minecraft, roblox)
- Adding raw methods

## Powerproofs
## LOOKS

![dsat](Screenshots/Screenshot_2025-08-03-18-21-53-107_com.android.chrome.jpg)
![dsat](Screenshots/img.png)

![website](Screenshots/Screenshot_2025-08-03-22-03-44-904_com.android.chrome.jpg)

![website](Screenshots/Screenshot_2025-08-06-18-48-23-290_com.android.chrome.jpg)

![website](Screenshots/Screenshot_2025-08-06-20-42-47-149_com.android.chrome.jpg)

## 🔧 Installation

### Linux / Termux
You must have Go v1.25.0 then
```bash
git clone https://github.com/Lemophile/KrakenNet.git
git clone https://github.com/vexsx/KrakenNet.git
cd KrakenNet
go run main.go
```
# Created by Lemophile
**Discord : Piwiii2.0**
# Created by Lemophile & Vexsx
**Discord : Piwiii2.0**
**Telegram: @vexsx**

Don't hesitate to do suggestions and drop a star, it will motivate me !
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added Screenshots/img.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 10 additions & 0 deletions color/color.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package color

const (
Reset = "\033[0m"
Red = "\033[31m"
Green = "\033[32m"
Yellow = "\033[33m"
Cyan = "\033[36m"
Magenta = "\033[35m"
)
135 changes: 135 additions & 0 deletions config/config.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
package config

import (
"bufio"
"io"
"math/rand"
"os"
"strings"
"sync/atomic"
"time"
)

// Public, backwards-compatible surface:
// - LoadLists(userAgentsFile, referersFile string)
// - RandomUserAgent() string
// - RandomReferer() string
// - RandomMethod() string
// - RandomPath() string
// - RandomPathN(minLen, maxLen int) string
// - MethodsHTTP []string

// Defaults used when lists are empty.
const (
defaultUA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"
defaultReferer = "https://google.com/"
)

var (
// MethodsHTTP can be overridden by callers if desired.
MethodsHTTP = []string{"GET", "POST", "HEAD"}

// Internals: lists are stored in atomics so reads are goroutine-safe.
uaList atomic.Value // []string
refList atomic.Value // []string
)

func init() {
// Seed global RNG once; top-level rand funcs are concurrency-safe.
rand.Seed(time.Now().UnixNano())
uaList.Store([]string(nil))
refList.Store([]string(nil))
}

// LoadLists loads user agents and referers from text files.
// One entry per line. Lines starting with '#' or '//' are ignored.
// Blank lines are ignored. Pass an empty filename to skip.
func LoadLists(userAgentsFile, referersFile string) {
if userAgentsFile != "" {
if lst, _ := loadListFromFile(userAgentsFile); len(lst) > 0 {
uaList.Store(lst)
}
}
if referersFile != "" {
if lst, _ := loadListFromFile(referersFile); len(lst) > 0 {
refList.Store(lst)
}
}
}

// RandomUserAgent returns a random UA, or a default if none are loaded.
func RandomUserAgent() string {
lst, _ := uaList.Load().([]string)
return randomFromList(lst, defaultUA)
}

// RandomReferer returns a random referer, or a default if none are loaded.
func RandomReferer() string {
lst, _ := refList.Load().([]string)
return randomFromList(lst, defaultReferer)
}

// RandomMethod returns a random HTTP method from MethodsHTTP.
func RandomMethod() string {
if len(MethodsHTTP) == 0 {
return "GET"
}
return MethodsHTTP[rand.Intn(len(MethodsHTTP))]
}

// RandomPath returns a random URL path with length in [5,14].
func RandomPath() string { return RandomPathN(5, 14) }

// RandomPathN returns a random URL path with length in [minLen,maxLen].
// If inputs are invalid, it falls back to [5,14].
func RandomPathN(minLen, maxLen int) string {
if minLen <= 0 || maxLen < minLen {
minLen, maxLen = 5, 14
}
const chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
n := rand.Intn(maxLen-minLen+1) + minLen
b := make([]byte, n)
for i := range b {
b[i] = chars[rand.Intn(len(chars))]
}
return "/" + string(b)
}

// --- internals ---

func loadListFromFile(filename string) ([]string, error) {
f, err := os.Open(filename)
if err != nil {
return nil, err
}
defer f.Close()
return loadList(f)
}

func loadList(r io.Reader) ([]string, error) {
sc := bufio.NewScanner(r)
var out []string
for sc.Scan() {
line := strings.TrimSpace(sc.Text())
if line == "" {
continue
}
// treat leading '#' or '//' as comments (avoid stripping inline data)
if strings.HasPrefix(line, "#") || strings.HasPrefix(line, "//") {
continue
}
out = append(out, line)
}
if err := sc.Err(); err != nil {
// return whatever we parsed plus the error
return out, err
}
return out, nil
}

func randomFromList(list []string, fallback string) string {
if len(list) == 0 {
return fallback
}
return list[rand.Intn(len(list))]
}
7 changes: 7 additions & 0 deletions go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
module github.com/vexsx/KrakenNet

go 1.25.0

require golang.org/x/net v0.43.0

require golang.org/x/text v0.28.0 // indirect
4 changes: 4 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE=
golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg=
golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng=
golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU=
Loading