alist

alist 是一个支持多存储的网盘/WebDAV 工具. 提供一个统一的 api/webdav/web 访问方式, 管理你的网盘, sftp, 对象存储.

docker-compose 配置文件 docker-compose.yml

yml

version: "3.3"
services:
  alist:
    restart: always
    volumes:
      - "/etc/alist:/opt/alist/data"
      - "/opt/alist/data/temp/aria2:/opt/alist/data/temp/aria2"
    ports:
      - "5244:5244"
    environment:
      - PUID=0
      - PGID=0
      - UMASK=022
    container_name: alist
    image: "xhofe/alist-aria2:latest"

nginx 代理配置

nginx

server {
    listen 80;
    server_name alist.kentxxq.com;
    return 301 https://$server_name$request_uri;

    include /usr/local/nginx/conf/options/normal.conf;
    access_log /usr/local/nginx/conf/hosts/logs/alist.kentxxq.com.log k-json;
}

server {
    listen 443 ssl;
    server_name alist.kentxxq.com;
    client_max_body_size 204800M;

    ssl_certificate /usr/local/nginx/conf/ssl/kentxxq.cer;
    ssl_certificate_key /usr/local/nginx/conf/ssl/kentxxq.key;

    access_log /usr/local/nginx/conf/hosts/logs/alist.kentxxq.com.log k-json;

    location / {
        proxy_pass http://10.0.1.157:5244;
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Range $http_range;
	    proxy_set_header If-Range $http_if_range;
        proxy_redirect off;
    }
}

小雅通过 alist 挂载很多的云盘. 收集整理很多影视文件. 所以

  • 站在巨人的肩膀上, 拥有了海量的资源
  • 小雅改动了站内搜索, 可以快速搜索出来资源
  • 可以挂载文件到自己的 alist

如果不自己搭建, 单个账号的请求数太多, 会被封. 同时小雅做了一些改造. 同时, 小雅每次在线观看, 会先把文件转存给自己. 然后再播放.

搭建小雅, 需要下面 3 个关键信息. 2 个 token 用于刷新 token 和存放文件, 一个 id 用于保存转存的文件.

下面是 小雅文档 里写的配置内容

配置对应文件获取方式
token/etc/xiaoya/mytoken.txthttps://alist.nn.ci/zh/guide/drivers/aliyundrive.html
open token/etc/xiaoya/myopentoken.txthttps://alist.nn.ci/zh/guide/drivers/aliyundrive_open.html
临时保存文件的 id/etc/xiaoya/temp_transfer_folder_id.txt在资源库创建一个文件夹.打开这个文件夹的网页版.复制 url 最后的最后一串

官网文档的部署操作如下

shell

bash -c "$(curl http://docker.xiaoya.pro/update_new.sh)"

# 默认用户名密码
用户: guest 密码: guest_Api789
# 禁用guest用户,保证安全
touch /etc/xiaoya/guestlogin.txt

# 配置dav用户,后面都用这个用户
touch /etc/xiaoya/guestpass.txt
# 把dav用户的密码写进去
vim /etc/xiaoya/guestpass.txt

# 配置外网地址,这样tvbox的地址才会变成外网地址
vim docker_address.txt
https://xiaoya.kentxxq.com
vim docker_address_ext.txt
https://xiaoya.kentxxq.com

# 配置生效
docker restart xiaoya

我没有使用上面的官方搭建方式. 使用了 别人封装的alist-tvbox.

  • 可以 ui 管理
  • docker 部署运行, 而不是依赖 shell 脚本. 但是我不喜欢这种长 shell 脚本. 像是黑盒子
  • 不需要 xiaoyahelper 来定时清理临时文件夹的容器

下面开始部署

第一步. 创建一个文件夹 mkdir xiaoya, 保存 docker-compose 文件.

yaml

services:
xiaoya-tvbox:
  image: haroldli/xiaoya-tvbox
  ports:
    - "127.0.0.1:4567:4567"
    - "10.1.237.15:4567:4567"
    - "127.0.0.1:5344:80"
    - "10.1.237.15:5344:80"
  environment:
    ALIST_PORT: "5344"
  volumes:
    - /etc/xiaoya:/data
  restart: always
  container_name: xiaoya-tvbox
  • 4567 是管理界面端口. 5344 是小雅的端口
  • 两个端口我都配置了只能本地和内网 ip 访问, 因为我准备用 nginx 反向代理 https.
  • 数据在本地的 /etc/xiaoya 里面

第二步. 进入 5344 端口的管理界面

  • 账号菜单: 添加账号. 把你的账号信息保存上去. 可以通过签到来确定是否配置成功
  • 配置菜单
    • 强制登录 alist, 相当于禁用了 guest 账号, 保证安全性
    • 创建新的用户名密码. 用于你登录使用小雅
    • 重启等待一段时间生效. 因为需要抓取最新的资源, 所以通常小雅重启需要一段时间. 可以通过日志菜单确认
  1. 安装当贝市场
  2. 在当贝市场安装 KODI (自己搜索的版本没有声音,, 但是当贝市场的没问题)
  3. 添加源 设置=>文件管理=>添加网络位置
  • 离线下载支持磁力链接, 例如 magnet:?xt=urn:btih:EF7CE211B79187E4D8DDEB906095027534607EA6&dn=American%20Prometheus%3A%20The%20Triumph%20and%20Tragedy%20of%20J.R.%20Oppenheimer&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.bittor.pw%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=udp%3A%2F%2Fbt.xxx-tracker.com%3A2710%2Fannounce&tr=udp%3A%2F%2Fpublic.popcorn-tracker.org%3A6969%2Fannounce&tr=udp%3A%2F%2Feddie4.nl%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.torrent.eu.org%3A451%2Fannounce&tr=udp%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.tiny-vps.com%3A6969%2Fannounce&tr=udp%3A%2F%2Fopen.stealth.si%3A80%2Fannounce