Normal view

There are new articles available, click to refresh the page.
Before yesterdayMain stream

软路由如何只代理网桥Docker

By: wayen
5 August 2023 at 21:22

软路由如何只代理网桥Docker

发表于|更新于|实用教程
|字数总计:574|阅读时长:1分钟|阅读量:

说明

你购买并设置了软路由用于代理,让局域网内的其他设备也可以使用。现在所有的流量都将先经过代理程序,这不可避免地会带来损耗,尤其是使用BT时大量的流量会被规则判定以后再直连,甚至也会影响游戏的NAT类型。而且也不得不考虑一个问题:软路由本身总是需要代理吗?为了解决这个问题,我将介绍一下DAE这个代理程序的优点和配置过程。
DAE有什么优点,它的代理性能比其他的好一点点但不多,主要看中的是它的直连性能。由于直连流量并不经过代理程序,会像直连一样直连。而且它可以识别网卡流量,将其LAN接口绑定Docker0网卡可以代理Docker流量,同时将其WAN接口与ETH0解绑就可以让软路由不走代理只代理Docker。

配置

下载安装

DAE的下载安装极其简单,而且有集成了DAE的面板daed便于操控,所以我们只需要安装daed即可。安装过程可以参考Onecloud作为旁路由实现代理,注意:如果你的系统不是armbian,请跳过升级内核,重新选择下载,如x86平台daed-linux-x86_64_v3_avx2.zip

配置说明

在配置Global中找到接口及内核选项,LAN接口绑定使用代理的网卡,如果你是旁路由,绑定与WAN接口相同的网卡即可。此时如果只绑定LAN接口而留空WAN接口,那么软路由内所有流量直连,局域网内流量可以被代理。当绑定Docker0时所有的容器都可以使用代理,如果你只想让其中几个容器被代理,那么稍稍有些复杂。
创建一个网桥用于代理容器连接,此时主机网卡多出br-**,在LAN接口绑定即可代理容器流量。不需要代理的容器不必加入该网卡,流量经过Docker0。

1
2
3
docker network create 要创建的网卡名称
#务必在容器创建时添加--network参数,否则流量默认走Docker0
docker run -d --name=proxy --network=要创建的网卡名称
文章作者: wayen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Wayen

评论
数据库加载中

Websocket协议的反向代理配置

By: wayen
22 July 2023 at 11:20

Websocket协议的反向代理配置

发表于|更新于|实用教程
|字数总计:321|阅读时长:1分钟|阅读量:

说明

Websocket(简称ws)是一种双向通信协议,使用与HTTP协议相同的端口,并通过HTTP_Upgrade机制来进行握手建立连接。而使用HTTP协议的反向代理可能对Websocket不起作用,所以本教程主要介绍基于Caddy2、Nginx、Apache2的Websocket反向代理配置。

Caddy2

1
2
3
4
5
6
xml.wiki {
tls /root/cert/pem /root/cert/key #或由Caddy自动申请
reverse_proxy localhost:7890 #所有代理请求
reverse_proxy /xml/* localhost:7890 #/xml开头的请求代理
reverse_proxy /xml{http.request.uri.path} localhost:7890{http.request.uri.path} #保留原始请求路径的路由
}

Nginx

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
server {
listen 443 ssl;
server_name xml.wiki;
ssl_certificate /root/cert/pem;
ssl_certificate_key /root/cert/key;
ssl_session_timeout 5m;

location / {
proxy_redirect off;
proxy_pass http://127.0.0.1:7890;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

Apache2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
sudo a2enmod ssl rewrite proxy proxy_http proxy_wstunnel
nano /etc/apache2/sites-available/000-default.conf

<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName xml.wiki
SSLEngine on
SSLCertificateFile /root/cert/pem
SSLCertificateKeyFile /root/cert/key
ProxyRequests off
ProxyPreserveHost on
RewriteEngine on
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
#反向代理http请求
ProxyPass / http://localhost:7890/
ProxyPassReverse / http://localhost:7890/
#反向代理websocket连接
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
RewriteRule .* ws://localhost:7890%{REQUEST_URI} [P]
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
</IfModule>

systemctl reload apache2
文章作者: wayen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Wayen

评论
数据库加载中

网页代理工具

By: wayen
17 July 2023 at 20:57

网页代理工具

发表于|更新于|实用教程
|字数总计:272|阅读时长:1分钟|阅读量:

说明

网页代理是通过代理服务器来访问网页,提供了隐私保护、解除地理限制等诸多功能,像浏览普通网页一样方便。提供网页代理的工具有很多,当然弃坑的更多,本教程介绍其中一种——HNet的搭建。
Demo: web.xml.wiki

正文

下载安装

1
wget https://github.com/Hideipnetwork/hideipnetwork-web/archive/refs/heads/v3.zip

下载之后使用unzip *zip解压,然后进入文件夹。
另外文件夹内nano .env可以修改运行端口。

1
2
3
4
5
apt install npm
npm install
npm run start
npm i pm2 -g && pm2 start index.mjs --name xml
pm2 startup #开机自启

反向代理

HNet不支持IP+端口运行,即使访问成功也不能使用,那么就需要使用反向代理添加域名。

1
2
3
4
5
apt install caddy
echo "domain.com {
reverse_proxy 127.0.0.1:56559
}" >> /etc/caddy/Caddyfile
systemctl start caddy

可以忽略

socks5代理

HNet可以使用socks5代理,文件夹内nano .env修改MODO = “socks5”,之后修改/proxy/socks5.txt内容为user:password@ip:port

页面美化

自行进入public文件夹修改即可。

文章作者: wayen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Wayen

评论
数据库加载中

Onecloud作为旁路由实现代理

By: wayen
5 July 2023 at 11:41

Onecloud作为旁路由实现代理

发表于|更新于|实用教程
|字数总计:305|阅读时长:1分钟|阅读量:

说明

Onecloud只有单网口,作为旁路由实现代理时有些设备是无法工作的,比如kindle和switch上的youtube。然而dae解决了这个问题,不再使用代理ip和端口,所以我用它替换掉了v2raya。其他内容请参照how_it_works。dae支持的代理有http(s), socks, ss, ssr, vmess, vless, trojan, tuic(v5), naiveproxy。

准备

设置静态IP

1
nmtui

01

升级内核*

无视报错,重启即可。

1
2
3
uname -r    #查看内核版本号,并下载对应的内核。
tar -xvf kernel*tar #解压
dpkg -i linux-*.deb #安装

安装

下载代理程序daed

daed比dae多个操作面板,下载installer-daed-linux-armv7.deb后,直接dpkg -i *deb安装即可,systemctl start daed为启动命令。

使用

浏览器输入IP:2023,如http://192.168.2.41:2023
接着添加节点信息,点击节点标签拖动到群组后,点击右上角运行开关即可。修改配置后请点击右上角多出的重载按钮,否则不生效。
02
局域网使用时需要绑定global中的LAN接口并设置静态ip,网关路由和DNS均要指向Onecloud的IP地址。路由参数请参照routing,比如想要BT软件直连需添加pname(aria2c) -> direct
03

文章作者: wayen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Wayen

评论
数据库加载中

❌
❌