站点图标 谷姐靓号网

【已更新】用docker运行Android web版远程桌面,浏览器访问-emptysuns

Rate this post

书接上贴
https://hostloc.com/thread-1065193-1-1.html

Demo:

教程: https://blog.imoeq.com/scrcpy-run-a-android-web-page/

更新:argo tunnel + workers授权方法,感谢ChenYFan https://hostloc.com/forum.php?mod=viewthread&tid=1069535

热议
推荐楼 mmc199 7天前

想法有点深远

在手机浏览器不能像电脑一样用直接点到屏幕操作,需要一个模拟鼠标指针的apkmouse-cursor-touchpad, git上的scrcpy-web说是支持多点触控的,但是我没有成功。
https://m.apkpure.com/mouse-cursor-touchpad/com.alwys.visiblemosue/amp

碧蓝航线会闪退,lolm不会 ,等mjj解决

进出游戏cpu都没有400%占满过,而且这个远控非常的节约带宽,动态画面效率和rdp一样高。
比我笔记本跑个模拟器挂机对电脑友好多了




推荐楼 华盛顿 2022-8-30 23:42:43

不应该啊,adb都连上了,你试试把127.0.0.1去掉,直接不通过nginx直接访问http://ip:48000呢 ...

经过多次尝试,上边所述的问题,已经解决了,

就是在你的第二篇文章,“启动redroid容器”,里的启动参数,增加一条你第一篇文章里的启动容器参数,“redroid.gpu.mode=guest \”,然后就正常了,打开网页有了安卓界面,

===============

然后现在又有一个问题,

在第二篇文章里,启动的容器是“redroid/redroid:8.1.0-latest”,安卓8.0,

怎么才能把网页端的安卓,换成你第一篇文章里的安卓13呢,

我看你的demo动图里就是13,但是代码里是8.1.0,

我把“redroid/redroid:8.1.0-latest”,改成,“redroid/redroid:13.0.0-latest”,后,

运行“用docker运行scrcpy-ws获得web端”的代码,

总是报下图的错,

推荐楼 mmc199 前天15:17

没有...我根据
https://github.com/yume-chan/ya-webadb/issues/349
设置了下chrome,生成app,并不能显 ...

chrome 可能已关掉了这个功能 ,我用QQ浏览器成功了,因为qq浏览器官网现在是chromium版本94的
右键创建快捷方式,在程序后面空格 加上这些参数,就能看到Direct Sockets TCP 了,ADB over WiFi 那栏是先给本地usb链接使用的,因为安卓11以下开发者模式里没有开启wifi调试的选项,但是通过命令可以打开。如果是帖子里的redroid不用管,因为已经是打开的了。

--enable-features=DirectSockets --restricted-api-origins=https://ya-webadb.vercel.app

远程连接redroid时,一定要打开Use forward connection,不然会报下面两个错误

如果连本地手机都报Unable to claim interface. ,那是因为用scrcpy1.24或者其他工具时本地有驻留的adb进程把扫描手机已经占用了,需要任务管理器先关掉adb的后台。

推荐楼 mmc199 5天前

具体得升到几呀,
之前是1.8.4,

先别开硬解,我13开硬解也报你这个错误了,而且给我iptables损坏了,,而且给我ashmem_linux,binderfs模块删没了,害我重新dd了系统,软解目前只有9不行,9加了软解参数,logcat看它还是在连硬解,导致错误,adb连不上

推荐楼 yailone1 2022-8-29 20:12:13

强。几百台手机刷快手的时代过去了吗

推荐楼 yanzhiling2002 2022-8-29 20:04:34

不错,马上安排抄袭。

4楼 ncnc 2022-8-29 20:14:21

不卡吗 还能打王者 原神行吗

5楼 emptysuns 2022-8-29 20:19:20

不卡吗 还能打王者 原神行吗

有人试过lolm,挂机可以,竞技**别想了
远端连接桌面有延迟,可以当远控

6楼 ecs 2022-8-29 20:27:54

能行是能行,但是根本不好用。

7楼 huanx 2022-8-29 20:30:18

有人试过lolm,挂机可以,竞技**别想了
远端连接桌面有延迟,可以当远控 ...

想法有点深远

8楼 271308568 2022-8-30 08:59:26

有人愿意5元借我玩一个小时吗?只是想跑下程序能不能正常使用

9楼 Alt 2022-8-30 10:14:04

楼主的干货太棒,墙裂精神上支持!!!

10楼 华盛顿 2022-8-30 17:08:09

大佬求教,

完全按照教程,一步一步的走,

但是总是也出不来效果,
如图所示,打开之后是一片空白,并不显示图形化的安卓界面,

