Linux内测版

想问下Linux的后端是用的什么写的? webui版/api_v2/task_list/get接口调用过于频繁,浏览器开久了就会变的非常卡,是否可以考虑sse这种长连接的方式推送任务信息

vue由于是实时json交互,全部走api和比特彗星沟通,由于浏览器是单核心软件,所以可能有cpu性能问题,要f12看看去什么事件吃的cpu多才好优化

要是能用上websocket就好了
目前还是最传统的定时器 刷新请求

不过qb用的好像也是定时器刷新发
可能用了更优化的实现方式

v2.13.0 及 v2.13.1 已打包发布,其中v2.13.1 适用于 Ubuntu 22.04 及以上包含 libwebkit2gtk-4.1 的发行版,v2.13.0 适用于 Ubuntu 22.04 及以下包含 libwebkit2gtk-4.0 的发行版。

还没来得及修复的Linux版特有问题将在近期集中处理

安卓版啥时候更新一下内核,,方便触屏点击(主界面没有黑名单之类的功能,只能从webui上了),,虽然安卓版我不常用,但是万一有人用旧手机做种呢!

Linux目前感觉最严重的问题是,tcp超时时间不起效果

Linux docker版本更新好了,测试了下发现流量图的内存不显示

用户列表也还没有状态这一栏,导致看不到黑名单封禁原因和一些连接情况(原有的那套能看到的,新的webgui看不到)

感谢反馈,此bug已定位,下一版修复。其他问题再看看

接下来会更新安卓版的。我先看看Linux版其他问题

这一版给 libwebkit2gtk-4.0 和 libwebkit2gtk-4.1 分别打包,有点麻烦。要不后续就只给 libwebkit2gtk-4.1 打包了(Ubuntu 22.04 及以上版本可用)

已修复,下一版发布

监听端口偶尔创建失败的bug已解决,下一版发布

1個讚

可以只做libwebkit2gtk-4.0的版本,不用做libwebkit2gtk-4.1,跟着centos发行版来就好了

webui已添加新建任务时自定义下载目录的功能,下一版发布

2個讚

Linux版v2.13.2已发布,欢迎试用

之前版本的Linux/macOS版都没开启内存显示。刚刚改好了,等下一版发布。

docker版本的老版本和webui版怎么突然就二选一了?这让一直从老版本升级上来的我怎么选?太粗暴了这是,,,待我研究研究,,,:joy::joy::joy:

dock老版本(GUI版)和webui版是同步更新的,GUI版也有webui的功能

是啊,一直是这样,然后我今天发现一直用的版本里webui没了,还以为你删了来着,,,我刚换上webui版,,,等我重建个gui版的再试试,,,
顺便提个建议,webui打开时那个验证,建议像qt那样加个参数,lan或指定IP可以免登陆,这样就方便很多。

好的,感谢建议

最新docker版,GUI版,跑着跑着 webui 挂了连不上,vnc连接正常,看了下日志,里面有这么两段,不知道有没有用。


