PhotoAlbum相册-简单易用的相册,照片,图片上传系统

03 八月, 2023

简单易用的相册,照片,图片上传系统

使用场景一:
把硬盘挂载,-v /mnt/sda1/pic/
就可以手机随便拍照上传到盒子硬盘上。
使用场景二:
把网盘rclone挂载到主机上,
随时随地拍照上传到网盘。
使用场景三:
把盒子做好外网访问,手机随便拍,秒传回家,不浪费手机空间。
使用场景四:
生产线上技工拍照现场设备,秒传到共享服务器文件夹,上级领导专家随时会诊。

使用前准备

1.首先需要建好上传目的地文件夹

假如你已经有硬盘挂载到了/mnt/sda1:

mkdir -p /mnt/sda1/pic/{随手拍,工作,风景,美女}

假如使用盒子本地emmc空间:

mkdir -p /opt/pic/{随手拍,工作,风景,美女}

假如在海纳思系统里还没安装docker,请先安装:

install-docker.sh

2.把下面的运行代码里的/path/to/folder修改为/mnt/sda1/pic/opt/pic

运行代码(选一)

docker cli

docker run -d \--name photoalbum \--restart=unless-stopped \-p 8083:8083 \-v /path/to/folder:/app/uploads \slitazcn/photoalbum:latest

docker-compse

version: "2.2"services: photoalbum: container_name: photoalbum image: slitazcn/photoalbum:latest restart: unless-stopped ports: - "8083:8083" volumes: - /path/to/folder:/app/uploads

图例

效果

卸载

docker stop photoalbumdocker rm photoalbumdocker rmi slitazcn/photoalbum

 

Apache Guacamole 网关在电视盒上配置

guacamole 可以支持 RDP、VNC、SSH、Telnet、Kubernetes等协议的网关。

PS:加上内网穿透,可以出门在外利用浏览器或者手机随便控制家中的电脑和盒子了。
guacamole官方网站: https://guacamole.apache.org/

效果展示:

安装脚本(保存文本后缀为.sh 例如guac.sh):
给脚本文件添加权限:chmod a+x guac.sh
用vim打开sh文件:vi guac.sh
修改文件格式::set ff=unix 或 :set fileformat=unix
保存退出:wq
执行:./guac.sh

