Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

官方脚本运行出错!! #132

Closed
proxysu opened this issue Sep 24, 2020 · 31 comments · Fixed by #137
Closed

官方脚本运行出错!! #132

proxysu opened this issue Sep 24, 2020 · 31 comments · Fixed by #137

Comments

@proxysu
Copy link

proxysu commented Sep 24, 2020

脚本运行出错!
提示出下:

 curl -LROJ https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.               sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 19253  100 19253    0     0  1446k      0 --:--:-- --:--:-- --:--:-- 1446k

 bash install-release.sh

info: Installing V2Ray v4.28.2 for x86_64
Downloading V2Ray archive: https://github.com/v2fly/v2ray-core/releases/download/v4.28.2/v2ray-linux-64.zi               p
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   644  100   644    0     0   3425      0 --:--:-- --:--:-- --:--:--  3425
Downloading verification file for V2Ray archive: https://github.com/v2fly/v2ray-core/releases/download/v4.               28.2/v2ray-linux-64.zip.dgst
error: Check failed! Please check your network or try again.
removed: /tmp/tmp.h5Q5sNmkC8

已经有多人反馈这个问题。应该不是vps网络的原因。
我自己在vultr的debian10上也出现这个问题。

@ghost
Copy link

ghost commented Sep 24, 2020

+1

@Butterflyflower
Copy link

@DuckSoft
Copy link
Member

不能复现。是不是已经修复了?

@ghost
Copy link

ghost commented Sep 24, 2020

不能复现。是不是已经修复了?

暂时修复了 #134

@IceCodeNew
Copy link
Collaborator

不好意思,这里应该是我的失误,但是 #131 我其实花了两个小时才确认合并的,这段时间里我在自己机器上通过传递 -f 参数做了测试,也许是我应该在更老旧的系统上模拟试试。
你的错误信息复制的不完整,我这边看不到是哪里出错。

@Loyalsoldier
Copy link
Contributor

应该是 GitHub 某些域名不支持 HTTP2

@kslr
Copy link
Contributor

kslr commented Sep 24, 2020

老实说,不是让自动协商,而是指定 tls 和 http2 是个很差的注意。但这个问题是因为缺少了跟随 302 的参数

@IceCodeNew
Copy link
Collaborator

应该是 GitHub 某些域名不支持 HTTP2

不是这样的,--http2 参数在目标主机不支持 H2 时会回退 HTTP1.1,--tlsv1.2 也是一样的,对非 tls 站会回退。

@IceCodeNew
Copy link
Collaborator

IceCodeNew commented Sep 24, 2020

老实说,不是让自动协商,而是指定 tls 和 http2 是个很差的注意。

我其实正有考虑把那两个选项去掉,因为我觉得会不会是用户 curl 版本太旧不支持这个选项。

但这个问题是因为缺少了跟随 302 的参数

alias 里面有 -L 参数会跟随重定向。

@proxysu
Copy link
Author

proxysu commented Sep 24, 2020

不好意思,这里应该是我的失误,但是 #131 我其实花了两个小时才确认合并的,这段时间里我在自己机器上通过传递 -f 参数做了测试,也许是我应该在更老旧的系统上模拟试试。
你的错误信息复制的不完整,我这边看不到是哪里出错。

刚才在v2fly群里,我对比了一下改动的地方,是在第一次改动时,出错的。改动对比在这里:
098244b#diff-74d43de9dd70a69c6a6717b91d6fd1f6

@IceCodeNew
Copy link
Collaborator

不好意思,这里应该是我的失误,但是 #131 我其实花了两个小时才确认合并的,这段时间里我在自己机器上通过传递 -f 参数做了测试,也许是我应该在更老旧的系统上模拟试试。
你的错误信息复制的不完整,我这边看不到是哪里出错。

刚才在v2fly群里,我对比了一下改动的地方,是在第一次改动时,出错的。改动对比在这里:
098244b#diff-74d43de9dd70a69c6a6717b91d6fd1f6

谢谢,这个证实了我上面的猜测。虽然不是铁证,但我会试试按照上面的方法能不能解决问题,就是不知道抓谁来做实验才算数。

@kslr
Copy link
Contributor

kslr commented Sep 24, 2020

应该是 GitHub 某些域名不支持 HTTP2

不是这样的,--http2 参数在目标主机不支持 H2 时会回退 HTTP1.1,--tlsv1.2 也是一样的,对非 tls 站会回退。

在 man curl 中可以得到不同情况下的工作状态; 那么是不是因为少了 header accept

