当前位置:   article > 正文

极简WEB文件管理工具(群晖)——TinyManager

tinymanager

在之前《导出七牛云资源到本地》的文章中,我已经将文件全部转存到了群晖中,搭配Nginx已经可以实现直链访问。前几天又把自己电脑上存在的有用的软件包全部上传到了群晖,至此我的软件包文件夹已经有三四百个文件/安装包,除了直链访问,我迫切的需要一款简洁轻量的Web文件管理工具来方便管理这些文件,最终借助 Tiny FileManager,简洁高效的实现了我的需求。

安装TinyManager

该项目已在Github开源,主页地址。安装非常的简单,直接下载最新版Zip包,完成后解压,将整体目录改个名字比如“pan”,然后放入需要管理的文件的上一级,然后使用 WebStation 在该目录起一个Nginx容器+php环境,做完之后即可通过路径访问了。

配置

经过上述安装,不需要配置即可通过 domain:6543/pan/index.php 访问(index可不写,6543需要路由器配置映射)登陆页面。初始的登陆密码是 admin/admin@123user/12345 对应两个级别的用户。

1. 配置密码

直接在群晖打开 index.php 进行编辑(config.php 中的也要对应修改),在27行,找到以下代码:

$auth_users = array(
    'admin' => '$c9a9qa2v9W18YaYkqI5cEG/ufAviA912PDly1JWwLPgh6324231hqFG', //admin@123
    'user' => '$2dasidqwioev9W18YaYkqI5cEG/uf14y1JWwLPgh6pMzzJ42412hqFG' //12345
);
  • 1
  • 2
  • 3
  • 4

去到该页面,生成你想设置密码的加密字符串,然后回来将其替换到对应位置(箭头右边部分)即可完成密码修改。

2. 修改语言

登陆文件管理Web页面,一定要用admin登陆,右上角下拉点击设置进入该页面选择语言,以及其他设置。

3. 配置管理根目录

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';
  • 1
  • 2
  • 3
4. 修改文件夹权限

此步骤很有必要,如果不改,默认的管理操作会无效,因为php文件没有相应的权限。需要在群晖的文件管理器中直接对 Manager 的工具文件夹进行权限修改(勾选上以下页面的“应用到子文件”,截图没截全):

修改完之后,Web管理页面上的编辑、删除、重命名即可正常使用。

修改源码加以完善

由于主体就一个php文件,所以比较容易修改,原页面主要的问题有以下几个:

  • 文件类型对应的图标太丑
  • 文件操作区的按钮重复
  • 修改根目录后文件直链出错
  • 最底部的操作区没实际意义
1. 修改文件类型对应的图标

这里首先引入最新版本的 font-awsome 图标,在index中的适当位置加入(以下代码需要在官网注册后才能得到):

<script src="https://kit.fontawesome.com/xxxxxx.js" crossorigin="anonymous"></script>
  • 1

然后在 2612 行找到 function fm_get_file_icon_class($path) 函数,全部类型对应的图标均在此修改即可。

2. 删除没用的部分

对我来说,文件的下载和直链,两部分完全相同,所以操作区的下载按钮直接删掉(复制其实也没用)。还有页面最底部的操作区也没用,直接删掉,对应到源码主要是以下几部分,直接注释掉即可:

Line 1947 - 删除对文件夹的复制
<!--<a title="<?php echo lng('CopyTo')?>..." href="?p=&amp;copy=<?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) ?>&amp;copy=<?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) ?>&amp;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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
3. 修复直链问题

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>
                        
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

访问 cz5h.com 获取更多精彩内容。


4. 最终的精简效果
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/681445
推荐阅读
相关标签
  

闽ICP备14008679号