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

UI-SSH 新的服务器面板

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

    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
    502Chef
        1
    502Chef  
       2022-09-22 18:11:26 +08:00 via iPhone
    支持保存 shell 片段,一键多台运行
    huangzhiyia
        2
    huangzhiyia  
    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 ,坏了
    huangzhiyia
        4
    huangzhiyia  
    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
    huangzhiyia
        7
    huangzhiyia  
    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 部分..
    huangzhiyia
        9
    huangzhiyia  
    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 内存
    huangzhiyia
        12
    huangzhiyia  
    OP
       2022-09-23 15:44:57 +08:00
    @bytesfold 最新的部署脚本使用 cloudflare worker 反代 github , 国内应该能部署了。
    huangzhiyia
        13
    huangzhiyia  
    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
    huangzhiyia
        15
    huangzhiyia  
    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 就行了
    huangzhiyia
        18
    huangzhiyia  
    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 、安装方式,可以引入两种,一种通用型的编译安装,一种是 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
    先支持一下。有空安装体验
    huangzhiyia
        21
    huangzhiyia  
    OP
       2022-09-26 16:25:12 +08:00
    @chancat 好咧,坐等反馈
    slove
        22
    slove  
       2022-09-27 11:13:57 +08:00 via iPhone
    @zmaplex
    提个需求,
    主页自定义文件夹功能
    在线解压缩
    备份
    不知这些功能是否容易实现,抱拳
    huangzhiyia
        23
    huangzhiyia  
    OP
       2022-09-27 11:44:12 +08:00 via Android
    @slove 主页指定文件夹功能?就是一个快捷方式点开打开对应目录吗?这个 ok 的。

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

    备份指?数据库备份有简单的实现,站点备份还在考虑设计的问题。
    huangzhiyia
        24
    huangzhiyia  
    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     Solana     5285 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 08:42 PVG 16:42 LAX 01:42 JFK 04:42
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86