From fb61891a03dc1296a3c0c269887907fee07587bc Mon Sep 17 00:00:00 2001 From: icret Date: Mon, 6 Feb 2023 01:40:22 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E5=A2=9E=E5=8A=A0=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 749 +----------------- admin/admin.inc.php | 206 +++-- config/config.php | 2 +- docs/.nojekyll | 0 docs/API.md | 66 ++ docs/Chrome插件.md | 17 + docs/Edge插件.md | 8 + docs/README.md | 70 ++ docs/SUMMARY.md | 23 + docs/_sidebar.md | 29 + docs/images/1-001.png | Bin 0 -> 13707 bytes docs/images/1-002.png | Bin 0 -> 15572 bytes docs/images/1-003.png | Bin 0 -> 2727 bytes docs/images/225906016.png | Bin 0 -> 15345 bytes docs/images/2532516028.png | Bin 0 -> 42403 bytes docs/images/4.png | Bin 0 -> 47333 bytes docs/images/4128197507.png | Bin 0 -> 23785 bytes docs/images/QQ截图20220222162603.png | Bin 0 -> 13720 bytes docs/images/QQ截图20220430022000.png | Bin 0 -> 155558 bytes .../images}/README/1305032567.png | Bin .../images}/README/2657944724.png | Bin .../images}/README/3053540273.png | Bin {install => docs/images}/README/674074848.png | Bin {install => docs/images}/README/chmod.png | Bin docs/images/README/info.png | Bin 0 -> 54803 bytes {install => docs/images}/README/log.png | Bin docs/images/ShareX_UwVwPnC3MJ.png | Bin 0 -> 32472 bytes docs/images/ShareX_luVGfPaU9E.png | Bin 0 -> 55281 bytes docs/images/f54adf65a4ds56f.png | Bin 0 -> 55517 bytes docs/images/微信截图_20211029180211.png | Bin 0 -> 155341 bytes docs/images/微信截图_20220427152523.png | Bin 0 -> 119130 bytes docs/images/配置中心-EasyImage2.0简单图床.png | Bin 0 -> 149595 bytes docs/index.html | 59 ++ docs/sw.js | 83 ++ docs/update.md | 464 +++++++++++ docs/三方安装指南.md | 11 + docs/使用PicGo上传.md | 18 + docs/使用ShareX上传.md | 29 + docs/公共查询.md | 39 + docs/分离相关.md | 10 + docs/后台管理.md | 3 + docs/图床更新升级.md | 20 + docs/安全配置.md | 26 + docs/安装图床.md | 18 + docs/安装扩展.md | 11 + docs/常见问题.md | 24 + docs/打赏开发者.md | 6 + docs/更改域名-服务器.md | 10 + docs/苹果快捷指令上传.md | 3 + docs/许可证.md | 2 + docs/跳过安装引导.md | 8 + docs/鉴黄.md | 31 + docs/隐藏存储路径.md | 7 + install/README/info.png | Bin 167735 -> 0 bytes install/contorl.php | 1 + 55 files changed, 1264 insertions(+), 789 deletions(-) create mode 100644 docs/.nojekyll create mode 100644 docs/API.md create mode 100644 docs/Chrome插件.md create mode 100644 docs/Edge插件.md create mode 100644 docs/README.md create mode 100644 docs/SUMMARY.md create mode 100644 docs/_sidebar.md create mode 100644 docs/images/1-001.png create mode 100644 docs/images/1-002.png create mode 100644 docs/images/1-003.png create mode 100644 docs/images/225906016.png create mode 100644 docs/images/2532516028.png create mode 100644 docs/images/4.png create mode 100644 docs/images/4128197507.png create mode 100644 docs/images/QQ截图20220222162603.png create mode 100644 docs/images/QQ截图20220430022000.png rename {install => docs/images}/README/1305032567.png (100%) mode change 100755 => 100644 rename {install => docs/images}/README/2657944724.png (100%) mode change 100755 => 100644 rename {install => docs/images}/README/3053540273.png (100%) mode change 100755 => 100644 rename {install => docs/images}/README/674074848.png (100%) mode change 100755 => 100644 rename {install => docs/images}/README/chmod.png (100%) mode change 100755 => 100644 create mode 100644 docs/images/README/info.png rename {install => docs/images}/README/log.png (100%) mode change 100755 => 100644 create mode 100644 docs/images/ShareX_UwVwPnC3MJ.png create mode 100644 docs/images/ShareX_luVGfPaU9E.png create mode 100644 docs/images/f54adf65a4ds56f.png create mode 100644 docs/images/微信截图_20211029180211.png create mode 100644 docs/images/微信截图_20220427152523.png create mode 100644 docs/images/配置中心-EasyImage2.0简单图床.png create mode 100644 docs/index.html create mode 100644 docs/sw.js create mode 100644 docs/update.md create mode 100644 docs/三方安装指南.md create mode 100644 docs/使用PicGo上传.md create mode 100644 docs/使用ShareX上传.md create mode 100644 docs/公共查询.md create mode 100644 docs/分离相关.md create mode 100644 docs/后台管理.md create mode 100644 docs/图床更新升级.md create mode 100644 docs/安全配置.md create mode 100644 docs/安装图床.md create mode 100644 docs/安装扩展.md create mode 100644 docs/常见问题.md create mode 100644 docs/打赏开发者.md create mode 100644 docs/更改域名-服务器.md create mode 100644 docs/苹果快捷指令上传.md create mode 100644 docs/许可证.md create mode 100644 docs/跳过安装引导.md create mode 100644 docs/鉴黄.md create mode 100644 docs/隐藏存储路径.md delete mode 100755 install/README/info.png diff --git a/README.md b/README.md index ecea202..e6753ea 100755 --- a/README.md +++ b/README.md @@ -1,9 +1,4 @@ -## EasyImage 简单图床 2.0 -> 始于2018年7月,支持多文件上传,简单无数据库,返回图片url,markdown,bbscode,html的一款图床程序 -演示地址:[https://png.cm/](https://png.cm/) -之前一直用的图床程序是:[PHP多图长传程序2.4.3](https://www.jb51.net/codes/40544.html) -由于版本过老并且使用falsh上传,在当前html5流行大势所趋下,遂利用基础知识新写了一个以html5为默认上传并且支持flash,向下兼容至IE9。 -***本程序环境要求极低,适用于单一场景(游客上传)和个人使用,不适于多用户复杂场景*** +## EasyImage2.0 简单图床 [![EasyImage2.0 GitHub's stars](https://img.shields.io/github/stars/icret/easyImage2.0?style=social)](https://github.com/icret/EasyImages2.0/stargazers) [![EasyImage2.0 GitHub's forks](https://img.shields.io/github/forks/icret/easyimage2.0?style=social)](https://github.com/icret/EasyImages2.0/network/members) @@ -12,720 +7,64 @@ [![jsdelivr](https://data.jsdelivr.com/v1/package/gh/icret/EasyImages2.0/badge)](https://cdn.jsdelivr.net/gh/icret/EasyImages2.0@EasyImage2.0/) [![License](https://img.shields.io/badge/license-GPL_V2.0-yellowgreen.svg)](https://github.com/icret/EasyImages2.0/blob/master/LICENSE) [![QQ group](https://pub.idqqimg.com/wpa/images/group.png)](https://jq.qq.com/?_wv=1027&k=jfXRHU8Y) - ->[演示](https://png.cm/) | [Chrome/Edge 插件](https://github.com/icret/EasyImage-Browser-Extension) | [使用手册](https://www.kancloud.cn/easyimage/easyimage/) | [社区讨论](https://github.com/icret/EasyImages2.0/discussions) | [Telegram](https://t.me/Easy_Image) -> +[演示](https://png.cm/) · [手册](https://www.kancloud.cn/easyimage/easyimage/) · [社区](https://github.com/icret/EasyImages2.0/discussions) · [Telegram](https://t.me/Easy_Image) - 插件: [Chrome](/doc/Chrome插件.md) · [Edge](/doc/Edge插件.md) · [PicGo](/doc/使用PicGo上传.md) · [ShareX](/doc/使用ShareX上传.md) + +目录: [安装](/doc/安装图床.md) | [安全](/doc/安全配置.md) | [API](/doc/API.md) | [鉴黄](/doc/鉴黄.md) | [升级](/doc/图床更新升级.md) | [常见问题](/doc/常见问题.md) | [环境/兼容](#环境要求) | [更新日志](/doc/更新日志.md) | [打赏开发者](/doc/打赏开发者.md) | [鸣谢](#鸣谢) | [许可证](#开源许可) + +> 始于2018年7月,支持多文件上传,简单无数据库,返回图片url,markdown,bbscode,html的一款图床程序 +演示地址:[https://png.cm/](https://png.cm/) +之前一直用的图床程序是:[PHP多图长传程序2.4.3](https://www.jb51.net/codes/40544.html) +由于版本过老并且使用falsh上传,在当前html5流行大势所趋下,遂利用基础知识新写了一个以html5为默认上传并且支持flash,向下兼容至IE9。 +***本程序环境要求极低,适用于单一场景(游客上传)和个人使用,不适于多用户复杂场景*** >本人善写bug 发现bug可提交 [issues](https://github.com/icret/EasyImages2.0/issues) 追求稳定请下载 [稳定版](https://github.com/icret/EasyImages2.0/releases) -## 目录 - -[特点](#特点)-[注意](#常见问题)-[安装](#安装)-[升级](#程序升级)-[安全](#安全配置)-[API](#API上传)-[鉴黄](#鉴黄)-[更新日志](#更新日志)-[支持开发者](#支持开发者)-[界面演示](#界面演示)-[兼容](#兼容)-[鸣谢](#鸣谢)-[许可证](#开源许可) - ## 特点 -- [x] 支持仅登录后上传 -- [x] 支持设置图片质量 -- [x] 支持文字/图片水印 -- [x] 支持设置图片指定宽/高 -- [x] 支持上传图片转换为指定格式 -- [x] 支持限制最低宽度/高度上传 -- [x] 支持API -- [x] 在线管理图片 -- [x] 支持网站统计 -- [x] 支持设置广告 -- [x] 支持图片鉴黄 -- [x] 支持自定义代码 -- [x] 支持上传IP黑白名单 -- [x] 支持创建仅上传用户 -- [x] 对于安装环境要求极低 -- [x] 更多功能支持请安装尝试··· +* [x] 支持仅登录后上传 +* [x] 支持设置图片质量 +* [x] 支持文字/图片水印 +* [x] 支持设置图片指定宽/高 +* [x] 支持上传图片转换为指定格式 +* [x] 支持限制最低宽度/高度上传 +* [x] 支持API +* [x] 在线管理图片 +* [x] 支持网站统计 +* [x] 支持设置广告 +* [x] 支持图片鉴黄 +* [x] 支持自定义代码 +* [x] 支持上传IP黑白名单 +* [x] 支持创建仅上传用户 +* [x] 对于安装环境要求极低 +* [x] 更多功能支持请安装尝试··· -## 安装 -> 推荐环境:Nginx + PHP≥7.0 + linux -#### windows: -- 下载简单图床 [最新版](https://github.com/icret/EasyImages2.0/archive/refs/heads/master.zip)|[稳定版](https://github.com/icret/EasyImages2.0/releases) 上传至web根目录 - -#### Linux: - -- `git clone https://github.com/icret/EasyImages2.0.git` 至安装目录 - -- 赋予安装目录www:www和0755权限: -```shell -chmod -R 755 /安装目录 -chown -R www:www /安装目录 -``` - -#### BT宝塔面板 -- 安装环境 Ngixn(推荐) / Apache + PHP(推荐≥7.0) -- 软件商店搜索`简单图床`一键部署 - ->更多安装方式和问题请查阅->[使用手册](https://www.kancloud.cn/easyimage/easyimage/2625222) - -## 常见问题 - -1. 请将所有文件赋予`0755`和`www`权限 -2. 对`PHP`不太熟悉的请不要将图床程序放置于二级目录 -3. 请关闭防跨站或删除域名文件夹内的`user.ini`文件 如`宝塔面板`|`军哥lnmp` -4. 网站域名与图片域名必须填写,如果只有一个域名请填写成一样的 -5. 首次使用会执行安装程序并并在`config`目录生成`install.lock` 跳过安装流程请删除`install`目录 -6. 首次访问首页会检查环境并在`config`目录下生成`EasyImage.lock` -7. 可以使用谷歌浏览器的调试模式查看错误`F12->console` -8. 提示 `upload File size exceeds the maximum value` 调整`PHP`上传大小 -9. 提示 `undefined function imagecreatefromwebp()`GD没安装webp, 以此类推 -10. 提示 `Warning: is_dir(): open_basedir restriction in effect`解决方法同`3` -11. 无法上传/访问/不显示验证码: 1. 权限问题见问题`1` 2. CDN缓存了 3. 防火墙拦截 -12. 宝塔或者其他环境安装成功但是上传失败,多数原因是防火墙拦截上传,取消拦截即可 -13. `Fatal error: Allowed memory size......`主机内存或分配给PHP的内存不够 解决方法百度 -14. 开启原图保护功能后打开图片链接显示`404`是因为`nginx`或`Apache`页面缓存导致的,`Nginx`解决办法: -```Nginx -# 把Nginx这段配置删掉 -location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ -{ - expires 30d; - error_log /dev/null; - access_log /dev/null; -} -``` - -#### API上传 -
通过API上传示例 -- html示例 - -```html -
- - -
-``` -- Python示例 -```python -import requests - -url = "https://png.cm/api/index.php" - -payload = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"token\"\r\n\r\n8337effca0ddfcd9c5899f3509b23657\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"image\"\r\n\r\n195124.jpg\r\n-----011000010111000001101001--\r\n\r\n" -headers = {"content-type": "multipart/form-data; boundary=---011000010111000001101001"} - -response = requests.request("POST", url, data=payload, headers=headers) - -print(response.text) -``` -- curl示例 - -```curl -curl --request POST \ - --url https://png.cm/api/index.php \ - --header 'content-type: multipart/form-data' \ - --form token=8337effca0ddfcd9c5899f3509b23657 \ - --form image=@195124.jpg -``` -- JQuery示例 -```jQuery -const form = new FormData(); -form.append("token", "8337effca0ddfcd9c5899f3509b23657"); -form.append("image", "195124.jpg"); - -const settings = { - "async": true, - "crossDomain": true, - "url": "https://png.cm/api/index.php", - "method": "POST", - "headers": {}, - "processData": false, - "contentType": false, - "mimeType": "multipart/form-data", - "data": form -}; - -$.ajax(settings).done(function (response) { - console.log(response); -}); -``` -
- -- 需要开启图床安全->API上传示例 -- 上传成功后返回JSON -```json - { - "result":"success","code":200, - "url":"https:\/\/i2.100024.xyz\/2023\/01\/24\/10gwv0y-0.webp", - "srcName":"195124", - "thumb":"https:\/\/png.cm\/application\/thumb.php?img=\/i\/2023\/01\/24\/10gwv0y-0.webp", - "del":"https:\/\/png.cm\/application\/del.php?hash=bW8vWG4vcG8yM2pLQzRJUGI0dHlTZkN4L2grVmtwUTFhd1A4czJsbHlMST0=" - } -``` - ## 程序升级 - -- 备份`config`目录(没有增加上传用户和api可以只保留`config.php`文件)和`上传文件目录` -- 将新程序下载至网站目录解压覆盖,然后将备份的文件替换既完成升级 -- 如果出现错误请在设置中把所有设置中底部按钮 `保存` 一次 - -## 安全配置 - -- Apache环境在上传目录添加配置文件`.htaccess` 使上传目录不可运行PHP程序(默认已经存在) - -```Apache - -Order allow,deny -Deny from all - -``` -- Nginx环境禁止多个目录运行`PHP`程序: - -```Nginx - # "i|public"是你要禁止的目录 放到listen段落之后才生效 - location ~* ^/(i|public)/.*\.(php|php5)$ - { - deny all; - } -``` - -- Lighthttpd环境禁止多个目录运行`PHP`程序: - -```Lighthttpd -$HTTP["url"] =~ "^/(i|public)/" { - fastcgi.server = () -} -``` - -## 鉴黄 -图床支持moderatecontent和nsfwjs方式鉴黄 -- moderatecontent: - 1. 注册[moderatecontent](https://client.moderatecontent.com/)并获取Token - 2. 后台API设置中填入Moderate Key - 3. 后台图片安全图片鉴黄以moderatecontent方式 - -- nsfwjs [nsfwjs docker](https://hub.docker.com/r/icret/nsfw_restful_api) - 1. 确定已安装`docker`和`docker-compose` - 2. 拉取镜像 `docker pull icret/nsfw_restful_api:latest` 或者直接 `docker run -p 3307:3307 -d icret/nsfw_restful_api` - 3. 后台API设置中填入网址 比如:`http://IP:3307/api/nsfw/classify?url=` - 4. 后台图片安全图片鉴黄以nsfwjs方式 - 5. 如果你使用别的nsfwjs api,必须返回json 并且格式如下: - -```json -[{ - "className": "Drawing", - "probability": 0.824431836605072 -}, { - "className": "Hentai", - "probability": 0.16360442340373993 -}, { - "className": "Neutral", - "probability": 0.007620695047080517 -}, { - "className": "Porn", - "probability": 0.004154415801167488 -}, { - "className": "Sexy", - "probability": 0.00018858206749428064 -}] -``` - -## 更新日志 - -
点击查看2.0版更新日志 - -* 2023-02-05 v2.7.4 dev -- 此版本将作为优化和修复bugs - -* 2023-02-05 v2.7.3 -- 修复设置中手动压缩失败! -- 优化排版 - -* 2023-02-05 v2.7.2 -- 增加删除单条历史上传记录 -- 增加 [web-indexr](https://github.com/rehiy/web-indexr) 文件管理, 正在实验中 -- - 作为 [Tinyfilemanager](https://github.com/prasathmani/tinyfilemanager) 的替代品 更轻量化 简单化 -- 修复开启登录上传后,上传者账号上传失败 [#87](https://github.com/icret/EasyImages2.0/issues/87#issue-1569794639) -- 修复检测登录状态错误 -- 优化排版和移动端显示 - -* 2023-02-01 v2.7.1 -- 更新版本号 - -* 2023-02-01 v2.7.0 -- 增加限制游客上传 -- 增加上传历史记录 -- 增加粘贴上传状态 -- 增加广场非图片图标 -- 增加前端显示缩略图链接 -- 增加每日获取Bing图片背景 -- 增加图片详细信息管理登录后显示更多信息 -- 增加解析上传IP地址 (使用方法参考提示信息) -- 修复图片详细信息中随机图片排版混乱 -- 替换访问生成缩略图代码 -- 更新一些组件 -- 调整前端显示 -- 优化代码 - -* 2023-01-21 v2.6.9 Happy New Year -- 修复BMP格式无法增加水印(不建议开启,非常耗时) -- 修复上传用户组会串联变成管理员权限 [#61](https://github.com/icret/EasyImages2.0/issues/61) -- 增加了上传提示和登录提示 -- 增加自定义存储分类路径 设置方法参考 [PHP date() 函数](https://www.runoob.com/php/php-date.html) -- 更改后台部分管理设置的位置 -- 优化操作逻辑和信息提示 - - -* 2022-12-30 v2.6.8 -- 上传组件支持到 PHP 8.2 -- 修复下载任意文件漏洞 [#75](https://github.com/icret/EasyImages2.0/issues/75) -- 增加自定义底部信息 -- 增加自定义管理提示 -- 增加图床模式 - - 危险:除图片外不验证文件是否正常,也代表可以上传任意指定格式! -- 增加上传时生成缩略图(仅设置直链缩略图时生效),低配vps负载较大,影响前端上传速度! -- 其他一些优化 - -* 2022-09-20 v2.6.7 -- 优化后台显示 -- 增加控制缩略图尺寸 -- 修复启用Opcache带来的问题 [#57](https://github.com/icret/EasyImages2.0/issues/57) - -* 2022-07-10 v2.6.6 -- 增加文件uuid命名 -- 界面美化 - -* 2022-07-10 v2.6.6 -- 增加图片信息显示随机图片 -- 增加文件雪花命名 -- 增加举报入口 -- 更新组件 - -* 2022-05-27 v2.6.5 -- 更改文件位置 - -* 2022-05-26 v2.6.4 -- 更改版本显示方式 - -* 2022-05-26 v2.6.3 -- 增加图片下载 -- 增加简单暗黑模式 -- 增加读取上传日志 -- 增加广场浏览往日限制 - - 有助于防爬虫抓取 -- 增加登陆验证码开关(默认关闭) -- 删除图片详情页Exif信息 -- 文件管理中图片使用缩略图显示 -- 更改广场->信息中图片长宽获取方式 - -- 优化图片详情页/广场UI/日志/用户/api 列表 - -* 2022-05-04 v2.6.2 -- 增加API/用户文件浏览和删除 -- 增加转换webp后也会添加水印 - - 转换成webp后不建议开启水印,会增大图片体积 - - webp水印消耗更多PHP内存,PHP8以上有很大概率失败 -- 更改广场页面返回顶部 -- 优化了管理界面UI -- 修复一些bug - -* 2022-05-03 v2.6.1 -- 增加登陆用户有效期 -- 增加管理员/登陆用户/Token专用目录 -- 增加转换图片格式后压缩图片(不建议同时开启后端压缩) -- 增加隐藏存储路径(网站域名与图片域名不同且图片域名需绑定到图片目录) -- 直链缩略图支持bmp,webp -- 本次更新较大,建议重新安装! - -* 2022-04-29 v2.6.0 -- 修复源图缺陷 -- 修复API回收不能还原问题 -- 布局修改 -- 登录页美化 -- 屏蔽登陆页面chrome类浏览器自动填充 - -* 2022-04-02 v2.5.9 -- 增加安装提示 -- 增加忘记密码提示 -- 增加检测水印图片/水印字体是否存在 -- 修复登陆逻辑 -- 修复广场重复显示图片 -- 修改广场删除/回收样式 -- 调整了广告的位置 -- 调整后台设置分表 - -* 2022-04-02 v2.5.8 -- 修复在PHP8环境下的bugs -- 修复删除token产生的bug -- 更改顶部广告位置 -- 更改广场样式 - -* 2022-3-30 v2.5.7 -- 增加弹窗公告 -- 恢复文件管理 -- 微调了广场样式 -- 微调了删除文件 -- 删除了base.php -- 日志记录上传IP端口 -- 日志记录通过API上传的ID -- 修复管理页面短标签bug [#30](https://github.com/icret/EasyImages2.0/issues/30#issue-1185821542) -- 修复图片回收中批量删除失败 -- 修复广场预览ico格式文件失败 -- 修复个别浏览器显示二维遮住网页 [#28](https://github.com/icret/EasyImages2.0/issues/28#issue-1180675728) -- 缩略图最大生成与用户设置最大上传关联 -- 安全检测中检测本地域名改为检测局域网 - -* 2022-3-13 v2.5.6 -- 修复加密删除后不能正确提示 -- 修复webp转换其他格式失败 -- 修复文字水印透明度不生效 -- 修复jscolor显示不正确 -- 增加原图保护 -- 增加检测版本 - -* 2022-3-4 v2.5.5 -- 增加设置页面检测是否开启登录上传 -- 将footer固定在底部 -- 移除function_API.php -- 修复TimThumb不支持bmp格式的bug -- 修复TimThumb不支持webp动态图片bug - -* 2022-2-29 v2.5.4 -- 增加Token有效期 -- 增加回收图片按钮 -- 增加加密删除回收站 -- 修复广场标题 - -* 2022-2-21 v2.5.3 -- 增加图床数据开放 -- 增加自定义服务条款 -- 升级 Viewer.js 到 v1.10.4 -- 将页面选择记录从cookie改为本地存储 -- 修复实时生成缩略图导致的页面布局异常 -- 优化显示代码 -- 不出意外今年将只修复bug和兼容问题 - -* 2022-2-19 v2.5.2 -- 增加简繁体转换 -- 增加管理页面记录当前操作页 -- 修复一处暴露路径bug - -* 2022-2-13 v2.5.1 -- 增加异步执行鉴黄 -- 取消检测imagick扩展 -- 修复可能导致检测弹窗弹出失败 - -* 2022-2-7 v2.5.0 -- 修复静态文件调用失败 - -* 2022-2-6 v2.4.9 -- 修复静态文件引用 - -* 2022-2-6 v2.4.9 -- 修复flash和silverlight路径引用(>IE9不影响) -- markdown html alt值改为源文件名 -- 升级jquery-3.4.1至3.6.0 -- 调整了静态文件位置 - -* 2022-2-5 v2.4.8 -- 调整缩略图内存至128M -- 修复无可疑图片时显示错误 -- 修复转换为webp时会复制一份bug -- 修复开启登录上传后无法上传的bug -- 插件检测的敏感信息转移到管理目录 -- 增加安装时检测.user.ini -- 增加检测鉴黄接口是否可以正确访问 -- 增加异步处理文件,上传完毕后处理速度变快了 -- 增加 [nsfwjs](https://github.com/infinitered/nsfwjs) 接口方式检测违规图片 - - 作者测试时用的`docker`搭建 `docker`地址:[zengdawei/nsfw_restful_api -](https://hub.docker.com/r/zengdawei/nsfw_restful_api) - - 使用注意 程序期望nsfwjs返回json 并且如下格式: -```json -[ - { - "className": "Drawing", - "probability": 0.824431836605072 - }, - { - "className": "Hentai", - "probability": 0.16360442340373993 - }, - { - "className": "Neutral", - "probability": 0.007620695047080517 - }, - { - "className": "Porn", - "probability": 0.004154415801167488 - }, - { - "className": "Sexy", - "probability": 0.00018858206749428064 - } -] -``` -- 增加WordPress上大名鼎鼎的实时缩略图生成TimThumb - - TimeThumb为本图床修改版,会缓存到缓存文件夹方便下次调用 - -* 2022-1-27 v2.4.7 -- 优化页面排版 -- 更改部分命名 -- 增加后端压缩率 -- 增加可以显示多条公告 -- 增加上传后是否显示删除 -- 增加可以关闭广场/统计导航|页面 -- 调整登录和退出文件位置 -- 调整二维码内容为每个页面 -- 更换验证码库并不再区分大小写 -- 修复一处有概率暴露图片绝对路径的bug - -* 2022-1-22 v2.4.6 -- 视图优化 -- 删除重复内容 -- 增加图片信息页面 -- 增加上传黑/白名单 -- 修复因关闭上传日志而导致的无法鉴黄和后端压缩图片 -- 修复安装时更改管理员账号失败 -- 修复更改管理员账户后无法退出 - -* 2022-1-13 v2.4.5 -- 修复一处权限问题 -- 修复恢复可疑图片 -- 增加复制提示 -- 增加默认上传后首选显示链接 - -* 2022-1-3 v2.4.5 beta -- 增加复制提示 -- 更新安装代码 -- 更改前端样式 -- 更新上传格式 -- 重构了密码验证 -- 使用md5存储密码 -- 增加后台设置提示 -- 增加更改网站配色 -- 增加缩略图索引格式 -- 调整后台分类及位置 -- 增加在线修改账号密码 -- 增加以源文件名称命名 -- 增加缩略图两种生成方式和开关 -- 修复开启前端压缩导致的上传图片异常 -- 屏蔽因缺少PHP扩展而不能生成缩略图的格式 - -* 2021-12-25 v2.4.4 -- 更改favicon.ico -- 修复缩略图数量统计 -- 增加缩略图生成开关 -- 日志增加更多文件信息 -- 前端增加裁剪和压缩质量 -- 上传失败将会输出更多信息 -- 修复前端压缩图片不能关闭问题 -- 修复上传设置中错误和页面显示 -- 调整网站设置->上传设置的排序 -- 将快捷操作中心转移到网站设置中 -- 修复因生成缩略图导致的前端数据返回失败 -- 增加简单图床chrome浏览器插件,可自行配置网站->[EasyImage-Browser-Extension](https://github.com/icret/EasyImage-Browser-Extension) - -* 2021-11-17 v2.4.3 -- 增加登录验证码 -- 二级目录安装 -- 一些优化 - -* 2021-11-14 v2.4.2 -- 增加上传日志 - -* 2021-11-12 v2.4.1 -- 增加缓存周期配置 -- 增加上传统计 -- 增加viewjs -- 更新依赖件 -- 修复统计错误 - -* 2021-11-9 v2.4.0 -- 增加统计缓存 -- 增加最近30天上传统计与占用空间图表 -- 增加初始化安装(可能会不支持二级目录安装,可删除install文件夹初始化) -- 增加在线编辑配置(之前是需要修改config.php文件,现在可以直接网站端修改了) -- 删除广场会导致浏览速度变慢的代码 -- 删除快捷配置会导致浏览速度变慢的代码 - -* 2021-11-3 v2.3.2 -- 增加广场图片缓存 -- 重构广场样式 - -* 2021-11-3 v2.3.1 -- 增加监黄接口 -- 增加审核违规图片 -- 修复对php5.6的支持 -- 修复二级目录的安装 - -* 2021-10-24 v2.3.0 -- 将服务器环境监测改为第一次打开时自动检测(如需再次展示需删除config目录下的EasyImage.lock) -- 增加快捷操作中心显示服务信息 -- 增加对上传文件的命名方式(详见config.php文件里的注释) -- 增加隐私政策、服务条款、DMCA -- 增加自定义静态文件CDN源 -- 增加dns-prefetch -- 删除了tinyfilemanager文件管理(感觉没什么用) -- 一些bug得以修复 - -* 2021-5-22 v2.2.0 -- 增加根目录静态属性 -- 增加浏览页面懒加载 -- 增加浏览页面启用选定日期查看图片 -- 增加版本检测 ***每月10日06点和25日01点检测Github是否更新*** -- 增加上传压缩 ***此压缩有可能使图片变大!特别是小图片 也有一定概率改变图片方向*** -- 增加批量压缩目录 ***TinyPng或本机压缩,本机压缩出现的问题*** -- 修复title -- 修复二级目录安装 -- 修复对PHP5.6的兼容 ***建议使用php7.0及以上!*** - -* 2021-5-8 v2.1.1 -- 修复上传界面上传失败提示信息bug -- 浏览页面重构 -- 删除页面添加登录删除 -- 调整首页显示 -- 将调整图片长宽放置前端,减小资源开销 -- 其他小调整 - -* 2021-5-2 v2.1 -- 将tinyfilemanager配置文件简单翻译并集成到config.php -- 增加底部自定义信息 -- 增加检测PHP环境,给与提示 -- 增加删除图片url(服务器不会保存删除链接) -- 恢复随机浏览20张上传图片 可以设定浏览数量和关闭浏览 -- - 随机浏览图片可以在线删除 -- 可以使用 https://png.cm/libs/list.php?num=100 定义浏览数量 -- 修复一些调用 -- 更改二维码显示方式 -- 开启api 需要token验证上传 -- 重构并修复check.php相关文件 -- 重构部分代码 -- 更改目录结构 -- 增加安全性配置 -- * Apache配置文件默认设置上传目录不可运行 - -```Apache -RewriteEngine on RewriteCond % !^$ -RewriteRule i/(.*).(php)$ – [F] -RewriteRule public/(.*).(php)$ – [F] -RewriteRule config/(.*).(php)$ – [F] -``` - -- * Nginx请在Nginx配置: - -```Nginx - # 禁止运行php的目录 - location ~* ^/(i|public|config)/.*\.(php|php5)$ - { - deny all; - } -``` -- - 或者参考:https://blog.png.cm/939.html -- 一些精简 - -* 2021-4-14 v2.0.2.1 Dev1 -- 更新静态文件版本 -- 请所有更新过2.0.2.1版本升级到此版本 -- 更改一些描述 -- md5提交登录验证 -- 登录上传也显示公告 - -* 2021-03-28 v2.0.2.1 -- 更新管理程序,修复部分漏洞 -- 修复不能等比例缩小图片 -- 支持php8 - -* 2019-6-26 v2.0.2.0 -- 精简压缩代码,使得不再压缩后反而变大 -- 删除异域上传功能,不再支持异域上传 -- 修复开启登录后无法粘贴密码 -- 后台控制上传数量,上传格式 -- 其他一些优化 - -* 2019-6-14 v2.0.1.9 -- 增加复制链接按钮 -- 增加暂停上传按钮 -- 增加QQ截图,剪切板上传 -- 增加文字/图片水印透明度 -- 恢复开启/关闭api上传 -- 恢复支持水印文字颜色 -- 恢复支持远程上传图片 -- 修复安装时候的权限 -- 修复管理无法多选的问题 -- 修复上传透明png背景变为纯黑的问题 -- 修复成功上传图片但前端无法获取链接 -- 修复在centos64 lnmp1.6 php7.1环境下的图片信息读取问题 -- 修改图片压缩方式,速度更快,相比之前提高5倍以上 -- 更改管理路径 -- 更改上传路径,文件名更短 -- 更改上传显示方式为缩略图 -- 关闭添加图片后自动上传 -- 纪念一下2019年,将版本号改为2.0.1.9 - -* 2019-5-23 v2.0 -- 在继承上个版本(1.6.4)的基础上进行了全新优化 -- 修复上传经常失败的问题 -- 删除一些不常用但会增加功耗的过程 -- 全新的压缩 将文件继续缩小 -- 全新的目录系统,精简代码 -- 设置仅允许在config.php修改,注释更加明了,即使没有代码基础也可以操作 -- 增加新的文件管理系统,感谢 tinyfilemanager -- ~~支持文字/图片水印 可自定义文字颜色~~ -- ~~支持文字水印背景颜色~~ -- ~~支持文字水印透明度~~ -- ~~支持删除远程上传文件~~ -> 不再支持删除远程文件 -- ~~(支持开启/关闭api自定义文字水印)~~ -- ~~支持删除自定义删除图片(仅管理员)~~ -
- -
与1.6.4版本差别 - -##### 不建议再使用 [EasyImage 1.6.4版本](https://github.com/icret/easyImages) - -- 在继承上个版本([1.6.4](https://github.com/icret/easyImages "1.6.4"))的基础上进行了全新优化 -- 修复上传经常失败的问题 -- 删除一些不常用但会增加功耗的过程 (删除的在下边会有标记) -- 全新的压缩 将文件继续缩小 -- 全新的目录系统,精简代码 -- 设置仅允许在config.php修改,注释更加明了,即使没有代码基础也可以操作 -- 增加新的文件管理系统,感谢 tinyfilemanager -- ~~支持文字/图片水印 可自定义文字颜色~~ -- ~~支持文字水印背景颜色~~ -- ~~支持文字水印透明度~~ -- ~~支持删除远程上传文件~~ -> 不再支持删除远程文件 -- ~~(支持开启/关闭api自定义文字水印)~~ -- ~~支持删除自定义删除图片(仅管理员)~~ - -
- - ## 支持开发者 - - | 支付宝支持 | 微信支持 | - | :---------------------------------------: | :-------------------------------------: | - | ![支付宝支持](./public/images/alipay.jpg) | ![微信支持](./public/images/wechat.jpg) | - ## 界面演示 - ![简单图床 - 上传界面](./install/README/674074848.png) - ![简单图床 - 广场界面](./install/README/3053540273.png) - ![简单图床 - 后台界面](./install/README/2657944724.png) - ![简单图床 - 统计界面](./install/README/1305032567.png) - ![简单图床 - 图片信息](./install/README/info.png) - ![简单图床 - 上传日志](./install/README/log.png) + ![简单图床 - 上传界面](./docs/images/README/674074848.png) + ![简单图床 - 广场界面](./docs/images/README/3053540273.png) + ![简单图床 - 后台界面](./docs/images/README/2657944724.png) + ![简单图床 - 统计界面](./docs/images/README/1305032567.png) + ![简单图床 - 图片信息](./docs/images/README/info.png) + ![简单图床 - 上传日志](./docs/images/README/log.png) - -## 兼容 +## 环境要求 +> 推荐环境:Nginx + PHP≥7.0 + linux - - 最低`PHP 5.6`,推荐`PHP≥7.0`及以上版本,需要PHP支持`Fileinfo,iconv,zip,mbstring,openssl`扩展,如果缺失会导致无法上传/删除图片 - - 文件上传视图提供文件列表管理和文件批量上传功能,允许拖拽(需要`HTML5`支持)来添加上传文件,支持上传大图片,优先使用`HTML5`旧得浏览器自动使用`Flash和Silverlight`的方式兼容 +- ##### 兼容 + + >最低`PHP 5.6`,推荐`PHP≥7.0`及以上版本,需要PHP支持`Fileinfo,iconv,zip,mbstring,openssl`扩展,如果缺失会导致无法上传/删除图片 + 文件上传视图提供文件列表管理和文件批量上传功能,允许拖拽(需要`HTML5`支持)来添加上传文件,支持上传大图片,优先使用`HTML5`旧得浏览器自动使用`Flash和Silverlight`的方式兼容 ## 鸣谢 - - [verot](https://github.com/verot/class.upload.php "verot" ) - - [ZUI](https://github.com/easysoft/zui "ZUI" ) +- [verot](https://github.com/verot/class.upload.php "verot" ) +- [ZUI](https://github.com/easysoft/zui "ZUI" ) ## 开源许可 - [GPL-2.0](https://github.com/icret/EasyImages2.0/blob/master/LICENSE) - - Copyright © 2018 EasyImage dev By [Icret](https://github.com/icret) - - * have fun! + - Copyright © 2018 EasyImage Developer By [Icret](https://github.com/icret) -[![项目状态](https://repobeats.axiom.co/api/embed/0922803f14091f0686de26fee5196b9984b106a4.svg "Repobeats analytics image")](https://png.cm) -[![Stargazers over time](https://starchart.cc/icret/EasyImages2.0.svg)](https://github.com/icret/EasyImages2.0/stargazers) +* have fun! + +[![Stargazers over time](https://starchart.cc/icret/EasyImages2.0.svg)](https://github.com/icret/EasyImages2.0/stargazers) \ No newline at end of file diff --git a/admin/admin.inc.php b/admin/admin.inc.php index b0d121b..fad3097 100755 --- a/admin/admin.inc.php +++ b/admin/admin.inc.php @@ -11,19 +11,38 @@ require_once APP_ROOT . '/config/config.guest.php'; if (!is_who_login('admin')) { echo ' '; header("refresh:2;url=" . $config['domain'] . "/admin/index.php"); require_once APP_ROOT . '/application/footer.php'; exit; } +// 定义文件位置 +$config_file = APP_ROOT . '/config/config.php'; // config.php +$api_key_file = APP_ROOT . '/config/api_key.php'; // api_key.php +$guest_config_file = APP_ROOT . '/config/config.guest.php'; // config.guest.php + + // 修改config配置 if (isset($_POST['update'])) { $postArr = $_POST; + + if (isset($postArr['user'])) { + if ($postArr['user'] == $guestConfig[$postArr['user']]) + echo ' + + '; + exit(header("refresh:1;")); + } + $new_config = array_replace($config, $postArr); - $config_file = APP_ROOT . '/config/config.php'; cache_write($config_file, $new_config); echo ' + '; header("refresh:1;url=/admin/admin.inc.php"); } @@ -130,8 +145,7 @@ if (isset($_GET['stop_guest'])) { // 删除用户 if (isset($_GET['delete_guest'])) { unset($guestConfig[$_GET['delete_guest']]); - $config_file = APP_ROOT . '/config/config.guest.php'; - cache_write($config_file, $guestConfig, 'guestConfig'); + cache_write($guest_config_file, $guestConfig, 'guestConfig'); echo ' + '; + exit(header("refresh:3;")); + } + $postArr = array('user' => $postArr['user'], 'password' => $postArr['password']); + + $new_config = array_replace($config, $postArr); + cache_write($config_file, $new_config); + echo ' + + '; + header("refresh:1;"); +} + // 添加上传账号 修改config.guest.php if (isset($_POST['uploader_form'])) { // 禁止与管理员登录名相同 if ($_POST['uploader_user'] == $config['user']) { echo ' '; - exit(header("refresh:1;")); + exit(header("refresh:3;")); } // 写入上传者用户数据 $postArr = array( @@ -166,8 +209,7 @@ if (isset($_POST['uploader_form'])) { ) ); $new_config = array_replace($guestConfig, $postArr); - $config_file = APP_ROOT . '/config/config.guest.php'; - cache_write($config_file, $new_config, 'guestConfig'); + cache_write($guest_config_file, $new_config, 'guestConfig'); echo ' + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/sw.js b/docs/sw.js new file mode 100644 index 0000000..4a94652 --- /dev/null +++ b/docs/sw.js @@ -0,0 +1,83 @@ +/* =========================================================== + * docsify sw.js + * =========================================================== + * Copyright 2016 @huxpro + * Licensed under Apache 2.0 + * Register service worker. + * ========================================================== */ + +const RUNTIME = 'docsify' +const HOSTNAME_WHITELIST = [ + self.location.hostname, + 'fonts.gstatic.com', + 'fonts.googleapis.com', + 'cdn.jsdelivr.net' +] + +// The Util Function to hack URLs of intercepted requests +const getFixedUrl = (req) => { + var now = Date.now() + var url = new URL(req.url) + + // 1. fixed http URL + // Just keep syncing with location.protocol + // fetch(httpURL) belongs to active mixed content. + // And fetch(httpRequest) is not supported yet. + url.protocol = self.location.protocol + + // 2. add query for caching-busting. + // Github Pages served with Cache-Control: max-age=600 + // max-age on mutable content is error-prone, with SW life of bugs can even extend. + // Until cache mode of Fetch API landed, we have to workaround cache-busting with query string. + // Cache-Control-Bug: https://bugs.chromium.org/p/chromium/issues/detail?id=453190 + if (url.hostname === self.location.hostname) { + url.search += (url.search ? '&' : '?') + 'cache-bust=' + now + } + return url.href +} + +/** + * @Lifecycle Activate + * New one activated when old isnt being used. + * + * waitUntil(): activating ====> activated + */ +self.addEventListener('activate', event => { + event.waitUntil(self.clients.claim()) +}) + +/** + * @Functional Fetch + * All network requests are being intercepted here. + * + * void respondWith(Promise r) + */ +self.addEventListener('fetch', event => { + // Skip some of cross-origin requests, like those for Google Analytics. + if (HOSTNAME_WHITELIST.indexOf(new URL(event.request.url).hostname) > -1) { + // Stale-while-revalidate + // similar to HTTP's stale-while-revalidate: https://www.mnot.net/blog/2007/12/12/stale + // Upgrade from Jake's to Surma's: https://gist.github.com/surma/eb441223daaedf880801ad80006389f1 + const cached = caches.match(event.request) + const fixedUrl = getFixedUrl(event.request) + const fetched = fetch(fixedUrl, { cache: 'no-store' }) + const fetchedCopy = fetched.then(resp => resp.clone()) + + // Call respondWith() with whatever we get first. + // If the fetch fails (e.g disconnected), wait for the cache. + // If there’s nothing in cache, wait for the fetch. + // If neither yields a response, return offline pages. + event.respondWith( + Promise.race([fetched.catch(_ => cached), cached]) + .then(resp => resp || fetched) + .catch(_ => { /* eat any errors */ }) + ) + + // Update the cache with the version we fetched (only for ok status) + event.waitUntil( + Promise.all([fetchedCopy, caches.open(RUNTIME)]) + .then(([response, cache]) => response.ok && cache.put(event.request, response)) + .catch(_ => { /* eat any errors */ }) + ) + } +}) \ No newline at end of file diff --git a/docs/update.md b/docs/update.md new file mode 100644 index 0000000..760c0c1 --- /dev/null +++ b/docs/update.md @@ -0,0 +1,464 @@ +![项目状态](https://repobeats.axiom.co/api/embed/0922803f14091f0686de26fee5196b9984b106a4.svg "Repobeats analytics image") + +* 2023-02-05 v2.7.4 dev +- 此版本将作为优化和修复bugs + +* 2023-02-05 v2.7.3 +- 修复设置中手动压缩失败! +- 优化排版 + +* 2023-02-05 v2.7.2 +- 增加删除单条历史上传记录 +- 增加 [web-indexr](https://github.com/rehiy/web-indexr) 文件管理, 正在实验中 +- - 作为 [Tinyfilemanager](https://github.com/prasathmani/tinyfilemanager) 的替代品 更轻量化 简单化 +- 修复开启登录上传后,上传者账号上传失败 [#87](https://github.com/icret/EasyImages2.0/issues/87#issue-1569794639) +- 修复检测登录状态错误 +- 优化排版和移动端显示 + +* 2023-02-01 v2.7.1 +- 更新版本号 + +* 2023-02-01 v2.7.0 +- 增加限制游客上传 +- 增加上传历史记录 +- 增加粘贴上传状态 +- 增加广场非图片图标 +- 增加前端显示缩略图链接 +- 增加每日获取Bing图片背景 +- 增加图片详细信息管理登录后显示更多信息 +- 增加解析上传IP地址 (使用方法参考提示信息) +- 修复图片详细信息中随机图片排版混乱 +- 替换访问生成缩略图代码 +- 更新一些组件 +- 调整前端显示 +- 优化代码 + +* 2023-01-21 v2.6.9 Happy New Year +- 修复BMP格式无法增加水印(不建议开启,非常耗时) +- 修复上传用户组会串联变成管理员权限 [#61](https://github.com/icret/EasyImages2.0/issues/61) +- 增加了上传提示和登录提示 +- 增加自定义存储分类路径 设置方法参考 [PHP date() 函数](https://www.runoob.com/php/php-date.html) +- 更改后台部分管理设置的位置 +- 优化操作逻辑和信息提示 + + +* 2022-12-30 v2.6.8 +- 上传组件支持到 PHP 8.2 +- 修复下载任意文件漏洞 [#75](https://github.com/icret/EasyImages2.0/issues/75) +- 增加自定义底部信息 +- 增加自定义管理提示 +- 增加图床模式 + - 危险:除图片外不验证文件是否正常,也代表可以上传任意指定格式! +- 增加上传时生成缩略图(仅设置直链缩略图时生效),低配vps负载较大,影响前端上传速度! +- 其他一些优化 + +* 2022-09-20 v2.6.7 +- 优化后台显示 +- 增加控制缩略图尺寸 +- 修复启用Opcache带来的问题 [#57](https://github.com/icret/EasyImages2.0/issues/57) + +* 2022-07-10 v2.6.6 +- 增加文件uuid命名 +- 界面美化 + +* 2022-07-10 v2.6.6 +- 增加图片信息显示随机图片 +- 增加文件雪花命名 +- 增加举报入口 +- 更新组件 + +* 2022-05-27 v2.6.5 +- 更改文件位置 + +* 2022-05-26 v2.6.4 +- 更改版本显示方式 + +* 2022-05-26 v2.6.3 +- 增加图片下载 +- 增加简单暗黑模式 +- 增加读取上传日志 +- 增加广场浏览往日限制 + - 有助于防爬虫抓取 +- 增加登陆验证码开关(默认关闭) +- 删除图片详情页Exif信息 +- 文件管理中图片使用缩略图显示 +- 更改广场->信息中图片长宽获取方式 + +- 优化图片详情页/广场UI/日志/用户/api 列表 + +* 2022-05-04 v2.6.2 +- 增加API/用户文件浏览和删除 +- 增加转换webp后也会添加水印 + - 转换成webp后不建议开启水印,会增大图片体积 + - webp水印消耗更多PHP内存,PHP8以上有很大概率失败 +- 更改广场页面返回顶部 +- 优化了管理界面UI +- 修复一些bug + +* 2022-05-03 v2.6.1 +- 增加登陆用户有效期 +- 增加管理员/登陆用户/Token专用目录 +- 增加转换图片格式后压缩图片(不建议同时开启后端压缩) +- 增加隐藏存储路径(网站域名与图片域名不同且图片域名需绑定到图片目录) +- 直链缩略图支持bmp,webp +- 本次更新较大,建议重新安装! + +* 2022-04-29 v2.6.0 +- 修复源图缺陷 +- 修复API回收不能还原问题 +- 布局修改 +- 登录页美化 +- 屏蔽登陆页面chrome类浏览器自动填充 + +* 2022-04-02 v2.5.9 +- 增加安装提示 +- 增加忘记密码提示 +- 增加检测水印图片/水印字体是否存在 +- 修复登陆逻辑 +- 修复广场重复显示图片 +- 修改广场删除/回收样式 +- 调整了广告的位置 +- 调整后台设置分表 + +* 2022-04-02 v2.5.8 +- 修复在PHP8环境下的bugs +- 修复删除token产生的bug +- 更改顶部广告位置 +- 更改广场样式 + +* 2022-3-30 v2.5.7 +- 增加弹窗公告 +- 恢复文件管理 +- 微调了广场样式 +- 微调了删除文件 +- 删除了base.php +- 日志记录上传IP端口 +- 日志记录通过API上传的ID +- 修复管理页面短标签bug [#30](https://github.com/icret/EasyImages2.0/issues/30#issue-1185821542) +- 修复图片回收中批量删除失败 +- 修复广场预览ico格式文件失败 +- 修复个别浏览器显示二维遮住网页 [#28](https://github.com/icret/EasyImages2.0/issues/28#issue-1180675728) +- 缩略图最大生成与用户设置最大上传关联 +- 安全检测中检测本地域名改为检测局域网 + +* 2022-3-13 v2.5.6 +- 修复加密删除后不能正确提示 +- 修复webp转换其他格式失败 +- 修复文字水印透明度不生效 +- 修复jscolor显示不正确 +- 增加原图保护 +- 增加检测版本 + +* 2022-3-4 v2.5.5 +- 增加设置页面检测是否开启登录上传 +- 将footer固定在底部 +- 移除function_API.php +- 修复TimThumb不支持bmp格式的bug +- 修复TimThumb不支持webp动态图片bug + +* 2022-2-29 v2.5.4 +- 增加Token有效期 +- 增加回收图片按钮 +- 增加加密删除回收站 +- 修复广场标题 + +* 2022-2-21 v2.5.3 +- 增加图床数据开放 +- 增加自定义服务条款 +- 升级 Viewer.js 到 v1.10.4 +- 将页面选择记录从cookie改为本地存储 +- 修复实时生成缩略图导致的页面布局异常 +- 优化显示代码 +- 不出意外今年将只修复bug和兼容问题 + +* 2022-2-19 v2.5.2 +- 增加简繁体转换 +- 增加管理页面记录当前操作页 +- 修复一处暴露路径bug + +* 2022-2-13 v2.5.1 +- 增加异步执行鉴黄 +- 取消检测imagick扩展 +- 修复可能导致检测弹窗弹出失败 + +* 2022-2-7 v2.5.0 +- 修复静态文件调用失败 + +* 2022-2-6 v2.4.9 +- 修复静态文件引用 + +* 2022-2-6 v2.4.9 +- 修复flash和silverlight路径引用(>IE9不影响) +- markdown html alt值改为源文件名 +- 升级jquery-3.4.1至3.6.0 +- 调整了静态文件位置 + +* 2022-2-5 v2.4.8 +- 调整缩略图内存至128M +- 修复无可疑图片时显示错误 +- 修复转换为webp时会复制一份bug +- 修复开启登录上传后无法上传的bug +- 插件检测的敏感信息转移到管理目录 +- 增加安装时检测.user.ini +- 增加检测鉴黄接口是否可以正确访问 +- 增加异步处理文件,上传完毕后处理速度变快了 +- 增加 [nsfwjs](https://github.com/infinitered/nsfwjs) 接口方式检测违规图片 + - 作者测试时用的`docker`搭建 `docker`地址:[zengdawei/nsfw_restful_api +](https://hub.docker.com/r/zengdawei/nsfw_restful_api) + - 使用注意 程序期望nsfwjs返回json 并且如下格式: +```json +[ + { + "className": "Drawing", + "probability": 0.824431836605072 + }, + { + "className": "Hentai", + "probability": 0.16360442340373993 + }, + { + "className": "Neutral", + "probability": 0.007620695047080517 + }, + { + "className": "Porn", + "probability": 0.004154415801167488 + }, + { + "className": "Sexy", + "probability": 0.00018858206749428064 + } +] +``` +- 增加WordPress上大名鼎鼎的实时缩略图生成TimThumb + - TimeThumb为本图床修改版,会缓存到缓存文件夹方便下次调用 + +* 2022-1-27 v2.4.7 +- 优化页面排版 +- 更改部分命名 +- 增加后端压缩率 +- 增加可以显示多条公告 +- 增加上传后是否显示删除 +- 增加可以关闭广场/统计导航|页面 +- 调整登录和退出文件位置 +- 调整二维码内容为每个页面 +- 更换验证码库并不再区分大小写 +- 修复一处有概率暴露图片绝对路径的bug + +* 2022-1-22 v2.4.6 +- 视图优化 +- 删除重复内容 +- 增加图片信息页面 +- 增加上传黑/白名单 +- 修复因关闭上传日志而导致的无法鉴黄和后端压缩图片 +- 修复安装时更改管理员账号失败 +- 修复更改管理员账户后无法退出 + +* 2022-1-13 v2.4.5 +- 修复一处权限问题 +- 修复恢复可疑图片 +- 增加复制提示 +- 增加默认上传后首选显示链接 + +* 2022-1-3 v2.4.5 beta +- 增加复制提示 +- 更新安装代码 +- 更改前端样式 +- 更新上传格式 +- 重构了密码验证 +- 使用md5存储密码 +- 增加后台设置提示 +- 增加更改网站配色 +- 增加缩略图索引格式 +- 调整后台分类及位置 +- 增加在线修改账号密码 +- 增加以源文件名称命名 +- 增加缩略图两种生成方式和开关 +- 修复开启前端压缩导致的上传图片异常 +- 屏蔽因缺少PHP扩展而不能生成缩略图的格式 + +* 2021-12-25 v2.4.4 +- 更改favicon.ico +- 修复缩略图数量统计 +- 增加缩略图生成开关 +- 日志增加更多文件信息 +- 前端增加裁剪和压缩质量 +- 上传失败将会输出更多信息 +- 修复前端压缩图片不能关闭问题 +- 修复上传设置中错误和页面显示 +- 调整网站设置->上传设置的排序 +- 将快捷操作中心转移到网站设置中 +- 修复因生成缩略图导致的前端数据返回失败 +- 增加简单图床chrome浏览器插件,可自行配置网站->[EasyImage-Browser-Extension](https://github.com/icret/EasyImage-Browser-Extension) + +* 2021-11-17 v2.4.3 +- 增加登录验证码 +- 二级目录安装 +- 一些优化 + +* 2021-11-14 v2.4.2 +- 增加上传日志 + +* 2021-11-12 v2.4.1 +- 增加缓存周期配置 +- 增加上传统计 +- 增加viewjs +- 更新依赖件 +- 修复统计错误 + +* 2021-11-9 v2.4.0 +- 增加统计缓存 +- 增加最近30天上传统计与占用空间图表 +- 增加初始化安装(可能会不支持二级目录安装,可删除install文件夹初始化) +- 增加在线编辑配置(之前是需要修改config.php文件,现在可以直接网站端修改了) +- 删除广场会导致浏览速度变慢的代码 +- 删除快捷配置会导致浏览速度变慢的代码 + +* 2021-11-3 v2.3.2 +- 增加广场图片缓存 +- 重构广场样式 + +* 2021-11-3 v2.3.1 +- 增加监黄接口 +- 增加审核违规图片 +- 修复对php5.6的支持 +- 修复二级目录的安装 + +* 2021-10-24 v2.3.0 +- 将服务器环境监测改为第一次打开时自动检测(如需再次展示需删除config目录下的EasyImage.lock) +- 增加快捷操作中心显示服务信息 +- 增加对上传文件的命名方式(详见config.php文件里的注释) +- 增加隐私政策、服务条款、DMCA +- 增加自定义静态文件CDN源 +- 增加dns-prefetch +- 删除了tinyfilemanager文件管理(感觉没什么用) +- 一些bug得以修复 + +* 2021-5-22 v2.2.0 +- 增加根目录静态属性 +- 增加浏览页面懒加载 +- 增加浏览页面启用选定日期查看图片 +- 增加版本检测 ***每月10日06点和25日01点检测Github是否更新*** +- 增加上传压缩 ***此压缩有可能使图片变大!特别是小图片 也有一定概率改变图片方向*** +- 增加批量压缩目录 ***TinyPng或本机压缩,本机压缩出现的问题*** +- 修复title +- 修复二级目录安装 +- 修复对PHP5.6的兼容 ***建议使用php7.0及以上!*** + +* 2021-5-8 v2.1.1 +- 修复上传界面上传失败提示信息bug +- 浏览页面重构 +- 删除页面添加登录删除 +- 调整首页显示 +- 将调整图片长宽放置前端,减小资源开销 +- 其他小调整 + +* 2021-5-2 v2.1 +- 将tinyfilemanager配置文件简单翻译并集成到config.php +- 增加底部自定义信息 +- 增加检测PHP环境,给与提示 +- 增加删除图片url(服务器不会保存删除链接) +- 恢复随机浏览20张上传图片 可以设定浏览数量和关闭浏览 +- - 随机浏览图片可以在线删除 +- 可以使用 https://png.cm/libs/list.php?num=100 定义浏览数量 +- 修复一些调用 +- 更改二维码显示方式 +- 开启api 需要token验证上传 +- 重构并修复check.php相关文件 +- 重构部分代码 +- 更改目录结构 +- 增加安全性配置 +- * Apache配置文件默认设置上传目录不可运行 + +```Apache +RewriteEngine on RewriteCond % !^$ +RewriteRule i/(.*).(php)$ – [F] +RewriteRule public/(.*).(php)$ – [F] +RewriteRule config/(.*).(php)$ – [F] +``` + +- * Nginx请在Nginx配置: + +```Nginx + # 禁止运行php的目录 + location ~* ^/(i|public|config)/.*\.(php|php5)$ + { + deny all; + } +``` +- - 或者参考:https://blog.png.cm/939.html +- 一些精简 + +* 2021-4-14 v2.0.2.1 Dev1 +- 更新静态文件版本 +- 请所有更新过2.0.2.1版本升级到此版本 +- 更改一些描述 +- md5提交登录验证 +- 登录上传也显示公告 + +* 2021-03-28 v2.0.2.1 +- 更新管理程序,修复部分漏洞 +- 修复不能等比例缩小图片 +- 支持php8 + +* 2019-6-26 v2.0.2.0 +- 精简压缩代码,使得不再压缩后反而变大 +- 删除异域上传功能,不再支持异域上传 +- 修复开启登录后无法粘贴密码 +- 后台控制上传数量,上传格式 +- 其他一些优化 + +* 2019-6-14 v2.0.1.9 +- 增加复制链接按钮 +- 增加暂停上传按钮 +- 增加QQ截图,剪切板上传 +- 增加文字/图片水印透明度 +- 恢复开启/关闭api上传 +- 恢复支持水印文字颜色 +- 恢复支持远程上传图片 +- 修复安装时候的权限 +- 修复管理无法多选的问题 +- 修复上传透明png背景变为纯黑的问题 +- 修复成功上传图片但前端无法获取链接 +- 修复在centos64 lnmp1.6 php7.1环境下的图片信息读取问题 +- 修改图片压缩方式,速度更快,相比之前提高5倍以上 +- 更改管理路径 +- 更改上传路径,文件名更短 +- 更改上传显示方式为缩略图 +- 关闭添加图片后自动上传 +- 纪念一下2019年,将版本号改为2.0.1.9 + +* 2019-5-23 v2.0 +- 在继承上个版本(1.6.4)的基础上进行了全新优化 +- 修复上传经常失败的问题 +- 删除一些不常用但会增加功耗的过程 +- 全新的压缩 将文件继续缩小 +- 全新的目录系统,精简代码 +- 设置仅允许在config.php修改,注释更加明了,即使没有代码基础也可以操作 +- 增加新的文件管理系统,感谢 tinyfilemanager +- ~~支持文字/图片水印 可自定义文字颜色~~ +- ~~支持文字水印背景颜色~~ +- ~~支持文字水印透明度~~ +- ~~支持删除远程上传文件~~ -> 不再支持删除远程文件 +- ~~(支持开启/关闭api自定义文字水印)~~ +- ~~支持删除自定义删除图片(仅管理员)~~ + +
与1.6.4版本差别 + +##### 不建议再使用 [EasyImage 1.6.4版本](https://github.com/icret/easyImages) + +- 在继承上个版本([1.6.4](https://github.com/icret/easyImages "1.6.4"))的基础上进行了全新优化 +- 修复上传经常失败的问题 +- 删除一些不常用但会增加功耗的过程 (删除的在下边会有标记) +- 全新的压缩 将文件继续缩小 +- 全新的目录系统,精简代码 +- 设置仅允许在config.php修改,注释更加明了,即使没有代码基础也可以操作 +- 增加新的文件管理系统,感谢 tinyfilemanager +- ~~支持文字/图片水印 可自定义文字颜色~~ +- ~~支持文字水印背景颜色~~ +- ~~支持文字水印透明度~~ +- ~~支持删除远程上传文件~~ -> 不再支持删除远程文件 +- ~~(支持开启/关闭api自定义文字水印)~~ +- ~~支持删除自定义删除图片(仅管理员)~~ + +
\ No newline at end of file diff --git a/docs/三方安装指南.md b/docs/三方安装指南.md new file mode 100644 index 0000000..b3cbdff --- /dev/null +++ b/docs/三方安装指南.md @@ -0,0 +1,11 @@ +- 由热心TG网友`Derek DDS`制作的`Docker`版本 +https://github.com/DDS-Derek/EasyImage-Docker +https://hub.docker.com/r/ddsderek/easyimage + +- 由热心网友`咕咕` 制作的使用教程 + - 宝塔版使用教程 +https://blog.laoda.de/archives/aapanel-install-easyimage + - docker 版使用教程 +https://blog.laoda.de/archives/docker-compose-install-easyimage + - 视频安装教程 视频地址 https://www.bilibili.com/video/BV1Ya411e7ES?zw + \ No newline at end of file diff --git a/docs/使用PicGo上传.md b/docs/使用PicGo上传.md new file mode 100644 index 0000000..1e9a2ce --- /dev/null +++ b/docs/使用PicGo上传.md @@ -0,0 +1,18 @@ +##### 1. 下载最新版[PicGo-windows版][1]或者[PicGo-mac版][2](我下载的版本是:PicGo-Setup-2.3.1-x64) +##### 2. 安装后在插件设置中搜索`web-uploader 1.1.1` 并安装(下载插件可能需要[node.js][3]插件) +##### 3. 图床设置-自定义Web图床中按照如下方式填写,然后点击确定并设置为默认图床。 +##### 4. 登录图床后台->图床安全->高级设置->开启API上传 + +```json +API地址:https://png.cm/api/index.php // 输入你的网站api地址 +POST参数名: image +JSON路径: url +自定义Body: {"token":"1c17b11693cb5ec63859b091c5b9c1b2"} // 这里输入你网站生成的token +``` + +![EasyImage简单图床使用PicGo上传图片](images/4128197507.png) + + + [1]: https://github.com/Molunerfinn/PicGo/releases + [2]: https://github.com/Molunerfinn/PicGo/releases + [3]: https://nodejs.org/zh-cn/ diff --git a/docs/使用ShareX上传.md b/docs/使用ShareX上传.md new file mode 100644 index 0000000..ab3c5a6 --- /dev/null +++ b/docs/使用ShareX上传.md @@ -0,0 +1,29 @@ +- 登录图床后台->图床安全->高级设置->开启API上传 +- 下载[ShareX](https://getsharex.com/downloads/),然后打开目标->自定义上传目标->导入下面代码即可上传。 +![使用ShareX上传](images/f54adf65a4ds56f.png) + +- 需要注意,`RequestURL`需要替换成自己的域名,token也需要修改成自己的! + +```json +{ + "Version": "13.5.0", + "Name": "简单图床API图片上传", + "DestinationType": "ImageUploader", + "RequestMethod": "POST", + "RequestURL": "https://png.cm/api/index.php", + "Body": "MultipartFormData", + "Arguments": { + "token": "8337effca0ddfcd9c5899f3509b23657" + }, + "FileFormName": "image", + "URL": "$json:url$", + "ThumbnailURL": "$json:thumb$", + "DeletionURL": "$json:del$", + "ErrorMessage": "$json:message$" +} +``` +![](images/ShareX_UwVwPnC3MJ.png) + +- 上边设置好以后 设置为默认上传 + +![](images/ShareX_luVGfPaU9E.png) \ No newline at end of file diff --git a/docs/公共查询.md b/docs/公共查询.md new file mode 100644 index 0000000..6605483 --- /dev/null +++ b/docs/公共查询.md @@ -0,0 +1,39 @@ +可用让网站提供一些可用对外展示的数据 +- 首先在`图片安全`开启开放数据 +- 根据需要选择要对外展示的数据 +![](images/QQ截图20220222162359.png) +现在就可以直接访问指定参数的链接获得数据了。 +例如获得已经建立的文件夹:http://127.0.0.1/api/public.php?show=dir +![](images/QQ截图20220222162603.png) + +jQuery调用演示代码 + +```html + + + +``` + +或者 + +```html +

今日上传loading...张图片

+

本站已托管loading...张图片

+ + + + +``` diff --git a/docs/分离相关.md b/docs/分离相关.md new file mode 100644 index 0000000..4354d98 --- /dev/null +++ b/docs/分离相关.md @@ -0,0 +1,10 @@ + +- 用户分离 +上传者用户上传的图片与游客上传的图片分别建立文件夹 +- Token分离 +使用token上传的用户将以Token ID创建文件夹 +- 管理分离 +为管理员创建单独的上传目录 + +##### 注意 +- 广场仅显示游客上传,不显示`用户分离` `Token分离` `管理分离` 的图片 diff --git a/docs/后台管理.md b/docs/后台管理.md new file mode 100644 index 0000000..4a681f2 --- /dev/null +++ b/docs/后台管理.md @@ -0,0 +1,3 @@ +- EasyImage的后台管理非常丰富,所有的更改均有注明 + +![配置中心-EasyImage2.0简单图床](images/微信截图_20220427152523.png) \ No newline at end of file diff --git a/docs/图床更新升级.md b/docs/图床更新升级.md new file mode 100644 index 0000000..2173b4b --- /dev/null +++ b/docs/图床更新升级.md @@ -0,0 +1,20 @@ +##### 正常升级 +1. 备份`config`目录(没有增加上传用户和api可以只保留`config.php`文件)和`上传文件目录` +2. 将新程序下载至网站目录解压覆盖,然后将备份的文件替换既完成升级 +3. 如果出现错误请在设置中把所有底部设置点击一次`保存` + +##### docker升级 +1. 删除容器,镜像 +2. 保留挂载在主机上的配置文件 +3. 重新执行一边安装代码 + +##### 更新后显示当前版本与Github版本不一致? +- 删除`/admin/logs/verson`文件夹 + - 删除后并未获取版本? 答案:PHP没装curl或文件权限问题 + +- 2.6.5 之前的版本: +1. 打开`/config/config.php`文件找到当前版本号替换成最新版本号 + +***** +- 可以在设置->系统信息->图床信息中查看当前版本和Github最新版本 +- 每个月获取2次,因为PHP不能定时任务,所以不一定能正确获取 \ No newline at end of file diff --git a/docs/安全配置.md b/docs/安全配置.md new file mode 100644 index 0000000..6b8374a --- /dev/null +++ b/docs/安全配置.md @@ -0,0 +1,26 @@ +- Apache环境在上传目录添加配置文件`.htaccess` 使上传目录不可运行PHP程序(默认已经存在) + +```Apache + +Order allow,deny +Deny from all + +``` + +- Nginx环境禁止多个目录运行`PHP`程序: + +```Nginx + # "i|public"是你要禁止的目录 放到listen段落之后才生效 + location ~* ^/(i|public)/.*\.(php|php5)$ + { + deny all; + } +``` + +- Lighthttpd环境禁止多个目录运行`PHP`程序: + +```Lighthttpd +$HTTP["url"] =~ "^/(i|public)/" { + fastcgi.server = () +} +```w \ No newline at end of file diff --git a/docs/安装图床.md b/docs/安装图床.md new file mode 100644 index 0000000..a5f7786 --- /dev/null +++ b/docs/安装图床.md @@ -0,0 +1,18 @@ +> 推荐环境:Nginx + PHP≥7.0 + linux + +#### windows: +- 下载简单图床 [最新版](https://github.com/icret/EasyImages2.0/archive/refs/heads/master.zip)|[稳定版](https://github.com/icret/EasyImages2.0/releases) 上传至web根目录 + +#### Linux: + +- `git clone https://github.com/icret/EasyImages2.0.git` 至安装目录 + +- 赋予安装目录www:www和0755权限: +```shell +chmod -R 755 /安装目录 +chown -R www:www /安装目录 +``` + +#### BT宝塔面板 +- 安装环境 Ngixn(推荐) / Apache + PHP(推荐≥7.0) +- 软件商店搜索`简单图床`一键部署 diff --git a/docs/安装扩展.md b/docs/安装扩展.md new file mode 100644 index 0000000..4b6728f --- /dev/null +++ b/docs/安装扩展.md @@ -0,0 +1,11 @@ +- 安装PHP扩展 + +- Lnmp + +[lnmp安装扩展教程](https://www.vpser.net/manage/lnmp-php-install-ext.html) + +- 宝塔面板: + +打开宝塔后台->软件商店->已安装->选择php->设置->安装Fileinfo、iconv、zip、mbstring、openssl扩展(如果没有就是已经安装了)。 +![](images/微信截图_20211029180211.png) + diff --git a/docs/常见问题.md b/docs/常见问题.md new file mode 100644 index 0000000..e4c72da --- /dev/null +++ b/docs/常见问题.md @@ -0,0 +1,24 @@ +1. 请将所有文件赋予`0755`和`www`权限 +2. 对`PHP`不太熟悉的请不要将图床程序放置于二级目录 +3. 请关闭防跨站或删除域名文件夹内的`user.ini`文件 如`宝塔面板`|`军哥lnmp` +4. 网站域名与图片域名必须填写,如果只有一个域名请填写成一样的 +5. 首次使用会执行安装程序并并在`config`目录生成`install.lock` 跳过安装流程请删除`install`目录 +6. 首次访问首页会检查环境并在`config`目录下生成`EasyImage.lock` +7. 可以使用谷歌浏览器的调试模式查看错误`F12->console` +8. 提示 `upload File size exceeds the maximum value` 调整`PHP`上传大小 +9. 提示 `undefined function imagecreatefromwebp()`GD没安装webp, 以此类推 +10. 提示 `Warning: is_dir(): open_basedir restriction in effect`解决方法同`3` +11. 无法上传/访问/不显示验证码: 1. 权限问题见问题`1` 2. CDN缓存了 3. 防火墙拦截 +12. 宝塔或者其他环境安装成功但是上传失败,多数原因是防火墙拦截上传,取消拦截即可 +13. `Fatal error: Allowed memory size......`主机内存或分配给PHP的内存不够 解决方法百度 +14. 开启原图保护功能后打开图片链接显示`404`是因为`nginx`或`Apache`页面缓存导致的,`Nginx`解决办法: + +```Nginx +# 把Nginx这段配置删掉 +location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ +{ + expires 30d; + error_log /dev/null; + access_log /dev/null; +} +``` diff --git a/docs/打赏开发者.md b/docs/打赏开发者.md new file mode 100644 index 0000000..d6d815f --- /dev/null +++ b/docs/打赏开发者.md @@ -0,0 +1,6 @@ + +- 使用软件是对作者的最大鼓励,非常感谢你的打赏! + + | 支付宝支持 | 微信支持 | + | :---------------------------------------: | :-------------------------------------: | + | ![支付宝支持](../public/images/alipay.jpg) | ![微信支持](../public/images/wechat.jpg) | \ No newline at end of file diff --git a/docs/更改域名-服务器.md b/docs/更改域名-服务器.md new file mode 100644 index 0000000..4209534 --- /dev/null +++ b/docs/更改域名-服务器.md @@ -0,0 +1,10 @@ +- 更改域名 + +1. 更改图床域名 +登录网站后台->网站设置->网站域名->将新域名填入 +2. 更改图片域名 +登录网站后台->网站设置->图片域名->将新域名填入 + +- 更改服务器 +1. 将域名解析到新服务器 +2. 将网站整体搬运至新服务器 \ No newline at end of file diff --git a/docs/苹果快捷指令上传.md b/docs/苹果快捷指令上传.md new file mode 100644 index 0000000..86bfedb --- /dev/null +++ b/docs/苹果快捷指令上传.md @@ -0,0 +1,3 @@ +- 苹果快捷指令直接访问下面链接即可: +- 登录图床后台->图床安全->高级设置->开启API上传 +[https://www.icloud.com/shortcuts/857b1921c1aa4d679470fcfed583cb1c](https://www.icloud.com/shortcuts/857b1921c1aa4d679470fcfed583cb1c) diff --git a/docs/许可证.md b/docs/许可证.md new file mode 100644 index 0000000..113ad69 --- /dev/null +++ b/docs/许可证.md @@ -0,0 +1,2 @@ + - [GPL-2.0](https://github.com/icret/EasyImages2.0/blob/master/LICENSE) + - Copyright © 2018 EasyImage Developer By [Icret](https://github.com/icret) \ No newline at end of file diff --git a/docs/跳过安装引导.md b/docs/跳过安装引导.md new file mode 100644 index 0000000..bddcc03 --- /dev/null +++ b/docs/跳过安装引导.md @@ -0,0 +1,8 @@ +有时候因为虚拟机或者其他的原因无法使用程序提供的安装页面引导,可以跳过安装引导 + +- 跳过安装引导流程 +1. 删除`install`目录 +2. 修改`/caonfig/config.php`文件中的`domain`网站网址和`imgurl`图片网址 ,网址末尾不能加`/` +3. 后续更改可以通过访问网站的设置页面修改 +4. 虽然不经过安装引导,但是安装页面上所有需要满足的条件必须支持 +![图床要求](images/1-001.png) diff --git a/docs/鉴黄.md b/docs/鉴黄.md new file mode 100644 index 0000000..3f9a6a0 --- /dev/null +++ b/docs/鉴黄.md @@ -0,0 +1,31 @@ +图床支持moderatecontent和nsfwjs方式鉴黄 +- moderatecontent: + 1. 注册[moderatecontent](https://client.moderatecontent.com/)并获取Token + 2. 后台API设置中填入Moderate Key + 3. 后台图片安全图片鉴黄以moderatecontent方式 + +- nsfwjs [nsfwjs docker](https://hub.docker.com/r/icret/nsfw_restful_api) + 1. 确定已安装`docker`和`docker-compose` + 2. 拉取镜像 `docker pull icret/nsfw_restful_api:latest` 或者直接 `docker run -p 3307:3307 -d icret/nsfw_restful_api` + 3. 后台API设置中填入网址 比如:`http://IP:3307/api/nsfw/classify?url=` + 4. 后台图片安全图片鉴黄以nsfwjs方式 + 5. 如果你使用别的nsfwjs api,必须返回`json`并且格式如下: + +```json +[{ + "className": "Drawing", + "probability": 0.824431836605072 +}, { + "className": "Hentai", + "probability": 0.16360442340373993 +}, { + "className": "Neutral", + "probability": 0.007620695047080517 +}, { + "className": "Porn", + "probability": 0.004154415801167488 +}, { + "className": "Sexy", + "probability": 0.00018858206749428064 +}] +``` \ No newline at end of file diff --git a/docs/隐藏存储路径.md b/docs/隐藏存储路径.md new file mode 100644 index 0000000..913fcb1 --- /dev/null +++ b/docs/隐藏存储路径.md @@ -0,0 +1,7 @@ +- 默认上传链接格式为: https://i2.100024.xyz/2023/02/06/1w0b5z.webp 其中`/i/`是由上传设置->存储路径设置的; +- 如果想隐藏`/i/`目录,需打开 图床安全->隐藏*目录,然后将图片域名绑定到`/i/`目录 + +- 注意: +1. 图片链接会隐藏你设置的存储路径 例如`/i/` +2. 网站与图片域名不能相同 +3. 图片域名需绑定到存储路径 \ No newline at end of file diff --git a/install/README/info.png b/install/README/info.png deleted file mode 100755 index 79d7006c972c7da64c4e06657f2cb6461d79d558..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 167735 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

4>Oj9P`iuD^~Djo)5Z8XH*_UoUwMN&ccL-o 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 z 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

kTyN^aThwrv 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�w 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 z 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 bR3OLd>srz7>BR%_BC(4XY|i6NJ?{Sxo?_|w diff --git a/install/contorl.php b/install/contorl.php index 2b9f87d..71cd80e 100755 --- a/install/contorl.php +++ b/install/contorl.php @@ -53,6 +53,7 @@ if (isset($_POST['del_extra_files'])) { @unlink(APP_ROOT . '/config/EasyIamge.lock'); @deldir(APP_ROOT . "/.github"); @deldir(APP_ROOT . "/.git"); + @deldir(APP_ROOT . "/docs"); } catch (Exception $e) { echo $e->getMessage(); }