阿里云盘的网页显示目录文件列表开源源码
作者:熊猫畔日期:2021-03-23 12:37:59分类:网站源码
支持的功能
自动刷新token,refresh_token自动更新,失效时间未知,本人使用过程中没有失效过。
图片、视频、音频预览,目录加密,Readme渲染,自定义根目录,文件直链下载
排序,文件预览,图片,视频,音频,Readme渲染,密码加密,搜索与翻页,文件直链,路径优化,缓存
一款阿里云盘的目录文件列表程序,后端基于golang最好的http框架gin,前端使用vue和ant design。
如何部署
https://github.com/Xhofe/alist
获取refresh_token
为什么不直接使用access_token
,因为有效期只有两小时。经Syc大佬的提醒,获取refresh_token
其实没这么麻烦,我们只需要登陆阿里云盘之后,打开开发者工具,切换到Application
选项卡,点开Local storage
,会有一个token
项,点开就可以看到refresh_token
了,此处感谢一下Syc大佬。
部署
使用gin作为静态资源服务器
前往AList Release下载对应系统的程序,解压得到一个示例配置文件和一个系统名称文件夹里面包含运行文件
alist
前往AList-web下载打包好的前端,解压得到一个dist目录放到
alist
同级目录下
info: title: AList #标题 logo: "" #网站logo 如果填写,则会替换掉默认的 footer_text: Xhofe's Blog #网页底部文字 footer_url: https://www.nn.ci #网页底部文字链接 music_img: https://img.xhofe.top/2020/12/19/0f8b57866bdb5.gif #预览音乐文件时的图片 check_update: true #前端是否显示更新 script: #自定义脚本,可以是脚本的链接,也可以直接是脚本内容 autoplay: true #视频是否自动播放 preview: text: [txt,htm,html,xml,java,properties,sql,js,md,json,conf,ini,vue,php,py,bat,gitignore,yml,go,sh,c,cpp,h,hpp] #要预览的文本文件的后缀,可以自行添加 server: port: "5244" search: true static: dist site_url: '*' password: password #用于重建目录 ali_drive: api_url: https://api.aliyundrive.com/v2 max_files_count: 3000 drives: - refresh_token: xxx #refresh_token root_folder: root #根目录的file_id name: drive0 #盘名,多个盘不可重复,这里只是示例,不是一定要叫这个名字,可随意修改 password: pass #该盘密码,空('')则不设密码,修改需要重建生效 hide: false #是否在主页隐藏该盘,不可全部隐藏,至少暴露一个 - refresh_token: xxx #只有一个盘的话,该段完全可以删除,反之有更多可以继续添加 root_folder: root name: drive1 password: pass hide: false database: type: sqlite3 dBFile: alist.db
填入最开始获取到的
refresh_token
,然后自行修改配置文件中默认的值现在的情况应该是,目录下有两个文件
alist
、conf.yml
和一个文件夹dist
,在该文件夹下面执行下面的命令(Linux)
chmod +x alist nohup ./alist > log.log 2>&1 &
ok,程序已经跑起来了。你可以cat log.log
看看有没有报错。或者访问http://ip:5244进行查看。
守护进程(可选)
vim /usr/lib/systemd/system/alist.service
添加以下内容,其中path_alist为alist所在的路径
[Unit] Description=alist After=network.target [Service] Type=simple WorkingDirectory=path_alist ExecStart=path_alist/alist -conf conf.yml Restart=on-failure [Install] WantedBy=multi-user.target
然后systemctl daemon-reload
重载配置,现在你就可以使用这些命令来管理程序了:
启动:
systemctl start alist
关闭:
systemctl stop alist
自启:
systemctl enable alist
状态:
systemctl status alist
使用mysql(可选)
修改database部分配置:
database: type: mysql user: 用户名 password: 密码 host: 127.0.0.1 port: 3306 name: 数据库名
自定义静态资源服务器
与使用gin作为静态资源服务器操作步骤差不多,不同的地方在于:
下载AList-web的源码,修改
.env.production
中的VUE_APP_API_URL
为具体部署的后端地址,然后yarn && yarn build
自行部署conf.yml
中的server.site_url
填写前端部署的域名或者默认为'*',需要正确填写,否则会报错。建议直接使用gin作为静态资源服务器,使用nginx的话因为路由使用了history模式(没有#号好看一点),所以还需要设置一下nginx:
location / { try_files $uri $uri/ /index.html; }
参考:https://router.vuejs.org/zh/guide/essentials/history-mode.html
反向代理
程序默认监听5244端口,要实现https访问,需要使用nginx反向代理,在配置文件中加入
location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_redirect off; proxy_pass http://127.0.0.1:5244; }
常见问题解答
如何自定义网页底部链接?
修改配置文件中的footer_text
和footer_url
为要设置的内容,或者不填则不会显示。修改网站icon?
替换掉dist
目录下的favicon.ico
即可。如何更新?
前端:下载新的打包好的文件,删掉原来的dist文件夹,解压新的dist放入原来的位置即可。后端:pkill alist
停掉老的进程,删除旧的alist
,下载新的alist,查看配置文件,补上新的配置项,再次运行即可。运行显示检查更新之后直接报错?
可能是无法访问到GitHub的api,可以在命令行后面加上-skip-update
跳过检查更新。
猜你还喜欢
- 03-12 安卓阿里云盘TV版 v1.0.9支持秒速播放与原画播放无广告
- 01-30 阿里云盘韩国女团400多部MV大合集
- 12-13 阿里云盘压缩包伪装分享工具解决该文件类型暂时不支持分享
- 11-29 油猴脚本解锁阿里云盘超过100M需要客户端下载
- 热评文章
- 热门tag