pocat/naiveproxy

By pocat

Updated 13 days ago

Docker image of Naiveproxy

Image
49

1M+

pocat/naiveproxy repository overview

Tags

Notes

From Caddy v2.6.0, The experimental_http3 option has been deprecated, please update your configuration

The server-side of Naiveproxy (Caddy V2)

Supported Architectures

i386 amd64 arm32v6 arm32v7 arm64v8 ppc64le s390x

Build-in modules with Caddy V2
Usage Interpretation
  • Get this image
$ docker pull pocat/naiveproxy
  • Create directories
$ mkdir -p /etc/naiveproxy /var/www/html /var/log/caddy
  • Modify the configuration with Caddyfile (Recommend)
$ cat > /etc/naiveproxy/Caddyfile <<EOF
{
  admin off
  log {
      output file /var/log/caddy/access.log
      level INFO
  }
  servers :443 {
      protocols h1 h2 h3
  }
}

:80 {
  redir https://{host}{uri} permanent
}

:443, your_domain.com  #Modify to your domain
tls [email protected]  #Modify to your email address
route {
  forward_proxy {
      basic_auth user_name your_password  #Modify to your user name and password
      hide_ip
      hide_via
      probe_resistance rP7uSWkJpZzfg5g2Qr.com  #Modify to a secret domain, like password
  }
  file_server {
      root /var/www/html
  }
}
EOF
  • Start the service with Caddyfile
$ docker run --network host --name naiveproxy -v /etc/naiveproxy:/etc/naiveproxy -v /var/www/html:/var/www/html -v /var/log/caddy:/var/log/caddy -e PATH=/etc/naiveproxy/Caddyfile --restart=always -d pocat/naiveproxy
  • OR Modify the configuration with config.json
$ cat > /etc/naiveproxy/config.json <<EOF
{
	"admin": {
		"disabled": true
	},
	"logging": {
		"logs": {
			"default": {
				"writer": {
					"filename": "/var/log/caddy/access.log",
					"output": "file"
				},
				"level": "INFO"
			}
		}
	},
	"apps": {
		"http": {
			"servers": {
				"srv0": {
					"listen": [
						":443"
					],
					"routes": [
						{
							"handle": [
								{
									"handler": "subroute",
									"routes": [
										{
											"handle": [
												{
													"auth_pass_deprecated": "your_password",
													"auth_user_deprecated": "user_name",
													"handler": "forward_proxy",
													"hide_ip": true,
													"hide_via": true,
													"probe_resistance": {
														"domain": "rP7uSWkJpZzfg5g2Qr.com"
													}
												}
											]
										},
										{
											"handle": [
												{
													"handler": "file_server",
													"hide": [
														"./Caddyfile"
													],
													"root": "/var/www/html"
												}
											]
										}
									]
								}
							]
						}
					],
					"protocols": [
						"h1",
						"h2",
						"h3"
					]
				},
				"srv1": {
					"listen": [
						":80"
					],
					"routes": [
						{
							"handle": [
								{
									"handler": "static_response",
									"headers": {
										"Location": [
											"https://{http.request.host}{http.request.uri}"
										]
									},
									"status_code": 301
								}
							]
						}
					]
				}
			}
		},
		"tls": {
			"certificates": {
				"automate": [
					"your_domain.com"
				]
			},
			"automation": {
				"policies": [
					{
						"subjects": [
							"your_domain.com"
						],
						"issuers": [
							{
								"email": "[email protected]",
								"module": "acme"
							},
							{
								"email": "[email protected]",
								"module": "zerossl"
							}
						]
					}
				]
			}
		}
	}
}
EOF
  • Start the service with config.json
$ docker run --network host --name naiveproxy -v /etc/naiveproxy:/etc/naiveproxy -v /var/www/html:/var/www/html -v /var/log/caddy:/var/log/caddy -e PATH=/etc/naiveproxy/config.json --restart=always -d pocat/naiveproxy
Tips

SagerNet supports its UDP Over TCP Protocol from version 0.8-beta02, if you want to use this feature (Now Only Support in SagerNet), you can replace pocat/naiveproxy to pocat/naiveproxy:latest-uot when starting the server

The client-side of Naiveproxy (use in Routers/Raspberry Pi/...)

Supported Architectures

i386 amd64 arm32v7 arm64v8

Usage explanations
  • Get this image
$ docker pull pocat/naiveproxy:client
  • Create a directory
$ mkdir -p /etc/naiveproxy
  • Modify the configuration
$ cat > /etc/naiveproxy/config.json <<EOF
{
"listen": "socks://127.0.0.1:1080",
"proxy": "https://user:[email protected]"
}
EOF
  • Start the service
$ docker run --network host --name naiveproxy -v /etc/naiveproxy:/etc/naiveproxy --restart=always -d pocat/naiveproxy:client

Supported Clients

ClientsPlatformSupported ProtocolsStatusHome Page
Qv2rayWindows/MacOS/Linuxhttps/quicInactiveClient & Naive Plugin
NekorayWindows/MacOS/Linuxhttps/quicMaintainedLink
V2rayNWindowshttps/quicMaintainedLink
SagerNetAndroidhttps/quicInactiveClient & Naive Plugin
MatsuriAndroidhttps/quicInactiveClient & Naive Plugin
NekoBoxForAndroidAndroidhttps/quicMaintainedClient & Naive Plugin
AndrProxyAndroidhttps/quicInactiveLink
Sing-boxWindows/MacOS/Linux/Android/iOShttps/quicMaintainedNekoray & V2rayN & Android & iOS
ShadowrocketiOShttpsMaintainedLink

Quick set up

You can set up Naiveproxy on server side within 5 minutes, please look up Here

Public Transparency

For the security aspect, you can browse This Page from Github to scrutiny what has been compiled and how this worked

Tag summary

Content type

Image

Digest

sha256:fc0f8766e

Size

34.7 MB

Last updated

13 days ago

docker pull pocat/naiveproxy:v150.0.7871.63-1