Skip to content

mllken/doh5

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

doh5

A DNS-over-HTTPS enabled SOCKS5 proxy in Go

Requires Go version 1.11+

Features

  • Supports DoH with Cloudflare, Google, and Cloudflare .onion
  • HTTP keepalive to minimize TLS handshakes to DoH provider
  • Only support DoH POST requests since GET parameters are more likely to get logged server-side
  • High performance, tiny memory footprint

Usage

$ doh5 --help
Usage of doh5:
  -l string
    	port, ip:port, or ./file to listen and serve on (default "1080")
  -q	enable quiet mode
  -r service
    	DoH service to use: cloudflare, google, cloudflare-tor, or none (default "cloudflare")
  -s source
    	source IP to bind to for outgoing connections

Examples

Run a socks proxy on 127.0.0.1 port 1080 with cloudflare DoH (default):

$ doh5

Run a socks proxy on 127.0.0.1 port 9000 with Google DoH:

$ doh5 -l 9000 -r google

Run a socks proxy on 0.0.0.0 port 1080 with no DoH (system resolver):

$ doh5 -l 0.0.0.0:1080 -r none

Running Chrome with socks on the commandline:

$ google-chrome-stable --incognito --proxy-server=socks5://127.0.0.1:1080

In Firefox, go to network settings and set the socks proxy to 127.0.0.1 port 1080. Make sure network.proxy.socks_remote_dns is set to true.

About

DNS-over-HTTPS enabled SOCKS5 proxy in Go

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages