前段时间看到 lskypro 升级到了2.0的版本,所以就想服务器闲着也是闲着,不如搭建个图床,造福大家。由于是开放注册,肯定会有坏东西捣乱,无法去筛选每个图片,就想到了去依靠第三方的图片审查服务。
但是目前 lskypro 2.0 支持的图片审查服务不多仅有三种:腾讯、阿里、NsfwJS,前面两个收费的服务价格实在是。。。。。。。不是我能负担的起的,所以便选择了自建 NsfwJS,来降低成本。
Lsky pro 官方群里的大佬们分享了一个项目,使用 Docker封装 部署和使用起来十分方便,输出的 json 格式和 Lsky pro 所有要的完全吻合,所以今天分享出来。
NSFWJS项目地址:NSFWJS
上面的项目地址并非本次所需的项目地址,有能力的大佬可以研究下。
2023年2月18日更新:在迁移服务器的途中,发现原作者的新版镜像是无法直接通过Lsky Pro去调用的。所以将可以用的镜像版本上传到了 Docker Hub。
项目介绍
项目地址:NSFW-API
项目仅支持 PNG JPG文件!!!!!!!
请求示例:
POST /classify HTTP/1.1
Content-Type: multipart/form-data
应在 image 字段中提供图片数据
响应示例:
HTTP/1.1 200 OK
Content-Type: application/json
{
"porn": 0.59248286485672,
"sexy": 0.39802199602127075,
"hentai": 0.006243097595870495,
"neutral": 0.0031403270550072193,
"drawing": 0.00011181648733327165
}
部署 NSFW-API
本教程基于 宝塔面板搭建,相应命令请自行转换
获取镜像
在宝塔的 Docker 管理面板中选择 公网库 官方库 输入以下仓库地址获取镜像:
ghcr.io/arnidan/nsfw-api:latest
#上面的镜像已经不能再配合LskyPro进行使用,请使用下面的。
roywangdev/nsfw-api:latest
由于镜像比较大,而且托管于 Github,国内服务器获取起来比较缓慢,请耐心等待。
部署镜像
选择镜像,将容器的 3000 端口映射出即可。
此时提交即可。
设置反代
此时调用以下地址即可调用API
http(s)://IP:port/classify
使用IP+端口的组合肯定不够方便,那就需要反代
新建网站开启HTTPS等操作不再演示,具体配置如下:
代理名称:自定义
代理地址:http://127.0.0.1:自定义的服务器端口
点击提交即可反代成功
测试
此处以 Lsky pro调用进行测试
在后台填写 API地址如下:
切记一定要在域名后面加上 /classify
后语
按照 NSFWJS 官方的说法,准确率可以到达 93%,如果调用至商用项目请慎重考虑,如用于公益图床,请不定时审查图片。