Browse Source

First edit for safe.rita.moe

master
Kody 8 months ago
parent
commit
60e8e498cb
  1. 2
      .env.example
  2. 2
      Dockerfile
  3. 64
      docker-compose.yaml
  4. 74
      pages/error/404.html
  5. 78
      pages/error/500.html
  6. BIN
      public/icons/120px.png
  7. BIN
      public/icons/152px.png
  8. BIN
      public/icons/167px.png
  9. BIN
      public/icons/180px.png
  10. BIN
      public/icons/192pxr.png
  11. BIN
      public/icons/270px.png
  12. BIN
      public/icons/310px.png
  13. BIN
      public/icons/310pxw.png
  14. BIN
      public/icons/32pxr.png
  15. BIN
      public/icons/384pxr.png
  16. BIN
      public/icons/512pxr.png
  17. BIN
      public/icons/600px.png
  18. BIN
      public/icons/600pxr.png
  19. BIN
      public/icons/70px.png
  20. BIN
      public/icons/96pxr.png
  21. BIN
      public/icons/android-chrome-144x144.png
  22. BIN
      public/icons/android-chrome-192x192.png
  23. BIN
      public/icons/android-chrome-256x256.png
  24. BIN
      public/icons/android-chrome-36x36.png
  25. BIN
      public/icons/android-chrome-384x384.png
  26. BIN
      public/icons/android-chrome-48x48.png
  27. BIN
      public/icons/android-chrome-512x512.png
  28. BIN
      public/icons/android-chrome-72x72.png
  29. BIN
      public/icons/android-chrome-96x96.png
  30. BIN
      public/icons/apple-touch-icon.png
  31. 15
      public/icons/browserconfig.xml
  32. BIN
      public/icons/favicon-16x16.png
  33. BIN
      public/icons/favicon-32x32.png
  34. BIN
      public/icons/favicon.ico
  35. 77
      public/icons/manifest.json
  36. BIN
      public/icons/mstile-150x150.png
  37. 1
      public/icons/safari-pinned-tab.svg
  38. BIN
      public/images/fb_share.png
  39. BIN
      public/images/logo.png
  40. BIN
      public/images/logo_big.png
  41. BIN
      public/images/logo_smol.png
  42. BIN
      public/images/logo_smol@2x.png
  43. BIN
      public/images/logo_square.png
  44. 6
      public/safe.rita.moe.sxcu
  45. 51
      views/_globals.njk
  46. 13
      views/_layout.njk
  47. 6
      views/faq.njk
  48. 2
      views/home.njk

2
.env.example

@ -1,2 +1,4 @@
EMAIL=email@example.org
DOMAIN=MY-DOMAIN.com
PORT=9999
UPLOAD_DIR=/opt/safe

2
Dockerfile

@ -10,7 +10,7 @@ COPY package.json yarn.lock ./
RUN apk --no-cache update \
&& apk add --no-cache --virtual build-dependencies python make g++ \
&& apk add --no-cache ffmpeg \
&& apk add --no-cache ffmpeg git \
&& apk del build-dependencies \
&& yarn install --production \
&& yarn cache clean

64
docker-compose.yaml