#!/bin/bash   ######################################  ##  Guacamole_神雕电视盒子专用脚本  ##  ##  Gorilla Modified in 2022        ##  ##  Reproduced  Martez Reed         ##  ######################################     # 定义变量(数据库密码可以自行修改)  guac_version=1.4.0  mysql_version=8.0.28  mysql_username=root  mysql_password=greenrt     # 更新软件列表  sudo apt-get update -y     # 安装Make Gcc  sudo apt-get install -y make gcc    # 安装JRE  sudo apt-get -y --force-yes install default-jre    # 安装JDK  sudo apt-get -y --force-yes install default-jdk    # 安装Maven  sudo apt-get install -y maven    #  安装Tomcat 9  sudo apt-get install -y tomcat9     #  安装避免SSH终端中文乱码  sudo apt-get install -y ttf-wqy-zenhei    #  安装依赖包  sudo apt-get install -y libcairo2-dev libjpeg-turbo8-dev libtool-bin libpng-dev libossp-uuid-dev libvncserver-dev freerdp2-dev libssh2-1-dev libssl-dev libpango1.0-dev libwebsockets-dev libtelnet-dev libavformat-dev libswscale-dev libavutil-dev libavcodec-dev libvorbis-dev libpulse-dev libwebp-dev      #  下载 Guacamole 客户端  sudo wget https://dlcdn.apache.org/guacamole/$guac_version/binary/guacamole-$guac_version.war    #  下载 Guacamole 服务端  sudo wget https://dlcdn.apache.org/guacamole/$guac_version/source/guacamole-server-$guac_version.tar.gz    #  解压 guacamole 服务端源码文件  sudo tar -xzf guacamole-server-$guac_version.tar.gz     #  将目录更改为源文件  cd guacamole-server-$guac_version/     #  guacamole 服务端执行启动  sudo ./configure --with-init-dir=/etc/init.d     #  guacamole 服务端编译  sudo make     #  guacamole 服务端安装  sudo make install     #  设置guacd开机自启动  sudo update-rc.d guacd defaults     #  设置动态链接库  sudo ldconfig     #  创建 guacamole 配置目录  sudo mkdir /etc/guacamole     #  创建 guacamole.properties 配置文件  sudo cat <<EOF1 > /etc/guacamole/guacamole.properties  # Hostname and port of guacamole proxy  guacd-hostname: localhost  guacd-port:     4822  enable-websocket: true  enable-clipboard-integration: true     # Auth provider class (authenticates user/pass combination, needed if using the provided login screen)  # auth-provider: net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider  # basic-user-mapping: /etc/guacamole/user-mapping.xml    #  提供身份验证  auth-provider: net.sourceforge.guacamole.net.auth.mysql.MySQLAuthenticationProvider     #  MySQL 验证方式配置  mysql-hostname: localhost  mysql-port: 3306  mysql-database: guacamole  mysql-username: guacamole  mysql-password: $mysql_password    #  更改验证目录用到的配置  # lib-directory: /var/lib/guacamole/classpath  EOF1     #  创建 Tomcat9 属性文件  sudo mkdir /usr/share/tomcat9/.guacamole     #  为 Tomcat9 创建属性文件的符号链接  sudo  ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat9/.guacamole    # 上移一个目录以复制 guacamole.war 文件  cd ..     #  将 guacamole.war 文件复制到 Tomcat 9 webapps 目录内  sudo cp guacamole-$guac_version.war /var/lib/tomcat9/webapps/guacamole.war     #  启动 Guacamole (guacd) 服务端  sudo service guacd start     #  重启 Tomcat 9  sudo service tomcat9 restart     ########################################  #             MySQL安装和配置          #  ########################################     #  下载 Guacamole MySQL 身份验证文件  sudo wget https://dlcdn.apache.org/guacamole/$guac_version/binary/guacamole-auth-jdbc-$guac_version.tar.gz    #  解压 Guacamole MySQL 身份验证文件  sudo tar -xzf guacamole-auth-jdbc-$guac_version.tar.gz     #  为 MySQL 身份验证文件创建 Guacamole 下路径目录  sudo mkdir -p /etc/guacamole/extensions/     #  将 Guacamole MySQL 身份验证文件复制到创建的目录  sudo cp guacamole-auth-jdbc-$guac_version/mysql/guacamole-auth-jdbc-mysql-$guac_version.jar /etc/guacamole/extensions/    #  为 MySQL 连接器文件创建 Guacamole 下路径目录  sudo mkdir -p /etc/guacamole/lib/    #  下载 MySQL 连接器  sudo wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-$mysql_version.tar.gz    #  解压 MySQL 连接器  sudo tar -xzf mysql-connector-java-$mysql_version.tar.gz     #  将 MySQL 连接器jar文件复制到 guacamole 下路径目录  sudo cp mysql-connector-java-$mysql_version/mysql-connector-java-$mysql_version.jar /etc/guacamole/lib/     #  提供MySQL root密码以自动安装  sudo debconf-set-selections <<< "mysql-server mysql-server/root_password password $mysql_password"  sudo debconf-set-selections <<< "mysql-server mysql-server/root_password_again password $mysql_password"     #  安装 MySQL  sudo apt-get install -y mysql-server     #  创建 MySQL 配置脚本  sudo cat <<EOF2 > guacamolemysql.sql  #MySQL Guacamole 脚本  CREATE DATABASE guacamole;  CREATE USER 'guacamole'@'localhost' IDENTIFIED BY '$mysql_password';  GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole.* TO 'guacamole'@'localhost';  FLUSH PRIVILEGES;  quit  EOF2     #  创建 Guacamole 数据库和用户  sudo mysql -u root --password=$mysql_password < guacamolemysql.sql     #  将目录更改为 mysql-auth 目录   cd guacamole-auth-jdbc-$guac_version/mysql     #  运行创建的 MySQL 配置脚本以创建数据库和用户  sudo cat schema/*.sql | mysql -u root --password=$mysql_password guacamole     #  重启tomcat9  sudo service tomcat9 restart     #  重启 guacd  sudo service guacd restart

# 安装完毕后手动清理一下下载在 /root 目录下的文件。

初始登陆的地址是:http://盒子的IP地址:8080/guacamole/
可以修改tomcat默认WEB目录
vi /etc/tomcat9/server.xml
在<hosts> ......</hosts>中间添加一行
<Context path="" docBase="/var/lib/tomcat9/webapps/guacamole" debug="0" reloadable="true"/>

