Quantcast
Channel: 詩と創作・思索のひろば
Viewing all articles
Browse latest Browse all 179

go-sql-driver/mysql の接続に SOCKS5 プロキシを利用する

$
0
0

Go では proxychains みたいな方法が利用できないので、プログラム側で対応してやる必要がある。Go で SOCKS5 プロキシを利用する - 詩と創作・思索のひろばと同様に golang.org/x/net/proxyを利用して実現できる。

import (
    "database/sql""net""golang.org/x/net/proxy""github.com/go-sql-driver/mysql"
)

func main() {
    dialer := proxy.FromEnvironment()
    mysql.RegisterDial("tcp", func(network string) (net.Conn, error) {
        return dialer.Dial("tcp", network)
    })

    db, err := sql.Open("mysql", dsn)
    ....
}

という感じ。DSN を変える必要はない。

all_proxy=socks5://127.0.0.1:10000などと環境変数を設定して起動してやる。


Viewing all articles
Browse latest Browse all 179

Trending Articles