diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2022-07-07 21:06:37 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-07-07 21:06:37 +0900 |
| commit | e560601815be226d713b97c96591b6e83b85578b (patch) | |
| tree | 03f3bb0a4c31389991dd1846b10b20ed30fbcc0c /packages/backend/src/server/api/endpoints/admin | |
| parent | New Crowdin updates (#8950) (diff) | |
| download | misskey-e560601815be226d713b97c96591b6e83b85578b.tar.gz misskey-e560601815be226d713b97c96591b6e83b85578b.tar.bz2 misskey-e560601815be226d713b97c96591b6e83b85578b.zip | |
feat: auto nsfw detection (#8840)
* feat: auto nsfw detection
* :v:
* Update ja-JP.yml
* Update ja-JP.yml
* ポルノ判定のしきい値を高めに
* エラーハンドリングちゃんとした
* Update ja-JP.yml
* 感度設定を強化
* refactor
* feat: add video support for auto nsfw detection
* rename: image -> media
* .js
* fix: add missing error handling
* fix: use valid pathname instead of using filename due to invalid usage
* perf(nsfw-detection): decode frames
* disable detection of video for some reasons
* perf(nsfw-detection): streamify detection process for video
* disable disallowUploadWhenPredictedAsPorn option
* fix(nsfw-detection): improve reliability
* fix(nsfw-detection): use Math.ceil instead of Math.round
* perf(nsfw-detection): delete tmp frames after used
* fix(nsfw-detection): FSWatcher does not emit ready event
* perf(nsfw-detection): skip black frames
* refactor: strip exists check
* Update package.json
* めっちゃ変えた
* lint
* Update COPYING
* オプションで動画解析できるように
* Update yarn.lock
* Update CHANGELOG.md
Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>
Diffstat (limited to 'packages/backend/src/server/api/endpoints/admin')
3 files changed, 41 insertions, 0 deletions
diff --git a/packages/backend/src/server/api/endpoints/admin/meta.ts b/packages/backend/src/server/api/endpoints/admin/meta.ts index 8b71628959..cb50e128af 100644 --- a/packages/backend/src/server/api/endpoints/admin/meta.ts +++ b/packages/backend/src/server/api/endpoints/admin/meta.ts @@ -195,6 +195,22 @@ export const meta = { type: 'string', optional: true, nullable: true, }, + sensitiveMediaDetection: { + type: 'string', + optional: true, nullable: false, + }, + sensitiveMediaDetectionSensitivity: { + type: 'string', + optional: true, nullable: false, + }, + setSensitiveFlagAutomatically: { + type: 'boolean', + optional: true, nullable: false, + }, + enableSensitiveMediaDetectionForVideos: { + type: 'boolean', + optional: true, nullable: false, + }, proxyAccountId: { type: 'string', optional: true, nullable: true, @@ -370,6 +386,10 @@ export default define(meta, paramDef, async (ps, me) => { blockedHosts: instance.blockedHosts, hcaptchaSecretKey: instance.hcaptchaSecretKey, recaptchaSecretKey: instance.recaptchaSecretKey, + sensitiveMediaDetection: instance.sensitiveMediaDetection, + sensitiveMediaDetectionSensitivity: instance.sensitiveMediaDetectionSensitivity, + setSensitiveFlagAutomatically: instance.setSensitiveFlagAutomatically, + enableSensitiveMediaDetectionForVideos: instance.enableSensitiveMediaDetectionForVideos, proxyAccountId: instance.proxyAccountId, twitterConsumerKey: instance.twitterConsumerKey, twitterConsumerSecret: instance.twitterConsumerSecret, diff --git a/packages/backend/src/server/api/endpoints/admin/show-user.ts b/packages/backend/src/server/api/endpoints/admin/show-user.ts index f04a7a67c5..0d866b3113 100644 --- a/packages/backend/src/server/api/endpoints/admin/show-user.ts +++ b/packages/backend/src/server/api/endpoints/admin/show-user.ts @@ -58,6 +58,7 @@ export default define(meta, paramDef, async (ps, me) => { autoAcceptFollowed: profile.autoAcceptFollowed, noCrawle: profile.noCrawle, alwaysMarkNsfw: profile.alwaysMarkNsfw, + autoSensitive: profile.autoSensitive, carefulBot: profile.carefulBot, injectFeaturedNote: profile.injectFeaturedNote, receiveAnnouncementEmail: profile.receiveAnnouncementEmail, diff --git a/packages/backend/src/server/api/endpoints/admin/update-meta.ts b/packages/backend/src/server/api/endpoints/admin/update-meta.ts index 4dc4726a29..cc32e73c53 100644 --- a/packages/backend/src/server/api/endpoints/admin/update-meta.ts +++ b/packages/backend/src/server/api/endpoints/admin/update-meta.ts @@ -48,6 +48,10 @@ export const paramDef = { enableRecaptcha: { type: 'boolean' }, recaptchaSiteKey: { type: 'string', nullable: true }, recaptchaSecretKey: { type: 'string', nullable: true }, + sensitiveMediaDetection: { type: 'string', enum: ['none', 'all', 'local', 'remote'] }, + sensitiveMediaDetectionSensitivity: { type: 'string', enum: ['medium', 'low', 'high', 'veryLow', 'veryHigh'] }, + setSensitiveFlagAutomatically: { type: 'boolean' }, + enableSensitiveMediaDetectionForVideos: { type: 'boolean' }, proxyAccountId: { type: 'string', format: 'misskey:id', nullable: true }, maintainerName: { type: 'string', nullable: true }, maintainerEmail: { type: 'string', nullable: true }, @@ -213,6 +217,22 @@ export default define(meta, paramDef, async (ps, me) => { set.recaptchaSecretKey = ps.recaptchaSecretKey; } + if (ps.sensitiveMediaDetection !== undefined) { + set.sensitiveMediaDetection = ps.sensitiveMediaDetection; + } + + if (ps.sensitiveMediaDetectionSensitivity !== undefined) { + set.sensitiveMediaDetectionSensitivity = ps.sensitiveMediaDetectionSensitivity; + } + + if (ps.setSensitiveFlagAutomatically !== undefined) { + set.setSensitiveFlagAutomatically = ps.setSensitiveFlagAutomatically; + } + + if (ps.enableSensitiveMediaDetectionForVideos !== undefined) { + set.enableSensitiveMediaDetectionForVideos = ps.enableSensitiveMediaDetectionForVideos; + } + if (ps.proxyAccountId !== undefined) { set.proxyAccountId = ps.proxyAccountId; } |