0.基础准备工作

0.1 用到的软件

折腾全部基于windows系统。

0.1.1 Winscp

通过scp方式连接主机,方便进行文件操作。

下载安装包双击安装即可。

前往官网下载【Winscp Cilent】

0.1.2 Openssh

通过ssh连接主机,方便使用命令行和获取root权限。

使用OpenSSH for Windows,直接双击安装,在Powershell中即可使用。

前往Github下载【OpenSSH for Windows】

0.1.3 Finalshell(推荐)

兼顾文件操作和方便使用命令行获取root权限

前往官网下载【FinalShell SSH Tool】

1.如何替换Web UI的界面壁纸

1.1 准备图片

通过Winscp连接至主机后,依次打开/usr/trim/www/static位置。

可以看到bg和thumbnail_bg两个文件夹,分别用来存放壁纸和缩略(预览)图。

只需要使用自己的图片,替换掉飞牛的图片,在浏览器刷新或清除缓存后即可完成界面壁纸的更换。

打开bg文件夹,可以看到飞牛的界面壁纸是采用7680*4320(标准8K)分辨率的webp格式图片。实测采用其他分辨率图片替换也完全没问题,就是分辨率小拉伸后可能有点糊,看自己需求。

打开thumbnail_bg文件夹,可以看到飞牛界面壁纸的缩略图是采用351*198分辨率的webp格式图片。

制作webp格式图片文件可以使用jpg文件通过格式工厂转换或线上网页转换为webp格式文件。

1.2 替换壁纸

由于操作/usr/trim文件夹需要root权限,可以使用命令行替换所需文件。

将准备好的图片文件放入任意位置,本文以存储空间1的test文件夹为例,路径地址应为/vol1/1000/test/1.webp和/vol1/1000/test/1t.webp

首先使用powershell登录主机ssh,并获取root权限

# 登录主机

ssh 用户名@ip地址

# 输入密码

#获取root权限

sudo su

# 输入密码

然后,使用cp命令复制覆盖原壁纸文件。

#复制覆盖壁纸文件

cp /vol1/1000/test/1.webp /usr/trim/www/static/bg/wallpaper-1.webp

#复制覆盖缩略图文件

cp /vol1/1000/test/1t.webp /usr/trim/www/static/thumbnail_bg/wallpaper-1.webp

1.3 注意事项

如果替换后,缩略(预览)图或壁纸不生效,可以考虑两个原因:

1.3.1

清除浏览器缓存,略。

1.3.2

如果替换后未正常显示壁纸,可能是文件权限问题,壁纸文件默认使用644权限,可以使用如下命令修改权限。

#设置壁纸文件访问权限

chmod 644 /usr/trim/www/static/bg/wallpaper-1.webp

#设置缩略图文件访问权限

chmod 644 /usr/trim/www/static/thumbnail_bg/wallpaper-1.webp

1.3.3

登录Web UI后,壁纸可在界面左下角小人图标“我的账号-我的账号-桌面壁纸”处修改。

2.如何修改自定义Web UI Title

修改调整后效果如上图,标题变为瓜瓜🍈私有云~

此修改涉及js文件,操作不当可能导致Web UI加载不正常,建议有一定js基础再操作,强烈建议备份好原文件。

修改标题行分为两部分,一是登录界面,二是登录后进来的Web UI界面。

2.1 登录界面

只需要找到/usr/trim/www/index.html,修改其中59行的<title>标签即可。

# 先备份一份原始文件,防止BOOM

cp /usr/trim/www/index.html /usr/trim/www/index_backup

# 下载下来后,使用任意txt文件编辑器都可修改,找到59行的<title>

# 修改,例如:<title>瓜瓜🍈私有云</title>

# 保存后,上传到存储空间,例如/vol1/1000/test文件夹。

# 覆盖原文件

cp /vol1/1000/test/index.html /usr/trim/www/index.html

# 如果不小心操作失误,无法访问了,如下命令即可恢复

cp /usr/trim/www/index_backup /usr/trim/www/index.html

2.2 Web UI界面

找到/usr/trim/www/assets/index-DTyzZQE_.js文件,修改其中内容。

#先备份一份原始文件,防止BOOM

cp /usr/trim/www/assets/index-DTyzZQE_.js /usr/trim/www/assets/index-DTyzZQE_backup

# 下载下来后,使用任意txt文件编辑器都可修改,搜索并找到如下内容

