V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
huangzhiyia
V2EX  ›  分享创造

UI-SSH: 类似宝塔的面板

  •  
  •   huangzhiyia · 2023-05-17 12:39:44 +08:00 · 3796 次点击
    这是一个创建于 550 天前的主题,其中的信息可能已经有所发展或是发生改变。

    介绍

    宝塔的证书续期功能一直有 bug ,莫名其妙续期不了,看了宝塔源代码感觉很复杂,自己菜无从下手。

    于是动手写了这个面板,目前还有些不完善的地方,欢迎尝鲜!

    好玩的地方

    可以添加多个 ssh 服务器,然后比如你在命令行 cd 某个目录,你直接拖动文件到终端中,就会自动上传文件到这个目录下。(建议 20MB 以内的文件)。

    说明

    技术栈是 React TS + Django, 之前也发过帖子,拖到现在才更新,是因为后来发现可能我的 VUE 水平不够,

    自己的项目写着写着都忘记该传什么参数了,于是去浅学了下 React 把前端重构了一遍。

    仅支持 Debian 11 与 Ubuntu 22.04 ,暂时没精力去适配其他系统。

    视频

    实际的视觉效果比视频好,视频有压缩请见谅。

    Watch the video

    项目地址

    https://github.com/UISSH/backend

    演示地址

    不要搞破坏,搞破坏的话直接删掉机器。

    https://dev.uissh.com/

    用户名:root 密码:root

    第 1 条附言  ·  2023-05-17 14:27:40 +08:00
    被一位老哥关闭了电源....,演示站已恢复。Orz
    第 2 条附言  ·  2023-05-17 14:46:45 +08:00
    为了避免破坏,后端权限从 root 降级成 admin ,目前仅为演示所用可能一些操作将会失败。

    正常是以 root 权限运行的。欢迎提出意见。
    第 3 条附言  ·  2023-05-17 15:00:39 +08:00
    各位老哥部署的时候,尽量使用国外机器,国内机器网络环境估计安装巨慢。

    然后强烈建议添加个域名解析,这样做后端将会尽可能的使用证书,比如 api 接口使用证书,phpmyadmin 也会使用证书,ftp 将会强制使用 ftps 协议。总之,一切能用到证书加密的地方,小弟都尽量使用证书去加密传输过程。

    还有数据库也有证书加密的配置,目前没有做,没有多少人把数据库对外访问叭。

    然后 ftp 支持挂载 s3 ,目前备份功能脚本需要自己写脚本添加到 crontab 中。


    最后最后,各位不用这个面板或者担心安全问题,可以直接 systemctl stop ui-ssh 停掉整个面板而不影响网站的正常运行。

    所有服务绝对不会去依赖面板的功能,面板只是起一个配置项目的可视化界面,而不应该成为项目运行的依赖。
    26 条回复    2023-05-31 17:55:22 +08:00
    gbw1992
        1
    gbw1992  
       2023-05-17 14:42:04 +08:00
    整挺好
    基本经常用的都齐了
    docker 镜像容器管理功能考虑添加一下子不
    root01
        2
    root01  
       2023-05-17 14:47:26 +08:00
    挺不错的,有人缺德关机 哈哈
    huangzhiyia
        3
    huangzhiyia  
    OP
       2023-05-17 14:48:36 +08:00
    @gbw1992 给个竟品借鉴下,hhhh 。目前想法很多,比如后面数据库管理还要增加 redis 支持。支持 django 一键部署等等,支持自动构建 pages 等等。
    huangzhiyia
        4
    huangzhiyia  
    OP
       2023-05-17 14:51:09 +08:00
    权限降级后很多功能都不正常了,但是列出来的功能都是可用的,具体看演示视频。
    v2wtf
        5
    v2wtf  
       2023-05-17 14:52:07 +08:00
    不错,支持一下
    huangzhiyia
        6
    huangzhiyia  
    OP
       2023-05-17 16:37:26 +08:00
    演示站点目前基本是只读模式了,需要体验完整的功能需要自己部署哦。
    ljsh093
        7
    ljsh093  
       2023-05-17 18:25:17 +08:00
    @zmaplex #3 以前 iOS 上有个叫 hyperapp 的现在好像已经寄了,他这个容器管理还不错 https://web.archive.org/web/20220903021531/https://www.hyperapp.fun/zh/
    needpp
        8
    needpp  
       2023-05-17 22:44:30 +08:00   ❤️ 1
    from .website import WebsiteModel
    File "/usr/local/uissh/backend/website/models/website.py", line 15, in <module>
    from website.applications.app_factory import AppFactory
    File "/usr/local/uissh/backend/website/applications/app_factory.py", line 9, in <module>
    from website.applications.core.application import Application, Storage
    File "/usr/local/uissh/backend/website/applications/core/application.py", line 136, in <module>
    class Application(ApplicationStorage, metaclass=ABCMeta):
    File "/usr/local/uissh/backend/website/applications/core/application.py", line 169, in Application
    def get_app_parameter(cls) -> list[dict]:
    TypeError: 'type' object is not subscriptable
    2023-05-17 14:39:17,630 - main.py[line:151] - INFO: Write the database password to the backend config.
    Error: near line 1: no such table: common_systemconfigmodel
    2023-05-17 14:39:17,650 - main.py[line:48] - ERROR: sqlite3 /usr/local/uissh/backend/db.sqlite3 < config/sync_config.sql failed


    最后报错了,这是啥问题啊
    huangzhiyia
        9
    huangzhiyia  
    OP
       2023-05-17 23:41:54 +08:00 via Android
    @needpp Python 版本最低 3.9 啊
    needpp
        10
    needpp  
       2023-05-17 23:46:50 +08:00
    @zmaplex 都是脚本自己安装的,需要自己制定 python 版本吗
    huangzhiyia
        11
    huangzhiyia  
    OP
       2023-05-17 23:51:48 +08:00 via Android
    @needpp 脚本没有加环境判断,默认 Debian 11 最低的 Python 版本就是 3.9 啊,Ubuntu 22.04 版本更高。老哥啥发行版哦
    needpp
        12
    needpp  
       2023-05-18 00:04:32 +08:00
    @zmaplex oracle 我的锅,lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description: Ubuntu 20.04.6 LTS
    Release: 20.04
    Codename: focal 。以为创建的就是 22.04
    8eacekeep
        13
    8eacekeep  
       2023-05-18 00:11:39 +08:00
    不孬
    muzihuaner
        14
    muzihuaner  
       2023-05-18 07:29:55 +08:00 via Android
    可以加个 docker 管理
    huangzhiyia
        15
    huangzhiyia  
    OP
       2023-05-18 08:29:41 +08:00 via Android
    @muzihuaner 类似宝塔的 docker 管理吗
    djkloop
        16
    djkloop  
       2023-05-18 10:20:31 +08:00
    djkloop
        17
    djkloop  
       2023-05-18 10:20:54 +08:00
    @djkloop 这个貌似也不错
    blankmiss
        18
    blankmiss  
       2023-05-18 12:13:52 +08:00
    @djkloop 国产 我怕提交数据
    huangzhiyia
        19
    huangzhiyia  
    OP
       2023-05-18 14:46:31 +08:00
    @muzihuaner 今天看了下 docker 确实方便,安排
    royalknight
        20
    royalknight  
       2023-05-18 17:38:45 +08:00
    可以基于后端进行前端开发吗
    huangzhiyia
        21
    huangzhiyia  
    OP
       2023-05-18 17:55:31 +08:00
    @royalknight 没太明白你的意思,这个后端不包括任何前端代码,如果你要自己写也可以啊。

    前端地址在这: https://github.com/UISSH/react-frontend



    设计思路是后端尽量少提供接口,后端主要暴露两类接口:

    第一个是信息类查询(主要由 osquery 提供,没有的信息只能自己手写)

    第二个是执行接口( cmd )

    想要什么功能就在前端自己写 shell 命令,比如要增加 docker 管理功能。osquery 能直接查询相关信息,前端只要根据信息去向后端发送 `docker kill my_container` 命令就可以了。
    q000q000
        22
    q000q000  
       2023-05-19 14:07:39 +08:00
    已 star ,要是能把 FTP 备份完善下就好了。
    huangzhiyia
        23
    huangzhiyia  
    OP
       2023-05-19 15:57:53 +08:00 via Android
    @q000q000 具体哪些呢
    q000q000
        24
    q000q000  
       2023-05-19 16:36:09 +08:00
    @zmaplex 就是打包目录和数据库定时备份之类的,不用再写脚本...
    huangzhiyia
        25
    huangzhiyia  
    OP
       2023-05-19 17:10:33 +08:00 via Android
    @q000q000 这个后期肯定会加上的😀,只是还没想好怎么实现。
    zkw111
        26
    zkw111  
       2023-05-31 17:55:22 +08:00
    @blankmiss 不存在 代码开源
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1036 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 18:52 · PVG 02:52 · LAX 10:52 · JFK 13:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.