Docker搭建在线网页代理实践记录

访问国际互联网 在线网页代理,docker-compose搭建访问国际互联网:[在线测试](https://c.carlzeng.top:3/web)

有什么用

在线网页代理,docker-compose搭建访问国际互联网:https://c.carlzeng.top:3/web

使用方法

  1. 打开在线测试访问国际互联网 或拉到最下方的‘预览
  2. 在文本框中键盘按键输入要访问的网址( 比如: www.google.com)
  3. 键盘回车
  4. 网页会弹出匿名访问的国际互联网google.com,或者输入www.youtube.com回车访问
  5. 在这访问的新页面就可以继续访问国际互联网(比如继续点击页面中的视频等...)

预览

实现方法

个人安装路径(仅供参考)/www/server/panel/data/compose/hideipnetwork-web
最终版本的docker-compose.yml文件:

version: "3"
services:
  browser:
    image: stilleshan/hideipnetwork-web
    container_name: hideipnetwork
    restart: always
    ports:
      - 56559:56559
    volumes:
    	#这里映射浏览网页时出J4125走的代理的地址
      - ./socks5.txt:/app/proxy/socks5.txt 
      	#这个配置文件,要修改到MODO从normal到socks5
      - ./.env:/app/.env

这是具体的.env文件内容:

PORT = 56559
HOST = "0.0.0.0"
WEBDIR ="/" #该功能暂时下线优化 | This function is temporarily offline for optimization
MODO = "socks5"

这是具体的socks5.txt文件内容:

192.168.6.116:7890

由于这个socks5是从clash.meta在J4125的另外一个docker中host映射出来的端口,所以要从原来的127.0.0.1:7890改为本地的IP地址。否则会在提交要具体浏览网页是报错

Service Errorconnect ECONNREFUSED 127.0.0.1:7890
定位为:默认的socks5.txt错误,
Hnet的docker是bridge的形式,127.0.0.1只会停留在docker容器中

配置成功;修改映射出来的socks5.txt文件内容为:192.168.6.116:7890
因为两个 docker镜像是以不同的网卡模式,一个是默认的bridge,一个是host(metaclash)
http://192.168.6.116:9090/#/conns
看到经过HNet Web的数据,从socks5传递到clash.meta,meta内核。

如何在debian中搭建clash.meta?

体验+试用

试用地址 https://c.carlzeng.top:3/web

安卓手机端

Chrome浏览器,显示不是太正常;无法正常使用

Kiwi 浏览器,显示正常;可以正常使用,但是嵌入在网页中的视频播放无法正常播放

电脑端

Chrome或者FireFox

都能正常使用,嵌入在网页中的视频也正常播放,完美。

灵感来源

https://hub.docker.com/r/metacubex/clash-meta

https://github.com/Hideipnetwork/hideipnetwork-web/tree/v3.1-beta
https://hub.docker.com/r/stilleshan/hideipnetwork-web

提升隐私安全:自建H-net在线代理,轻松无痕浏览

自建在线网页代理

相关内容

-------------------

如何在debian中搭建clash.meta

仅供参考

前提是: 小伙伴要了解怎么获取clash中的proxy节点,通俗的做法是购买机场服务,从机场中导出订阅连接即可。也有自建机场(要有计算机知识),获取网络上小伙伴分享的节点(可参见文章:go语言学习与应用日志-proxypool)

替换Clash For Windows方案,找到类似的解决方案并找到debian AMD64平台合适的应用:clash-verge

最终的metacubexd实现docker-compose.yml

version: '3'

services:
  metacubexd:
    container_name: metacubexd
    image: ghcr.io/metacubex/metacubexd
    restart: always
    ports:
      - '9090:80'   #这里是WEB UI对应的端口

  # optional
  meta:
    container_name: meta
    image: docker.io/metacubex/clash-meta:Alpha
    restart: always
    network_mode: host
    cap_add:
      - NET_ADMIN
    volumes:
      - /root/.config/clash:/root/.config/clash

记得在Debian防火墙中开放所有这里指定的对外端口。

对应的/root/.config/clash目录中的文件内容(开头节选):

mixed-port: 7890
secret: **********
external-ui: /etc/clash-meta/ui
external-controller: 0.0.0.0:9091

#...其他的clash配置配置内容

着重讲解这里的config.yaml要注意的内容:

  1. mixed-port: 7890 这个很简单,clash开放的服务端口
  2. secret: 这是webui连接上clash.meta内容的密钥,关系到Webui可否查看和操作clash
  3. external-ui 这是docker中的webui路径,不需要修改,在上面的docker-compose会帮忙都部署好
  4. external-controller: 0.0.0.0:9091 这是可以操作webui的端口,关系到Webui可否查看和操作clash

注意到webui的访问是通过9090端口进行的,然后在设置中,要正确的制定上面这些对应的参数,才能让两个模块(clash和UI)搭配起来联动。

两者都搭配部署配合妥当后效果:在线测试

过程很艰辛

过程很艰辛:
tried 3 docker project:
	  	- metacubex/clash-meta  
	  		一开始没理解
		- junxy/clash
			https://github.com/junxy/docker-clash/blob/master/docker-compose.yml
			版本太久了配置了.config/clash下的文件后, clash 程序无法正常运行
		- https://hub.docker.com/r/dreamacro/clash
			部署成功,但不知道怎么用,后来知道还得有UI,命令行启动正常但似乎卡死在一个提示..

		- https://github.com/RayWangQvQ/sing-box-installer 

		- [在 Linux 服务器上安装 Clash,以及开机自动启动](https://www.xxpyy.top/detailed?id=14#toc116)

/www/server/panel/data/compose/clash

HNet的Next有这么一个TODO:给Node的docker中部署clash for linux

后来思路转变:最好是docker里,debian中可用的clash客户端;

从docker中把clash复制出来,/usr/bin,然后到ssh的bash中测试

clash -v
Clash v0.16.0-27-gbd4302e-containerd linux amd64 Sun Dec 8 11:29:03 UTC 2019

/root/.config/clash

测试了各个版本的clash版本

用可找到的最新版的原作者dreamacro/clash
Clash v1.18.0 linux amd64 with go1.21.0 Thu Aug 17 14:45:47 UTC 2023

INFO[0000] Start initial compatible provider loadbalance1
放弃,clash没希望了,需要寻找替代品了

https://github.com/RayWangQvQ/sing-box-installer 
	nekoray-macos
	建议根据延迟测试结果自动切换服务器
	你可以试试clash verge,应该可以满足你的要求

	https://github.com/zzzgydi/clash-verge
	下载:https://github.com/zzzgydi/clash-verge/releases/tag/v1.3.8


	Mac 端切换成功:Clash.Verge_1.3.8_x64.dmg 28.8 MB last month
	next:proxypool,自动导入到Clash verge中
		给linux找客户端

	https://mirror.ghproxy.com/https://github.com/zzzgydi/clash-verge/releases/download/v1.3.8/clash-verge_1.3.8_amd64.deb

	
	deb文件包用dpkg安装后,不知道去哪里了,
	https://mirror.ghproxy.com/
	正在下载: https://mirror.ghproxy.com/https://github.com/zzzgydi/clash-verge/releases/download/v1.3.8/clash-verge_1.3.8_amd64.AppImage.tar.gz

	

	clash-meta,卡死
		INFO[2023-11-29T20:58:20.184745908+08:00] Start initial configuration in progress      
		INFO[2023-11-29T20:58:20.187312982+08:00] Geodata Loader mode: memconservative         
		INFO[2023-11-29T20:58:20.191162285+08:00] Initial configuration complete, total time: 6ms 
		INFO[2023-11-29T20:58:20.216059686+08:00] Sniffer is closed                            
		INFO[2023-11-29T20:58:20.216252817+08:00] Start initial compatible provider default    
		INFO[2023-11-29T20:58:20.216299376+08:00] Start initial compatible provider loadbalance1 

	(后来的思路是:debian 直接运行 Clash Verge)
	我的debian本来就没有GUI;
		在nas里直接装clash内核就行吧,又不需要gui

	https://github.com/zzzgydi/clash-verge/releases/download/alpha/clash-verge_1.3.8_amd64-debug.deb
		根据@zzzgydi 的建议,下载并安装debug版本。
		版本号为1.3.7时,完成了如下测试:

	
	居然在gui的WEB思路下面找到了哦:https://github.com/MetaCubeX/metacubexd/tree/main
		没有GUI,那就WEB的gui啊!

Request failed with status code 405 Method Not Allowed

BUG
	zzzgydi/clash-verge 
	https://github.com/zzzgydi/clash-verge/issues/808


	mixed-port: 7890
	secret: **********
	external-controller: 0.0.0.0:9090

	终于按文档配置成功:https://github.com/MetaCubeX/metacubexd/tree/main
	Enable external-controller in your config file
		external-controller: 0.0.0.0:9090
		Use pre-built assets from gh-pages branch
		First time setup

		git clone https://github.com/metacubex/metacubexd.git -b gh-pages /etc/clash-meta/ui
		Make sure you have external-ui directory set correctly in your config file

		external-ui: /etc/clash-meta/ui
	works great: http://192.168.6.116:9090/#/config

	修改后端:http://192.168.6.116:9090/#/setup
		http://192.168.6.116:9091
		**********
	对应config.yaml中的配置

思路来源及关联

Clash for Windows 设置方法入门(适用于Windows+Mac))
go语言学习与应用日志-proxypool)

posted @ 2023-12-02 14:42  CarlZeng  阅读(1821)  评论(2编辑  收藏  举报