Skip to content
This repository has been archived by the owner on Jan 31, 2023. It is now read-only.

Commit

Permalink
Rework curl
Browse files Browse the repository at this point in the history
  • Loading branch information
JustHumanz committed Sep 24, 2021
1 parent c000c1d commit 7d39615
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 48 deletions.
89 changes: 44 additions & 45 deletions pkg/network/network.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import (
)

//Curl make a http request
func Curl(url string, addheader []string) ([]byte, error) {
func Curl(url string, addheader map[string]string) ([]byte, error) {
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
defer cancel()

Expand All @@ -30,10 +30,13 @@ func Curl(url string, addheader []string) ([]byte, error) {
if err != nil {
return nil, err
}

request.Header.Set("cache-control", "no-cache")
request.Header.Set("User-Agent", RandomAgent())
if addheader != nil {
request.Header.Set(addheader[0], addheader[1])
if len(addheader) > 0 {
for k, v := range addheader {
request.Header.Set(k, v)
}
}

response, err := spaceClient.Do(request.WithContext(ctx))
Expand Down Expand Up @@ -62,54 +65,50 @@ func Curl(url string, addheader []string) ([]byte, error) {
}

//CoolerCurl make a cooler http request *with multitor*
func CoolerCurl(urls string, addheader []string) ([]byte, error) {
counter := 0
for {
counter++
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
defer cancel()
proxyURL, err := url.Parse(config.GoSimpConf.MultiTOR)
if err != nil || counter == 3 {
return nil, err
}

client := &http.Client{
Transport: &http.Transport{
Proxy: http.ProxyURL(proxyURL),
DialContext: (&net.Dialer{
Timeout: 10 * time.Second,
}).DialContext,
},
}
func CoolerCurl(urls string, addheader map[string]string) ([]byte, error) {
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
defer cancel()
proxyURL, err := url.Parse(config.GoSimpConf.MultiTOR)
if err != nil {
return nil, err
}

request, err := http.NewRequest("GET", urls, nil)
if err != nil || counter == 3 {
return nil, err
}
request.Header.Set("cache-control", "no-cache")
request.Header.Set("User-Agent", RandomAgent())
if addheader != nil {
request.Header.Set(addheader[0], addheader[1])
}
response, err := client.Do(request.WithContext(ctx))
if err != nil || counter == 3 {
return nil, err
}
defer response.Body.Close()
client := &http.Client{
Transport: &http.Transport{
Proxy: http.ProxyURL(proxyURL),
DialContext: (&net.Dialer{
Timeout: 10 * time.Second,
}).DialContext,
},
}

if response.StatusCode != http.StatusOK && counter == 3 {
return nil, errors.New("Multi Tor get Error")
request, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
request.Header.Set("cache-control", "no-cache")
request.Header.Set("User-Agent", RandomAgent())
if len(addheader) > 0 {
for k, v := range addheader {
request.Header.Set(k, v)
}
}
response, err := client.Do(request.WithContext(ctx))
if err != nil {
return nil, err
}
defer response.Body.Close()

data, err := ioutil.ReadAll(response.Body)
if err != nil || counter == 3 {
return nil, err
}
if response.StatusCode != http.StatusOK {
return nil, errors.New("multi Tor get Error")
}

if data != nil {
return data, nil
}
data, err := ioutil.ReadAll(response.Body)
if err != nil {
return nil, err
}

return data, nil
}

//RandomAgent Create random useragent for bypass some IDS
Expand Down
6 changes: 4 additions & 2 deletions service/migrate/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ var (
YoutubeToken *string
Publish time.Time
Roomstatus string
BiliBiliSession []string
BiliBiliSession map[string]string
Bot *discordgo.Session
TwitchClient *helix.Client
configfile config.ConfigFile
Expand Down Expand Up @@ -83,7 +83,9 @@ func init() {
configfile.InitConf()

YoutubeToken = engine.GetYtToken()
BiliBiliSession = []string{"Cookie", "SESSDATA=" + configfile.BiliSess}
BiliBiliSession = map[string]string{
"Cookie": "SESSDATA=" + configfile.BiliSess,
} //[]string{"Cookie", "SESSDATA=" + configfile.BiliSess}
Limit = 100

err = Bot.Open()
Expand Down
4 changes: 3 additions & 1 deletion service/subscriber/bilibili.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ import (
)

func CheckBiliBili() {
BiliBiliSession := []string{"Cookie", "SESSDATA=" + configfile.BiliSess}
BiliBiliSession := map[string]string{
"Cookie": "SESSDATA=" + configfile.BiliSess,
}
for _, Group := range *Payload {
Names := Group.Members
for _, Name := range Names {
Expand Down

0 comments on commit 7d39615

Please sign in to comment.