用golang重寫SS帳號(hào)獲取腳本-創(chuàng)新互聯(lián)

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

目前創(chuàng)新互聯(lián)建站已為1000多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、鏡湖網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

  這個(gè)ss帳號(hào)獲取腳本干啥滴?

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

  還在不斷學(xué)習(xí)中,可能代碼寫得不夠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

在本機(jī)執(zhí)行:

go run ss.go

執(zhí)行完成后,會(huì)在當(dāng)前目錄下生成三個(gè)png文件,怎么使用參考最上面的鏈接吧

生成當(dāng)前環(huán)境的二進(jìn)制文件:

go build ss.go

然后就會(huì)在當(dāng)前文件夾生成同名的二進(jìn)制文件了

生成相應(yīng)環(huán)境的二進(jìn)制文件,比如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開發(fā)還是很快的,但是golang也不差,再者golang的其它特性如goroutine,interface之類咱就不聊了,聊聊一個(gè)寫小工具的心得。

  二進(jìn)制可執(zhí)行文件真的那么重要么?

  如果你寫了一些小工具,又借助了很多的依賴包,當(dāng)你放到其它平臺(tái)必定是pip install -r  requirement 這還是可以忍受的,如果這些小工具需要放置到一些不能聯(lián)網(wǎng)環(huán)境,那么就很難過了~ 有一個(gè)工具是pyinstaller還是不錯(cuò)滴,可還是不夠優(yōu)雅。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

當(dāng)前標(biāo)題:用golang重寫SS帳號(hào)獲取腳本-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://muchs.cn/article8/ddccip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、網(wǎng)站內(nèi)鏈、Google企業(yè)網(wǎng)站制作、企業(yè)建站、小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)