Maison > développement back-end > Golang > Comment établir des connexions UTLS via des proxys avec des requêtes HTTP 1.1 ?

Comment établir des connexions UTLS via des proxys avec des requêtes HTTP 1.1 ?

DDD
Libérer: 2024-11-27 10:59:10
original
783 Les gens l'ont consulté

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

Connexion via proxy lors de l'utilisation de requêtes UTLS et HTTP 1.1

L'établissement de connexions via des proxys lors de l'utilisation de requêtes UTLS et HTTP 1.1 nécessite des configuration.

Problème :

Comment pouvons-nous utiliser un proxy HTTP ou SOCKS5 lors de l'ouverture d'une connexion UTLS pour une empreinte digitale TLS aléatoire ?

Réponse :

Pour utiliser un proxy pour les connexions UTLS, suivez ces étapes :

  1. Créer un numéroteur proxy : Déterminez le type de proxy (HTTP ou SOCKS5) et créez un numéroteur proxy approprié (par exemple, connectproxy.New() pour HTTP ou proxy. SOCKS5() pour SOCKS5).
  2. Composez le proxy : Utilisez le proxy numéroteur pour établir une connexion net.Conn au proxy.
  3. Configurer le client UTLS : Initialiser un client UTLS (par exemple, tls.UClient()) à l'aide du net.Conn obtenu à partir du proxy dial.

Voici un exemple de fonction dialTLS personnalisée qui prend en charge le proxy connexions :

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)
    ...
}
Copier après la connexion

Suggestions supplémentaires :

  • Envisagez d'utiliser le module « connectproxy » pour gérer le tunneling HTTP CONNECT.
  • Utilisez le Transport enfichable Meek de Tor, qui gère le processus de configuration pour les deux SoC

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal