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

UI-SSH 新的服务器面板

  •  
  •   zmaplex · 2022-09-22 17:11:42 +08:00 · 4092 次点击
    这是一个创建于 777 天前的主题,其中的信息可能已经有所发展或是发生改变。

    https://github.com/UISSH/backend

    • 求一个 Star
    • 求新功能建议
    • 求 bug 反馈
    • 求协助国际化以及文档

    特性

    • 一键部署 lnmp 环境
    • 站点管理,支持自动 SSL
    • 文件夹在线浏览以及文本编辑
    • 数据库安装与管理(PHPMyAdmin)
    • 终端会话管理,可以添加不同的主机使用后端进行中转链接
    • FTP ( FTPS )管理,文件系统支持以下选项
      • Local disk
      • S3 through afero-s3
      • Dropbox
      • Google Drive
      • SFTP

    部署

    仅支持全新的 Debian 11 部署

    一键部署脚本

    截图

    001_overview 002_overview 003_website 004_filebrowser 005_nginx_config 006_terminal 007_terminal 008_ftp_sever

    25 条回复    2022-09-28 00:08:20 +08:00
    huyujievip
        1
    huyujievip  
       2022-09-22 18:11:26 +08:00 via iPhone
    支持保存 shell 片段,一键多台运行
    zmaplex
        2
    zmaplex  
    OP
       2022-09-22 18:17:16 +08:00
    @huyujievip

    第一种

    是先打开多个终端,然后有一个全局的输入框里选择片段运行。

    第二种

    选择(新建) shell 片段 -> 选择指定的 Host -> 开始执行

    您更倾向哪种呢?

    另外,您所说 shell 片段在我的理解为:由人工输入 shell 一条条命令组成的片段,而非 shell 脚本对吧?
    Aloento
        3
    Aloento  
       2022-09-22 18:17:37 +08:00
    emmm ,这个好耶,但是 python ,坏了
    zmaplex
        4
    zmaplex  
    OP
       2022-09-22 18:18:51 +08:00
    @Aloento Python 占用内存也就 120 MB 啊,后期也可以直接关闭面板后端,登录成功后再启动。

    面板也不要求高并发吧....
    Aloento
        5
    Aloento  
       2022-09-22 19:46:00 +08:00
    @zmaplex 就是这一点啊,120MB 啊,要知道还有很多 VPS 的内存小的可怜(((
    bytesfold
        6
    bytesfold  
       2022-09-22 21:51:37 +08:00
    1. Django requirements.txt 没有写;
    2. requirements.txt 文件包含了两个 pyyaml 、PyYAML
    zmaplex
        7
    zmaplex  
    OP
       2022-09-22 22:21:50 +08:00 via Android
    @bytesfold django 是有的,关于有两个包相似的问题,这个应该是其他包有依赖吧,当初是直接把虚拟环境的包导出来的,后面看看能不能去重,谢谢。
    bytesfold
        8
    bytesfold  
       2022-09-22 23:12:17 +08:00 via iPhone
    @zmaplex
    大佬牛逼,最近在学 django ,很感兴趣。

    另外 install 脚本跑不起来..会卡在 install_backend 部分..
    zmaplex
        9
    zmaplex  
    OP
       2022-09-23 00:17:20 +08:00 via Android
    @bytesfold 国内机器没办法咯
    rekulas
        10
    rekulas  
       2022-09-23 10:19:09 +08:00
    服务器面板还是静态语言合适点 用 py 开发宝塔的团队都有点后悔了
    systemcall
        11
    systemcall  
       2022-09-23 15:06:51 +08:00
    有的低价 VPS 只有 512M 甚至更低的内存,120MB 内存还是挺大的
    不知道有没有办法用 LUCI 之类的东西来做服务器面板,OpenWRT 的 LUCI 只占用几 MB 内存
    zmaplex
        12
    zmaplex  
    OP
       2022-09-23 15:44:57 +08:00
    @bytesfold 最新的部署脚本使用 cloudflare worker 反代 github , 国内应该能部署了。
    zmaplex
        13
    zmaplex  
    OP
       2022-09-23 15:47:32 +08:00
    @systemcall 至少 1GB 内存 VPS 才行,512 MB 跑个 Nginx MariaDB PHP 都只能说勉强够用。
    achina0731
        14
    achina0731  
       2022-09-24 16:26:26 +08:00
    不支持 centos
    zmaplex
        15
    zmaplex  
    OP
       2022-09-24 23:06:49 +08:00 via Android
    @achina0731 精力有限呀,先集中把功能完善了。
    zhhww57
        16
    zhhww57  
       2022-09-25 00:12:17 +08:00
    支持用 webdav 当 ftp 使用,ftp 这玩意太扯淡了
    zhhww57
        17
    zhhww57  
       2022-09-25 00:17:10 +08:00
    分成三个类:
    1 、web 项目,里面可以 php 、java 、go 、node 等
    2 、数据库可以自定义,mysql 、mongdb 其他类型等
    3 、文件传输,可以选择 ftp 、ftps 、webdav 、带有权限限制的 sftp 和 scp (只能访问网站根目录)之类的等
    4 、这三项做个大的,然后具体支持哪些可以做成插件形式,找人维护,比如 web 项目,php 、java ,go 之类的可以做成插件,你这边统一 nginx 就行了
    zmaplex
        18
    zmaplex  
    OP
       2022-09-25 01:02:29 +08:00 via Android
    @zhhww57

    1. 已经初步设计好了插件接口,只管 nginx 相关配置和指定工作目录,可以看看 wordprees 的插件实现。

    2. 数据库也有预留字段,但是这个考虑 1 的接口稳定下来设计。

    3.带权限的 ftp(s) 已经实现了,不过后端程序准备换一个。webdav 接口也已经实现了,但是测试遇到一个问题,就是 windows 11 不能直接挂载 webdav ,所以 web 界面就没弄。

    您的思路跟我的初衷八九不离十,只是这些工作量有点大,需要时间来打磨。

    另外还有单元测试也要写,这样有利于协助开发。
    zhhww57
        19
    zhhww57  
       2022-09-25 01:42:14 +08:00   ❤️ 1

    1 、安装方式,可以引入两种,一种通用型的编译安装,一种是 debian 自带的二进制直接安装
    2 、安装的时候有个兼容列表,这个面板对哪个系统兼容,不兼容的系统也可以安装,但是安装和使用的时候会有警告,部分软件只能编译安装
    3 、针对不兼容的系统,可以预留兼容列表插件接口,然后把兼容性丢给别人做,就和本地化补丁一样,兼容也可以让别人做插件兼容,然后自己的兼容性独立成一个插件
    4 、插件的话,可以做个源,类似 ios 的 cydia 源,或者 openwrt 的 opkg 源这种,然后源的话可以引入签名机制,用户自己导入想对应源的签名啥的,也可以关闭签名,安装任意源
    5 、然后就是自动更新啥的,可以直接填 git 地址,然后程序通过 git 地址直接在线更新啥的,也可以通过别的啥协议,在线更新也可以导入
    6 、然后就是后面的插件 docker 化,然后用 docker 命令直通目录,后面插件要是多了的话,可以选择给插件开 docker 模式,但是前提插件支持,不支持的话开 docker 也会报错,这样的话插件就好很好的隔离,然后用 cgroup 之类的限制对应的 i/o ,cpu ,内存啥的
    7 、话说我觉得这个东西挺好的,我想拿这个做 kvm+spice+qxl 云桌面,后面也可以开发插件做软路由,某些程度上代替 openwrt ,openwrt 在有些机器上功能太单调了
    chancat
        20
    chancat  
       2022-09-25 19:56:38 +08:00 via Android
    先支持一下。有空安装体验
    zmaplex
        21
    zmaplex  
    OP
       2022-09-26 16:25:12 +08:00
    @chancat 好咧,坐等反馈
    slove
        22
    slove  
       2022-09-27 11:13:57 +08:00 via iPhone
    @zmaplex
    提个需求,
    主页自定义文件夹功能
    在线解压缩
    备份
    不知这些功能是否容易实现,抱拳
    zmaplex
        23
    zmaplex  
    OP
       2022-09-27 11:44:12 +08:00 via Android
    @slove 主页指定文件夹功能?就是一个快捷方式点开打开对应目录吗?这个 ok 的。

    在线解压缩其实在文件管理有 shell 命令执行的地方。集成右键菜单也可以,不过可能需要提供一份不同格式压缩文件的解压缩命令,这个希望尽可能的提供完整列表。

    备份指?数据库备份有简单的实现,站点备份还在考虑设计的问题。
    zmaplex
        24
    zmaplex  
    OP
       2022-09-27 11:44:33 +08:00 via Android
    @slove 可以去 github 上提 issuse
    Tarlor
        25
    Tarlor  
       2022-09-28 00:08:20 +08:00 via iPhone   ❤️ 1
    每当我想做出一款产品代替宝塔的时候,经常会想一个问题!
    1:自己闲着没事写着玩?
    2:想靠这款产品赚钱?
    如果是第一种就不要做了,python nodejs 功能都可以实现但是细节做起来很费时间,后期很容易就放弃了,做得不好一片骂声!
    我建议你是第二种情况,找 2-3 个人,重新设计个 ui ,颜值超高,走月费模式例如免费 30 天后,月 5 刀,我看很多评论说 120m 的问题,其实没必要管他们,能买 512M 的用户肯定不是你的用户了!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3019 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 13:25 · PVG 21:25 · LAX 05:25 · JFK 08:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.