• Stars
    star
    197
  • Rank 197,722 (Top 4 %)
  • Language
    HTML
  • Created about 4 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

一个专为较弱CPU打造, 方便简洁易用, 支持 Windows, Linux, MacOS 的本地目录列表程序.

特征简介

一个专为较弱CPU打造, 方便简洁易用, 支持 Windows, Linux, MacOS 的本地目录列表程序.
1. 用户名密码鉴权
2. 隐藏/忽略 某文件 (正则匹配支持)
3. 隐藏/忽略 某文件夹 (正则匹配支持)
4. 302 链接跳转 (映射成文件)
5. 文件断点续传 (分段加速下载文件)
6. 支持 命令参数/配置文件 方式启动 (命令参数优先级最高)
7. WebDVA 只读模式 (挂载播放器)
8. 支持自定义 index.html

配置文件 (config.json)

{
  "WorkFolder": "/var/www",
  # 展示某个目录(唯一)
  # 示例: /var/www.
  
  "Endpoint": "/",
  # 映射到URL目录, 默认为根目录.
  
  "FolderSize": false,
  # 计算文件夹大小, 递归遍历累加. (开启会影响性能)
  
  "AuthItem": "user1:passwd1@/The/File/Path|user2:passwd2@/The/Folder/Path",
  # 使用 HTTP 401 加密多个目录或者文件.
  # 路径格式为省略掉 Endpoint 的相对路径.
  
  "RedirectItem" : "google.txt;https://google.com|/link/baidu.txt;https://baiud.com",
  # 添加虚拟路径, 302 跳转至指定链接.
  # 路径格式为省略掉 Endpoint 的相对路径.
  
  "IgnoreFile": "",
  # 忽略某个名字的文件, 支持正则.
  
  "IgnoreFolder": "",
  # 忽略某个名字的文件夹, 支持正则.
  
  "HideFile": ".*\\.sh|test\\.txt",
  # 隐藏某个名字的文件, 支持正则. 
  # 示例: 隐藏 sh 后缀的文件和名字为 test.txt 的文件.
  
  "HideFolder": "",
  # 隐藏某个名字的文件夹, 支持正则.
  
  "WebDAV": true
  # 添加只读模式的 WebDAV 访问功能.
  
  # 隐藏: 不显示在列表中, 但能可以访问.
  # 忽略: 不显示在列表中, 且不可以访问.
  # 某一项中填写多个项目, 使用 "|" 分隔.
  # 正则表达式转义符在 json 文件中为 "\\"
}

使用方法

快速使用

./vList -h
./vList -w "/var/www"
./vList -d -w "/var/www" -bind 0.0.0.0 -port 8080
./vList -bind 0.0.0.0 -port 8080 -w "/var/www" -webdav=false -hide=fasle -size=true

# -h 显示帮助
# -q 安静模式(不显示日志)
# -d 后台运行(在Windows下无效)

应用配置文件

如果同目录中有 config.json, 则会自动读取.
如果同目录中有 index.html, 则会自动读取.
./vList
./vList -c "/配置文件绝对路径/config.json" -bind 0.0.0.0 -port 8080

使用Nginx反向代理

    location ^~ /vList {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Range $http_range;
        proxy_no_cache $http_range;
        proxy_pass http://127.0.0.1:8080;
    }

Service

wget -qO /etc/vList/vlist.service https://github.com/MoeClub/vList/raw/master/vlist.service
cp -rf "/etc/vList/vlist.service" "/etc/systemd/system/vlist.service"
systemctl daemon-reload
systemctl enable vlist.service
systemctl start vlist.service