前段时间看到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
应在图像字段中提供图像数据响应示例: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
本教程基于宝塔面板。请自行转换相应的命令。
1、在宝塔的Docker管理面板中选择官方库,并输入以下仓库地址以获取镜像:roywangdev/nsfw-api:latest
最新因为镜像比较大,托管在Github,国内服务器获取比较慢,请耐心等待。

2、部署镜像
选择镜像,将容器的 3000 端口映射出即可。

3、设置反代
此时调用以下地址即可调用API
http(s)://IP:port/classify
使用IP+端口的组合肯定不够方便,那就需要反代
新建网站开启HTTPS等操作不再演示,具体配置如下:

4、测试
此处以 Lsky pro调用进行测试,在后台填写 API地址如下:

切记一定要在域名后面加上 /classify

按照 NSFWJS 官方的说法,准确率可以到达 93%,如果调用至商用项目请慎重考虑,如用于公益图床,请不定时审查图片。