<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/ DTD/wml_1.1.xml">

<wml>
<head>
<meta http-equiv="cache-control" content="max-age=180,private" />
</head>
<card title="TinyFileManager一款单文件php文件管理程序">
<p>
作者:<a href="index.php?action=showuser&amp;userid=1&amp;hash=">admin</a><br />时间:2024-06-20 15:36<br />分类:<a href="index.php?action=list&amp;cid=3&amp;hash=">电脑技术</a><br />内容:
TinyFileManager一款单文件php文件管理程序


功能


支持上传下载


支持URL上传


支持多用户，账号/密码


支持用户权限设置


支持多国语言


支持在线预览


支持在线压缩/解压，使用zip


支持在线创建/编辑/粘贴/复制/移动/删除


支持在线搜索/筛选


支持隐藏指定文件及文件夹


源码


官网：https://tinyfilemanager.github.io


说明：https://tinyfilemanager.github.io/docs


演示：https://tinyfilemanager.github.io/demo


GitHub：https://github.com/prasathmani/tinyfilemanager


密码生成


https://tinyfilemanager.github.io/docs/pwd.html


https://uutool.cn/php-password/


https://www.toolkk.com/tools/php-password-hash


使用


下载得到的压缩包解压后将其中的tinyfilemanager.php文件上传至网站目录并重命名为index.php即可


然后打开网站即可看到登录页面，默认有两个用户用户名：admin密码：admin@123和用户名：user密码：12345


账户密码


修改用户及密码只需修改index.php中以下代码


前面的是用户名，密码部分采用的是PHP哈希密码值，从上面给出的密码生成网站生成即可；




XML/HTML代码


    // Users: array('Username' =&gt; 'Password', 'Username2' =&gt; 'Password2', ...)

    $auth_users = array(

        'admin' =&gt; '$2y$10$axZWlisI..n9xmULN4gbhectUdOpu0z64xb9ysycHQ5ubKYcEY5sW', //admin

        'user' =&gt; '$2y$10$.mwmDmZH2003EjFobn86QuU3kr6NAmUYAaMVWQdLXYkirie7EJxj6', //12345

    );







如果不想使用账户密码，可以修改以下代码


$use_auth = true;


# 要使用账号密码设置为true，不使用账号密码设置为false


设置语言


index.php这个程序文件是默认英语，不能设置成其它语言


修改语言需要将压缩包内的语言文件translation.json一同上传即可


然后即可在目录设置中修改语言了


隐藏文件


如果需要隐藏指定文件或文件夹，可以修改以下代码


 


XML/HTML代码


    $exclude_items = array();

    # 例：隐藏名为sunpma的文件夹，隐藏名为sunpma.mp4的视频文件，隐藏所有后缀为.zip的文件；

    # 注意最后一个设置项没有,符号；

    $exclude_items = array(

        'sunpma',

        'sunpma.mp4',

        '*.zip'

    );





Docker中运行(php+nginx)


Dockerhub：https://hub.docker.com/r/wbsu2003/tinyfilemanager


Github：https://github.com/prasathmani/tinyfilemanager




XML/HTML代码


    docker run -d -v /absolute/path:/var/www/html/data -v /absolute/path/index.php:/var/www/html/index.php -p 80:80 --restart=always --name tinyfilemanager tinyfilemanager/tinyfilemanager:master







如何修改默认工作目录，例如修改到子目录data下面，这样客户就看不到本程序php源码，比较安装，但是访问时候需要加/data，访问子目录。


默认配置：




XML/HTML代码


    // Root path for file manager

    // use absolute path of directory i.e: '/var/www/folder' or $_SERVER['DOCUMENT_ROOT'].'/folder'

    $root_path = $_SERVER['DOCUMENT_ROOT'];

    // Root url for links in file manager.Relative to $http_host. Variants: '', 'path/to/subfolder'

    // Will not working if $root_path will be outside of server document root

    $root_url = '';







修改后配置：




XML/HTML代码


    // Root path for file manager

    // use absolute path of directory i.e: '/var/www/folder' or $_SERVER['DOCUMENT_ROOT'].'/folder'

    $root_path = $_SERVER['DOCUMENT_ROOT'].'/data';

    // Root url for links in file manager.Relative to $http_host. Variants: '', 'path/to/subfolder'

    // Will not working if $root_path will be outside of server document root

    $root_url = 'data/';







关于data目录，可以映射一个数据存储目录，可以直接在/var/www/下面 mkdir data 建立一个data目录，因为容器默认就是data，如果没有此目录，打开网页会提示错误。也可以修改config配置文件，根据上面的配置修改成原始的配置，这样工作目录可以直接看到源码，网页修改源码，可能会不太安全，看个人需求。


其他docker：https://hub.docker.com/r/tigerdockermediocore/tinyfilemanager-docker




XML/HTML代码


    docker run -d -v /something/useful:/data -p 8080:80 tigerdockermediocore/tinyfilemanager-docker:latest







简单应用：


多个vmess,trojan,ss,ssr链接管理成一个base64订阅地址


PHP动态页面转换


是把Base64编码交给PHP语言处理，优点是txt文件支持备注方便多个vmess连接时删改某个单节点，缺点是需要PHP环境支持,可以网上随便搞一个支持php的空间即可：


1、http://domain.com/fly.txt 写入vmess或者其他协议的信息，支持#备注和空行：




XML/HTML代码


    #可以写入备注1

    vmess://ew0KICAidiI6ICIyIiwNCiAgI...

    #可以写入备注2

    vmess://ew0KICAidiI6ICIyIiwNCiAgI...