@ -1,63 +1,19 @@
version: '3.8'
networks:
net:
driver: bridge
services:
safe:
image: lolisafe/lolisafe
# image: lolisafe/lolisafe
build: .
volumes:
- ./config.js:/usr/src/lolisafe/config.js:ro
- ./uploads:/usr/src/lolisafe/uploads
restart: unless-stopped
networks:
- net
nginx:
image: nginx
volumes:
- ./nginx.docker.conf:/etc/nginx/conf.d/default.conf:ro
- ./uploads:/uploads
expose:
- 80
restart: unless-stopped
depends_on:
- safe
networks:
- net
labels:
- 'traefik.enable=true'
- 'traefik.http.routers.safe.rule=Host(`${DOMAIN}`)'
- 'traefik.http.routers.safe.entrypoints=https'
- 'traefik.http.routers.safe.tls=true'
- 'traefik.http.routers.safe.tls.certresolver=letsencrypt'
traefik:
image: traefik:latest
container_name: traefik
volumes:
- ./traefik/acme.json:/acme.json
- /var/run/docker.sock:/var/run/docker.sock
networks:
- net
- ./database:/usr/src/lolisafe/database
- "${UPLOAD_DIR:-./uploads}:/usr/src/lolisafe/uploads"
ports:
- 80:80
- 443:443
command:
- '--log.level=INFO'
- '--providers.docker=true'
- '--providers.docker.exposedByDefault=false'
- '--entrypoints.http=true'
- '--entrypoints.http.address=:80'
- '--certificatesresolvers.letsencrypt.acme.email=${EMAIL}'
- '--certificatesresolvers.letsencrypt.acme.storage=acme.json'
- '--certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=http'
- '--entrypoints.http.http.redirections.entrypoint.to=https'
- '--entrypoints.http.http.redirections.entrypoint.scheme=https'
- '--entrypoints.https=true'
- '--entrypoints.https.address=:443'
restart: unless-stopped
- "${PORT:-9999}:9999"
depends_on:
- nginx
- clamav
restart: unless-stopped
clamav:
image: tiredofit/clamav
restart: unless-stopped

74
pages/error/404.html

