OneIndex:基於onedrive的公共網盤搭建——使用命令行(OneIndex合集1)

    OneIndex能將onedrvie的文件索引出來,讓更多人能查看下載,同時也比限速下載的百度網盤好一點,當然這和微軟給你分配的服務器地區有關。這個程序不佔用服務器空間流量。這下面的內容轉載於程序作者,他會不斷更新這個程序的。

douwan 原文地址

https://github.com/donwa/oneindex

但是我覺得他的安裝方法有些麻煩,查閱了一些資料,本文會將另外兩種不使用案卷的方法也寫出來,一種是一鍵腳本,一種是用在指定目錄下安裝,要注意的是不同方法要做的準備不一樣我也會標註在文章中的,這篇文章是在轉載幾個大佬寫的東西做合集完成的,所以這篇我會標註非原創,雖然可能只有我把他寫成了合集。想知道更多可以去大佬的博客下看和問。我還會寫一篇原創的文章,將基於我之前寫的寶塔環境安裝配置,寫圖文教程。

oneindex

Onedrive目錄索引

功能:

不用服務器空間,不走服務器流量,

直接列onedrive目錄,文件直鏈下載。

演示

https://xn.tn

更改日誌:

18-03-29:更新直鏈獲取機制,緩存機制,避免頻繁訪問的令牌失效
18-03-29:解決非英文編碼問題
18-03-29:添加onedrive共享的起始目錄功能
18-03- 29:添加重寫的配置文件
18-03-29:增加sqlite模式緩存支持
18-03-29:添加縮略圖功能
18-03-29:添加404判斷
18-03-31:添加控制檯
18-04-13 :修復特殊文件名無法下載問題
18-04-13:
更新2.0 beta
18-04-16:更新展示
界面18-04-16:響應式,支持小屏設備
18-04-16:圖片在線預覽
18-04-16:視頻在線播放
18-04-16:代碼在線查看(js,css,html,sh,php,java,md等)
18-04-16:README .md支持,解析各目錄下(onedirive目錄下)README.md文件,在頁面尾部展示
.18-04-18:音頻在線播放
18-04-18:HEAD.md支持,在頁面頭部展示
18- 04-18:.password文件夾加密
18-05-06:在線視頻播放器替換成Dplayer
18-05-06:在線視頻播放支持'mp4','webm','avi','mpg','mpeg','rm','rmvb','mov','wmv','mkv', '
asf'18-06-01:支持個人
賬號18-06-01:cli文件夾上傳(單線程)
18-06-01:管理後臺(後臺地址:?/ admin默認密碼:oneindex)
18-06- 01:不同後綴展示設置
18-06-01:文件直接輸出
18-06-01:文件上傳管理(後臺)18-06-01:增加index.html特性
18-06-01:圖牀功能

需求:

1、PHP空間,PHP 5.6+ 打開curl支持(除了一鍵腳本都需要
2、onedrive 賬號 (個人、企業版或教育版/工作或學校帳戶)(沒onedrive弄不下去的
3、oneindex 程序

安裝:

image

安裝方法1(來源於程序編寫者),docker安裝運行(注意這種需要你先安裝好php等環境):

從搬運工倉庫獲取鏡像:

https://github.com/donwa/oneindex

或者從源碼構建鏡像:

git clone https://github.com/donwa/oneindex.git
cd oneindex/
docker build -t your-image-name .

運行:

docker run -d -p {open port}:80 --name {container name} --restart=always {image name}

停止刪除容器:

docker stop {container name}
docker rm -v {container name}

安裝方法2(來源於Rat的博客)Debain一鍵腳本安裝(注意需要使用的系統Debian 8或9,且無網站環境(就是沒裝過php之類的),會自動簽發Let's Encrypt SSL證書,請提前將域名解析至VPS服務器。

運行:

wget https://www.moerats.com/usr/shell/OneIndex.sh && bash OneIndex.sh

安裝方法3(來源於sabia科學研究所 )(安裝好web環境PHP 5.6+ 打開curl支持,推薦使用Apache)

 

1、複製oneindex到服務器,設置config/config/base.php 、 cache/ 可讀寫
2、瀏覽器訪問、綁定賬號
3、可以使用

計劃任務  

[可選] 推薦配置,非必需。後臺定時刷新緩存,可增加前臺訪問的速度  

# 每小時刷新一次token
0 * * * * /具體路徑/php /程序具體路徑/one.php token:refresh

# 每十分鐘後臺刷新一遍緩存
*/10 * * * * /具體路徑/php /程序具體路徑/one.php cache:refresh

特殊文件實現功能  

README.mdHEAD.md ,  .password特殊文件使用

參考可以https://github.com/donwa/oneindex/tree/files

在文件夾底部添加說明:  

在onedrive文件的夾數中添加README.md文件,使用降價語法。

在文件夾頭部添加說明:  

在onedrive文件的夾數中添加HEAD.md 文件,使用降價語法。  

加密文件夾:  

在onedrive文件的夾數中添加.password文件,填入密碼,密碼不能爲空。  

直接輸出網頁:

在onedrive的文件夾中添加index.html 文件,程序會直接輸出網頁而不列目錄。
配合文件展示設置 - 直接輸出效果更佳

命令行功能  

僅能在php cli模式下運行清除
緩存:  

php one.php cache:clear

刷新緩存:  

php one.php cache:refresh

刷新令牌:  

php one.php token:refresh

上傳文件:  

php one.php upload:file 本地文件 [onedrive文件]

上傳文件夾:

php one.php upload:folder 本地文件夾 [onedrive文件夾]

例如:

//上傳demo.zip 到onedrive 根目錄  
php one.php upload:file demo.zip  

//上傳demo.zip 到onedrive /test/目錄  
php one.php upload:file demo.zip /test/  

//上傳demo.zip 到onedrive /test/目錄並命名爲 d.zip  
php one.php upload:file demo.zip /test/d.zip  

//上傳up/ 到onedrive /test/  
php one.php upload:file up/ /test/

可配置項(來源於sabia科學研究所

配置在 config/base.php 文件中:

onedrive共享的起始目錄:

'onedrive_root'=> '', //默認爲根目錄

如果想只共享onedrive下的 /document/share/ 目錄

'onedrive_root'=> '/document/share', //最後不帶 '/'

去掉鏈接中的 /?/ :
需要添加apache/nginx/iis的rewrite的配置文件
參考程序根目錄下的:.htaccessnginx.confWeb.config

  //在config/base.php 中
  'root_path' => '?' 

改爲

    'root_path' => '' 

nginx圖片404問題,參考https://github.com/donwa/oneindex/issues/14

 

設置nginx僞靜態

location / {
    if (!-f $request_filename){ 
        rewrite (.*) /index.php; 
    } 
} 

 

緩存時間:   初步測試直鏈過期時間爲一小時,默認設置爲:

  'cache_expire_time' => 3600, //緩存過期時間 /秒
  'cache_refresh_time' => 600, //緩存刷新時間 /秒

如果經常出現鏈接失效,可嘗試縮短緩存時間,如:

  'cache_expire_time' => 300, //緩存過期時間 /秒
  'cache_refresh_time' => 60, //緩存刷新時間 /秒

設置緩存模式爲sqlite:

'cache_type'=> 'sqlite'  // file | sqlite
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章