91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

用golang重寫SS帳號獲取腳本

發布時間:2020-07-04 10:41:51 來源:網絡 閱讀:4039 作者:youerning 欄目:開發技術

    Golang有個很酷的特性可以跨平臺編譯生成該平臺的二進制可執行文件,雖然python也能通過其他工具生成相應平臺的二進制文件,但是還是覺得太別扭了,通過golang寫一次,然后生成相應平臺的二進制文件而且沒有依賴,多酷的事情。

    這個ss帳號獲取腳本干啥滴?

    參考:http://youerning.blog.51cto.com/10513771/1852876


    還在不斷學習中,可能代碼寫得不夠gopher。

    

    首先安裝依賴:    

go get github.com/PuerkitoBio/goquery
go get github.com/skip2/go-qrcode

    源碼:

package main

import (
	"encoding/base64"
	"fmt"
	"github.com/PuerkitoBio/goquery"
	"github.com/skip2/go-qrcode"
	"strings"
)

func strInSlice(a string, list []string) bool {
	for _, b := range list {
		if b == a {
			return true
		}
	}
	return false
}

func main() {
	ssURL := "http://www.ishadowsocks.org/"

	page, err := goquery.NewDocument(ssURL)
	if err != nil {
		fmt.Println(err)
		return
	}

	page.Find(".col-lg-4,.text-center").Each(func(i int, s *goquery.Selection) {
		lis := make([]string, 4)
		s.Find("h5").Each(func(i int, ss *goquery.Selection) {
			txt := ss.Text()
			if i < 4 && strings.Contains(txt, ":") {
				cont := strings.Split(txt, ":")[1]
				lis[i] = cont
			}
		})
		if strInSlice("aes-256-cfb", lis) {
			fmt.Println(lis)
			data1 := lis[3] + ":" + lis[2] + "@" + lis[0] + ":" + lis[1]
			data2 := []byte(data1)
			enc := base64.StdEncoding.EncodeToString(data2)
			ret := "ss://" + enc
			fname := lis[0] + ".png"
			qrcode.WriteFile(ret, qrcode.Medium, 256, fname)
		}
	})
}


保存文件為:ss.go

在本機執行:

go run ss.go

執行完成后,會在當前目錄下生成三個png文件,怎么使用參考最上面的鏈接吧



生成當前環境的二進制文件:

go build ss.go

然后就會在當前文件夾生成同名的二進制文件了



生成相應環境的二進制文件,比如windows下是.exe文件:

linux

 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build

windows

CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

moc os

CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build



    后記:python開發還是很快的,但是golang也不差,再者golang的其它特性如goroutine,interface之類咱就不聊了,聊聊一個寫小工具的心得。

    二進制可執行文件真的那么重要么?

    如果你寫了一些小工具,又借助了很多的依賴包,當你放到其它平臺必定是pip install -r  requirement 這還是可以忍受的,如果這些小工具需要放置到一些不能聯網環境,那么就很難過了~ 有一個工具是pyinstaller還是不錯滴,可還是不夠優雅。

    


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

普兰店市| 紫阳县| 光山县| 新晃| 唐山市| 湖口县| 苏尼特左旗| 鸡西市| 元阳县| 武宣县| 九台市| 花莲市| 吉首市| 邯郸市| 兰考县| 水城县| 漾濞| 浏阳市| 白河县| 中超| 鄂托克旗| 远安县| 当阳市| 五莲县| 攀枝花市| 乌兰县| 铜川市| 龙州县| 嘉祥县| 伊吾县| 安乡县| 延安市| 马关县| 广丰县| 通渭县| 措勤县| 萍乡市| 尖扎县| 渑池县| 惠水县| 辽宁省|