从昨晚弄到现在,重复弄了很多遍了,每次都是这样,,

由于不会单独安装nginx,我都是用宝塔,或者lnmp来安装nginx,两个环境都试过,

走的步骤都是复制的你的代码,只有nginx的配置你那只是个例子,没有完整的复制,

不知道是哪里的错,,

nginx配置

map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
upstream websocket {
server 127.0.0.1:48000;
}

server
{
listen 443 ssl http2;
#listen [::]:443 ssl http2;
server_name anzhuo.xyz ;
auth_basic "Please input password:";
auth_basic_user_file /home/.htpasswd;
index index.html index.htm index.php default.html default.htm default.php;
root/home/wwwroot/a;

ssl_certificate /usr/local/nginx/conf/ssl/anzhuo.xyz/fullchain.cer;
ssl_certificate_key /usr/local/nginx/conf/ssl/anzhuo.xyz/anzhuo.xyz.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers "TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
ssl_session_cache builtin:1000 shared:SSL:10m;
# openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048
ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem;

include rewrite/none.conf;
#error_page 404 /404.html;

# Deny access to PHP files in specific directory
#location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

include enable-php.conf;

location / {

add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
if ($request_method = 'OPTIONS') {
return 204;
}
proxy_pass http://websocket;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}

access_log off;
}

12楼 华盛顿 2022-8-30 17:20:09

参考第一篇文章,先看看不用web能不能通过本地adb出来画面

昨晚按照第一篇文章,本地出来画面了,

然后DD了系统,又按照第二篇文章,尝试的,打开网页就是空白,出不来,
然后又D了很多次系统 尝试,web页面一直都是这样

13楼 qqcool8 2022-8-30 17:34:25

mark一下

14楼 emptysuns 2022-8-30 17:58:51

昨晚按照第一篇文章,本地出来画面了,

然后DD了系统,又按照第二篇文章,尝试的,打开网页就是空白,出 ...

不应该啊,adb都连上了,你试试把127.0.0.1去掉,直接不通过nginx直接访问http://ip:48000呢

15楼 华盛顿 2022-8-30 18:31:41

不应该啊,adb都连上了,你试试把127.0.0.1去掉,直接不通过nginx直接访问http://ip:48000呢 ...

试了一下,直接IP:48000访问也不行,
同样是空白页面,

前边的这些步骤都是直接复制的你的代码,

搞不懂哪里出错了,难道是因为我DD的纯净系统,

下图这里也是正常的,

16楼 mmc199 2022-8-30 23:12:02

大佬,突然想起来,是不是手机浏览器打开不支持触屏。想手机用还得外接鼠标

17楼 lightout 2022-8-30 23:28:41

mmc199 发表于 2022-8-30 23:12
大佬,突然想起来,是不是手机浏览器打开不支持触屏。想手机用还得外接鼠标 ...

支持触屏

18楼 皮皮大仙 2022-8-30 23:28:50

大佬能做一个包含所有的docker 嘛?run了就能打开web进安卓系统的那种(白**党不好意思的低下了头)

19楼 华盛顿 2022-8-30 23:42:43

不应该啊,adb都连上了,你试试把127.0.0.1去掉,直接不通过nginx直接访问http://ip:48000呢 ...

经过多次尝试,上边所述的问题,已经解决了,

就是在你的第二篇文章,“启动redroid容器”,里的启动参数,增加一条你第一篇文章里的启动容器参数,“redroid.gpu.mode=guest \”,然后就正常了,打开网页有了安卓界面,

===============

然后现在又有一个问题,

在第二篇文章里,启动的容器是“redroid/redroid:8.1.0-latest”,安卓8.0,

怎么才能把网页端的安卓,换成你第一篇文章里的安卓13呢,

我看你的demo动图里就是13,但是代码里是8.1.0,

我把“redroid/redroid:8.1.0-latest”,改成,“redroid/redroid:13.0.0-latest”,后,

运行“用docker运行scrcpy-ws获得web端”的代码,

总是报下图的错,

20楼 emptysuns 7天前

经过多次尝试,上边所述的问题,已经解决了,

就是在你的第二篇文章,“启动redroid容器”,里的启动参 ...

看着是iptables有问题了,你要是不会解决直接推倒重来一遍

22楼 华盛顿 7天前

看着是iptables有问题了,你要是不会解决直接推倒重来一遍

解决不了 ,
就这几个步骤,复制过来复制过去,只要换成13,就报错,过不去,

你demo里的13是怎么装的,就是“redroid/redroid:13.0.0-latest”这样就行了嘛

23楼 mmc199 7天前

解决不了 ,
就这几个步骤,复制过来复制过去,只要换成13,就报错,过不去,

你上个开了没结束,已经把48000端口占了吧,你需要换一个端口?

24楼 华盛顿 7天前

你上个开了没结束,已经把48000端口占了吧,你需要换一个端口?

不是的,并没有占端口,

就算换成其他端口,也一样报这个错,

反正这个网页端的,8.0就是没法换成“redroid/redroid:13.0.0-latest”,换了就报错

25楼 mmc199 7天前

想法有点深远

在手机浏览器不能像电脑一样用直接点到屏幕操作,需要一个模拟鼠标指针的apkmouse-cursor-touchpad, git上的scrcpy-web说是支持多点触控的,但是我没有成功。
https://m.apkpure.com/mouse-cursor-touchpad/com.alwys.visiblemosue/amp

碧蓝航线会闪退,lolm不会 ,等mjj解决

进出游戏cpu都没有400%占满过,而且这个远控非常的节约带宽,动态画面效率和rdp一样高。
比我笔记本跑个模拟器挂机对电脑友好多了




26楼 logo 7天前

先mark再看

27楼 flyqie 7天前

之前我看一些群控,直接改rom,改scrpy,在里面增加了tcp链接。好像新版scrpy可以支持tcp远程链接而不用连 ...

不一定必须scrpy,这种一般都是自己开发,加自定义功能比较方便。

改rom是必须的操作,总得写hal和加自定义配置吧?

AOSP真想搞项目的话肯定得改动代码。

28楼 huang1dede 7天前

挂极速版赚金币不错。。。。。。。。。搞搞搞

29楼 qaz0a9 7天前

解决不了 ,
就这几个步骤,复制过来复制过去,只要换成13,就报错,过不去,

sudo rm -r /root/test/data
我是这个操作一下,再运行就可以

30楼 玉藻前 7天前

感谢大佬分享。
最近用的https://app.webadb.com/scrcpy,webadb。就是不知道为啥只能usb投屏,还在研究怎么远程来着,就刷到这贴

32楼 emptysuns 7天前

Myan 发表于 2022-8-30 19:29
博客怎么这么卡的?挖矿了么?

¯\_〳 •̀ o •́ 〵_/¯这个主题特效拉满就这样,你换成5950x就不卡了(乐),都什么年代了还整网页挖矿呢,费劲写文章的时间还没有我摸鱼赚的多呢,没必要嵌挖矿,再说也没几个人看能挣几个米。

33楼 xhcj666 7天前

ios有adb的客户端吗?

34楼 华盛顿 7天前

求教楼主,Demo里的web版安卓13是怎么整的呀,

我把教程里,安卓8的代码,换成安卓13,

然后再执行,scrcpy-ws,的代码,

就会报下边这个错,
无论试多少次都是这样,
每次都DD全新的系统,应该不是系统环境和端口占用的问题,
8虽然能运行,但毕竟版本老了,

35楼 emptysuns 7天前

求教楼主,Demo里的web版安卓13是怎么整的呀,

我把教程里,安卓8的代码,换成安卓13,

错误信息很清楚啊,你的iptables版本太低无法识别--dport参数,导致docker无法自动配置防火墙....

36楼 Mr.lin 7天前

牛逼

37楼 华盛顿 7天前

错误信息很清楚啊,你的iptables版本太低无法识别--dport参数,导致docker无法自动配置防火墙.... ...

具体得升到几呀,
之前是1.8.4,

搞到1.8.7,还是这个错误,

docker0: iptables v1.8.7 (nf_tables): unknown option "--dport"

这133个 Pulls,估计有一半,都是我 Pull 的 ,

38楼 happy61 7天前

不一定必须scrpy,这种一般都是自己开发,加自定义功能比较方便。

改rom是必须的操作,总得写hal和加自 ...

嗯,只是我看他解包的确是把scrpy的搭进去了。在开机的时候,用root权限启动scrpy代替adb启动

39楼 buspotato 7天前

还是真机更好吧

40楼 zhongziso 7天前

mark

42楼 laoxong 6天前

经过多次尝试,上边所述的问题,已经解决了,

就是在你的第二篇文章,“启动redroid容器”,里的启动参 ...

Iptables 的问题
重启下Docker 和 Iptables试试

43楼 小旭 6天前

强。几百台手机刷快手的时代过去了吗

UCLOUD已经做出来 TK批量养号

44楼 华盛顿 5天前

我跟你一样的问题,我用的12也不行,你后来解决了吗?

没有解决,

也不知道楼主demo里的13是怎么运行起来的

45楼 小二的cat 5天前


你这网站真顶不住啊,直接把我这核显干满了

46楼 嘉然今天吃什么 5天前

你这个博客太哈人了。我10900K@5.0G CPU干到70%

47楼 我是傻瓜 5天前

X86可以使用吗

48楼 voysup 5天前

你这个博客太哈人了。我 CPU干到70%

哈哈这个主题是这样的就是作者故意搞人的

49楼 mmc199 5天前

感谢大佬分享。
最近用的https://app.webadb.com/scrcpy,webadb。就是不知道为啥只能usb投屏,还在 ...

请问web远程的搞懂了么,我想借助这个网站在手机上触屏使用

50楼 voysup 5天前

X86可以使用吗

52楼 我是傻瓜 5天前

arm都可以 更别说X86了

看了,现在市面上的安卓app x86的太少了

53楼 小二的cat 5天前

离谱了,先安装了安卓8,试了一下,再安装安卓13,发现adb安装的via在桌面不显示,然后再安装安卓8,发现自带的webview和自己安装的via都不能访问网络了,再安装安卓13又可以正常访问网络,每次都清掉了data文件夹的

54楼 小二的cat 5天前

离谱了,先安装了安卓8,试了一下,再安装安卓13,发现adb安装的via在桌面不显示,然后再安装安卓8,发现自 ...

原来安卓13是要向上滑一下打开应用抽屉,真出鬼了,不知道为什么再安卓8无法连接网络了

55楼 玉藻前 5天前

请问web远程的搞懂了么,我想借助这个网站在手机上触屏使用

没有...我根据
https://github.com/yume-chan/ya-webadb/issues/349
设置了下chrome,生成app,并不能显示tcp链接的按钮...
甚至网页都没**常显示了

56楼 乌拉擦 4天前


404不知什么原因

57楼 mmc199 前天15:17

没有...我根据
https://github.com/yume-chan/ya-webadb/issues/349
设置了下chrome,生成app,并不能显 ...

chrome 可能已关掉了这个功能 ,我用QQ浏览器成功了,因为qq浏览器官网现在是chromium版本94的
右键创建快捷方式,在程序后面空格 加上这些参数,就能看到Direct Sockets TCP 了,ADB over WiFi 那栏是先给本地usb链接使用的,因为安卓11以下开发者模式里没有开启wifi调试的选项,但是通过命令可以打开。如果是帖子里的redroid不用管,因为已经是打开的了。

--enable-features=DirectSockets --restricted-api-origins=https://ya-webadb.vercel.app

远程连接redroid时,一定要打开Use forward connection,不然会报下面两个错误

如果连本地手机都报Unable to claim interface. ,那是因为用scrcpy1.24或者其他工具时本地有驻留的adb进程把扫描手机已经占用了,需要任务管理器先关掉adb的后台。

58楼 mmc199 前天16:20

不是的,并没有占端口,

就算换成其他端口,也一样报这个错,

如果已经报了 iptables v1.8.4 (legacy):-j DNAT unknown option "--to-destination" 错误,是直接开了安卓13导致了内核错误,只能先reboot。reboot即可恢复正常状态。
我多次尝试发现,运行安卓13的必须先运行一遍安卓8.1。不然100%触发这个bug,先安卓8.1再开13就一切正常。注意8.1和13的映射的data文件夹要分开,不然运行后会导致8.1没网,或者scrcpy无法访问软解显卡web屏幕页空白。

安卓9的包加软解参数,docker的sh里的logcat里看还是在尝试连硬解显卡,导致报错adb连不上。

docker: Error response from daemon: driver failed programming external connectivity on endpoint scrcpy-web (7b755240ca7231d006456cdd8b399faec61e23fe54b439987afcbd604d0783ed):(iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 48000 -j DNAT --to-destination 172.17.0.3:8000 ! -i docker0: iptables v1.8.4 (legacy): unknown option "--to-destination"
Try `iptables -h' or 'iptables --help' for more information.
(exit status 2)).

重安内核和iptables或ufw可用下面命令(不必要,reboot后,先运行8.1再运行13就不会报错。)
apt reinstall ufw
apt reinstall iptables
apt reinstall linux-image-`uname -r`
apt reinstall linux-headers-`uname -r`
apt reinstall linux-modules-`uname -r`
apt reinstall linux-modules-extra-`uname -r`

59楼 ecs 半小时前

这个其实跟anbox一个技术,都是用了增强的andriod版本的qemu和opengl加速技术,所以会如此高效可用,别的系统不能用,只能安卓用。

申明:本文内容由网友收集分享,仅供学习参考使用。如文中内容侵犯到您的利益,请在文章下方留言,本站会第一时间进行处理。

退出移动版