setHostNameTitle=o=>{o?document.title=

# 根据自己喜好,修改为任意内容,例如

setHostNameTitle=o=>{o?document.title=`${o} - 瓜瓜🍈私有云`:document.title="瓜瓜🍈私有云"}

# 保存后,上传到存储空间,例如/vol1/1000/test文件夹。

# 覆盖原文件

cp /vol1/1000/test/index-DTyzZQE_.js /usr/trim/www/assets/index-DTyzZQE_.js

# 如果不小心操作失误,无法访问了,如下命令即可恢复

cp /usr/trim/www/assets/index-DTyzZQE_backup /usr/trim/www/assets/index-DTyzZQE_.js

3.如何修改自带Nginx的配置文件

之前的文章也提到过,飞牛私有云OS自带nginx反向代理,只需要修改配置文件重启后即可,配置文件位于 /usr/trim/nginx/conf/nginx.conf,建议修改前先备份原始文件。

下面是一个修改后的案例,可以根据自身情况进行调整。

user  www-data;

worker_processes  auto;

load_module modules/ngx_http_trim_cert_module.so; # 飞牛OS自动匹配处理Cert证书的脚本,很好用

#error_log  logs/error.log;

#error_log  logs/error.log  notice;

#error_log  logs/error.log  info;

pid        /run/nginx.pid;

events {

    worker_connections  10240;

}

http {

    #

    map $http_upgrade $connection_upgrade {

                default upgrade;

                ''      close;

    }

    #

    upstream trim_cgi {

        server unix:/run/trim_cgi.socket;

    }

    upstream trim_upload {

        server unix:/run/trim_upload_srv.socket;

    }

    include       mime.types;

    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

    #                  '$status $body_bytes_sent "$http_referer" '

    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;

    #tcp_nopush     on;

    #keepalive_timeout  0;

    keepalive_timeout  65;

    #gzip  on;

    # nginx上传文件最大限制

    client_max_body_size 1000000g;

    trim_cert_cfg_path /usr/trim/etc/network_gateway_cert.conf;

    server_tokens off

    # 飞牛Web UI的配置信息,默认会占用80、443,自动跳转8000、8001端口,占用4个端口真是太奢侈了

    # 可以如下,修改为直接使用8000、8001端口

    server {

        listen          0.0.0.0:8000    default_server;

        listen          [::]:8000 ipv6only=on default_server;

        listen       8001 ssl default_server;

        listen       [::]:8001 ssl ipv6only=on;

        #server_name  _;

        trim_hook_cert_switch  on;

        ssl_certificate      $ssl_server_name;

        ssl_certificate_key  $ssl_server_name;

        ssl_session_cache    shared:SSL:1m;

        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;

        ssl_prefer_server_ciphers  on;

        root /usr/trim/www;

        index index.html index.htm;

        error_page 404 /index.html;

        # websocket配置

        location /websocket {

                proxy_pass http://trim_cgi;

                proxy_http_version 1.1;

                proxy_set_header X-Real-IP      $remote_addr;

                proxy_set_header Upgrade        $http_upgrade;

                proxy_set_header Connection     "upgrade";

        }

        # upload配置

        location /upload {

                proxy_pass http://trim_upload;

                keepalive_timeout  0;

                proxy_http_version 1.1;

                proxy_set_header X-Real-IP      $remote_addr;

                proxy_request_buffering off;

                client_body_buffer_size 512K;

                tcp_nopush on;

        }

        location /download {

                alias  /;

                download_auth on;

        }

        location /appui {

                alias  /vol0/@appui;

        }

        location ~ ^/(signin|login|system) {

                add_header cache-control no-cache;

                try_files /index.html =200;

        }

        include conf.d/*.conf;

    }

    # ‌upstream模块

    upstream halo_server{

        server 127.0.0.1:8080;

    }

    # ‌配置自己的服务器

    server {

        listen 80;

        listen 443 ssl;

        server_name  halo;

        # 使用飞牛自带的接口和脚本,省去配置证书的烦恼

        trim_hook_cert_switch  on;

        ssl_certificate      $ssl_server_name;

        ssl_certificate_key  $ssl_server_name;

        ssl_session_cache    shared:SSL:1m;

        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;

        ssl_prefer_server_ciphers  on;

        location / {

            proxy_pass  http://127.0.0.1:8080;

            #proxy_buffer_size 64k;

            #proxy_buffers 32 32k;

            #proxy_busy_buffers_size 128k;

    }

    }

}

重启nginx

/usr/trim/nginx/sbin/nginx -s reload

4.FnOS配置ups(以tg-box 850为例)

飞牛私有云系统基于Debian,只需简单配置,可以直接使用ups。

4.1 安装apcupsd

# 更新 apt 源

apt update

# 安装 apcupsd

apt install apcupsd

4.2 编辑apcupsd配置

apcupsd的配置文件在/etc/apcupsd/apcupsd.conf,其中需要修改的配置有以下几项:

# UPS硬件名称`tg-box850`。

UPSNAME tg-box850

# 使用usb连接,注释掉以下内容

# DEVICE /dev/ttyS0

# 删除POLLTIME名称前面的#,表示检测ups状态的间隔时间,默认60秒

POLLTIME 60

# UPS剩余电量低于80%,开始自动关机,默认为5。

BATTERYLEVEL 80

# UPS剩余电量不超过5分钟时自动关机

MINUTES 5

# 市电中断超过100秒后,开始自动关机,默认为0。

TIMEOUT 100

4.3 启动服务,设置自启

# 启动服务

systemctl start apcupsd

# 设置开机自启服务

systemctl enable apcupsd

# 重启服务

systemctl restart apcupsd

# 查看服务状态

systemctl status apcupsd

# 查看ups状态

apcaccess

5.如何修改Web UI的用户头像

待更新。