Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
alpkeskin
GitHub Repository: alpkeskin/mosint
Path: blob/master/v3/pkg/services/psbdmp/psbdmp.go
689 views
1
/*
2
Copyright © 2023 github.com/alpkeskin
3
*/
4
package psbdmp
5
6
import (
7
"encoding/json"
8
"fmt"
9
"io"
10
"net/http"
11
12
"github.com/alpkeskin/mosint/v3/internal/spinner"
13
"github.com/fatih/color"
14
)
15
16
type Psbdmp struct {
17
Urls []string
18
}
19
20
func New() *Psbdmp {
21
return &Psbdmp{}
22
}
23
24
func (p *Psbdmp) Search(email string) {
25
spinner := spinner.New("Pastebin Dumps Searching")
26
spinner.Start()
27
28
type emailData struct {
29
ID string `json:"id"`
30
Tags string `json:"tags"`
31
Length int `json:"length"`
32
Time string `json:"time"`
33
Text string `json:"text"`
34
}
35
36
url := fmt.Sprintf("https://psbdmp.ws/api/v3/search/%s", email)
37
req, err := http.NewRequest("GET", url, nil)
38
39
if err != nil {
40
spinner.StopFail()
41
spinner.SetMessage(err.Error())
42
return
43
}
44
45
req.Header.Set("User-Agent", "mosint")
46
client := &http.Client{}
47
resp, err := client.Do(req)
48
49
if err != nil {
50
spinner.StopFail()
51
spinner.SetMessage(err.Error())
52
return
53
}
54
55
defer resp.Body.Close()
56
57
body, err := io.ReadAll(resp.Body)
58
59
if err != nil {
60
spinner.StopFail()
61
spinner.SetMessage(err.Error())
62
return
63
}
64
65
var data []emailData
66
err = json.Unmarshal([]byte(body), &data)
67
68
if err != nil {
69
spinner.StopFail()
70
spinner.SetMessage(err.Error())
71
return
72
}
73
74
for _, v := range data {
75
binUrl := fmt.Sprintf("https://psbdmp.ws/dump/%s", v.ID)
76
p.Urls = append(p.Urls, binUrl)
77
}
78
79
spinner.Stop()
80
}
81
82
func (p *Psbdmp) Print() {
83
if len(p.Urls) == 0 {
84
return
85
}
86
87
fmt.Println("[*] Pastebin Dumps")
88
for _, v := range p.Urls {
89
fmt.Println(color.GreenString("[+]"), v)
90
}
91
}
92
93