搭建家庭网盘-查看文章

搭建家庭网盘

发表于:2022-05-05 14:23:21 分类:开发杂记 阅读:238次

image

劳动节在家无聊,看着家里支持ipv6的1000M宽带,感觉实在太浪费,就想着把多年前淘汰下来的笔记本搭建一个家庭网盘。经过几天的爬坑,终于搭建完成,用手机流量测试下载,速度能达到20+M/s,相当喜人。不过因为采用ipv6搭建的,普通ipv4网络无法访问。

下面记录一下爬过的坑,以防下次再遇到浪费时间。

首先曝光一下地址:http://disk.onezero.top

旧电脑装系统

几年前装的centos7不想用了,选用了目前常听到的open euler系统。安装过程中遇到一个低级的坑:

使用U盘镜像启动安装的时候,由于U盘的标记和启动镜像中的命令不一致,导致无法正常安装。

解决办法:在安装选择界面按TAB键进入高级模式,修改命令中的标记与U盘保持一致即可。

挑选网盘系统

在知乎查了一下,可用的网盘系统有许多,但前面的几个看着不错的都是采用PHP开发的。不得以,最后选择了使用JAVA开发的ZFile。


ZFile

https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square Codacy Badge https://img.shields.io/badge/springboot-2.0.6-orange.svg?style=flat-square GitHub tag (latest SemVer)

此项目是一个在线文件目录的程序, 支持各种对象存储和本地存储, 使用定位是个人放常用工具下载, 或做公共的文件库. 不会向多账户方向开发.

前端基于 h5ai 的原有功能使用 Vue 重新开发、后端采用 SpringBoot, 数据库采用内嵌数据库.

预览地址: https://zfile.vip

文档地址: https://docs.zfile.vip

社区地址: https://bbs.zfile.vip

1.安装启动后进入管理后台发现添加驱动器页面不能完整展示内容,导致无法通过页面添加。

解决方法:修改配置文件的数据源为mysql,创建数据库,启动项目会自动创建系统所需的数据表,其中一个表报错是因为用到了关键词,修改脚本在关键词前后添加“`”后手动执行创建那张表。

INSERT INTO `zfile`.`storage_config`(`id`, `drive_id`, `k`, `title`, `type`, `value`) VALUES (2, 1, 'filePath', '文件路径', 'local', '/home/openeuler/Documents/zfile-files');
INSERT INTO `zfile`.`driver_config`(`id`, `auto_refresh_cache`, `default_switch_to_img_mode`, `enable`, `enable_cache`, `name`, `order_num`, `search_contain_encrypted_file`, `search_enable`, `search_ignore_case`, `type`) VALUES (1, b'1', b'1', b'1', b'1', '测试', 1, b'0', b'1', b'1', 'LOCAL');

2.使用密码文件夹时报错联系管理员

解决方法:下载了源码看了一下是去取了文件的url参数请求密码文件,但我的url是ipv6地址,猜测可能报错,手动修改代码替换为服务器ipv4地址后正常。

ipv6启用

使用破解的超级用户密码登陆电信家庭网关,将防火墙调到低级,否则ipv6地址虽然能取到,但是从外面访问不到对应设备。——至于破解网关直接百度。

域名动态解析

ipv6地址是从电信获取的,非固定ip-路由器重启、租期到期等都会更换。为了使用域名访问,最好是采用动态解析的方式。搜索了一下发现阿里云解析有相关的开放接口与sdk,自己动手写了个web服务,用来在ip变更后自动解析新的地址。附上动态解析码云开源地址:

https://gitee.com/ersredma/ddns

阿里域名动态解析-ipv6

介绍

阿里域名动态解析 目前实现了ipv6的动态解析,启动即更新解析,每5分钟判断公网ip是否变动,变动将自动解析。


关键词:java,网盘,ipv6


验证码: