summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api/endpoints/admin
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2022-07-07 21:06:37 +0900
committerGitHub <noreply@github.com>2022-07-07 21:06:37 +0900
commite560601815be226d713b97c96591b6e83b85578b (patch)
tree03f3bb0a4c31389991dd1846b10b20ed30fbcc0c /packages/backend/src/server/api/endpoints/admin
parentNew Crowdin updates (#8950) (diff)
downloadmisskey-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')
-rw-r--r--packages/backend/src/server/api/endpoints/admin/meta.ts20
-rw-r--r--packages/backend/src/server/api/endpoints/admin/show-user.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/admin/update-meta.ts20
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;
}