OneIndex能將onedrvie的文件索引出來,讓更多人能查看下載,同時也比限速下載的百度網盤好一點,當然這和微軟給你分配的服務器地區有關。這個程序不佔用服務器空間流量。這下面的內容轉載於程序作者,他會不斷更新這個程序的。
douwan 原文地址:
https://github.com/donwa/oneindex
但是我覺得他的安裝方法有些麻煩,查閱了一些資料,本文會將另外兩種不使用案卷的方法也寫出來,一種是一鍵腳本,一種是用在指定目錄下安裝,要注意的是不同方法要做的準備不一樣我也會標註在文章中的,這篇文章是在轉載幾個大佬寫的東西做合集完成的,所以這篇我會標註非原創,雖然可能只有我把他寫成了合集。想知道更多可以去大佬的博客下看和問。我還會寫一篇原創的文章,將基於我之前寫的寶塔環境安裝配置,寫圖文教程。
oneindex
Onedrive目錄索引
功能:
不用服務器空間,不走服務器流量,
直接列onedrive目錄,文件直鏈下載。
演示
更改日誌:
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 程序
安裝:
安裝方法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.md
,HEAD.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的配置文件
參考程序根目錄下的:.htaccess
或nginx.conf
或Web.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