@ -1,13 +1,75 @@
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Simple HttpErrorPages | MIT License | https://github.com/HttpErrorPages -->
<meta charset="utf-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>404 - Resource not found</title>
<style type="text/css">/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}/*! Simple HttpErrorPages | MIT X11 License | https://github.com/AndiDittrich/HttpErrorPages */body,html{width:100%;height:100%;background-color:#000}body{color:#eff0f1;text-align:center;padding:0;min-height:100%;display:table;font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif}h1{font-family:inherit;font-weight:500;line-height:1.1;color:inherit;font-size:36px}h1 small{font-size:68%;font-weight:400;line-height:1;color:#bdc3c7}a{text-decoration:none;color:#209cee;font-size:inherit;border-bottom:dotted 1px #209cee}a:hover{color:#67c3ff}.lead{color:#bdc3c7;font-size:21px;line-height:1.4}.cover{display:table-cell;vertical-align:middle;padding:0 20px}footer{position:fixed;width:100%;height:40px;left:0;bottom:0;color:#bdc3c7;font-size:14px}</style>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>404 | Rita</title>
<link rel="icon" href="https://rita.moe/rita-icon.png">
<style>
body {
align-items: center;
background: #B63A74;
background: -webkit-linear-gradient(135deg, #DF8AAC, #B63A74);
background: linear-gradient(135deg, #DF8AAC, #B63A74);
display: flex;
justify-content: center;
margin: 0;
min-height: 100vh;
}
a {
color: #0074D9;
border-bottom: 1px dotted #0074D9;
text-decoration: none;
}
a:hover {
color: #0074D9;
border-bottom: 1px solid #0074D9;
text-decoration: none;
}
.message {
align-items: center;
display: flex;
background-color: rgba(255, 255, 255, 0.8);
font-family: Arial, Helvetica, sans-serif;
font-size: 0.8rem;
line-height: 1.4;
padding: 1rem 2rem 0;
}
.message h1 {
margin: 0;
}
.message img {
height: 70vh;
margin-left: 2rem;
max-height: 300px;
width: auto;
}
@media screen and (max-width: 646px) {
body {
display: block;
min-height: calc(100vh - 2rem);
padding: 1rem;
}
}
</style>
</head>
<body>
<div class="cover"><h1>Resource not found <small>404</small></h1><p class="lead">The requested resource could not be found.</p></div>
<footer><p>Tech contact: <a href="mailto:bobby@fiery.me">bobby@fiery.me</a>.</p></footer>
<div class="message">
<div>
<h1>Page not found</h1>
<small>
<a href="https://www.pixiv.net/en/artworks/78429706">
Art by Fukuro袋子</a>
</small>
</div>
<img src="/rita-little.png">
</div>
</body>
</html>

78
pages/error/500.html

@ -1,14 +1,78 @@
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Simple HttpErrorPages | MIT License | https://github.com/HttpErrorPages -->
<meta charset="utf-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>500 - Webservice currently unavailable</title>
<style type="text/css">/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}/*! Simple HttpErrorPages | MIT X11 License | https://github.com/AndiDittrich/HttpErrorPages */body,html{width:100%;height:100%;background-color:#000}body{color:#eff0f1;text-align:center;padding:0;min-height:100%;display:table;font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif}h1{font-family:inherit;font-weight:500;line-height:1.1;color:inherit;font-size:36px}h1 small{font-size:68%;font-weight:400;line-height:1;color:#bdc3c7}a{text-decoration:none;color:#209cee;font-size:inherit;border-bottom:dotted 1px #209cee}a:hover{color:#67c3ff}.lead{color:#bdc3c7;font-size:21px;line-height:1.4}.cover{display:table-cell;vertical-align:middle;padding:0 20px}footer{position:fixed;width:100%;height:40px;left:0;bottom:0;color:#bdc3c7;font-size:14px}</style>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>500 | Rita</title>
<link rel="icon" href="https://rita.moe/rita-icon.png">
<style>
body {
align-items: center;
background: #B63A74;
background: -webkit-linear-gradient(135deg, #DF8AAC, #B63A74);
background: linear-gradient(135deg, #DF8AAC, #B63A74);
display: flex;
justify-content: center;
margin: 0;
min-height: 100vh;
}
a {
color: #0074D9;
border-bottom: 1px dotted #0074D9;
text-decoration: none;
}
a:hover {
color: #0074D9;
border-bottom: 1px solid #0074D9;
text-decoration: none;
}
.message {
align-items: center;
display: flex;
background-color: rgba(255, 255, 255, 0.8);
font-family: Arial, Helvetica, sans-serif;
font-size: 0.8rem;
line-height: 1.4;
padding: 1rem 2rem 0;
}
.message h1 {
margin: 0;
}
.message img {
height: 70vh;
margin-left: 2rem;
max-height: 300px;
width: auto;
}
@media screen and (max-width: 646px) {
body {
display: block;
min-height: calc(100vh - 2rem);
padding: 1rem;
}
}
</style>
</head>
<body>
<div class="cover"><h1>Webservice currently unavailable <small>500</small></h1><p class="lead">An unexpected condition was encountered.
Our service team has been dispatched to bring it back online.</p></div>
<footer><p>Tech contact: <a href="mailto:bobby@fiery.me">bobby@fiery.me</a>.</p></footer>
<div class="message">
<div>
<h1>Internal Server Error</h1>
Something broke on this server.<br>
Please try again later!<br>
<br>
<small>
<a href="https://www.pixiv.net/en/artworks/78429706">
Art by Fukuro袋子</a>
</small>
</div>
<img src="/rita-little.png">
</div>
</body>
</html>

BIN
public/icons/120px.png

Binary file not shown.

Before

Width: 120  |  Height: 120  |  Size: 26 KiB

BIN
public/icons/152px.png

Binary file not shown.

Before

Width: 152  |  Height: 152  |  Size: 42 KiB

BIN
public/icons/167px.png

Binary file not shown.

Before

Width: 167  |  Height: 167  |  Size: 49 KiB

BIN
public/icons/180px.png

Binary file not shown.

Before

Width: 180  |  Height: 180  |  Size: 56 KiB

BIN
public/icons/192pxr.png

Binary file not shown.

Before

Width: 192  |  Height: 192  |  Size: 64 KiB

BIN
public/icons/270px.png

Binary file not shown.

Before

Width: 270  |  Height: 270  |  Size: 113 KiB

BIN
public/icons/310px.png

Binary file not shown.

Before

Width: 310  |  Height: 310  |  Size: 154 KiB

BIN
public/icons/310pxw.png

Binary file not shown.

Before

Width: 310  |  Height: 150  |  Size: 77 KiB

BIN
public/icons/32pxr.png

Binary file not shown.

Before

Width: 32  |  Height: 32  |  Size: 3.0 KiB

BIN
public/icons/384pxr.png

Binary file not shown.

Before

Width: 384  |  Height: 384  |  Size: 220 KiB

BIN
public/icons/512pxr.png

Binary file not shown.

Before

Width: 512  |  Height: 512  |  Size: 364 KiB

BIN
public/icons/600px.png

Binary file not shown.

Before

Width: 600  |  Height: 600  |  Size: 486 KiB

BIN
public/icons/600pxr.png

Binary file not shown.

Before

Width: 600  |  Height: 600  |  Size: 554 KiB

BIN
public/icons/70px.png

Binary file not shown.

Before

Width: 70  |  Height: 70  |  Size: 9.9 KiB

BIN
public/icons/96pxr.png

Binary file not shown.

Before

Width: 96  |  Height: 96  |  Size: 19 KiB

BIN
public/icons/android-chrome-144x144.png

Binary file not shown.

After

Width: 144  |  Height: 144  |  Size: 10 KiB

BIN
public/icons/android-chrome-192x192.png

Binary file not shown.

After

Width: 192  |  Height: 192  |  Size: 16 KiB

BIN
public/icons/android-chrome-256x256.png

Binary file not shown.

After

Width: 256  |  Height: 256  |  Size: 24 KiB

BIN
public/icons/android-chrome-36x36.png

Binary file not shown.

After

Width: 36  |  Height: 36  |  Size: 2.1 KiB

BIN
public/icons/android-chrome-384x384.png

Binary file not shown.

After

Width: 384  |  Height: 384  |  Size: 46 KiB

BIN
public/icons/android-chrome-48x48.png

Binary file not shown.

After

Width: 48  |  Height: 48  |  Size: 2.5 KiB

BIN
public/icons/android-chrome-512x512.png

Binary file not shown.

After

Width: 512  |  Height: 512  |  Size: 74 KiB

BIN
public/icons/android-chrome-72x72.png

Binary file not shown.

After

Width: 72  |  Height: 72  |  Size: 4.1 KiB

BIN
public/icons/android-chrome-96x96.png

Binary file not shown.

After

Width: 96  |  Height: 96  |  Size: 5.9 KiB

BIN
public/icons/apple-touch-icon.png

Binary file not shown.

After

Width: 180  |  Height: 180  |  Size: 14 KiB

15
public/icons/browserconfig.xml

@ -1,12 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
<tile>
<square70x70logo src="https://safe.fiery.me/icons/70px.png"/>
<square150x150logo src="https://safe.fiery.me/icons/270px.png"/>
<square310x310logo src="https://safe.fiery.me/icons/310px.png"/>
<wide310x150logo src="https://safe.fiery.me/icons/310pxw.png"/>
<TileColor>#232629</TileColor>
</tile>
</msapplication>
<msapplication>
<tile>
<square150x150logo src="/icons/mstile-150x150.png"/>
<TileColor>#b63a74</TileColor>
</tile>
</msapplication>
</browserconfig>

BIN
public/icons/favicon-16x16.png

Binary file not shown.

After

Width: 16  |  Height: 16  |  Size: 1.1 KiB

BIN
public/icons/favicon-32x32.png

Binary file not shown.

After

Width: 32  |  Height: 32  |  Size: 1.8 KiB

BIN
public/icons/favicon.ico

Binary file not shown.

77
public/icons/manifest.json

@ -1,28 +1,53 @@
{
"name": "safe.fiery.me",
"short_name": "fiery.me",
"description": "A pomf-like file uploading service that doesn't suck.",
"background_color": "#232629",
"theme_color": "#232629",
"display": "standalone",
"lang": "en-US",
"orientation": "any",
"start_url": "/",
"icons": [
{
"src": "/icons/192pxr.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/icons/384pxr.png",
"sizes": "384x384",
"type": "image/png"
},
{
"src": "/icons/512pxr.png",
"sizes": "512x512",
"type": "image/png"
}
]
"name": "Safe.Rita.moe",
"short_name": "SafeRita",
"icons": [
{
"src": "/icons/android-chrome-36x36.png",
"sizes": "36x36",
"type": "image/png"
},
{
"src": "/icons/android-chrome-48x48.png",
"sizes": "48x48",
"type": "image/png"
},
{
"src": "/icons/android-chrome-72x72.png",
"sizes": "72x72",
"type": "image/png"
},
{
"src": "/icons/android-chrome-96x96.png",
"sizes": "96x96",
"type": "image/png"
},
{
"src": "/icons/android-chrome-144x144.png",
"sizes": "144x144",
"type": "image/png"
},
{
"src": "/icons/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/icons/android-chrome-256x256.png",
"sizes": "256x256",
"type": "image/png"
},
{
"src": "/icons/android-chrome-384x384.png",
"sizes": "384x384",
"type": "image/png"
},
{
"src": "/icons/android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
],
"theme_color": "#b63a74",
"background_color": "#b63a74"
}

BIN
public/icons/mstile-150x150.png

Binary file not shown.

After

Width: 270  |  Height: 270  |  Size: 8.6 KiB

1
public/icons/safari-pinned-tab.svg
File diff suppressed because one or more lines are too long
View File

BIN
public/images/fb_share.png

Binary file not shown.

Before

Width: 1200  |  Height: 630  |  Size: 164 KiB

After

Width: 2400  |  Height: 1260  |  Size: 293 KiB

BIN
public/images/logo.png

Binary file not shown.

Before

Width: 425  |  Height: 425  |  Size: 264 KiB

After

Width: 425  |  Height: 425  |  Size: 175 KiB

BIN
public/images/logo_big.png

Binary file not shown.

Before

Width: 600  |  Height: 600  |  Size: 466 KiB

After

Width: 600  |  Height: 600  |  Size: 318 KiB

BIN
public/images/logo_smol.png

Binary file not shown.

Before

Width: 200  |  Height: 200  |  Size: 68 KiB

After

Width: 200  |  Height: 200  |  Size: 48 KiB

BIN
public/images/logo_smol@2x.png

Binary file not shown.

Before

Width: 400  |  Height: 400  |  Size: 251 KiB

After

Width: 400  |  Height: 400  |  Size: 157 KiB

BIN
public/images/logo_square.png

Binary file not shown.

Before

Width: 425  |  Height: 425  |  Size: 269 KiB

After

Width: 425  |  Height: 425  |  Size: 167 KiB

6
public/safe.fiery.me.sxcu → public/safe.rita.moe.sxcu

@ -1,8 +1,8 @@
{
"Name": "safe.fiery.me",
"Name": "safe.rita.moe",
"DestinationType": "ImageUploader, FileUploader",
"RequestMethod": "POST",
"RequestURL": "https://safe.fiery.me/api/upload",
"RequestURL": "https://safe.rita.moe/api/upload",
"Headers": {
"token": "",
"albumid": "",
@ -13,4 +13,4 @@
"FileFormName": "files[]",
"URL": "$json:files[0].url$",
"ThumbnailURL": "$json:files[0].url$"
}
}

51
views/_globals.njk

@ -1,24 +1,24 @@
{% set name = "safe.fiery.me" %}
{% set name = "safe.rita.moe" %}
{% set motto = "A small safe worth protecting." %}
{% set description = "A pomf-like file uploading service that doesn't suck." %}
{% set keywords = "upload,lolisafe,file,images,hosting,bobby,fiery" %}
{% set keywords = "upload,lolisafe,file,images,hosting,rita" %}
{# Used in home.njk and nojs.njk #}
{% set home_subtitle = "A <strong>modern</strong> self-hosted file upload service" %} {# HTML supported #}
{# Used in faq.njk and cookiepolicy.njk #}
{% set root_domain = "fiery.me" %}
{% set root_domain = "rita.moe" %}
{% set whole_faq = root_domain + " website and sub-domains" %}
{% set whole_cookie = "This site and " + root_domain + " website and sub-domains" %}
{% set email = "bobby@fiery.me" %}
{% set email = "kody@rita.moe" %}
{% set fork_repo = "https://github.com/BobbyWibowo/lolisafe" %}
{% set fork_host = "GitHub" %}
{% set fork_issues = fork_repo + "/issues/new/choose" %}
{% set fork_repo = "https://git.rita.moe/rita/lolisafe" %}
{% set fork_host = "Gitea" %}
{% set fork_issues = fork_repo + "/issues/new" %}
{% set takedowns_url = "https://safe.fiery.me/takedowns" %}
{% set server_location = "Paris, <strong>France</strong>" %} {# HTML supported #}
{% set support = 'Thanks! You can become a patron on my <a href="https://www.patreon.com/bobbywibowo" target="_blank" rel="noopener">Patreon</a>!' %} {# HTML supported #}
{% set takedowns_url = "https://safe.rita.moe/takedowns" %}
{% set server_location = "Nuremberg, <strong>Germany</strong>" %} {# HTML supported #}
{% set support = 'No Patreon in place for now.' %} {# HTML supported #}
{% set enable_faq_banned_categories = true %}
{% set enable_faq_tor = true %}
@ -35,29 +35,15 @@
{
attrs: {
title: 'Home',
href: 'https://fiery.me'
href: 'https://rita.moe'
},
icon: 'icon-home icon-2x'
},
{
attrs: {
title: 'Blog (Gatsby)',
href: 'https://blog.fiery.me'
},
icon: 'icon-gatsby icon-2x'
},
{
attrs: {
title: 'Paste (PrivateBin)',
href: 'https://paste.fiery.me'
},
icon: 'icon-privatebin icon-2x'
},
{
attrs: {
id: 'ShareX',
title: 'ShareX user profile',
href: 'https://safe.fiery.me/safe.fiery.me.sxcu?v=' + v2
href: 'https://safe.rita.moe/safe.rita.moe.sxcu?v=' + v2
},
icon: 'icon-sharex icon-2x'
},
@ -79,15 +65,6 @@
},
icon: 'icon-chrome icon-2x'
},
{
attrs: {
title: 'Bash uploader',
href: 'https://github.com/BobbyWibowo/uguush/tree/fiery-kde',
target: '_blank',
rel: 'noopener'
},
icon: 'icon-terminal icon-2x'
},
{
attrs: {
title: 'FAQ',
@ -104,8 +81,8 @@
},
{
attrs: {
title: 'View on GitHub',
href: 'https://github.com/BobbyWibowo/lolisafe',
title: 'View on Gitea',
href: 'https://git.rita.moe/rita/lolisafe',
target: '_blank',
rel: 'noopener'
},

13
views/_layout.njk

@ -58,17 +58,16 @@
{% endblock %}
<!-- Icons, configs, etcetera -->
<link rel="icon" href="{{ root }}/icons/32pxr.png{{ versions[2] }}" sizes="32x32">
<link rel="icon" href="{{ root }}/icons/96pxr.png{{ versions[2] }}" sizes="96x96">
<link rel="apple-touch-icon" href="{{ root }}/icons/120px.png{{ versions[2] }}" sizes="120x120">
<link rel="apple-touch-icon" href="{{ root }}/icons/152px.png{{ versions[2] }}" sizes="152x152">
<link rel="apple-touch-icon" href="{{ root }}/icons/167px.png{{ versions[2] }}" sizes="167x167">
<link rel="apple-touch-icon" href="{{ root }}/icons/180px.png{{ versions[2] }}" sizes="180x180">
<link rel="icon" href="{{ root }}/icons/favicon-32x32.png{{ versions[2] }}" sizes="32x32">
<link rel="icon" href="{{ root }}/icons/favicon-16x16.png{{ versions[2] }}" sizes="16x16">
<link rel="apple-touch-icon" href="{{ root }}/icons/apple-touch-icon.png{{ versions[2] }}" sizes="180x180">
<link rel="mask-icon" href="{{ root }}/icons/safari-pinned-tab.svg" color="#b63a74">
<link rel="shortcut icon" href="{{ root }}/icons/favicon.ico">
<link rel="manifest" href="{{ root }}/icons/manifest.json{{ versions[2] }}">
<meta name="apple-mobile-web-app-title" content="{{ globals.name }}">
<meta name="application-name" content="{{ globals.name }}">
<meta name="msapplication-config" content="{{ root }}/icons/browserconfig.xml{{ versions[2] }}">
<meta name="theme-color" content="#232629">
<meta name="theme-color" content="#b63a74">
{% block endmeta %}{% endblock %}
</head>
<body>

6
views/faq.njk

@ -179,17 +179,19 @@
<article class="message">
<div class="message-body">
We do have some browser extensions:<br>
<a href="https://addons.mozilla.org/en-US/firefox/addon/lolisafe/" target="_blank" rel="noopener">Firefox extension</a>. Maintained by me. Its GitHub repository is located <a href="https://github.com/BobbyWibowo/loli-safe-extension" target="_blank" rel="noopener">here</a>.<br>
<a href="https://addons.mozilla.org/en-US/firefox/addon/lolisafe/" target="_blank" rel="noopener">Firefox extension</a>. Maintained by Bobby. Its GitHub repository is located <a href="https://github.com/BobbyWibowo/loli-safe-extension" target="_blank" rel="noopener">here</a>.<br>
<a href="https://chrome.google.com/webstore/detail/loli-safe-uploader/enkkmplljfjppcdaancckgilmgoiofnj" target="_blank" rel="noopener">Chrome extension</a>. Maintained by lolisafe's team. Its GitHub repository is located <a href="https://github.com/WeebDev/loli-safe-extension" target="_blank" rel="noopener">here</a>.<br>
With the Chrome extension specifically, you will have to manually set the domain in the extension's settings to <code>https://safe.fiery.me</code>.<br>
With the Chrome extension specifically, you will have to manually set the domain in the extension's settings to <code>https://safe.rita.moe</code>.<br>
<br>
If you use Windows desktop, the safe support uploads from <a href="https://github.com/ShareX/ShareX" target="_blank" rel="noopener">ShareX</a>.<br>
You can download the config file by clicking on the ShareX icon on the homepage.<br>
When logged in, the config file will also be automatically populated with your account's token.<br>
This will allow you to manage your ShareX uploads from our Dashboard.<br>
<!--
<br>
If you use Linux desktop, there is a compatible bash uploader which I also maintain.<br>
You can learn more about it from <a href="https://github.com/BobbyWibowo/uguush" target="_blank" rel="noopener">its GitHub repository</a>.
-->
</div>
</article>

2
views/home.njk

@ -31,7 +31,7 @@
<script src="libs/cookieconsent/cookieconsent.min.js{{ versions[3] }}"></script>
{%- endif %}
{# We assign an ID for this so that the script can find out version string for render images #}
<script id="renderScript" data-version="{{ versions[4] }}" src="js/misc/render.js{{ versions[1] }}" async></script>
{# <script id="renderScript" data-version="{{ versions[4] }}" src="js/misc/render.js{{ versions[1] }}" async></script> #}
<script src="js/misc/newsfeed.js{{ versions[1] }}" async></script>
{# We assign an ID for this so that the script can find out its own version #}
<script id="mainScript" src="js/home.js{{ versions[1] }}"></script>

Loading…
Cancel
Save