@ghost
Copy link

ghost commented Sep 24, 2020

我其实正有考虑把那两个选项去掉,因为我觉得会不会是用户 curl 版本太旧不支持这个选项。

我的机器也出现了这个问题,我的系统版本是ubuntu 20.10 curl也是最新的,应该不是版本太旧的原因

@Yuk1n0
Copy link

Yuk1n0 commented Sep 24, 2020

在安装脚本第30行:

alias curl='"curl" --retry 5 --retry-delay 10 --retry-max-time 60 --false-start --http2 --tlsv1.2 -L'

之上添加一行:

shopt -s expand_aliases

似乎就可以正常使用了?

@moonerick
Copy link

moonerick commented Sep 24, 2020

$ sudo bash install-release.sh
info: Installing V2Ray v4.28.2 for x86_64
Downloading V2Ray archive: https://github.com/v2fly/v2ray-core/releases/download/v4.28.2/v
2ray-linux-64.zip
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 644 100 644 0 0 16100 0 --:--:-- --:--:-- --:--:-- 16100
Downloading verification file for V2Ray archive: https://github.com/v2fly/v2ray-core/relea
ses/download/v4.28.2/v2ray-linux-64.zip.dgst
error: Check failed! Please check your network or try again.
removed: /tmp/tmp.xWhO0Ob45z

Lightsail debian 10 美国东部

@IceCodeNew
Copy link
Collaborator

应该是 GitHub 某些域名不支持 HTTP2

不是这样的,--http2 参数在目标主机不支持 H2 时会回退 HTTP1.1,--tlsv1.2 也是一样的,对非 tls 站会回退。

在 man curl 中可以得到不同情况下的工作状态; 那么是不是因为少了 header accept

你的评论结合 #132 (comment) 来看也很有道理,但是我删掉的那个指示接受内容类型的 header 用在下载压缩包上似乎不合适。

@kslr
Copy link
Contributor

kslr commented Sep 24, 2020

应该是 GitHub 某些域名不支持 HTTP2

不是这样的,--http2 参数在目标主机不支持 H2 时会回退 HTTP1.1,--tlsv1.2 也是一样的,对非 tls 站会回退。

在 man curl 中可以得到不同情况下的工作状态; 那么是不是因为少了 header accept

你的评论结合 #132 (comment) 来看也很有道理,但是我删掉的那个指示接受内容类型的 header 用在下载压缩包上似乎不合适。

那个是有历史原因的,以前没有这个有时候就会偶尔返回 404

@IceCodeNew
Copy link
Collaborator

IceCodeNew commented Sep 24, 2020

那个是有历史原因的,以前没有这个有时候就会偶尔返回 404

我知道你说的是 上游的那个 issue,但是那是在请求 GitHub api 时的错误。
我对所有请求 api.github.com 的地方都加上了那个 header,#131 只是在下载压缩包的那条命令上单独删掉了那个 header,因为下载压缩包请求的不是 GitHub api。

IceCodeNew added a commit to IceCodeNew/fhs-install-v2ray that referenced this issue Sep 24, 2020
Try to fix v2fly#132.
> `-q`: Disable .curlrc
> `-#`: Display transfer progress as a bar
@IceCodeNew
Copy link
Collaborator

IceCodeNew commented Sep 24, 2020

等下,先别测试,我知道真正的问题可能在哪儿了:
https://unix.stackexchange.com/a/158040

@Yuk1n0 走在正确的思路上了。

IceCodeNew added a commit to IceCodeNew/fhs-install-v2ray that referenced this issue Sep 24, 2020
Try to fix v2fly#132.
> `-q`: Disable .curlrc
> `-#`: Display transfer progress as a bar
@IceCodeNew
Copy link
Collaborator

@proxysu @kirin10000 @Butterflyflower @moonerick @Yuk1n0 方便测试下 develop 分支的最新提交吗?

@ghost
Copy link

ghost commented Sep 24, 2020

@proxysu @kirin10000 @Butterflyflower @moonerick @Yuk1n0 方便测试下 develop 分支的最新提交吗?

失败,无穷递归了,killed

root@VM-0-15-ubuntu:~# bash install-release.sh
Killed

@IceCodeNew
Copy link
Collaborator

@proxysu @kirin10000 @Butterflyflower @moonerick @Yuk1n0 方便测试下 develop 分支的最新提交吗?

失败,无穷递归了,killed

