Skip to content

Commit e12b314

Browse files
committed
optimization webssh sz
1 parent 6ba0f20 commit e12b314

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -299,6 +299,9 @@ systemctl start nginx
299299

300300

301301
# 升级日志
302+
### ver2.2.3
303+
修复部分 linux 发行版 webssh 使用 sz 无法连续下载文件的问题;
304+
302305
### ver2.2.2
303306
优化 supervisord 日志输出配置;
304307

apps/webssh/ssh.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -184,15 +184,19 @@ def websocket_to_django(self):
184184
try:
185185
while 1:
186186
if self.zmodemOO:
187+
# 部分 lrzsz 版本(如 0.12.21rc),在 sz 结束后不会发送 b'OO',这样会导致
188+
# 前端 zmodemjs 库认为 sz 下载未结束,故根据情况需要手动发送 b'OO'
187189
self.zmodemOO = False
188190
x = self.channel.recv(2)
189191
if not len(x):
190192
return
193+
191194
if x == b'OO':
192-
self.websocker.send(bytes_data=x)
195+
self.websocker.send(bytes_data=b'OO')
193196
continue
194197
else:
195-
x += self.channel.recv(BufferSize)
198+
self.websocker.send(bytes_data=b'OO')
199+
196200
else:
197201
x = self.channel.recv(BufferSize)
198202
if not len(x):

0 commit comments

Comments
 (0)