GithubHelp home page GithubHelp logo

naiveproxy-docker's Introduction

naiveproxy-docker

基于docker的naiveproxy。

1. 说明

镜像使用官方代码生成,利用GitHub Actions构建并上传到DockerHub

Dockerfile:Dockerfile

DockerHub: DockerHub

2. 预备工作

  • 一个域名
  • 域名已DNS到当前服务器ip
  • 服务器已安装好docker环境

P.S.不需要自己生成https证书,caddy会自动生成。

3. 部署服务端

一键安装脚本:

# create a dir
mkdir -p ./naive && cd ./naive

# install
bash <(curl -sSL https://raw.githubusercontent.com/RayWangQvQ/naiveproxy-docker/main/install.sh)

当不指定参数时,该脚本是互动式的,运行后会提示输入相关配置信息,输入后回车即可。

install-interaction

install-interaction-re

当然,你也可以像下面那样,直接将参数拼接好后立即执行:

# create a dir
mkdir -p ./naive && cd ./naive 

# install
curl -sSL -f -o ./install.sh https://raw.githubusercontent.com/RayWangQvQ/naiveproxy-docker/main/install.sh && chmod +x ./install.sh && ./install.sh -t demo.test.tk -m [email protected] -u zhangsan -p 1qaz@wsx --verbose

install-silence

参数说明:

  • -t:host,你的域名,如demo.test.tk
  • -m:mail,你的邮箱,用于自动颁发证书,如[email protected]
  • -u:user,proxy的用户名
  • -p:pwd,proxy的密码
  • -f:fakeHost,伪装域名,默认https://demo.cloudreve.org
  • --verbose,输出详细日志
  • -h:help,查看参数信息

容器run成功后,可以通过以下语句查看容器运行日志:

docker logs -f naiveproxy

Ctrl + C 可以退出日志追踪。

第一次运行会自动颁发证书,日志可能会先ERROR飘红,别慌,等一会。

如果最后日志出现certificate obtained successfully字样,就是颁发成功了,可以去部署客户端了。

success

如果颁发证书一直不成功,请检查80端口和443端口是否开放、是否被占用。

部署成功后,浏览器访问域名,会展示伪装站点:

web

4. 客户端

很多教程,就不说了。

平台 客户端
Win V2RayN/Nekoray
Linux Nekoray
MacOS Nekoray
Android SagerNet
iOS Shadowrocket

5. 自定义配置

Caddy的配置文件Caddyfile已被挂载到宿主机的./data/Caddyfile,想要自定义配置,比如:

  • 添加proxy多用户
  • 修改proxy的用户名和密码
  • 更改端口
  • 修改伪装站点的host

等等,都可以直接在宿主机修改该文件:

vim ./data/Caddyfile

修改完成并保存成功后,让Caddy热加载配置就可以了:

docker exec -it naiveproxy /app/caddy reload --config /data/Caddyfile

举个栗子,多用户可以直接添加forward_proxy,像这样:

:443, demo.test.tk #你的域名
tls [email protected] #你的邮箱
route {
        forward_proxy {
                basic_auth zhangsan 1qaz@wsx #用户名和密码
                hide_ip
                hide_via
                probe_resistance
        }
        forward_proxy {
                basic_auth lisi 1234 #用户名和密码
                hide_ip
                hide_via
                probe_resistance
        }
        reverse_proxy you.want.com {
                #伪装网址
                header_up Host {upstream_hostport}
        }
}

详细的配置语法可以参考Caddy的官方文档:Caddy Doc

naiveproxy-docker's People

Contributors

raywangqvq avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.