# 重启tomcat9
sudo service tomcat9 restart

登陆地址:http://盒子的IP地址:8080/
登陆账号:guacadmin
初始密码是:guacadmin


 

Hinas从USB启动系统教程(可备份恢复)

原理为修改启动参数以U盘作为引导系统,通过自定义引导脚本来实现重定向系统根目录至USB设备。
并且支持切换多套配置以及备份恢复的类似快照功能,并且备份为增量备份,不占用多余空间
提供懒人刷机包,使用写盘工具或dd命令全盘写入即可(刷机包img包含了三个分区,一定要写入全盘!!!)
命令:

tar xf usb.tar.gz  dd if=usb.img of=/dev/sda

交流群搜索:xjm

安装教程

1、准备U盘,划分需要的三个分区(用全分区镜像写入U盘/TF,可直接跳到第5步):
boot分区:默认fat32格式,LABEL设为小写boot,用于存放内核及squashfs镜像,文件后缀为".squashfs"
busybox分区:ext4格式,用于存放busybox环境和引导程序
overlay分区:ext4格式,LABEL设为小写overylay,用于存放各个系统的overlay数据,用文件夹区分
2、准备若干 squashfs 镜像,可先分别挂载各系统img,再使用命令 "mksquashfs <你挂载img的目录> <系统名称>.squashfs -comp xz" 生成相应squashfs。
3、把内核文件 hi_kernel.bin 和 准备好的各个 <系统文件>.squashfs 放入boot分区。
4、准备 boot.cfg 配置文件放入fat32分区,内容为<系统名称>,可使用命令生成: echo "<系统名称>" > boot.cfg。如在windows下编辑必须在名称后换行并使用unix换行符。
5、接好TTL,并在fastboot阶段发送CTRL+C中断启动进程。
6、设置新的启动参数并保存:

setenv bootargs console=ttyAMA0,115200 root=/dev/sda2 init=/preinit rootfstype=ext4 rootwait blkdevparts=mmcblk0:1M(boot),1M(bootargs),10M(kernel),256M(rootfs),700M(backup),-(ubuntu)  setenv bootcmd 'usb start;fatload usb 0:1 0x1FFFFC0 hi_kernel.bin;bootm 0x1FFFFC0'  saveenv

7、插入U盘并重新启动

切换系统方法:

通过执行命令 echo "<系统名称>" > /boot/boot.cfg 把想在下次重启后进入的系统名称写入boot.cfg即可

恢复到系统squashfs镜像的默认状态(清空系统的overylay数据):

执行命令 touch /boot/clear_overlay 即可在下次重启时清空 boot.cfg 对应系统的overylay数据

同一squashfs镜像启用不同overylay数据分支:

启用不同overylay数据分支可实现同一套底层系统,不同的版本配置,比如一个分支装A软件,一个分支装B软件等等。
把 /boot/boot.cfg 中的"<系统名称>" 更改为 "<系统名称>.<分支名称>",比如"ubuntu.test",重启后会进入全新的overylay数据

分支可进行快照备份和恢复:

快照的原理为依靠overlay可多层文件夹叠加的功能,把多个不同时间备份后形成的数据文件夹进行依次叠加,数据以上层文件夹为准。
因此可以把旧备份的文件夹叠到suqashfs镜像上作为中间层,新的文件夹作为当前的可写数据,实现无需复制数据就可备份的效果,理论上可不停套娃下去,但是考虑到io性能,不建议快照太多。

默认的全分区镜像的boot分区提供了一键脚本 snapshot-tools.sh,用法如下:

    Usage: /boot/snapshot-tools.sh command [option]      Valid command are:          backup  [snapshot name]     make a snapshot in the moment overlay ( need reboot )          list                        list all snapshot          recover [snapshot name]     recover backup to lastest snapshot or specified ( need reboot )

备份命令:

/boot/snapshot-tools.sh backup [快照名称]不提供快照名称则使用当前时间戳作为名称


查看可进行恢复的备份名称:

/boot/snapshot-tools.sh list 列出当前分支可进行恢复的快照名称


恢复命令:

/boot/snapshot-tools.sh recover [快照名称] 不提供快照名称则恢复到最近的一个快照
执行恢复快照命令后当前的数据会备份当前时间戳的新文件夹,确定无需保留后可在/mnt/overlay/<系统名称> 下自行删除

如要恢复到原版NAS启动,恢复启动参数即可

