এটা SOCKS টানেলে এটা TCP সংযোগ কঢ়িয়াই লৈ যায়। Go এ সেই টানেলৰ মাজেৰে গন্তব্ୟৰ সৈতে TLS কৰিব পাৰে আৰু তাত HTTP/2 আলোচনা কৰিব পাৰে; SOCKS চাৰ্ভাৰে নিজে HTTP/2 ক’ব নালাগে।

Go ৰ মানক পূৰ্বনিৰ্ধাৰিত পৰিবহণ ৰখা এটা প্ৰগ্ৰেমত, তাৰ সংৰচনা ক্লোন কৰক আৰু প্ৰক্সি বাছনি কৰক:

import (
    "net/http"
    "net/url"
    "time"
)

proxyURL := &url.URL{
    Scheme: "socks5",
    Host: "proxy.example:1080",
}
transport := http.DefaultTransport.(*http.Transport).Clone()
transport.Proxy = http.ProxyURL(proxyURL)
client := &http.Client{
    Transport: transport,
    Timeout: 30 * time.Second,
}

প্ৰক্সি আৰু গন্তব্ୟ বেলেগ বেলেগ মান হৈয়ে থাকে। প্ৰক্সি মানৰ বাবে SOCKS5 প্ৰক্সি তালিকাৰ পৰা এটা SOCKS5 এণ্ডপইণ্ট বাছনি কৰক; HTTP/2 এতিয়াও গন্তব্ୟৰ সৈতে আলোচনা কৰা হয়। প্ৰকৃত HTTPS সেৱা URL অনুৰোধ কৰিবলৈ client ব্যৱহাৰ কৰক, তাৰ পিছত এপ্লিকেচনৰ স্বাভাৱিক জীৱনচক্ৰৰ জৰিয়তে প্ৰতিক্ৰিয়াৰ মূল অংশ বন্ধ কৰক।

মানক পূৰ্বনিৰ্ধাৰিত পৰিবহণে HTTP/2 সমৰ্থন কৰে। ইয়াক ক্লোন কৰিলে সেই সংৰচনা ৰক্ষা হয় আৰু প্ৰক্সিৰ বাছনি সলনি কৰিব পাৰি। টাইপ এছাৰ্চনে ধৰি লয় যে প্ৰগ্ৰেমে http.DefaultTransport ক আন RoundTripper ৰে সলনি কৰা নাই।

ছুটীয়াকৈ নিৰ্মিত পৰিবহণৰ বাবে, তাৰ HTTP/2 সংৰচনা পৰ্যালোচনা কৰক, বিশেষকৈ কাষ্টম dial বা TLS হুক যোগান ধৰোঁতে। Go এ ForceAttemptHTTP2 আৰু নতুন সংস্কৰণত সেই বাছনিসমূহৰ বাবে স্পষ্ট Protocols সংৰচনা প্ৰকাশ কৰে।

গন্তব্ୟই এতিয়াও TLS আলোচনাৰ জৰিয়তে HTTP/2 আগবঢ়াব লাগিব। কি ব্যৱহাৰ হৈছিল দেখিবলৈ সফল প্ৰতিক্ৰিয়াৰ Proto বা ProtoMajor মান পৰীক্ষা কৰক। SOCKS ৰ মাজেৰে সফল হোৱা HTTPS অনুৰোধে নিজেই প্ৰমাণ নকৰে যে আলোচনা কৰা প্ৰটোকল HTTP/2 আছিল।

সম্পৰ্কিত প্ৰবন্ধ