利用Replit搭建Alist
介绍
Alist
Alist是一个支持多种存储,支持网页浏览和WebDAV的文件列表程序,由gin和Solidjs驱动。
Replit
Replit是一个基于浏览器的云端协同开发平台,可用于构建开发环境、实时协作、托管网络应用等。Replit提供可创建动态或者静态网站的容器,并会自动生成免费https域名.这代表着任何人都可以试用Replit的云服务器创建自己的网站,或者是其他的服务,而且这一切,都是免费的。
前言
Replit最近封杀团队项目比较严重,虽说可以上传搭建,但后续更新比较繁琐,导致很多小伙伴已放弃这个平台,目前已有两种解决方案
-
脚本加密
经测试目前只检测前端明文代码,用密文运行脚本就能规避检测 -
个人项目+外接数据库
如果团队彻底寄了,外接数据库也是安全可行的备用方案,各平台通用,只要Alist不进行大版本更新,就不用重新配置
这次的教程两种方法均有介绍
准备工作
- Replit账户及简单操作:在利用Replit搭建个人博客Halo一篇文章中我已详细描述,若有需求可以参考利用Replit搭建个人博客Halo
- 自建数据库、bit.io账户、db4free账号三选一
- 域名:非必须
- UptimeRobot账号:非必须
教程
基于加密脚本
账号设置
创建账号可以参考利用Replit搭建个人博客Halo-账号创建
地区的话最好选择印度(亚洲),印度地区的带宽有50m而且美国地区好像严格封禁了Alist
复制模板
主页上方有搜索框,直接搜ZUILANG233
找到People
那里,点进去
找到一个叫Pan-of-Encrypt的项目
点进去,再点击Fork Repl
就能复制项目
起名的时候注意,不要起和Alist相关的名字,不然容易被封
项目配置
Fork完后会自动跳转到刚刚Fork完的项目中,如果没有自动跳转可以在侧边栏找到Repl
,点击进入后再找刚刚Fork的项目
点击RUN
就完成部署了,默认账号是admin密码是admin-passwd,登入后记得修改,如果忘记管理员密码可以在命令行输入
1 | ./jiaoben admin |
不知道命令在哪里的可以参考这里利用Replit搭建个人博客Halo-Replit大致操作
更改域名
使用自己的域名可以参考这里利用Replit搭建个人博客Halo-更改域名
防止休眠
Replit项目在一段时间无人访问后会自动进入休眠,停止项目的运行,届时Alist将无法访问,可以使用UptimeRobot定期访问项目地址已达到阻止休眠的效果
基于外挂数据库
我比较推荐这种方式,可以同时部署两个AList,一个在自家的NAS,一个在Replit,使用同一个数据库,这样可以同步修改信息,平时在家里用自己部署的对网盘进行挂载,在外网可以直接使用Replit
复制模板
主页上方有搜索框,直接搜ZUILANG233
找到People那里,点进去
找到一个叫Pan-of-Database的项目
点进去,再点击Fork Repl就能复制项目
起名的时候注意,不要起和Alist相关的名字,不然容易被封
创建数据库
这里有三种数据库,自己部署、bit.io、db4free,这边介绍bit.io和db4free(都会自建数据库了参考一些其他两个应该也会操作了)
注册bit.io账号
进入bit.io官网,点击Try for Free
(已经注册过的可以直接登录)
可以使用邮箱、Github、Google账号三种注册方式,我这里使用邮箱注册。填写邮箱、用户名、密码后点击Sign up
就注册完成了,到自己的邮箱确认一下注册就好了。
创建bit.io数据库
注册/登录完账号后,在首页点击Create Database
数据库命名为xlist
,类型选择Free
,然后点击下方的Create Database
进入数据库后点击右上方的Connect
注册db4free账号
进入db4free官网,找到免费注册账号进行账号注册
创建db4free数据库
然后再侧边栏依次点击【数据库】、【注册】、【phpMyAdmin】,填写数据库的名称、用户名等信息,同意服务条款后点击下方的注册即可
注意db4free会不定期清理大于200m的数据库,测试我的AList数据库在100m左右(挂载的网盘不多)
配置好后复制到Secrets。注意大括号不要复制多了,点击Save就好
配置Alist数据库参数
在自己的Replit项目中找到Secrets
,不知道Secrets在哪里的可以看这里利用Replit搭建个人博客Halo-配置管理员账户密码,点击Secrets右上角的Editor as JSON(也可以根据你的实际情况一个一个填写key和value)
将下面的账户、密码、数据库名替换成实际情况,在Connect
页,对于关系如下
Connect页面 | Secrets参数 |
---|---|
Username | 账号 |
API Key / Password | 数据库API密码 |
Database name | 用户名/数据库名称 |
1 | { |
配置好后复制到Secrets。注意大括号不要复制多了,点击Save就好
将下面的账户、密码、数据库名替换成注册数据库时实际填写的情况。替换一下账号、密码、数据库名称这三个参数就行(其他的已经填写好)
1 | { |
配置好后复制到Secrets。注意大括号不要复制多了,点击Save就好
关于自动生成的admin密码
- 初始密码是随机生成的,可以查看日志获取
- 如果你是使用的bit.io数据库,可以进入
数据库
->DATA
->TABLES
找到users
,表中就有自动生成的密码
更改域名
使用自己的域名可以参考这里利用Replit搭建个人博客Halo-更改域名
防止休眠
Replit项目在一段时间无人访问后会自动进入休眠,停止项目的运行,届时Alist将无法访问,可以使用UptimeRobot定期访问项目地址已达到阻止休眠的效果
其他
Replit封杀Alist挺严重的,毕竟是白嫖别人的服务器资源,如果出现这个画面就是项目被Replit封杀了
实测美区特别容易被封,可以换到印度试试
如果是使用外挂数据库的方法删除项目后重新部署一遍就好,因为数据是存在其他网站的所以不用担心数据丢失。如果是使用加盟脚本部署,可以新建一个账号Fork一下被封的项目就能取回数据了,总的来说还是外挂数据库方好一点,但是外挂数据库部署不方便
如果在Replit中找不到我的项目可以直接来Github找我的项目,我在Github留了备份
项目备份下载
鸣谢
- 感谢您的赞赏。