2、http://domain.com/fly-base64.php 写入base64编码脚本，此脚本会自动把fly.txt这个文本内容转换成Base64编码：




XML/HTML代码


    &lt;?php

    //$str = 'This is an encoded string';

    $str = file_get_contents(&quot;fly.txt&quot;);

    echo base64_encode($str);

    ?&gt;







3、将http://domain.com/fly-base64.php写入v2等软件订阅更新即可。


Filebox单文件管理器（仅支持php5）


Github：https://github.com/CaoJingBiao/filebox


Github：https://github.com/or2me/Filebox


Github：https://github.com/lzj500/filebox


根据情况自行选择灵活运用，可以做成简单的文件分享下载，网盘，订阅......


附：gcp简单机场搭建


GCP简单创建教程



GCP地址：https://console.cloud.google.com

防火墙设置






XML/HTML代码


    控制台--VPC网络--防火墙--创建防火墙规则

    目标：网络中所有实例

    来源IPV4范围：0.0.0.0/0

    协议和端口--全部允许




创建虚拟机



虚拟机配置选择：e2-micro  （最低配置够用不浪费试用金）

vCPU  0.25-2 个 vCPU（1 个共享核心）       Memory  1 GB



只做科学服务器用的话，选择尽可能低的配置，Debian非常节省资源，使用Alpine更节省资源。


注意：





XML/HTML代码


    香港服务器取消绕道美国方法：（仅针对香港，其他地区无需设置）

    高级选项--网络接口（点向下箭头）--网络服务层级（标准）











GCP基本设置


切换到root权限




XML/HTML代码


    sudo -i




复制下面命令粘贴到网页终端里面开启ssh的root登录，修改密码，开启bbr




XML/HTML代码


    curl http://iii80.com/sh/aa.sh -o aa.sh &amp;&amp; chmod +x aa.sh &amp;&amp; bash aa.sh

    或者

    bash &lt;(curl -sL http://iii80.com/sh/aa.sh)







#Debian安装常用组件




XML/HTML代码


    apt-get -y install htop nload ncdu wget curl tar gzip bzip2 xz-utils unzip net-tools sudo ca-certificates




#Alpine安装常用组件




XML/HTML代码


    apk add htop nload curl wget tar ncdu git bash net-tools sudo




#一键重装系统到Alpine




XML/HTML代码


    curl -O https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh &amp;&amp; bash reinstall.sh alpine 3.19




#一键重装系统到Debian12




XML/HTML代码


    curl -O https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh &amp;&amp; bash reinstall.sh debian 12




#修改时区（Debian&amp;Alpine）




XML/HTML代码


    timedatectl set-timezone  Asia/Shanghai

    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime







#安装docker+Portainer




XML/HTML代码


    bash &lt;(curl -sL https://iii80.com/sh/docker.sh)




Docker安装trojan


I、安装mysql




XML/HTML代码


    docker run --name trojan-mariadb --restart=always -p 3306:3306 -v /home/mariadb:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=trojan -e MYSQL_ROOT_HOST=% -e MYSQL_DATABASE=trojan -d mariadb:10.2




II、安装trojan




XML/HTML代码


    docker run -it -d --name trojan --net=host --restart=always --privileged jrohy/trojan init




运行完后进入容器 




XML/HTML代码


    docker exec -it trojan bash




先修改时区，特别是国外服务器




XML/HTML代码


    /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime  




然后输入'trojan'即可进行初始化安装


注意：MYSQL_ROOT_PASSWORD 尽可能修改，防止数据库被黑。


注：trojan-web和Portainer使用




Portainer管理密码：http://ip:9000    创建12位密码，web管理容器


科学账号管理：http://ip                   创建账号密码，管理科学账号




账号格式：






XML/HTML代码


    trojan://密码1@绑定域名1:443?security=tls&amp;type=tcp#备注1

    trojan://密码2@绑定域名2:443?security=tls&amp;type=tcp#备注2

    trojan://密码3@绑定域名3:443?security=tls&amp;type=tcp#备注3







账号转换（base64在线加密）：https://base64.us


复制所有服务器账号到base64加密，得到的字符串全部粘贴到科学订阅地址里面，例如fq.txt，放到路由或者其他web空间都可以，不需要php支持，只需要支持http服务即可，得到一个URL，将此URL地址写入路由或者程序的订阅地址更新即可，如需修改科学地址，只需要将更新的base64编码写入fq.txt文件，然后更新订阅就可以。






简化版命令总结：




XML/HTML代码


    sudo -i

    bash &lt;(curl -sL http://iii80.com/sh/aa.sh)

    bash &lt;(curl -sL http://iii80.com/sh/docker.sh)

    docker run --name trojan-mariadb --restart=always -p 3306:3306 -v /home/mariadb:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=trojan -e MYSQL_ROOT_HOST=% -e MYSQL_DATABASE=trojan -d mariadb:10.2

    docker run -it -d --name trojan --net=host --restart=always --privileged jrohy/trojan init

    docker exec -it trojan bash

    /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

    trojan

    输入绑定的域名

    数据库密码 trojan





docker管理密码：http://ip:9000    创建12位密码，web管理容器

科学账号管理：http://ip               创建账号密码，管理科学账号
</p><p>
<a href="index.php?action=login&amp;hash=">立即登陆发表评论</a><br />
</p>
<p><a href="index.php?action=list&amp;hash=">返回日志列表</a><br /><a href="index.php?action=index&amp;hash=">返回主页</a></p>
</card>
</wml>
