news 2026/7/10 12:49:58

随机图床 _

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
随机图床 _

图床转发 (Image-Forward)

一个基于Python Flask的图片合集管理和随机转发服务。

功能特点

管理界面,支持创建、查看、编辑和删除图片合集

支持上传本地图片和添加外部图片链接

通过特定URL随机返回合集中的图片(本地图片直接返回,外链HTTP重定向)

支持Docker部署

统一的背景图片和可配置的透明度

快速开始

1. 环境配置

使用 .env 文件:编辑根目录的 .env 的文件。此文件中的环境变量(例如 ADMIN_PASSWORD=mysecret 或 APP_NAME="我的图床")将在应用启动时加载,并覆盖 config.py 中的相应默认值。

# .env 示例

ADMIN_PASSWORD=your_secure_password

APP_NAME=我的自定义图床名称

DEBUG=True

# SECRET_KEY=your_very_secret_key_for_production # 强烈建议在生产环境中设置此项

# PORT=5000

Docker 用户映射自定义 config.py:如果您使用 Docker 部署,可以通过 docker-compose.yml 文件中的 volumes 指令,将宿主机上的自定义 config.py 文件映射到容器内的 /app/config.py,从而完全控制配置。详见下面的 "Docker部署" 部分。

重要配置项说明:

ADMIN_PASSWORD: 管理员登录密码。

APP_NAME: 应用显示的名称。

BACKGROUND_IMAGE_PATH: 统一的背景图片文件名(应存放于 app/background/ 目录)。

BACKGROUND_OPACITY: 背景图片的透明度(0.1 到 1.0)。

SECRET_KEY: Flask 应用的密钥,用于会话管理等,在生产环境中务必设置为一个复杂且唯一的字符串。

DEBUG: 是否开启调试模式。生产环境建议设为 False。

PORT: 应用运行的端口。

注意:通过管理界面进行的配置更改(如应用名称、背景图片、透明度)仅在当前应用会话中有效,不会被持久化保存。要使更改永久生效,您需要修改项目根目录下的 .env 文件,或者(如果使用了 Docker 并映射了自定义 config.py)修改您映射的 config.py 文件,然后重启应用。

2. 本地运行

安装依赖:

pip install -r requirements.txt

启动应用:

python run.py

3. Docker部署

使用 Docker Compose 启动服务:

docker-compose up -d --build

docker-compose.yml 文件配置如下:

version: '3.8'

services:

web:

build: .

container_name: image_forward_app

ports:

- "46000:46000" # 将配置的端口映射到主机

env_file:

- .env # 从项目根目录的 .env 文件加载环境变量到容器

volumes:

- ./picture:/app/picture # 持久化图片存储

- ./app/background:/app/background # 映射背景图片目录

# 如需使用自定义的 config.py 文件,请取消下面一行的注释,

# 并确保 'my_custom_config.py' (或您选择的文件名) 存在于 docker-compose.yml 同级目录。

# - ./my_custom_config.py:/app/config.py

restart: unless-stopped

这允许您:

通过在项目根目录创建和修改 .env 文件来覆盖默认配置。

(可选)通过取消注释并提供您自己的 config.py 文件(例如 my_custom_config.py)来完全替换应用内的默认配置。

使用指南

访问地址

主页:http://127.0.0.1:PORT/ (PORT 为您配置的端口,默认为 46000)

管理界面:http://127.0.0.1:PORT/admin

随机转发:http://127.0.0.1:PORT/合集名称

管理流程

访问管理界面并使用您在配置文件 (config.py 或通过 .env 文件覆盖的) 中设置的管理员密码登录。

创建新的图片合集。

上传本地图片或添加外部图片链接。

通过随机转发URL测试功能。

数据存储

所有图片和外链数据存储在项目运行目录下的 /picture 文件夹中

每个图片合集对应 /picture 下的一个子文件夹。

合集下的本地图片直接存储在该子文件夹中。

合集下的外部链接集中存储在子文件夹内一个与合集同名的 .txt 文件中。

背景图片存储在 /app/background 目录中。

主页

image

合集界面

image

管理界面

image

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/9 14:36:16

GP2040-CE终极指南:从零打造个性化游戏控制器的完整流程

想要打造专属的游戏控制器却不知从何下手?GP2040-CE开源固件项目让这一切变得简单。这个专为Pico-PIO-USB板设计的解决方案,为你打开了自定义游戏控制器的大门,无论你是格斗游戏爱好者还是平台跳跃高手,都能找到最适合自己的配置方…

作者头像 李华
网站建设 2026/7/10 0:34:25

入门】使用Node.js开发一个MCP服务器(STDIO方式)介绍

CP(Model Control Protocol)是一个标准化接口协议,用于定义AI工具的功能和参数格式。它允许AI以标准方式调用各种工具,例如通过定义参数格式(如城市名称)来获取城市天气信息。当用户请求查询北京天气时&…

作者头像 李华
网站建设 2026/7/10 10:11:50

实现一个深拷贝函数

基础问答问:知道浅拷贝和深拷贝吗?为什么要用深拷贝?答:拷贝,可以认为是赋值,对于 JavaScript 中的基础类型,如 string, number, null, boolean, undefined, symbol 等,在赋值给一个…

作者头像 李华
网站建设 2026/7/10 10:44:12

AI视频生成技术原理与行业应用 - AI视频技术原理与架构

AI视频技术原理与架构一、AI视频生成的核心逻辑与完整流程1. 核心定义:什么是AI视频生成模型?2. 完整流程:从数据到视频的四步走二、技术范式演进:从早期探索到主流架构1. 四大基础技术范式对比2. 范式演进时间线3. 主流架构&…

作者头像 李华
网站建设 2026/7/9 14:51:03

全新首发:考虑多尺度序列间相关性的多元时间序列预测。 结合了频域分析和自适应图卷积算法,效果显...

全新首发:考虑多尺度序列间相关性的多元时间序列预测。 结合了频域分析和自适应图卷积算法,效果显著 特点如下: 1.这是一种先进的深度学习模型,旨在利用频域分析和自适应图卷积捕捉多个时间尺度上不同的序列间相关性。 通过利用频…

作者头像 李华