这里记录一下我的私人云盘的美化,有需要的可以自行部署一个属于自己的云盘。

简介

这是一个利用微软onedrive apionedrive目录映射成一个云盘的程序,类似的程序有很多,比如OneIndex、Pyone、OnePoint等等。这个程序的特点是支持多种onedrive类型,可以部署在vps,heroku,以及腾讯云scf上。

源仓库

GitHub:https://github.com/qkqpttgf/OneManager-php

有布置教程文档,这里就不多叙述。

我的云盘:冰梦の私人云

美化/设置

登录到后台,在 管理 > 设置 里有一些自定义设置,刚开始部署时也不知道是怎么用的,后面去研究了一天后,也渐渐的搞成了,虽然有注释,但是在设置时还是有很多问题,这里也没有说清楚。

adminloginpage

自定义登录地址,设置后就会隐藏登录按钮(有些主题本来就没有登录按钮),登录时需要手动在网盘地址后加上?login=你设置的值进行登录。
比如设置为abc,那么你只能通过http://xxx.com/?login=abc地址来登录 。所以一旦设置就要记住你设置的值,不然连你自己也没法知道登录地址那就麻烦了。
这个设置是为了防止别人通过默认的登录界面尝试登录你的网盘,设置本项后只要猜不到登录界面,即使别人知道登录密码也没用,多一道防护墙,让网盘更安全。

autoJumpFirstDisk

这个比较实用,在多网盘情况下,设置点击网盘标题时跳转到绑定的第一个盘还是当前绑定的网盘根目录。

background/backgroundm

这个比较明显,就不多说,可以直接放随机图api,这里还是推荐不用或者用单张背景图。

customCss

设置自定义css的地方,这里设置的css会作用于网盘所有页面。
比如我想隐藏语言选项框:

1
<style>.changelanguage{display:none}</style>

customScript

设置自定义js,会作用于所有页面。
比如设置http重定向到https:

1
2
3
4
5
<script type="text/javascript">
var targetProtocol = "https:";
if (window.location.protocol != targetProtocol)
window.location.href = targetProtocol + window.location.href.substring(window.location.protocol.length);
</script>

domain_path

当绑定多个域名时,可以使不同域名打开时访问不同目录。当然如果你只有一个域名也可以用,通过这种方式可以使当前域名访问一个指定子目录,和后面的public_path起到一样的作用。
下面是两个域名的设置方法,中间用|隔开,如果有多个域名只设置一个域名时,未设置的域名好像也会只访问该目录,要访问根目录dirname设置为/。

1
domain1.com:/dir1name|domain2.com:/dir2name

passfile

设置密码文件名,比如这里设置为password.txt,那么在某一个目录下新建一个password.txt文件,其中写入密码,这样任何人在浏览这个网盘目录时都需要输入相应密码后才能访问

hideFunctionalityFile

这个比较实用,建议开启,设置为1后,游客浏览网盘时就会看不到read.mdhead.mdhead.ofmfoo.omf这些文件,直接显示文档内容或者你设置的评论区,

设置顶部和底部说明文字

在需要展示顶部说明的目录下新建一个head.md文件,在文件里写入说明内容即可,这是一个markdown文件,可以使用markdown语言进行书写。

底部说明说明文字对应的是readme.md文件,规则与顶部文字一样。

利用head.omf设置一言

head.omf作用和head.md一样,区别是他不支持markdonw语言,但是支持html语言,可以写入html、css、js内容

1
2
3
4
5
6
7
8
9
10
<p id="hitokoto">一言获取中...</p>
<script>
fetch('https://v1.hitokoto.cn')
.then(response => response.json())
.then(data => {
const hitokoto = document.getElementById('hitokoto')
hitokoto.innerText = data.hitokoto
})
.catch(console.error)
</script>

利用foot.omf设置Valine评论或者Waline

Valine

使用文档:https://valine.js.org/quickstart.html

使用Valine需要先注册LeanCloud并实名认证,然后新建应用获取AppIDKey,不过这个实名认证比较繁琐。

1
2
3
4
5
6
7
8
9
<script src='//unpkg.com/valine/dist/Valine.min.js'></script>
<div id="vcomments"></div>
<script>
new Valine({
el: '#vcomments',
appId: '你获取的AppID',
appKey: '你获取的AppKey'
})
</script>

Waline

使用文档:https://waline.js.org/guide/get-started/

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<head>
<!-- ... -->
<script src="https://cdn.staticfile.org/waline/2.6.1/waline.min.js"></script>
<link
rel="stylesheet"
href="https://cdn.staticfile.org/waline/2.6.1/waline.min.css"
/>
<!-- ... -->
</head>
<body>
<!-- ... -->
<div id="waline"></div>
<script>
Waline.init({
el: '#waline',
serverURL: '你的waline服务器链接',
});
</script>
</body>