Seafile与花生壳实现网络网盘-yellowcong

来源:互联网 发布:千牛首页的店铺数据 编辑:程序博客网 时间:2024/06/05 06:06

通过花生壳实现远程访问是很容易的一件事,但是花生壳映射的地址是本机地址,而视频的下载地址而是局域网的地址,而不是广域网的地址,所以就会导致远程访问,还是访问不了视频,需要修改seafile\seafile-server\seahub\seahub\utils\__init__.py文件里的、gen_file_get_url 方法,设定返回的url地址是花生壳映射的地址。

1 映射配置

配置内网穿透
这里写图片描述

配置url,需要配置两个,应为web服务只是启动查看脚本,还有一个文件服务,就是远程查看文件和下载文件,都需要的地址,不配置这个就会导致我们远程下载不了文件
这里写图片描述

远程访问
这里写图片描述

2 配置seafile映射

修改seafile\seafile-server\seahub\seahub\utils\__init__.py文件,修改这个文件里的、gen_file_get_url 方法,设定为花生壳映射的ip,完成外网映射访问。

修改gen_file_get_url 方法,设定反回的url是花生壳映射的地址
这里写图片描述

3 重启web生效

重启web服务cd /usr/local/seafile/seafile-server-latest/#重启seafile 和web服务./seafile.sh restart && ./seahub.sh restart

这里写图片描述

修改后,服务器的地址就是花生壳映射的地址,这就解决了远程访问的问题了,妈蛋,搞定了
这里写图片描述


后面都是讲的我如何修改路径的问题,这个不重要拉,重要的是前面的,咋修改的

视频访问问题

远程的访问都是没有问题的,但是远程的视频查看就有问题了,因为视频地址跑的是局域网的路径,大家可以发现,访问的路径是http://192.168.66.100:8082,这个是seafile的文件路径地址。

这里写图片描述

没有域名的小屌丝的我,只有想办法,再映射一条,这样,我可以通过yellowcong.wicp.net 来访问我的文件存储信息了,不过,重点是,我们需要修改代码来完成,不然,每次都要自己手动去弄,就比较的麻烦
这里写图片描述

ccnet/seafile.ini配置文件里面,有配置存储的文件路径
这里写图片描述

视频文件的存放目录 seahub-data

这里写图片描述

修改路径映射原理

先找到我们用的哪一个文件模版,然后找到他的类,来修改路径匹配地址

文件模版目录

文件模版的文件夹地址,我们video查看的文件是view_file_video.html 模版

/usr/local/seafile/seafile-server/seahub/seahub/templates

修改 view_file_video.html 这个文件,设定域名映射的前缀
这里写图片描述

test_view_lib_file.py

这只是一个测试类而已,但是可以帮我们找到html的后台地址地址

seafile-server\seahub\tests\seahub\views\file\test_view_lib_file.py 测试类
view_lib_file 这个是用来查看文件的地址共同类,test_video_file的测试方法中

这里写图片描述

file.py 类

seafile\seafile-server\seahub\seahub\views\file.py这个是文件操作的类,所有的查看文件都会走view_lib_file这个方法

这里写图片描述

当是vedio的情况,就去获取路径,那个多余的参数use_onetime是神马鬼,我们慢慢看吧
这里写图片描述

终于找到关键点了,gen_file_get_url 这个函数,写了文件的路径获取
这里写图片描述

utils包下面的gen_file_get_url 方法

修改seafile\seafile-server\seahub\seahub\utils\__init__.py,完成外网映射访问。

找到最终的路径了,淡腾啊
这里写图片描述

修改为花生壳的地址,就成功了
这里写图片描述

__init__.py文件目录地址
这里写图片描述

修改gen_file_get_url 方法,设定反回的url是花生壳映射的地址
这里写图片描述

重启web生效

重启web服务cd /usr/local/seafile/seafile-server-latest/#重启seafile 和web服务./seafile.sh restart && ./seahub.sh restart

这里写图片描述

修改后,服务器的地址就是花生壳映射的地址,这就解决了远程访问的问题了,妈蛋,搞定了
这里写图片描述