1. updog 简述

updog,一个基于python的云盘环境搭建工具,可以帮助我们在服务器上搭建类似云盘的服务,使得我们可以在web界面中完成文件的上传与下载,十分的方便。

2. updog 安装

在命令行执行下面命令安装updog,注意必须基于 python3.x 进行安装

pip3 install updog

安装过程报出的提示信息

Collecting updog
Downloading updog-1.4.tar.gz (2.5 MB)
|████████████████████████████████| 2.5 MB 2.1 MB/s
Requirement already satisfied: colorama in /home/luckynote/anaconda3/lib/python3.6/site-packages (from updog) (0.3.9)
Requirement already satisfied: flask in /home/luckynote/anaconda3/lib/python3.6/site-packages (from updog) (0.12.2)
Collecting flask_httpauth
Downloading Flask_HTTPAuth-3.3.0-py2.py3-none-any.whl (5.0 kB)
Requirement already satisfied: werkzeug in /home/luckynote/anaconda3/lib/python3.6/site-packages (from updog) (0.15.2)
Requirement already satisfied: pyopenssl in /home/luckynote/anaconda3/lib/python3.6/site-packages (from updog) (17.0.0)
Requirement already satisfied: Jinja2>=2.4 in /home/luckynote/anaconda3/lib/python3.6/site-packages (from flask->updog) (2.9.6)
Requirement already satisfied: itsdangerous>=0.21 in /home/luckynote/anaconda3/lib/python3.6/site-packages (from flask->updog) (0.24)
Requirement already satisfied: click>=2.0 in /home/luckynote/anaconda3/lib/python3.6/site-packages (from flask->updog) (6.7)
Requirement already satisfied: cryptography>=1.7 in /home/luckynote/anaconda3/lib/python3.6/site-packages (from pyopenssl->updog) (1.8.1)
Requirement already satisfied: six>=1.5.2 in /home/luckynote/anaconda3/lib/python3.6/site-packages (from pyopenssl->updog) (1.12.0)
Requirement already satisfied: MarkupSafe>=0.23 in /home/luckynote/anaconda3/lib/python3.6/site-packages (from Jinja2>=2.4->flask->updog) (0.23)
Requirement already satisfied: idna>=2.1 in /home/luckynote/anaconda3/lib/python3.6/site-packages (from cryptography>=1.7->pyopenssl->updog) (2.5)
Requirement already satisfied: asn1crypto>=0.21.0 in /home/luckynote/anaconda3/lib/python3.6/site-packages (from cryptography>=1.7->pyopenssl->updog) (0.22.0)
Requirement already satisfied: packaging in /home/luckynote/anaconda3/lib/python3.6/site-packages (from cryptography>=1.7->pyopenssl->updog) (16.8)
Requirement already satisfied: setuptools>=11.3 in /home/luckynote/anaconda3/lib/python3.6/site-packages (from cryptography>=1.7->pyopenssl->updog) (45.2.0.post20200210)
Requirement already satisfied: cffi>=1.4.1 in /home/luckynote/anaconda3/lib/python3.6/site-packages (from cryptography>=1.7->pyopenssl->updog) (1.10.0)
Requirement already satisfied: pycparser in /home/luckynote/anaconda3/lib/python3.6/site-packages (from cffi>=1.4.1->cryptography>=1.7->pyopenssl->updog) (2.17)
Building wheels for collected packages: updog
Building wheel for updog (setup.py) … done
Created wheel for updog: filename=updog-1.4-py3-none-any.whl size=2445970 sha256=c26292ecab825e4abb4110d55af6a5d06372ef0d07d1f5e7ccc27618d3ca26e4
Stored in directory: /home/luckynote/.cache/pip/wheels/28/44/90/a0f0062acb127b1cf856ef3c07e0436588eb1524f67728007f
Successfully built updog
Installing collected packages: flask-httpauth, updog
Successfully installed flask-httpauth-3.3.0 updog-1.4

注意:安装过程中,如果出现网络不可达到或者安装一半安装失败,请不要气馁,可以重复安装几次。

3. updog 配置服务

cd ~/
mkdir updog
cd updog
updog -p 9090 --password 123456

执行updog命令后如下所示

[+] Serving /home/luckynote/updog… * Running on
http://0.0.0.0:9090/ (Press CTRL+C to quit)

此时即可点击链接打开网页,登陆密码按照设定的密码,用户名为空

python updog python updog搭建网盘_云盘管理


登陆后即可完成上传下载的任务

python updog python updog搭建网盘_大数据_02

4. updog 命令参数说明

updog -d DIRECTORY -p PORT --password PASSWORD

其中参数d表示服务开启的根目录,即在服务开启后访问服务无法查看此目录同级别或以上的目录,默认为当前目录;

参数p表示服务开启的端口,默认9090;

参数password表示密码,使用HTTP basic authentication来进行密码保护,无用户名,默认无密码,即直接可以访问,当然这种不建议。

5. updog 补充

在关闭命令终端后,updog服务将自动关闭,这时候我们需要将另外一条命令来挂起updog

nohup updog -p 9091 --password 123456 &

这时候云盘路径下多了 nohub.out 文件,此时,我们的服务便在后台挂起,即便关闭终端也可以正常访问云盘服务。

python updog python updog搭建网盘_云盘管理_03


而如果想要关闭之前在后台挂起的服务,可以先通过

fuser -v -n tcp 端口号

来查找对应的程序ID,然后使用kill -s 9 程序ID来关闭指定服务。

【PS】当然除了使用 nohub ,也可以使用 screen命令挂起服务,具体的命令这里就不多做介绍了,感兴趣的小伙伴可以自己查找 screen 的命令说明。

6. updog 好处

  1. 操作简单,仅仅需要几步就能让你拥有一个自主的网盘终端
  2. 非常适用于局域网内搭建统一管理的网盘系统
  3. 一台服务器可以开启多个不同配置的updog服务