setenv bootargs console=ttyAMA0,115200 root=/dev/mmcblk0p6 rootfstype=ext4 rootwait blkdevparts=mmcblk0:1M(boot),1M(bootargs),10M(kernel),256M(rootfs),700M(backup),-(ubuntu)  setenv bootcmd 'mmc read 0 0x1FFFFC0 0x1000 0x5000;bootm 0x1FFFFC0'  saveenv  reset

已制作好三分区的img镜像下载:

链接:https://pan.baidu.com/s/1-pb1j9wPxJ5A1VR8f3O0eQ
提取码:yfkn
(默认使用mv100的内核,其他机型自行替换fat32分区的内核文件hi_kernel.bin测试)
(如需替换系统squashfs请按照安装教程方法制作)


 

transmisson下载器修改密码教程

海纳思系统默认BT下载器transmission管理页面是需要密码登陆的。
1.是考虑跟原版一致
2.是考虑下载需要使用者确认

默认用户名和密码是 admin admin

使用者当然需要去修改密码来使用的。

在使用指南里已经详细给出了怎么修改的办法,这里也继续延申一下。

如果你需要修改用户名和密码

第一步:修改前必须停止 Transmission 服务,否则修改无效。

/etc/init.d/transmission-daemon stop

第二步:编辑配置文件: (请务必用vi编辑或者高级文本编辑器修改json格式的文档)

vi /etc/transmission-daemon/settings.json
找到以下内容:

"rpc-password": "{1e82c73f8f4b5c3ba4e2d94227fc19dc3442abf7nSWuZtsb","rpc-port": 9091,"rpc-url": "/transmission/","rpc-username": "admin",

需要修改 password、username 后面 "" 内的内容即可
比如修改为:用户名 ecoo 密码 123123

"rpc-password": "123123","rpc-port": 9091,"rpc-url": "/transmission/","rpc-username": "ecoo",

第三步: 开启 Transmission 服务

/etc/init.d/transmission-daemon start

如果你需要取消密码登录:

那么就需要:

"rpc-authentication-required": true,
改为:
"rpc-authentication-required": false,

如果你修改固定下载目录到硬盘挂载位置


"download-dir": "/home/ubuntu/downloads",
修改为
"download-dir": "/mnt/sda1/downloads",

另一种修改办法:

我在这里贴出原始配置json内容,
可自行制作一个json格式的文本替换掉

/etc/transmission-daemon/settings.json
{
"blocklist-enabled": 0,
"download-dir": "\/home\/ubuntu\/downloads",
"download-limit": 100,
"download-limit-enabled": 0,
"encryption": 1,
"max-peers-global": 200,
"peer-port": 51413,
"pex-enabled": 1,
"port-forwarding-enabled": 0,
"rpc-authentication-required": 1,
"rpc-password": "admin",
"rpc-port": 9091,
"rpc-username": "admin",
"rpc-whitelist": "*",
"upload-limit": 100,
"upload-limit-enabled": 0
}
流程就不用再细说了,停止服务,替换配置,启动服务。即可。

同理,修改固定的下载目录到硬盘 /mnt/sda1/downloads 位置
只需要将默认的

"download-dir": "\/home\/ubuntu\/downloads",
修改为:
"download-dir": "\/mnt\/sda1\/downloads",

同理,取消密码,则

"rpc-authentication-required": 1,
修改为
"rpc-authentication-required": 0,

祝你们玩机愉快!海纳思系统,我是小盒子,也是大世界!


 

青龙面板依赖安装技巧

群里一天到晚在哀怨青龙面板依赖安装不了,
看了心烦,
虽然我不知道你们安装来干什么的,
捣鼓了几个小时,重新安装了十几次,终于找到问题所在。
给出如下技巧,顺利安装。最新版青龙。别问我,总之是latest。

1.进入青龙面板的docker容器内部

如下命令进入:

docker exec -it qinglong bash

2.执行pnpm的全局清理

rm -rf ~/.local/share/pnpm ~/.local/share/pnpm-global/ ~/.pnpm-store/

退出容器
exit

3.打开青龙面板

点击依赖管理,点击新建依赖,输入你要安装的依赖包名称,即可。
我骄傲了吗

4.注意理解

并不是所有包都要安装,自己需要哪个才安装哪个!
并不是所有包都能安装,有些包只支持64位的,你咬它吗?

5.划重点

爱心捐助支持,祝大家都发财。