最近使用Logseq记录笔记,需要插入视频媒体做,视频笔记。但是Logseq只支持直链进行访问插入
我已经将文件全部转存到了群晖中,之前一直使用的是onedrive直链访问。但是经常速度感人,因此需要一款可以让群晖视频等文件直链的软件,,最终借助 Tiny FileManager,简洁高效的实现了我的需求。
安装TinyManager
该项目已在Github开源,主页地址。安装非常的简单,直接下载最新版Zip包,完成后解压,然后放入需要管理的文件的上一级,然后使用 Web Station 在该目录起一个Nginx容器+php环境,做完之后即可通过路径访问了。
配置
1. 配置密码
直接在群晖打开 tinyfilemanager.php 进行编辑(config.php 中的也要对应修改),在27行,找到以下代码:
一般建议将 tinyfilemanager.php文件修改为index.php下次直接用域名即可访问就不需要手动输入php文件地址
配置密码
直接在群晖打开 tinyfilemanager.php 进行编辑(config.php 中的也要对应修改),在 27 行,找到以下代码:
$auth_users = array( 'admin' => '$c9a9qa2v9W18YaYkqI5cEG/ufAviA912PDly1JWwLPgh6324231hqFG', //admin@123 'user' => '$2dasidqwioev9W18YaYkqI5cEG/uf14y1JWwLPgh6pMzzJ42412hqFG' //12345 );
去到该页面,生成你想设置密码的加密字符串,然后回来将其替换到对应位置(箭头右边部分)即可完成密码修改。
修改语言
登陆文件管理 Web 页面,一定要用 admin 登陆,右上角下拉点击设置进入该页面选择语言,以及其他设置。
配置管理根目录
在 config.php
中找到以下代码,/tools
即表示 Manager 初始进入的目录只有 tools,剩下的其他目录不可见。
// Line 53 // use absolute path of directory i.e: '/var/www/folder' or $_SERVER['DOCUMENT_ROOT'].'/folder' $root_path = $_SERVER['DOCUMENT_ROOT'].'/tools';
修改文件夹权限
此步骤很有必要,如果不改,默认的管理操作会无效,因为 php 文件没有相应的权限。需要在群晖的文件管理器中直接对 Manager 的工具文件夹进行权限修改(勾选上以下页面的 “应用到子文件”,截图没截全):
修改完之后,Web 管理页面上的编辑、删除、重命名即可正常使用。
修改源码加以完善
由于主体就一个 php 文件,所以比较容易修改,原页面主要的问题有以下几个:
- 文件类型对应的图标太丑
- 文件操作区的按钮重复
- 修改根目录后文件直链出错
- 最底部的操作区没实际意义
修改文件类型对应的图标
这里首先引入最新版本的 font-awsome 图标,在 index 中的适当位置加入(以下代码需要在官网注册后才能得到):
<script src="https://kit.fontawesome.com/xxxxxx.js" crossorigin="anonymous"></script>
然后在 2612 行找到 function fm_get_file_icon_class($path)
函数,全部类型对应的图标均在此修改即可。
删除没用的部分
对我来说,文件的下载和直链,两部分完全相同,所以操作区的下载按钮直接删掉(复制其实也没用)。还有页面最底部的操作区也没用,直接删掉,对应到源码主要是以下几部分,直接注释掉即可:
Line 1947 - 删除对文件夹的复制
<!--<a title="<?php echo lng('CopyTo')?>..." href="?p=©=<?php echo urlencode(trim(FM_PATH . '/' . $f, '/')) ?>"><i class="fa fa-files-o" aria-hidden="true"></i></a>-->
Line 1949 - 删除对文件夹的直链
<!--<a title="<?php echo lng('DirectLink')?>" href="<?php echo fm_enc(FM_ROOT_URL . '/' . (FM_PATH != '' ? '/' . FM_PATH : '') . '/' . $f) ?>" target="_blank"><i class="fa fa-link" aria-hidden="true"></i></a>
-->
Line 2011 - 删除对文件的复制
<!--<a title="<?php echo lng('CopyTo') ?>..."
href="?p=<?php echo urlencode(FM_PATH) ?>©=<?php echo urlencode(trim(FM_PATH . '/' . $f, '/')) ?>"><i class="fa fa-files-o"></i></a>-->
Line 2015 - 删除对文件的下载
<!--<a title="<?php echo lng('Download') ?>" href="?p=<?php echo urlencode(FM_PATH) ?>&dl=<?php echo urlencode($f) ?>"><i class="fa fa-download"></i></a>-->
Line 2054 - 删除页面底部的操作区(注意注释位置)
<div class="col-xs-12 col-sm-9"><!--
<ul class="list-inline footer-action">
<li class="list-inline-item"> <a href="#/select-all" class="btn btn-small btn-outline-primary btn-2" οnclick="select_all();return false;"><i class="fa fa-check-square"></i> <?php echo lng('SelectAll') ?> </a></li>
<li class="list-inline-item"><a href="#/unselect-all" class="btn btn-small btn-outline-primary btn-2" οnclick="unselect_all();return false;"><i class="fa fa-window-close"></i> <?php echo lng('UnSelectAll') ?> </a></li>
<li class="list-inline-item"><a href="#/invert-all" class="btn btn-small btn-outline-primary btn-2" οnclick="invert_all();return false;"><i class="fa fa-th-list"></i> <?php echo lng('InvertSelection') ?> </a></li>
<li class="list-inline-item"><input type="submit" class="hidden" name="delete" id="a-delete" value="Delete" οnclick="return confirm('Delete selected files and folders?')">
<a href="javascript:document.getElementById('a-delete').click();" class="btn btn-small btn-outline-primary btn-2"><i class="fa fa-trash"></i> <?php echo lng('Delete') ?> </a></li>
<li class="list-inline-item"><input type="submit" class="hidden" name="zip" id="a-zip" value="zip" οnclick="return confirm('Create archive?')">
<a href="javascript:document.getElementById('a-zip').click();" class="btn btn-small btn-outline-primary btn-2"><i class="fa fa-file-archive-o"></i> <?php echo lng('Zip') ?> </a></li>
<li class="list-inline-item"><input type="submit" class="hidden" name="tar" id="a-tar" value="tar" οnclick="return confirm('Create archive?')">
<a href="javascript:document.getElementById('a-tar').click();" class="btn btn-small btn-outline-primary btn-2"><i class="fa fa-file-archive-o"></i> <?php echo lng('Tar') ?> </a></li>
<li class="list-inline-item"><input type="submit" class="hidden" name="copy" id="a-copy" value="Copy">
<a href="javascript:document.getElementById('a-copy').click();" class="btn btn-small btn-outline-primary btn-2"><i class="fa fa-files-o"></i> <?php echo lng('Copy') ?> </a></li>
</ul> -->
</div>
修复直链问题
在 FM_ROOT_URL
后面,将 /
改为 /tools
(设置的根目录)即可。
// Line 2014
<a title="<?php echo lng('DirectLink') ?>"
href="<?php echo fm_enc(FM_ROOT_URL . '/tools' . (FM_PATH != '' ? '/' . FM_PATH : '') . '/' . $f) ?>"
target="_blank">
<i class="fa fa-link"></i>
</a>
最终的精简效果
如果觉得麻烦其实上面的步骤都可以不做也可以正常使用
设置群晖
设置目录权限
设置目录权限,让任何人都可以访问
开启群晖shh
勾选群晖shh登录
开启后即可用admin登录群晖
群晖root权限
sudo -i
软链接群
ln -s 源文件 目标文件
ln -s /bin/less /usr/local/bin/less
按照上面语法设置群晖软连接
最终效果
建立软连接后,我们可以通过这个链接访问群晖的文件夹,通过http的形式远程访问调用链接即可