news 2026/4/22 18:33:29

随机图床 _

作者头像

张小明

前端开发工程师

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/4/23 11:18:47

探索NEMA_p GPU:Verilog/SystemVerilog实现之路

NEMA_p GPU NEMA | dc 2022 verilog/systemverilog实现最近在硬件设计的世界里遨游,碰到了NEMAp GPU这个挺有意思的玩意儿。NEMAp GPU听起来就感觉很有科技感,它在图形处理方面应该有着独特的优势。今天就来和大家唠唠怎么用Verilog/SystemVerilog来实现…

作者头像 李华
网站建设 2026/4/23 12:35:27

禅城种植牙哪家强?靠谱机构这样选

禅城种植牙哪家强?靠谱机构这样选随着口腔健康意识的提升,种植牙因其媲美真牙的稳固性和舒适度,已成为众多缺牙市民的首选修复方案。然而,面对禅城区内众多的口腔医疗机构,如何甄别技术实力、选择一家真正靠谱的种植牙…

作者头像 李华
网站建设 2026/4/23 12:49:22

正规种植牙机构怎么选?这几点很重要

正规种植牙机构怎么选?这几点很重要随着口腔健康意识的提升,种植牙已成为修复牙齿缺失的主流选择之一。然而,面对市场上众多的口腔医疗机构,如何选择一家正规、可靠、技术过硬的种植牙机构,成为许多患者面临的难题。一…

作者头像 李华
网站建设 2026/4/23 12:53:05

Three.js延迟渲染实战:用GBuffer技术优化多光源性能瓶颈

在Three.js项目开发中,当你试图创建包含数十个光源的沉浸式3D场景时,是否遭遇过帧率显著下降的尴尬?传统前向渲染在处理复杂光照时如同让每个光源都重新绘制整个舞台,而延迟渲染则像将舞台拆解为零件库,让光照计算变得…

作者头像 李华
网站建设 2026/4/23 11:27:19

AI视频生成技术原理与行业应用 - AI视频行业应用现状

AI视频行业应用现状一、影视娱乐行业:全流程革新与商业化落地1. 核心应用场景2. 典型案例3. 核心价值二、短视频与内容营销:降本增效与病毒式传播1. 核心应用场景2. 典型案例3. 核心价值三、文旅行业:沉浸式体验与精准营销1. 核心应用场景2. …

作者头像 李华
网站建设 2026/4/23 11:26:02

Maestro移动UI自动化:打造无障碍数字体验的智能测试方案

Maestro移动UI自动化:打造无障碍数字体验的智能测试方案 【免费下载链接】maestro Painless Mobile UI Automation 项目地址: https://gitcode.com/gh_mirrors/ma/maestro 在数字产品追求极致用户体验的今天,确保移动应用对所有用户群体都具有良好…

作者头像 李华