通过 http proxy server 暴露浏览器资源, 基于 webrtc, 是直连, 无需二次中转
具体请看视频演示: youtu.be/czWW5xlfcS8
当前测试版目标用户为使用 WireGuard 的 linux 用户
核心源码暂未公开, 建议在虚拟机中尝试. xhe-vpn 目前仅支持 linux(windows 端需求反响强烈的话速度肝出 windows 端)
git 仓库: github.com/remoon-net/xhe-webvpn
社区讨论: github.com/remoon-net/xhe-webvpn/discussions
问题反馈: github.com/remoon-net/xhe-webvpn/issues

相比上次的版本去除了中心化, 虽然导致了配置更加繁琐, 但独立部署更简单了

标准化了浏览器爬虫, 借助暴露 http proxy server 可以在应用程序中直接访问在浏览器中需要 Cookie 的各种接口----youtube 视频短链好像不解析了, 再发一次

这个是用来抓包吗

cloudflare 防得住吗

不会爬虫的觉得很酷,会爬虫的觉得有点莫名其妙

我找个抓包工具不行吗?

不是很懂,你的这个东西的场景在哪里,原生不是支持通过 browserWSEndpoint 来访问浏览器资源吗

自己搭个 HTTP 代理过滤流量?与浏览器插件有何区别?如果说访问 HTTP 请求,这块有现成的东西可以用,而且比你这套方便成熟

就是用来过 cloudflare 首次验证的

悟了,等会儿试试,能过 cloudflare 就是牛逼

浏览器爬虫效率很低吧,免去了解密,但是效率是真低啊,只能爬小批量的数据

演示视频里的电脑系统 ui 是什么

Debian 12 - KDE Plasma 5.27.5

啊这,一个好点的 IP 开个 tun 也能过 cf 啊,再不济 py 库有个过 cf 的啊

py 哪个库能过 CF ?

没明白, chromium 本身不就提供远程访问的接口吗? 你这个绕了一圈是解决了什么特别的问题吗

如果重点是浏览器与 VPN , github.com/tailscale/tailscale/issues/3157 twitter.com/bradfitz/status/1451423386777751561 更酷更方便,是更应该研究的方向如果重点是过 cloudflare ,实际上你的设计中主要是借用 IP ,有太多方式可以将一台 Linux 电脑的 IP 共享给远程的应用程序使用,同样不需要 root 权限如果重点是方便应用程序自动化控制浏览器,容器与 selenium puppeteer playwright 更优雅也有更繁荣的生态,例如 github.com/FlareSolverr/FlareSolverr

”进化“ 不应该是什么配置都不用设,自适应最佳配置, 直接就能用。

firefox 有 marionette

  1. 浏览器与 VPN ,是的这很酷,我实现了2. 不是通过借 IP 的方式过 cloudflare ,而是接管通过了真人验证的浏览器页面来过3. 这个演示的重点是通过 http proxy 和应用程序集成,不依赖 puppeteer (这点蛮难解释,过段时间我把一个项目改造后开源就更清楚这是怎么做的

没看明白用途是啥

基于 devtools-protocol ?

试试 RPA ,我觉得没有比这个更好用的了。

你这项目是给黑灰产用的吧。。稍微靠谱点的爬虫项目哪有用这种模式的。。puppeteer 的很多优势你这种架构根本做不了。。被黑灰产拿来改改当肉鸡用倒是很合理。。

一般 RPA 用啥软件?

你是看懂了的,这种架构对黑灰产确实非常好但工具只是工具,是好是坏要看人怎么使用它

是浏览器端和你本机建立了 wg 通道吗?请求所有网站都可以不用 cookie 吗?可以大麦抢票吗

如果我没理解错的话,这个实现的是挺厉害的,只是应用场景非常受限。从功能上说,相当于被注入的页面向外提供 http 代理,该代理会复用浏览器环境,也就继承了相关 cookies 。使用这个方案,相比基于 webdriver/cdp 的方式,可以省去提取 cookies 、模拟登录的过程,通过人工在图形界面上操作一次即可。比较容易想到的局限在于:- 网站有多处或者基于访问频率的人机检测,就需要大量人工介入(甚至难以介入,因为通过代理触发的人机检测并不会显示在浏览器界面上)- 目标接口需要额外访问参数,一般反爬措施都会利用 vmp 混淆 js 代码来生成可以被服务器后端验证的动态参数如果我说错了还请 OP 指正一下,因为我确实想不到更好的应用场景了。

#26 你这么一解释我懂了, 就相当于软件逆向时注入进程了, 通过代理,可以使用网页当前所有的资源和权限。 那这个应用场景也很大啊, 特别是基于当前网页做一些功能增强,逆向啥的, 非常适合搞灰产。

可以考虑走 chrome remote debugging 的方式哈,比如 DrissionPage 这个库~

#28 好家伙,这个关键字往 Google 一丢,4 个赞助商广告,第 5 个才是 Github

正常呀,因为这个方式好用而且很多人不知道哇,基本上没有指纹,秒过各大防御,API 也是 chrome 原生 API ,至于 DrissionPage 这个 py 库嘛也是一股清流,文档写的真好

是的,就是这样(您说的好清晰呀)。基于访问频率的检测确实难过,目前是降低访问频率避免触发初始的应用场景是通过浏览器向其他人提供服务,如 p2p 文件共享,p2p 聊天,p2p 游戏联机

基本上没有指纹 这个不太理解哎, fonts / canvas / audio 这些常见的指纹 DrissionPage 不还是固定的吗?

屌的,看来 WebRTC 能实现不少神奇效果

#30 🤩 看了一会儿,暂时没有使用场景,先收藏

我之前也做过一个类似的浏览器爬虫。。。

实现方式不一样,使用方式不一样,都是基于浏览器的

#26 这个应该等同于把浏览器里的 fetch 通过 rpc 暴露出来,简单点实现几十行代码都不用。其实意义不大,浏览器本身就可以通过 api 控制,那些 abuse as a service 厂商搞的花活比这恶心多了。

很叼,一看就是专业的。这个场景肯定是。。。

没明白什么优势,如果是浏览器环境,那个也没有处理浏览器指纹呀,直接用 playwright/puppeteer 不就直接完了?反正都是需要处理指纹和特征的。怎么说呢,小白用不了,大佬没必要用。。。小项目用不上,大项目也用不了。。

指的是没有那些特殊的自动化浏览器的特征

这玩意儿和 github.com/chromedp/chromedp 有什么优势。。

chromedp 可以实现全自动/半自动爬虫,cookie 等行为也可以持久化,配合自己写个 proxy 还可以秒切代理。

肉鸡的浏览器挂上这个脚本暴露出 http proxy server ;hacker 通过这个 proxy 直接拿着 cookie 请求,相当于实现了 csrf🤣既然都注入了,直接加上 eval 远程执行代码,不更好玩吗
#28 DrissionPage 真不错

github.com/ultrafunkamsterdam/undetected-chromedriver

了解了 谢谢大佬

又学到了一个新东西 感谢大佬