Sign inSign up

pocat/naiveproxy

By pocat

•Updated 3 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:85655982c…

Size

20 MB

Last updated

4 months ago

docker pull pocat/naiveproxy