简介

主要特色

  • 轻量简洁:Fastapi+Sqlite3+Vue2+ElementUI
  • 轻松上传:复制粘贴,拖拽选择
  • 多种类型:文本,文件
  • 防止爆破:错误次数限制
  • 防止滥用:IP限制上传次数
  • 口令分享:随机口令,存取文件,自定义次数以及有效期
  • 匿名分享:无需注册,无需登录
  • 管理面板:查看所有文件,删除文件
  • 一键部署:docker一键部署
  • 自由拓展:阿里云OSS、本地文件流,可根据需求在storage文件中新增存储引擎
  • 简单明了:适合新手练手项目

例站

https://share.lanol.cn
68747470733a2f2f6661
68747470733

docker-compose部署

创建文件夹

mkdir -p /root/filecodebox && cd /root/filecodebox && touch docker-compose.yml && touch .env

配置文件

如果需要修改配置,可以将该文件放在/root/FileCodeBox/目录下,并命名为.env,然后重启容器即可。上面的命令已经创建了.env文件了

vim /root/filecodebox/.env

配置参数

关闭上传 ENABLE_UPLOAD=False,默认开启所有人上传ENABLE_UPLOAD=True,关闭后需管理员登录后台后,再返回到上传界面才能上传文件。

# 端口
PORT=12345
# Sqlite数据库文件
DATABASE_URL=sqlite+aiosqlite:///database.db
# 静态文件夹
DATA_ROOT=./static
# 静态文件夹URL
STATIC_URL=/static
# 开启上传
ENABLE_UPLOAD=True
# 错误次数
ERROR_COUNT=5
# 错误限制分钟数
ERROR_MINUTE=10
# 上传次数
UPLOAD_COUNT=60
# 上传限制分钟数
UPLOAD_MINUTE=1
# 删除过期文件的间隔(分钟)
DELETE_EXPIRE_FILES_INTERVAL=10
# 管理地址
ADMIN_ADDRESS=admin
# 管理密码
ADMIN_PASSWORD=admin
# 文件大小限制,默认10MB
FILE_SIZE_LIMIT=10
# 网站标题
TITLE=文件快递柜
# 网站描述
DESCRIPTION=FileCodeBox,文件快递柜,口令传送箱,匿名口令分享文本,文件,图片,视频,音频,压缩包等文件
# 网站关键词
KEYWORDS=FileCodeBox,文件快递柜,口令传送箱,匿名口令分享文本,文件,图片,视频,音频,压缩包等文件
# 存储引擎
STORAGE_ENGINE=filesystem
# 如果使用阿里云OSS服务的话需要额外创建如下参数:
# 阿里云账号AccessKey
KeyId=阿里云账号AccessKey
# 阿里云账号AccessKeySecret
KeySecret=阿里云账号AccessKeySecret
# 阿里云OSS Bucket的地域节点
OSS_ENDPOINT=阿里云OSS Bucket的地域节点
# 阿里云OSS Bucket的BucketName
BUCKET_NAME=阿里云OSS Bucket的BucketName

docker-compose

编辑配置文件

vim /root/filecodebox/docker-compose.yml

AMD

version: '3'
services:
  filecodebox:
    image: lanol/filecodebox:latest
    restart: always
    ports:
      - 12345:12345
    volumes:
      - /root/filecodebox/:/app/data

ARM

version: '3'
services:
  filecodebox:
    image: lanol/filecodebox:arm
    restart: always
    ports:
      - 12345:12345
    volumes:
      - /root/filecodebox/:/app/data

启动

docker-compose up -d

反代

caddy配置

domain.com {
    encode gzip
    reverse_proxy 127.0.0.1:5000
}

简单使用教程

上传文件&取件

反代成功后进入网站,是下面这个样子
68747470733a2f2f6661
点击红框上传文件
68747470733a2f2f6661-1685111129475
屏幕截图 2023-05-26 222614
再点击我的文件,会出现取件码
屏幕截图 2023-05-26 222716

后台管理

后台地址在上面设置.env文件时配置过,默认是admin,所以后台地址是https:domain.com/amdin,密码同理,默认是admin