首页 文章

使用golang 1.10.2连接到带有IKEv2证书的socks5代理

提问于
浏览
3

我使用Go 1.10.2作为我的客户端应用程序 .

我正在尝试连接到需要用户名,密码和IKEv2证书文件的socks5代理 .

这是我到目前为止所得到的:

func socks5(proxyAdress string, url string, user string, password string) {
        auth := proxy.Auth{User: user, Password: password}
        if proxy, err := proxy.SOCKS5("tcp", proxyAdress, &auth, proxy.Direct);  err != nil {
            log.Fatalf("error: %v", proxy)
        } else {
            tr := &http.Transport{Dial: proxy.Dial}

            // Create client
            myClient := &http.Client{
                Transport: tr,
            }

            if resp, err2 := myClient.Get(url); err2 != nil {
                log.Fatalf("error: %v", err2)
            } else {
                if bodyBytes, err3 := ioutil.ReadAll(resp.Body); err3 != nil {
                    log.Fatalf("error: %v", err3)
                } else {
                    str := string(bodyBytes)
                    log.Printf(str)
                }

            }
        }
    }

当我用适当的参数执行这个功能

我从服务器收到一个错误,我没有权限访问我请求的网页 . 那是因为我没有指定IKEv2密钥文件 .

所以..首先..我该怎么做?

和第二... Dial 已被弃用..我应该使用 DialContext 但不知道如何

谢谢 ! :)

更新

我使用的操作系统是MacOS High Sierra 10.13.4

问题是例如我执行时

socks5("il7.nordvpn.com:1080", "http://ifconfig.me/ip","MY_USER","MY_PASS")

我得到的错误是

2018/05/15 23:34:49 error: Get http://ifconfig.me/ip: socks connect tcp ifconfig.me:80->ifconfig.me:80: EOF

我不知道在哪里提供IKEv2证书

1 回答

  • 1

    我认为您需要先在计算机上设置IPSec .

    The steps to setup IPSec

    • 初始配置(第一次只有一次)

    • 启动VPN连接

    关注here

相关问题