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)
此時即可點擊鏈接打開網頁,登陸密碼按照設定的密碼,用戶名爲空
登陸後即可完成上傳下載的任務
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 文件,此時,我們的服務便在後臺掛起,即便關閉終端也可以正常訪問雲盤服務。
而如果想要關閉之前在後臺掛起的服務,可以先通過
fuser -v -n tcp 端口號
來查找對應的程序ID,然後使用kill -s 9 程序ID來關閉指定服務。
【PS】當然除了使用 nohub ,也可以使用 screen命令掛起服務,具體的命令這裏就不多做介紹了,感興趣的小夥伴可以自己查找 screen 的命令說明。
6. updog 好處
- 操作簡單,僅僅需要幾步就能讓你擁有一個自主的網盤終端
- 非常適用於局域網內搭建統一管理的網盤系統
- 一臺服務器可以開啓多個不同配置的updog服務