Highly-opinionated (ex-bullshit-free) MTPROTO proxy for Telegram. If you use v1.0 or upgrade broke you proxy, please read the chapter Version 2
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

socks5.go 697B

1234567891011121314151617181920212223242526272829303132333435
  1. package network
  2. import (
  3. "fmt"
  4. "net"
  5. "net/url"
  6. "golang.org/x/net/proxy"
  7. )
  8. type socks5Dialer struct {
  9. proxy.ContextDialer
  10. bufferSize int
  11. }
  12. func (s socks5Dialer) Dial(protocol, address string) (net.Conn, error) {
  13. return s.ContextDialer.(proxy.Dialer).Dial(protocol, address)
  14. }
  15. func (s socks5Dialer) TCPBufferSize() int {
  16. return s.bufferSize
  17. }
  18. func NewSocks5Dialer(baseDialer Dialer, proxyURL *url.URL) (Dialer, error) {
  19. rv, err := proxy.FromURL(proxyURL, baseDialer)
  20. if err != nil {
  21. return nil, fmt.Errorf("cannot initialize socks5 proxy dialer: %w", err)
  22. }
  23. return socks5Dialer{
  24. ContextDialer: rv.(proxy.ContextDialer),
  25. bufferSize: baseDialer.TCPBufferSize(),
  26. }, nil
  27. }