Closed godevpy closed 5 years ago
要完成会非常快的完成的, Remote deploy scripts is started !!
之后,
立即会有其他信息出来, 这个可能是程序的 bug, 如果部署前, 你连接不上
Github, 也可能有类似问题, 需要更多的调试信息.
$ sh -x ./ss+dnsmasq+dnscrypt admin@192.168.50.1
请将调试信息贴上来.
我也碰到了同样的问题。使用的是UDPRelay的方式。 路由器型号:AC-86U,电脑系统是Ubuntu16.04 LTS 64bits。entware_setup.sh的时候,选择32位和64位,都会停下 udprelay.log
命令行: sh -x ./ss+dnsmasq+udprelay brotherpeng@192.168.50.1 2>&1 |tee udprelay.log 结果:
如果猜的没错, @itacajsj 用的也是 Ubuntu.
请执行下面的命令检测 /bin/sh 符号连接指向了什么.
$: ls -l $(which sh)
lrwxrwxrwx 1 root root 4 2018-06-04 16:54 /usr/sbin/sh -> bash*
期望的输出是 bash, 但是你们用的有可能是 dash, 怀疑当前 shell 内置的 eval 是 dash 版本的 eval, 不支持某些写法.
这个问题应该可以改善, 但是目前没有时间.
之前确实是bash,使用sudo dpkg-reconfigure dash,选择No,然后改成了bash: lrwxrwxrwx 1 root root 4 12月 4 06:06 /bin/sh -> bash 然后执行的时候到了这个地方不动了: ++ cat ss+dnsmasq+udprelay ++ extract_remote_script deploy_start ++ awk '/^[[:space:]]*deploy_start/,EOF' ++ tail -n +2
在路由器上,安装包的情况如下:
Package bash (4.4.18-2) installed in root is up to date. Package perl (5.28.0-1) installed in root is up to date.
下面的命令工作吗? 如果不工作, 换不是 5g 的连接试试.
$: ssh brotherpeng@192.168.50.1
这个命令工作。如果后面跟得是这种东西
ssh brotherpeng@192.168.50.1 'cat /proc/cpuinfo'
那么会直接在terminal里面显示出cpu信息。
先登陆到路由器后台,再运行bash --version,也没问题,返回的版本是4.4.2
只是连着走的时候不往下走了。
有没有什么可以绕开这个的方法?比如说我把需要在路由器上安装的包都预先安装上(应该从deploy_start.sh和外层脚本上能看到全部的依赖包吧?),然后本地修改脚本,去掉ssh $target_device "..."这部分,并且在外层脚本的第二行改为self=source local_deploy_start.sh
&& eval "$self",是不是也可以尝试?
ssh admin@192.168.50.1 'bash --version'
试试看.还不行的话, 下载下来下面的文件, 移除指定行最后的 &>/dev/null
https://github.com/zw963/deployment_bash/blob/master/deploy_start.sh#L42
然后修改 ss+dnsmasq+udprelay
, 使用本地的 deploy_start.sh, 看看什么错误,
参考 ss+dnsmasq+dnscrypt
.
查看了一下路由器上的bash信息: 默认的是这个:/bin/bash ---->busybox,不支持--version这种参数,所以会不返回任何东西 如果显式指定为/opt/bin/bash,则支持--version这个参数,返回值是255。 你的路由器上也是这样的bash配置么?还是通过更改PATH中的路径顺序将entware下面的改为默认值呢?
请将下面的代码中的 0.4.6 改为 0.4.7 再试一下.
self="$(curl -sS https://raw.githubusercontent.com/zw963/deployment_bash/v0.4.6/deploy_start.sh)" && eval "$self"
添加 shadowsocks.json 和 dnscrypt-proxy.sh 后 执行
./ss+dnsmasq+dnscrypt admin@192.168.50.1
复制完文件后就卡死,一直等到第二天 ctrl + c 取消后 显示 Remote deploy scripts is started !!
输出如下:
➜ asuswrt-merlin-transparent-proxy git:(master) ./ss+dnsmasq+dnscrypt admin@192.168.50.1 dnscrypt-proxy.sh 100% 264 215.4KB/s 00:00
foreign_domains.conf 100% 34 29.3KB/s 00:00
iptables.sh 100% 5920 2.8MB/s 00:00
toggle_proxy.sh 100% 1645 2.0MB/s 00:00
switch_proxy.sh 100% 513 339.2KB/s 00:00
patch_router 100% 3642 2.3MB/s 00:00
restart_dnsmasq 100% 84 68.3KB/s 00:00
localips 100% 265 210.9KB/s 00:00
update_ip_whitelist 100% 623 413.6KB/s 00:00
update_dns_whitelist 100% 538 440.2KB/s 00:00
shadowsocks.json 100% 199 167.5KB/s 00:00
^C*** Remote deploy scripts is started !!