From 1a84f899e72c0f622f5b196ec1ed6583c68b3085 Mon Sep 17 00:00:00 2001 From: DebaucheryLibrarian Date: Wed, 4 Feb 2026 05:39:14 +0100 Subject: [PATCH] Added georestriction with SFW mode. --- .eslintrc | 5 +- .gitignore | 2 + assets/sfw.ejs | 125 +++++++++++ components/actors/tile.vue | 4 +- components/campaigns/campaign.vue | 29 ++- components/scenes/tile.vue | 2 +- components/tags/photos.vue | 7 +- config/default.cjs | 87 +++++++- package-lock.json | 205 +++++++++++++++++- package.json | 5 +- pages/entities/+onBeforeRender.js | 4 +- pages/entities/@entitySlug/+onBeforeRender.js | 12 +- pages/movies/+onBeforeRender.js | 4 +- pages/movies/@movieId/+onBeforeRender.js | 6 +- pages/scene/+onBeforeRender.js | 1 + pages/scenes/+onBeforeRender.js | 4 +- pages/tags/+Page.vue | 6 +- pages/tags/+onBeforeRender.js | 5 +- pages/tags/@tagId/+onBeforeRender.js | 10 +- pages/updates/+onBeforeRender.js | 2 +- renderer/+config.h.js | 1 + src/actors.js | 14 +- src/argv.js | 10 +- src/censor.js | 55 +++++ src/entities.js | 22 +- src/get-path.js | 21 +- src/media.js | 1 + src/movies.js | 46 ++-- src/scenes.js | 72 ++++-- src/tags.js | 21 +- src/web/auth.js | 5 + src/web/main.js | 1 + src/web/restrictions.js | 80 +++++++ src/web/server.js | 13 +- static | 2 +- 35 files changed, 777 insertions(+), 112 deletions(-) create mode 100644 assets/sfw.ejs create mode 100644 src/censor.js create mode 100644 src/web/restrictions.js diff --git a/.eslintrc b/.eslintrc index 262d6e5..be5abec 100755 --- a/.eslintrc +++ b/.eslintrc @@ -21,7 +21,7 @@ "no-console": 0, "no-param-reassign": ["error", { "props": true, - "ignorePropertyModificationsFor": ["state", "acc"] + "ignorePropertyModificationsFor": ["state", "acc", "req"] }], "vue/multi-word-component-names": 0, "vue/no-reserved-component-names": 0, @@ -32,7 +32,8 @@ "vue/html-indent": ["error", "tab"], "vue/multiline-html-element-content-newline": 0, "vue/no-v-html": 0, - "vue/singleline-html-element-content-newline": 0 + "vue/singleline-html-element-content-newline": 0, + "vue/comment-directive": 0, }, "settings": { "import/resolver": { diff --git a/.gitignore b/.gitignore index 377dc85..dec0a28 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,5 @@ config/* log/ /media data/ +assets/*.mmdb +assets/.geoipupdate.lock diff --git a/assets/sfw.ejs b/assets/sfw.ejs new file mode 100644 index 0000000..3f4da98 --- /dev/null +++ b/assets/sfw.ejs @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + + + + + + + traxxx - None shall pass + + + + + +
+

Not so fast, rascal.

+ +

The content offered by traxxx is restricted in your jurisdiction.

+ + <% if (!noVpn) { %> +
+ Useful links: + +
+ <% } %> +
+ + diff --git a/components/actors/tile.vue b/components/actors/tile.vue index 7e545ef..48fd865 100644 --- a/components/actors/tile.vue +++ b/components/actors/tile.vue @@ -11,7 +11,7 @@ class="avatar-link no-link" > +
+
Traxxx is restricted in your region
+ Learn more +
+