filesafe/views/faq.njk
Bobby Wibowo 86b51fe5f5
Added Cookie Consent, among other things
This adds Cookie Consent library at public/libs/cookieconsent.

Added views/cookiepolicy.njk.

Added a new config option cookiePolicy. Disabled by default.

Updated views/faq.njk to use variables wherever applicable.
The variables are initiated at views/_globals.njk.
The said file also contains variables used at views/cookiepolicy.njk.

Restored messages about Cloudflare to FAQ.
They will be shown only if config.cloudflare.purgeCache is enabled.

Statistics will now capitalize first letters of the keys instead.

Updated background color of SweetAlert modals.

Moved table styling from dashboard.css to style.css (global),
since table will also be used in Cookie Policy page.

Bumped v1 version string and rebuilt client assets.
2020-05-17 03:35:54 +07:00

281 lines
13 KiB
Plaintext

{% set metaTitle = "FAQ" %}
{% set metaUrl = '/faq' %}
{% extends "_layout.njk" %}
{% set noJsMaxSizeInt = config.cloudflare.noJsMaxSize | int %}
{% set chunkSizeInt = config.uploads.chunkSize | int %}
{% set extensionsFilterMode = config.extensionsFilterMode %}
{% set extensionsFilter = config.extensionsFilter %}
{% block stylesheets %}
{{ super() }}
<link rel="stylesheet" href="libs/fontello/fontello.css{{ versions[1] }}">
{% endblock %}
{% block content %}
{{ super() }}
<section class="section">
<div class="container has-text-left">
<h1 class='title is-spaced'>General</h1>
<h2 class='subtitle is-brighter'>What is {{ globals.name }}?</h2>
<article class="message">
<div class="message-body">
This is a fork of <a href="https://github.com/WeebDev/lolisafe" target="_blank" rel="noopener">lolisafe</a>.<br>
{{ globals.forkHost }} repository of the fork is located <a href="{{ globals.forkRepo }}" target="_blank" rel="noopener">here</a>.
</div>
</article>
<h2 class='subtitle is-brighter'>Are there any <strong>banned categories</strong>?</h2>
<article class="message">
<div class="message-body">
Banned categories are the following, <i>but not limited to</i>:<br>
<strong>Child pornography.</strong><br>
Virus/malware, or anything Google Safe Search would categorize as <i>unwanted software</i> *.<br>
Copyrighted content. Meaning I will respond to copyright takedown notices,... <i>if any</i>.<br>
<strong>Full-length episodes of anime or TV shows.</strong> These include <strong>audio files from CD dramas</strong>.<br>
<br>
Any of such uploads, when found, will be purged immediately without any prior notice.<br>
Repeat offenders will have their IPs permanently blocked from accessing {{ globals.wholeFaq }}.<br>
For child pornography specifically, first offenders will immediately be blocked permanently.<br>
<br>
* When Google Safe Search detects <i>unwanted software</i>, Chrome's users will be alerted that anything they download from {{ globals.wholeFaq }} are <i>unsafe</i>.
</div>
</article>
<h2 class='subtitle is-brighter'>Will you keep my uploads forever?</h2>
<article class="message">
<div class="message-body">
Unless the uploads are included within the banned categories above, or some other bullshit, I will.<br>
{% if globals.takedownsUrl -%}
In case I have to take down any uploads, I will log their names and explanations in <a href="{{ globals.takedownsUrl }}" target="_blank">here</a>.<br>
{%- endif %}
<br>
Otherwise, we also have temporary uploads feature, with which you can have your uploads be automatically deleted after a period of time.<br>
It is disabled by default, but you can configure it through our homepage uploader's Config tab.
</div>
</article>
<h2 class='subtitle is-brighter'>How can I keep track of my uploads?</h2>
<article class="message">
<div class="message-body">
Simply create a user on the site and every uploads will be associated with your account, granting you access to your uploads through our Dashboard.<br>
You will <strong>have</strong> to do this if you ever want to delete your own uploads in the future, unless you choose to use the temporary uploads feature.
</div>
</article>
<h2 class='subtitle is-brighter'>What are albums?</h2>
<article class="message">
<div class="message-body">
Albums are a simple way of sorting/categorizing uploads together.<br>
You can share public links to these albums, allowing everyone else to view pretty listings of the uploads in them.<br>
Albums can also be downloaded as ZIP-archives.<br>
Both of these features can be toggled per-album basis from the Dashboard.
</div>
</article>
<h2 class='subtitle is-brighter'>Why should I use this?</h2>
<article class="message">
<div class="message-body">
I don't know.
</div>
</article>
<h2 class='subtitle is-brighter'>I saw something too illegal for my tastes here, what should I do?</h2>
<article class="message">
<div class="message-body">
Send a strongly worded email to <a href="mailto:{{ globals.email }}">{{ globals.email }}</a> and I will try to get back to you within <strong>48 hours</strong>.<br>
These include copyright takedown notices and reports about uploads violating banned categories.
</div>
</article>
{% if globals.supportFaq -%}
<h2 class='subtitle is-brighter'>How can I support {{ globals.name }}?</h2>
<article class="message">
<div class="message-body">
{{ globals.supportFaq | safe }}
</div>
</article>
{%- endif %}
</div>
</section>
<section class="section">
<div class="container has-text-left">
<h1 class='title is-spaced'>Technical</h1>
<h2 class='subtitle is-brighter'>What are the allowed extensions here?</h2>
<article class="message">
<div class="message-body">
{% if extensionsFilter.length -%}
{%- if extensionsFilterMode === 'whitelist' -%}
We only support the following extensions:
{%- else -%}
We support any file extensions, except the following:
{%- endif -%}<br>
{% set comma = joiner(' ') -%}
{%- for extension in extensionsFilter -%}
{{ comma() }}<code>{{ extension }}</code>
{%- endfor -%}
{%- else -%}
We support any file extensions.
{%- endif %}
</div>
</article>
<h2 class='subtitle is-brighter'>Why are my <strong>.htm/.html</strong> uploads being served as plain text?</h2>
<article class="message">
<div class="message-body">
There had been too many phishing pages being uploaded in the past.
</div>
</article>
{% if globals.serverLocation -%}
<h2 class='subtitle is-brighter'>Where is the server located?</h2>
<article class="message">
<div class="message-body">
{{ globals.serverLocation | safe }}.
{% if config.cloudflare.purgeCache -%}
<br>
We are using <a href="https://www.cloudflare.com/cdn/" target="_blank" rel="noopener">Cloudflare</a> though, so you can expect your uploads to be delivered quickly all over the world after they have been cached.
{%- endif %}
</div>
</article>
{%- endif %}
{% if config.cloudflare.purgeCache -%}
<h2 class='subtitle is-brighter'>Since my uploads are cached, what about after I delete them from the dashboard?</h2>
<article class="message">
<div class="message-body">
We will send API requests to Cloudflare to purge their cache immediately after you delete your uploads from the dashboard.<br>
Cache of their thumbnails will also be purged, if applicable.
</div>
</article>
{%- endif %}
<h2 class='subtitle is-brighter'>Are there any Desktop clients?</h2>
<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://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>
<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>
<h2 class='subtitle is-brighter'>Do you have a No-JS uploader form?</h2>
<article class="message">
<div class="message-body">
<a href="nojs" target="_blank"><strong>Yes!</strong></a>
</div>
</article>
{% if noJsMaxSizeInt and chunkSizeInt -%}
<h2 class='subtitle is-brighter'>Why is the maximum file size in the No-JS uploader form smaller?</h2>
<article class="message">
<div class="message-body">
This site is using Cloudflare, which limits the maximum upload size.<br>
Since the homepage uploader chunks your uploads through JS wizardry, it is possible to increase the maximum file size there.
</div>
</article>
{%- endif %}
{% if chunkSizeInt -%}
<h2 class='subtitle is-brighter'>So your API supports chunked uploads?</h2>
<article class="message">
<div class="message-body">
<strong>Yes.</strong> The homepage uploader was coded to chunk uploads into {{ chunkSizeInt }} MB pieces by default. However, this is configurable through its Config tab.<br>
<br>
If you want to chunk your API uploads, feel free to inspect the source code to see how it works.<br>
A rough description of how it works is to simply upload the chunks with their UUID information attached,<br>
and then call the "finish chunks" API with the said UUID, to rebuild them into a single proper file.
</div>
</article>
{%- endif %}
{% if globals.forkRepo -%}
<h2 class='subtitle is-brighter'>I found a bug! -or- I want to request a feature!</h2>
<article class="message">
<div class="message-body">
Feel free to create a {{ globals.forkHost }} issue <a href="{{ globals.forkIssues }}" target="_blank" rel="noopener">here</a>.</br>
If you do not have a {{ globals.forkHost }} account, you can also email <a href="mailto:{{ globals.email }}">{{ globals.email }}</a>.
</div>
</article>
{%- endif %}
<h2 class='subtitle is-brighter'>How do I delete my own account <strong>and</strong> all the uploads associated with it?</h2>
<article class="message">
<div class="message-body">
For now, you will also have to contact me through my email above.<br>
A feature to delete your own account by yourself is still <strong>work in progress</strong>.<br>
Otherwise, if you do not mind a record of your username being left here, it should be easy to bulk delete all your uploads from the Dashboard anyway.
</div>
</article>
</div>
</section>
<section class="section has-extra-bottom-padding">
<div class="container has-text-left">
<h1 class='title is-spaced'>Privacy</h1>
<h2 class='subtitle is-brighter'>What information is kept with uploads?</h2>
<article class="message">
<div class="message-body">
The uploader's <strong>IP address</strong>.
</div>
</article>
<h2 class='subtitle is-brighter'>What information is kept with users?</h2>
<article class="message">
<div class="message-body">
Technically, <strong>none</strong>.<br>
After all, not even an email address is required to register an account.<br>
Anything will do as your usernames, and passwords are also encrypted.<br>
If a registered user has not uploaded anything even once, then I will not even be able to associate it to any specific IP address.
</div>
</article>
<h2 class='subtitle is-brighter'>Why do you need to keep my IP address?</h2>
<article class="message">
<div class="message-body">
<strong>Security purposes.</strong><br>
For instance, if it is necessary to purge uploads from a specific IP address due to abuse, it <i>will</i> help a lot to be able to find all uploads by that specific uploader.<br>
My safe have been plagued by aplenty of abuse, so this policy will remain as long as the safe lives on.
</div>
</article>
<h2 class='subtitle is-brighter'>Does the server have some sort of access logs?</h2>
<article class="message">
<div class="message-body">
<strong>Yes.</strong> The logs will contain each visitor's IP address.<br>
This is required by our automated system, that checks both access and error logs in real time to detect and punish abuse, such as DDoS attempts, scanners, and so on.<br>
Logs are rotated daily, and the server will only keep the last 10 logs.<br>
So you can be reassured that the logs will only be kept for 10 days at most.
</div>
</article>
<h2 class='subtitle is-brighter'>I still have more unanswered questions!</h2>
<article class="message">
<div class="message-body">
Feel free to email <a href="mailto:{{ globals.email }}">{{ globals.email }}</a>.
</div>
</article>
</div>
</section>
<a class="floating-home-button" title="Back to Safe" href=".">
<span class="icon is-medium">
<i class="icon-home icon-2x"></i>
</span>
</a>
{% endblock %}