127.0.0.1 - - [2025-04-27 00:52:08] "GET /api/health HTTP/1.1" 200 122 0.114112
127.0.0.1 - - [2025-04-27 00:52:38] "GET /api/health HTTP/1.1" 200 122 0.109189
127.0.0.1 - - [2025-04-27 00:53:08] "GET /api/health HTTP/1.1" 200 122 0.107420
127.0.0.1 - - [2025-04-27 00:53:38] "GET /api/health HTTP/1.1" 200 122 0.112070
127.0.0.1 - - [2025-04-27 00:54:08] "GET /api/health HTTP/1.1" 200 122 0.106928
127.0.0.1 - - [2025-04-27 00:54:38] "GET /api/health HTTP/1.1" 200 122 0.111740
127.0.0.1 - - [2025-04-27 00:55:09] "GET /api/health HTTP/1.1" 200 122 0.110547
127.0.0.1 - - [2025-04-27 00:55:39] "GET /api/health HTTP/1.1" 200 122 0.110660
127.0.0.1 - - [2025-04-27 00:56:09] "GET /api/health HTTP/1.1" 200 122 0.107666
127.0.0.1 - - [2025-04-27 00:56:39] "GET /api/health HTTP/1.1" 200 122 0.119252
127.0.0.1 - - [2025-04-27 00:57:09] "GET /api/health HTTP/1.1" 200 122 0.113419
127.0.0.1 - - [2025-04-27 00:57:40] "GET /api/health HTTP/1.1" 200 122 0.148287
127.0.0.1 - - [2025-04-27 00:58:10] "GET /api/health HTTP/1.1" 200 122 0.110619
127.0.0.1 - - [2025-04-27 00:58:40] "GET /api/health HTTP/1.1" 200 122 0.112419
127.0.0.1 - - [2025-04-27 00:59:10] "GET /api/health HTTP/1.1" 200 122 0.108476
127.0.0.1 - - [2025-04-27 00:59:40] "GET /api/health HTTP/1.1" 200 122 0.106531
127.0.0.1 - - [2025-04-27 01:00:10] "GET /api/health HTTP/1.1" 200 122 0.130097
127.0.0.1 - - [2025-04-27 01:00:41] "GET /api/health HTTP/1.1" 200 122 0.111336
127.0.0.1 - - [2025-04-27 01:01:11] "GET /api/health HTTP/1.1" 200 122 0.107080
127.0.0.1 - - [2025-04-27 01:01:41] "GET /api/health HTTP/1.1" 200 122 0.108402
127.0.0.1 - - [2025-04-27 01:02:11] "GET /api/health HTTP/1.1" 200 122 0.109701
127.0.0.1 - - [2025-04-27 01:02:41] "GET /api/health HTTP/1.1" 200 122 0.107490
127.0.0.1 - - [2025-04-27 01:03:12] "GET /api/health HTTP/1.1" 200 122 0.108177
127.0.0.1 - - [2025-04-27 01:03:42] "GET /api/health HTTP/1.1" 200 122 0.107676
>>> sending remote command: "cmd=fb" via X11VNC_REMOTE X property.
>>> sending remote command: "qry=dpy_x,dpy_y" via X11VNC_REMOTE X property.
2025-04-27 01:15:45,252 INFO waiting for xvfb to stop
2025-04-27 01:15:45,253 INFO waiting for lxpanel to stop
2025-04-27 01:15:45,253 INFO waiting for x11vnc to stop
2025-04-27 01:15:45,253 INFO waiting for novnc to stop
2025-04-27 01:15:45,256 INFO stopped: xvfb (terminated by SIGKILL)
2025-04-27 01:15:45,264 INFO stopped: novnc (exit status 143)
2025-04-27 01:15:45,268 INFO stopped: x11vnc (exit status 2)
2025-04-27 01:15:46,696 ERROR Exception on /api/health [GET] (app.py:838)
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 1473, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 882, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 880, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 865, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
  File "/usr/local/lib/web/backend/vnc/app.py", line 41, in apihealth
    if state.health:
  File "/usr/local/lib/web/backend/vnc/state.py", line 129, in health
    self._update_health()
  File "/usr/local/lib/web/backend/vnc/state.py", line 31, in _update_health
    output = gsp.check_output([
  File "/usr/local/lib/python3.8/dist-packages/gevent/subprocess.py", line 419, in check_output
    raise CalledProcessError(retcode, process.args, output=output)
subprocess.CalledProcessError: Command '['supervisorctl', '-c', '/etc/supervisor/supervisord.conf', 'status']' returned non-zero exit status 3.
2025-04-27 01:15:47,359 INFO waiting for lxpanel to stop
2025-04-27 01:15:47,474 INFO stopped: lxpanel (exit status 0)
2025-04-27 01:15:47,477 INFO spawned: 'xvfb' with pid 19592
2025-04-27 01:15:47,478 INFO spawned: 'lxpanel' with pid 19593
2025-04-27 01:15:47,481 INFO spawned: 'x11vnc' with pid 19594
2025-04-27 01:15:47,484 INFO spawned: 'novnc' with pid 19596
2025-04-27 01:15:47,489 INFO exited: x11vnc (exit status 1; not expected)
2025-04-27 01:15:48,515 INFO success: xvfb entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2025-04-27 01:15:48,515 INFO success: lxpanel entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2025-04-27 01:15:48,520 INFO spawned: 'x11vnc' with pid 19726
2025-04-27 01:15:48,522 INFO success: novnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
x:xvfb: stopped
x:x11vnc: stopped
x:novnc: stopped
x:lxpanel: stopped
x:x11vnc: ERROR (spawn error)
x:xvfb: started
x:lxpanel: started
x:novnc: started
2025-04-27 01:15:48,553 ERROR Exception on /api/reset [GET] (app.py:838)
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 1473, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 882, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 880, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 865, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
  File "/usr/local/lib/web/backend/vnc/app.py", line 55, in reset
    state.apply_and_restart()
  File "/usr/local/lib/web/backend/vnc/state.py", line 74, in apply_and_restart
    gsp.check_call([
  File "/usr/local/lib/python3.8/dist-packages/gevent/subprocess.py", line 340, in check_call
    raise CalledProcessError(retcode, cmd) # pylint:disable=undefined-variable
subprocess.CalledProcessError: Command '['supervisorctl', '-c', '/etc/supervisor/supervisord.conf', 'restart', 'x:']' returned non-zero exit status 7.
2025-04-27 01:15:49,589 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
>>> sending remote command: "cmd=fb" via X11VNC_REMOTE X property.
>>> sending remote command: "cmd=fb" via X11VNC_REMOTE X property.
>>> sending remote command: "cmd=fb" via X11VNC_REMOTE X property.
>>> sending remote command: "cmd=fb" via X11VNC_REMOTE X property.
>>> sending remote command: "cmd=fb" via X11VNC_REMOTE X property.
>>> sending remote command: "cmd=fb" via X11VNC_REMOTE X property.
>>> sending remote command: "cmd=fb" via X11VNC_REMOTE X property.
>>> sending remote command: "cmd=fb" via X11VNC_REMOTE X property.
>>> sending remote command: "cmd=fb" via X11VNC_REMOTE X property.
>>> sending remote command: "cmd=fb" via X11VNC_REMOTE X property.
>>> sending remote command: "cmd=fb" via X11VNC_REMOTE X property.