嗯。是的,我也发现了。我正在想实在不行就不在脚本里设置 alias 了,这个坑太大了。

IceCodeNew added a commit to IceCodeNew/fhs-install-v2ray that referenced this issue Sep 24, 2020
Try to fix v2fly#132.
> `-q`: Disable .curlrc
> `-#`: Display transfer progress as a bar
@IceCodeNew
Copy link
Collaborator

@kirin10000 再试试呢?这回我本地测试已经通过了

@ghost
Copy link

ghost commented Sep 24, 2020

@kirin10000 再试试呢?这回我本地测试已经通过了

@IceCodeNew 测试通过了

@IceCodeNew
Copy link
Collaborator

image
这两种风格不知道你们倾向于哪种?

@ghost
Copy link

ghost commented Sep 24, 2020

@kirin10000 再试试呢?这回我本地测试已经通过了

进度条显示貌似有点问题

root@VM-0-15-ubuntu:~# bash install-release.sh
info: Installing V2Ray v4.28.2 for x86_64
Downloading V2Ray archive: https://github.com/v2fly/v2ray-core/releases/download/v4.28.2/v2ray-linux-64.zip
############################################################################################################################# 100.0%############################################################################################################################# 100.0%
Downloading verification file for V2Ray archive: https://github.com/v2fly/v2ray-core/releases/download/v4.28.2/v2ray-linux-64.zip.dgst
info: Extract the V2Ray package to /tmp/tmp.v60WeL6245 and prepare it for installation.
~~~~~~~~~~~~~~~~ /etc/systemd/system/v2ray.service.d/10-donot_touch_single_conf ~~~~~~~~~~~~~~~~

第二个进度条不应该在

Downloading verification file for V2Ray archive: https://github.com/v2fly/v2ray-core/releases/download/v4.28.2/v2ray-linux-64.zip.dgst

的下面吗?

@IceCodeNew
Copy link
Collaborator

@kirin10000 再试试呢?这回我本地测试已经通过了

进度条显示貌似有点问题

第二个进度条不应该在

Downloading verification file for V2Ray archive: https://github.com/v2fly/v2ray-core/releases/download/v4.28.2/v2ray-linux-64.zip.dgst

的下面吗?

这是你误会了,实际显示下载进度的只有压缩包一个,dgst(也就是校验数据)因为太小了所以不太可能卡住太久,我没有让下载校验数据时也显示下载进度。
所以你看到的是两个进度条,其实第一个是重定向的进度条,也就是 curl 拿到真正的、最后的下载地址这个过程,达到 100%。
然后再用第二个进度条,显示从实际的下载地址下载的进度。

@ghost
Copy link

ghost commented Sep 24, 2020

image
这两种风格不知道你们倾向于哪种?

都能接受,第二种显示的信息更多,但是第一种更帅一点

@ghost
Copy link

ghost commented Sep 24, 2020

这是你误会了,实际显示下载进度的只有压缩包一个,dgst(也就是校验数据)因为太小了所以不太可能卡住太久,我没有让下载校验数据时也显示下载进度。
所以你看到的是两个进度条,其实第一个是重定向的进度条,也就是 curl 拿到真正的、最后的下载地址这个过程,达到 100%。
然后再用第二个进度条,显示从实际的下载地址下载的进度。

所噶

@Yuk1n0
Copy link

Yuk1n0 commented Sep 24, 2020

我测试了一下,在某些Linux发行版(比如Debian 10)提供的curl版本中,--false-start似乎是不可使用的

会报错误:curl: (4) A requested feature, protocol or option was not found built-in in this libcurl due to a build-time decision.

IceCodeNew added a commit to IceCodeNew/fhs-install-v2ray that referenced this issue Sep 24, 2020
Try to fix v2fly#132.
> `-q`: Disable .curlrc
> `-L`: Follow redirects
> `--false-start`: Enable TLS False Start
> `--http2`: Use HTTP 2
> `--tlsv1.2`: Use TLSv1.2 or greater
@IceCodeNew
Copy link
Collaborator

我测试了一下,在某些Linux发行版(比如Debian 10)提供的curl版本中,--false-start似乎是不可使用的

会报错误:curl: (4) A requested feature, protocol or option was not found built-in in this libcurl due to a build-time decision.

感谢你的提醒,我正在用 force-push 修复这个问题。
造成这个问题的根本原因在于引擎的不同,而我以为至少所有系统通过包管理安装的 curl 都应该是用 OpenSSL 做引擎的……但看来是我想当然。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants