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還是不錯滴,可還是不夠優雅。
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
當前標題:用golang重寫SS帳號獲取腳本-創新互聯
標題網址:http://www.yijiale78.com/article8/ddccip.html
成都網站建設公司_創新互聯,為您提供靜態網站、網站內鏈、Google、企業網站制作、企業建站、小程序開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