Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mewujudkan Sambungan UTLS Melalui Proksi dengan Permintaan HTTP 1.1?

Bagaimana untuk Mewujudkan Sambungan UTLS Melalui Proksi dengan Permintaan HTTP 1.1?

DDD
DDDasal
2024-11-27 10:59:10782semak imbas

How to Establish UTLS Connections Through Proxies with HTTP 1.1 Requests?

Menyambung melalui Proksi semasa Menggunakan UTLS dan Permintaan HTTP 1.1

Mewujudkan sambungan melalui proksi semasa menggunakan permintaan UTLS dan HTTP 1.1 memerlukan khusus konfigurasi.

Masalah:

Bagaimanakah kita boleh menggunakan proksi HTTP atau SOCKS5 semasa membuka sambungan UTLS untuk cap jari TLS rawak?

Jawapan:

Untuk menggunakan proksi untuk sambungan UTLS, ikut langkah berikut:

  1. Buat Pendail Proksi: Tentukan jenis proksi (HTTP atau SOCKS5) dan buat pendail proksi yang sesuai (cth., connectproxy.New() untuk HTTP atau proksi.SOCKS5() untuk SOCKS5).
  2. Dail Proksi: Gunakan pendail proksi untuk mewujudkan sambungan net.Conn kepada proksi.
  3. Konfigurasikan Klien UTLS: Mulakan klien UTLS (cth., tls.UClient()) menggunakan net.Conn diperoleh daripada dail proksi.

Berikut ialah contoh tersuai fungsi dialTLS yang menampung sambungan proksi:

package main

import (
    "crypto/tls"
    "net"
    "net/url"

    "github.com/magisterquis/connectproxy"
    "golang.org/x/net/proxy"
    utls "github.com/refraction-networking/utls"
)

var proxyString = "http://127.0.0.1:8080"

dialTLS := func(network, addr string, _ *tls.Config) (net.Conn, error) {
    proxyURI, _ := url.Parse(proxyString)

    switch proxyURI.Scheme {
    case "socks5":
        proxyDialer, err = proxy.SOCKS5("tcp", proxyString, nil, proxy.Direct)
    case "http":
        proxyDialer, err = connectproxy.New(proxyURI, proxy.Direct)
    }

    conn, err := proxyDialer.Dial("tcp", addr)
    uconn := utls.UClient(conn, cfg, &utls.HelloRandomizedALPN)
    ...
}

Cadangan Tambahan:

  • Pertimbangkan untuk menggunakan modul "connectproxy" untuk mengendalikan terowong HTTP CONNECT.
  • Gunakan pengangkutan boleh pasang Meek daripada Tor, yang mengendalikan proses persediaan untuk kedua-dua SoC

Atas ialah kandungan terperinci Bagaimana untuk Mewujudkan Sambungan UTLS Melalui Proksi dengan Permintaan HTTP 1.1?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn