使用caddy搭建企微消息转发代理
本文最后更新于 2024-09-22,文章内容可能已经过时。
前提准备:
一台vps,国内外都可,需有公网IPv4
系统支持:Debian、Ubuntu、Centos均可
ssh工具:
- windows平台:cmd、putty、finalshell等
- Mac平台:terminal、iterm2、termius等
懂基本Linux操作,如vi,systemctl等
Caddy官方文档:https://caddyserver.com/docs/
安装Caddy
按照系统版本,分行执行相关命令。
- Debian、Ubuntu执行以下命令
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy
- Centos7执行以下命令
yum install yum-plugin-copr
yum copr enable @caddy/caddy
yum install caddy
- Centos8执行以下命令
dnf install 'dnf-command(copr)'
dnf copr enable @caddy/caddy
dnf install caddy
配置Caddyfile
安装Caddy完成无报错后,使用vi在/etc/caddy下建立一个Caddyfile文件,如文件已存在,可删除文件内所有内容
vi /etc/caddy/Caddyfile
- 如果使用vps的IP直接访问,则在Caddyfile填写以下内容
:80 {
reverse_proxy https://qyapi.weixin.qq.com {
header_up Host {upstream_hostport}
}
}
其中 :80
表示使用服务器的80端口,如使用其他端口,按需修改即可;
https://qyapi.weixin.qq.com
为企微官方接口地址,不可改动;
{upstream_hostport}
为固定写法,不可改动;
- 如使用已配置域名,则在Caddyfile填写以下内容
abc.xyz {
reverse_proxy https://qyapi.weixin.qq.com {
header_up Host {upstream_hostport}
}
}
其中,将abc.xyz
修改为你的域名;
不带端口的情况下,根据域名证书情况,使用https或http访问,本教程无证书相关内容,请自行解决;
如需使用其他端口,在域名后增加即可,如abc.xyz:8080
重启Caddy服务
配置好Caddyfile文件保存后,使用systemctl restart caddy
重启Caddy服务。如有报错,检查Caddyfile文件内容格式是否有误。
使用代理
在你需要使用此代理的软件内,将企微官方地址https://qyapi.weixin.qq.com
修改为你在Caddyfile设置的地址或域名+端口(80/443 无需填写端口),如http://ip:8080
,https://abc.xyz
等。
如果网络不通,检查vps的防火墙是否开放了相关端口。
docker方式
仅用微信转发的话,使用这个镜像htnanako/wxproxy,一条命令直接起容器就可用。映射的端口自定,容器启动之后按上一步使用代理填写即可用。
用代码实现的消息转发,不是反向代理了。
docker-compose
version: "3"
services:
wxproxy:
image: htnanako/wxproxy:latest
container_name: wxproxy
ports:
- 8000:8000
restart: unless-stopped
docker cli
docker run -d \
--name=wxproxy \
-p 8000:8000 \
--restart unless-stopped \
htnanako/wxproxy:latest
其他服务
telegram、discord 这类墙外软件,在 nas 无魔法环境时,也可使用 vps 进行代理。需要使用境外 vps。
与企业微信同理,将Caddyfile配置中的企微接口地址修改为相关接口地址。
- telegram 接口地址:
https://api.telegram.org
- discord 接口地址:根据 discord 提供的 webhook 地址填写,如
https://discord.com
、https://discord.gg
等
如果需要多个服务共存,复制多个完整配置,修改接口地址和域名或端口号,使用不同端口号或者不同子域名即可。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ONEISALL !