-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdata.go
74 lines (68 loc) · 1.49 KB
/
data.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
package main
import(
"time"
"os"
"math/rand"
"bufio"
"fmt"
"github.com/valyala/fasthttp"
)
type spoof struct{
count int
}
type header struct{
advanced bool
a_headers map[string]string
}
func NewSpoof(count int) *spoof{
return &spoof{
count:count,
}
}
func NewHeader(advanced bool, a_headers map[string]string) *header{
return &header{
advanced:advanced,
a_headers:a_headers,
}
}
var(
Source = rand.NewSource(time.Now().Unix())
Random = rand.New(Source)
)
func randomIp() string{
return fmt.Sprintf("%d.%d.%d.%d", Random.Intn(255), Random.Intn(255), Random.Intn(255), Random.Intn(255))
}
func (s spoof) spoofS(req *fasthttp.Request) {
rangeip := []string{}
file, err := os.Open("src/rate_headers.txt")
if err != nil{
panic(err)
os.Exit(1)
}
scan := bufio.NewScanner(file)
for scan.Scan(){
rangeip = append(rangeip, scan.Text())
}
for i:=0; i<s.count; i++{
ip := randomIp()
req.Header.Add(string(rangeip[Random.Intn(len(rangeip))]), ip)
}
}
func (h header) headers(req *fasthttp.Request){
uas := []string{}
file, err := os.Open("src/user-agents.txt")
if err != nil {
panic(err)
os.Exit(1)
}
scan := bufio.NewScanner(file)
for scan.Scan(){
uas = append(uas, scan.Text())
}
req.Header.Add("User-Agent", uas[Random.Intn(len(uas))])
if h.advanced == true{
for head, value := range h.a_headers{
req.Header.Add(head, value)
}
}
}