这个反代有点复杂,需要配置自签证书,这里是caddy的方法,如果你有其他http服务,直接加在你原本的http服务上面就好了,就不用caddy了
一、反代部分
① caddy部分
1. 安装caddy
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
2. 生成自签证书
我用这个工具https://github.com/FiloSottile/mkcert,你也可以用其他工具,直接用openssl也可以
https://github.com/FiloSottile/mkcert/releases/download/v1.4.4/mkcert-v1.4.4-windows-amd64.exe
下载它,然后使用命令生成并安装证书
mkcert.exe translate.googleapis.com
mkcert.exe --install
目录下会得到translate.googleapis.com.pem和translate.googleapis.com-key.pem
我把它们传到小鸡上的/home目录(不要放在/root,caddy没权限)
然后chown caddy:caddy /home/translate.googleapis.com.pem /home/translate.googleapis.com-key.pem(这一步好像不是必要)
3. 写caddy配置
cat <<EOF >> /etc/caddy/Caddyfile
translate.googleapis.com {
tls /home/translate.googleapis.com.pem /home/translate.googleapis.com-key.pem
reverse_proxy https://translate.googleapis.com {
header_up Host {upstream_hostport}
header_up X-Forwarded-Host {host}
}
}
EOF
4. 重启caddy服务
systemctl restart caddy
② 端口转发方法(不建议)
端口转发的方法好处是配置简单,不用自签证书。就是简单的把服务器的443端口转发到translate.googleapis.com:443即可。
但需要占用服务器的443端口,并且有可能被高墙扫到的话,就会把你的IP当作谷歌的,一并干掉。还有可能被其他个人扫去用。风险比caddy反代高挺多的。
这里以realm为例,其他一样,或者干脆用iptables更简单,虽然性能差一点,这里不说了
wget https://github.com/zhboner/realm/releases/download/v2.4.4/realm-x86_64-unknown-linux-musl.tar.gz
tar xzvf realm-x86_64-unknown-linux-musl.tar.gz
rm -f realm-x86_64-unknown-linux-musl.tar.gz
mv realm /usr/bin
cat <<EOF >/opt/realm.toml
[log]
level = "warn"
output = "/var/log/realm.log"
[network]
no_tcp = false
use_udp = true
[[endpoints]]
listen = "0.0.0.0:443"
remote = "translate.googleapis.com:443"
EOF
cat <<EOF >/etc/systemd/system/realm.service
[Unit]
Description=realm server
After=network.target
[Service]
Type=simple
User=root
LimitNOFILE=20480000
ExecStart=/usr/bin/realm -c /opt/realm.toml
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
systemctl start realm
systemctl enable realm
二、配置hosts
windows的话就是在C:WindowsSystem32driversetchosts,写入你的ip translate.googleapis.com,应该都知道吧
例如ip是123.123.123.123,那么就这样写(下列演示中::1 localhost及以上都是系统自带的,如果你的没有,不影响,在底下空白部分另起一行写上translate.googleapis.com那一行的内容即可)
# localhost name resolution is handled within DNS itself.
127.0.0.1 localhost
::1 localhost
123.123.123.123 translate.googleapis.com
复制代码
三、 验证部分
验证反代是否正确的方法是在Chrome关掉代理(如果有),再打开F12
浏览translate.googleapis.com,正常就是谷歌的404提示,控制台里看这个请求的IP是不是你hosts的小鸡的那个IP,如果是,就对了。
四、实际效果部分
五、备选,腾讯交互翻译插件
评论里MJJ发的
Chrome插件版本:https://cdn.transmart.qq.com/installation_pro/TranSmart_chrome-0.2.0_plugin_chrome.zip
下载解压后在Chrome开发者模式加载已解压扩展即可,能用,不知道好不好用
原创文章,作者:中国IPv6网,如若转载,请注明出处:https://www.ipv6s.com/basis/application/202210252806.html