* Ko-Fi donation button added.
* Templating now uses ejs instead of swig.
* clean-css/uglify-js replaced with minify-all.
* Minor PHP changes.
* Preparations for major refactor.
+++ /dev/null
-language: php
-php:
- - '7.2'
- - '7.3'
- - '7.4'
-
-install:
-- source ~/.nvm/nvm.sh
-- nvm ls-remote
-- nvm install stable
-- nvm use stable
-script:
-- make
-
GREP="grep"
NODE="node"
NPM="npm"
-DESTDIR="./dist"
-PKG_VERSION := $( $(GREP) -Po '(?<="version": ")[^"]*' )
+NODEJQ="node_modules/node-jq/bin/jq"
+CONF="dist.json"
+DESTDIR = $(shell $(CURDIR)/$(NODEJQ) -r ".dest" $(CURDIR)/$(CONF))
+NPX="npx"
+PKG_VERSION = $(shell $(CURDIR)/$(NODEJQ) -r ".version" $(CURDIR)/package.json)
TMPDIR := $(shell mktemp -d)
DOCKER_IMAGE = "$(shell basename $(CURDIR) | tr [:upper:] [:lower:])"
DOCKER_TAG="$(DOCKER_TAG)"
# default modules
MODULES="php"
-all: builddirs npm_dependencies swig htmlmin min-css min-js copy-img submodules
-
-swig:
- $(NODE) node_modules/swig/bin/swig.js render -j dist.json templates/faq.swig > $(CURDIR)/build/faq.html
- $(NODE) node_modules/swig/bin/swig.js render -j dist.json templates/index.swig > $(CURDIR)/build/index.html
- $(NODE) node_modules/swig/bin/swig.js render -j dist.json templates/tools.swig > $(CURDIR)/build/tools.html
+pageList = $(shell $(CURDIR)/$(NODEJQ) -r ".pages[]" $(CURDIR)/$(CONF))
+noExt = $(shell echo $(i) | cut -d '.' -f1)
+
+all: builddirs npm_dependencies ejs minify-all copy-img submodules
+
+ejs:
+ $(foreach i,$(pageList), \
+ $(NPX) ejs -f $(CURDIR)/$(CONF) $(CURDIR)/templates/$(i) -o $(CURDIR)/build/tmp/html/$(noExt).html;)
-htmlmin:
- $(NODE) node_modules/htmlmin/bin/htmlmin $(CURDIR)/build/index.html -o $(CURDIR)/build/index.html
- $(NODE) node_modules/htmlmin/bin/htmlmin $(CURDIR)/build/faq.html -o $(CURDIR)/build/faq.html
- $(NODE) node_modules/htmlmin/bin/htmlmin $(CURDIR)/build/tools.html -o $(CURDIR)/build/tools.html
+minify-all:
+ $(NPX) minify-all-cli -s $(CURDIR)/build/tmp/html/ -d $(CURDIR)/build/html
+ $(NPX) minify-all-cli -s $(CURDIR)/static/js -d $(CURDIR)/build/js
+ $(NPX) minify-all-cli -s $(CURDIR)/static/css -d $(CURDIR)/build/css
installdirs:
mkdir -p $(DESTDIR)/ $(DESTDIR)/img
ifneq (,$(findstring moe,$(MODULES)))
mkdir -p $(DESTDIR)/moe/{css,fonts,includes,js,login,panel/css/font,panel/css/images,register,templates}
endif
-
-min-css:
- $(NODE) $(CURDIR)/node_modules/.bin/cleancss $(CURDIR)/static/css/uguu.css --output $(CURDIR)/build/uguu.min.css
-
-min-js:
- echo "// @source https://github.com/nokonoko/uguu/tree/master/static/js" > $(CURDIR)/build/uguu.min.js
- echo "// @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat" >> $(CURDIR)/build/uguu.min.js
- $(NODE) $(CURDIR)/node_modules/.bin/uglifyjs ./static/js/app.js >> $(CURDIR)/build/uguu.min.js
- echo "// @license-end" >> $(CURDIR)/build/uguu.min.js
copy-img:
cp -v $(CURDIR)/static/img/*.png $(CURDIR)/build/img/
$(error The php submodule was not found)
endif
-copy-moe:
-ifneq ($(wildcard $(CURDIR)/moe/.),)
- cp -rv $(CURDIR)/moe $(CURDIR)/build/
-else
- $(error The moe submodule was not found)
-endif
-
install: installdirs
cp -rv $(CURDIR)/build/* $(DESTDIR)/
-
+ mv $(DESTDIR)/html/* $(DESTDIR)/
+ mv $(DESTDIR)/js/* $(DESTDIR)/
+ mv $(DESTDIR)/css/* $(DESTDIR)/
+ rm -rf $(DESTDIR)/html
+ rm -rf $(DESTDIR)/css
+ rm -rf $(DESTDIR)/js
+ rm -rf $(DESTDIR)/tmp
+ mv $(DESTDIR)/uguu.css $(DESTDIR)/uguu.min.css
+ mv $(DESTDIR)/app.js $(DESTDIR)/uguu.min.js
dist:
DESTDIR=$(TMPDIR)/uguu-$(PKGVERSION)
export DESTDIR
fi;
builddirs:
- mkdir -p $(CURDIR)/build $(CURDIR)/build/img
+ mkdir -p $(CURDIR)/build $(CURDIR)/build/img $(CURDIR)/build/tmp $(CURDIR)/build/tmp/html
ifneq (,$(findstring php,$(MODULES)))
mkdir -p $(CURDIR)/build/classes $(CURDIR)/build/includes
endif
"allowErrors": false
},
"dest": "dist",
- "pkgVersion": "1.5.3",
- "banners": [
- "banners/malware_scans.swig",
- "banners/donations.swig"
+ "pkgVersion": "1.5.4",
+ "pages": [
+ "index.ejs",
+ "faq.ejs",
+ "tools.ejs"
],
- "src": [
- "templates/index.swig",
- "templates/faq.swig",
- "templates/tools.swig"
- ],
- "generateRobotstxt": false,
- "generateSitemap": false,
"max_upload_size": 128,
- "production": false,
- "siteName": "SITENAME",
- "siteUrl": "https://yoursite.com",
+ "expireTime": "24H",
+ "siteName": "sitename",
+ "subTitle": "site title",
+ "siteUrl": "https://uguu.se",
"abuseContact": "abuse@example.com",
"infoContact": "info@example.com",
"ServerCountryLocation": "Sweden",
"SiteMetaInfo": "SITENAME is a temporary file hosting service, upload files up to 128MiB for 24 hours.",
"ToolsDesc": "The following tools might need editing to work on this clone of Uguu, usually editing the URL works.",
+ "donationBanner": true,
"paypalUrl": "",
"bitcoinAddress": "",
"flattrUrl": "",
+ "kofiUrl": "",
+ "malwareBanner": true,
"DB_MODE": "sqlite",
"DB_PATH": "/var/www/db/uguu.sq3",
"DB_USER": "NULL",
"ANTI_DUPE": false,
"BLACKLIST_DB": true,
"FILTER_MODE": true,
+ "RATE_LIMIT": true,
"FILES_ROOT": "/var/www/files/",
"FILES_RETRIES": 15,
"SSL": true,
{
"name": "uguu",
- "version": "1.5.3",
+ "version": "1.5.4",
"description": "Kawaii file host",
"homepage": "https://uguu.se/",
"repository": {
"bugs": {
"url": "https://github.com/nokonoko/uguu/issues"
},
- "devDependencies": {
- "clean-css": "^5.1.2",
- "clean-css-cli": "^5.3.0",
- "uglify-js": "^3.13.9",
- "swig": "^1.4.2"
- },
"dependencies": {
- "htmlmin": "0.0.6"
+ "ejs": "^3.1.8",
+ "minify-all-cli": "^1.0.13",
+ "node-jq": "^2.3.3"
}
}
.icon-flattr {
background-image: url('img/flattr.png');
}
+.icon-kofi {
+ background-image: url('img/kofi.png');
+}
/**
* NAVIGATION LINKS
$q->bindValue(':orig', Upload::$FILE_NAME, PDO::PARAM_STR);
$q->bindValue(':name', Upload::$NEW_NAME_FULL, PDO::PARAM_STR);
$q->bindValue(':size', Upload::$FILE_SIZE, PDO::PARAM_INT);
- $q->bindValue(':date', time(), PDO::PARAM_STR);
+ $q->bindValue(':date', time(), PDO::PARAM_INT);
$q->bindValue(':ip', Upload::$IP, PDO::PARAM_STR);
$q->execute();
} catch (Exception) {
];
}
- public static function getIP()
- {
- if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
- self::$IP = $_SERVER['HTTP_CLIENT_IP'];
- }
- if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
- self::$IP = $_SERVER['HTTP_X_FORWARDED_FOR'];
- }
- if (!isset(self::$IP)) {
- self::$IP = $_SERVER['REMOTE_ADDR'];
- }
- }
-
public static function fileInfo()
{
if (isset($_FILES['files'])) {
}
if (Settings::$LOG_IP) {
- self::getIP();
+ self::$IP = $_SERVER['REMOTE_ADDR'];
} else {
self::$IP = null;
}
+++ /dev/null
-{% for banner in banners %}
- {% include banner %}
-{% endfor %}
+++ /dev/null
-<p class="alert alert-info">
- <strong>{{siteName}} is free to use, but our hosting costs are far from it</strong> — donations are what keep {{siteName}} alive, free, and fast.</strong>
- <span class="donate-btns">
- {% if paypalUrl != '' %}
- <a class="donate-btn donate-paypal" href="{{paypalUrl}}" target="_BLANK">
- <span class="icon icon-paypal"></span>
- PayPal
- </a>
- {% endif %}
- {% if bitcoinAddress != '' %}
- <a class="donate-btn donate-bitcoin" href="bitcoin:{{bitcoinAddress}}?label={{siteName}}&message=Hosting%20Costs" target="_BLANK">
- <span class="icon icon-bitcoin"></span>
- Bitcoin
- </a>
- {% endif %}
- {% if flattrUrl != '' %}
- <a class="donate-btn donate-flattr" href="{{flattrUrl}}" target="_BLANK">
- <span class="icon icon-flattr"></span>
- Flattr
- </a>
- {% endif %}
- </span>
-</p>
+++ /dev/null
-<p class="alert alert-error">
- <strong>Malware is not allowed</strong> — files identified as malware will be removed without further notice.
-</p>
--- /dev/null
+<%- include('./templates/partials/header.ejs'); -%>
+<div class="container">
+ <article>
+ <div class="jumbotron">
+ <h1>
+ <abbr title="Frequently asked questions">FAQ</abbr>
+ </h1>
+ </div>
+ <div class="alert alert-info">
+ <h2>What is <%= siteName %>?</h2>
+ <p><%= siteName %> is a simple to use free file hosting service where files get
+ deleted after <%= expireTime %>. It lets you share your photos, documents, music, videos and more with
+ others online.</p>
+ <h2>What files are allowed?</h2>
+ <p>Any kind of file is allowed, as long as the file is legal in <%= ServerCountryLocation %> and you have the legal
+ right to publish the file on our service.</p>
+ <p>As an exception to this policy to prevent abuse, we do not allow malware on our service. Any malware that
+ could be used to infect other computers may be removed from our service at our discretion.</p>
+ <h2>Do you keep logs of uploaded files?</h2>
+ <% if (LOG_IP) { %>
+ <p>A database of the current active files are kept which includes the name, hash and IP of the file and time of upload,
+ this data is deleted when the file expires.</p>
+ <% } else { %>
+ <p>A database of the current active files are kept which includes the name and hash of the file and time of upload,
+ this data is deleted when the file expires.</p>
+ <% } %>
+ <p>Downloads and visits are not tracked or logged in respect for your privacy.</p>
+ <h2>Can you remove my copyrighted file?</h2>
+ <p>
+ Please submit your copyright takedown notice to
+ <a href="mailto:<%= abuseContact %>"><%= abuseContact %></a>
+ . We will
+ handle your notice within <%= expireTime %> and disable access to the infringing file after receiving a notice
+ compliant with the Copyright Act.
+ </p>
+ <h2>Can you remove files that are defaming me or otherwise infringing my non-copyright rights?</h2>
+ <p>
+ <%= siteName %> respects takedowns for other files when accompanied with a certified <%= ServerCountryLocation %> court order. If
+ you are unable to obtain the order, a preliminary injuction or court order is typically also sufficient.
+ Please forward the notice to
+ <a href="mailto:<%= abuseContact %>"><%= abuseContact %></a>
+ .
+ </p>
+ <h2>Can you remove illegal files?</h2>
+ <p>Please contact the appropriate law enforcement agency if you notice illegal files hosted on <%= siteName %>. We
+ have not been trained or qualified to investigate and fight crimes and enforce the law, so it's not
+ appropriate to send accusations of illegal activity to us.</p>
+ <p>
+ You must contact the appropriate law enforcement office. They may then contact us if appropriate.
+ If you are an law enforcement official and you need our assistance, please contact
+ <a href="mailto:<%= abuseContact %>"><%= abuseContact %></a>
+ . If you are a law enforcement official from another
+ country, we may voluntarily cooperate if the crime you are investigating would also be illegal in
+ <%= ServerCountryLocation %>.
+ </p>
+ <h2>I have a question...</h2>
+
+ Send an email to
+ <a href="mailto:<%= infoContact %>"><%= infoContact %></a>
+ .
+
+ </div>
+ </article>
+<%- include('./templates/partials/footer.ejs'); -%>
\ No newline at end of file
+++ /dev/null
-{% extends "layout.swig" %}
-
-{% block title %}FAQ{% endblock %}
-{% block body %}
-<article>
- <div class="jumbotron">
- <h1><abbr title="Frequently asked questions">FAQ</abbr></h1>
- </div>
- <div class="alert alert-info">
- <h2>What is {{siteName}}?</h2>
- <p><span role="definition"><dfn>{{siteName}}</dfn> is a simple to use free file hosting service.</span> It lets you share your photos, documents, music, videos and more with others online for 24 hours.</p>
- <h2>What files are allowed?</h2>
- <p>{{siteName}} welcomes uploading all files, as long as the file is legal in {{ServerCountryLocation}} and you have the legal right to publish the file on our service.</p>
- <p>As an exception to this policy to prevent abuse, we do not allow malware on our service. Any malware that could be used to infect other computers may be removed from our service at our discretion.</p>
- <h2>Can you remove my copyrighted file?</h2>
- <p>Please submit your copyright takedown notice to <a href="mailto:{{abuseContact}}">{{abuseContact}}</a>. We will handle your notice within 24 hours and disable access to the infringing file after receiving a notice compliant with the Copyright Act 1968.</p>
- <h2>Can you remove files that are defaming me or otherwise infringing my non-copyright rights?</h2>
- <p>{{siteName}} respects takedowns for other files when accompanied with a certified {{ServerCountryLocation}} court order. If you are unable to obtain the order, a preliminary injuction or court order is typically also sufficient. Please forward the notice to <a href="mailto:{{abuseContact}}">{{abuseContact}}</a>.</p>
- <h2>Can you remove illegal files?</h2>
- <p>Please contact the appropriate law enforcement agency if you notice illegal files hosted on {{siteName}}. We have not been trained or qualified to investigate and fight crimes and enforce the law, so it's not appropriate to send accusations of illegal activity to us. <strong>You must contact the appropriate law enforcement office.</strong> They may then contact us if appropriate.</p>
- <p>If you are an {{ServerCountryLocation}}law enforcement official and you need our assistance, please contact <a href="mailto:{{abuseContact}}">{{abuseContact}}</a>. If you are a law enforcement official from another country, we may voluntarily cooperate if the crime you are investigating would also be illegal in {{ServerCountryLocation}}.</p>
- <h2>I have a question...</h2>
- <p>Send us an email at <a href="mailto:{{infoContact}}">{{infoContact}}</a> and let's talk!</p>
-</div>
-</article>
-{% include "nav.swig" %}
-{% endblock %}
\ No newline at end of file
--- /dev/null
+<%- include('./templates/partials/header.ejs'); -%>
+<div class="container">
+ <div class="jumbotron">
+ <%- include('./templates/partials/lead.ejs'); -%>
+ <%- include('./templates/partials/upload_form.ejs'); -%>
+ </div>
+
+ <% if (malwareBanner) { %>
+ <%- include('./templates/partials/malware_banner.ejs'); -%>
+ <% } %>
+
+ <% if (donationBanner) { %>
+ <%- include('./templates/partials/donation_banner.ejs'); -%>
+ <% } %>
+<%- include('./templates/partials/footer.ejs'); -%>
\ No newline at end of file
+++ /dev/null
-{% extends "layout_index.swig" %}
-
-{% block body %}
-<div class="jumbotron">
- <h1>{{siteName}}~</h1>
- <p class="lead">Max upload size is {{max_upload_size}} MiB & files expire after 24H, read the <a href="faq.html"><abbr title="Frequently asked questions">FAQ</abbr></a></p>
- {% include "upload_form.swig" %}
-</div>
-{% include "banners.swig" %}
-{% include "nav.swig" %}
-{% endblock %}
+++ /dev/null
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <meta name="generator" content="Uguu {{pkgVersion}}">
- <meta name="Description" content="{{SiteMetaInfo}}">
- <title>{{siteName}} · {% block title %}Kawaii Temporary File Hosting{% endblock %}</title>
- <link rel="icon" type="image/png" sizes="32x32" href="/img/favicon-32x32.png">
- <link rel="stylesheet" href="uguu.min.css">
- </head>
- <body>
- <div class="container">
- {% block body %}What the fuck are you doing here, <span lang="jp">baka</span>?{% endblock %}
- </div>
- </body>
-</html>
+++ /dev/null
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <meta name="generator" content="Uguu {{pkgVersion}}">
- <meta name="description" content="{{SiteMetaInfo}}">
- <title>{{siteName}} · {% block title %}Kawaii Temporary File Hosting{% endblock %}</title>
- <link rel="icon" type="image/png" sizes="32x32" href="/img/favicon-32x32.png">
- <link rel="stylesheet" href="uguu.min.css">
- <script src="uguu.min.js"></script>
- </head>
- <body>
- <div class="container">
- {% block body %}What the fuck are you doing here, <span lang="jp">baka</span>?{% endblock %}
- </div>
- </body>
-</html>
+++ /dev/null
-<nav>
- <ul>
- <li><a href="/">{{siteName}}</a></li>
- <li><a href="tools.html">Tools</a></li>
- <li><a href="https://github.com/nokonoko/uguu">GitHub</a></li>
- </ul>
-</nav>
--- /dev/null
+<p class="alert alert-info">
+ <strong><%= siteName %> is free to use, but our hosting costs are not</strong>
+
+ — donations are what keep <%= siteName %> alive, free from ads and fast.
+
+ <span class="donate-btns">
+
+ <% if (bitcoinAddress) { %>
+ <a class="donate-btn donate-bitcoin" href="bitcoin:<%= bitcoinAddress %>?label=<%= siteName %>&message=Hosting%20Costs" target="_BLANK">
+ <span class="icon icon-bitcoin"></span>
+ Bitcoin
+ </a>
+ <% } %>
+
+ <% if (paypalUrl) { %>
+ <a class="donate-btn donate-paypal" href="<%= paypalUrl %>" target="_BLANK">
+ <span class="icon icon-paypal"></span>
+ PayPal
+ </a>
+ <% } %>
+
+ <% if (flattrUrl) { %>
+ <a class="donate-btn donate-flattr" href="<%= flattrUrl %>" target="_BLANK">
+ <span class="icon icon-flattr"></span>
+ Flattr
+ </a>
+ <% } %>
+
+ <% if (kofiUrl) { %>
+ <a class="donate-btn donate-kofi" href="<%= kofiUrl %>" target="_BLANK">
+ <span class="icon icon-kofi"></span>
+ Ko-Fi
+ </a>
+ <% } %>
+ </span>
+</p>
\ No newline at end of file
--- /dev/null
+<%- include('./templates/partials/nav.ejs'); -%>
+</div>
+</body>
\ No newline at end of file
--- /dev/null
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta name="generator" content="Uguu <%= pkgVersion %>">
+<meta name="description" content="<%= SiteMetaInfo %>">
+<title><%= siteName %> · <%= subTitle %></title>
+<link rel="icon" type="image/png" sizes="32x32" href="/img/favicon-32x32.png">
+<link rel="stylesheet" href="uguu.min.css">
+<script src="uguu.min.js"></script>
+<body>
\ No newline at end of file
--- /dev/null
+<h1><%= siteName %>~</h1>
+<p class="lead">
+ Max upload size is <%= max_upload_size %> MiB & files expire after <%= expireTime %>, read the
+ <a href="faq.html">
+ <abbr title="Frequently asked questions">FAQ</abbr>
+ </a>
+</p>
\ No newline at end of file
--- /dev/null
+<p class="alert alert-error">
+ <strong>Malware is not allowed</strong>
+ — files identified as malware will be removed without further notice.
+</p>
\ No newline at end of file
--- /dev/null
+<nav>
+ <ul>
+ <li>
+ <a href="/"><%= siteName %></a>
+ </li>
+ <li>
+ <a href="tools.html">Tools</a>
+ </li>
+ <li>
+ <a href="https://github.com/nokonoko/Uguu">Github</a>
+ </li>
+ </ul>
+</nav>
\ No newline at end of file
--- /dev/null
+<form id="upload-form" enctype="multipart/form-data" method="post" action="upload.php?output=html">
+ <button id="upload-btn" class="btn" type="button">Drop or paste file(s)</button>
+ <input type="file" id="upload-input" name="files[]" multiple data-max-size="<%= max_upload_size %>MiB">
+ <input type="submit" value="Submit">
+</form>
+<ul id="upload-filelist"></ul>
\ No newline at end of file
--- /dev/null
+<%- include('./templates/partials/header.ejs'); -%>
+<div class="container">
+ <div class="jumbotron">
+ <h1><%= siteName %> Tools</h1>
+ </div>
+ <div class="alert alert-info">
+ <section>
+ <h3>
+ To upload using curl or make a tool you can post using:
+ <br>
+ curl -i -F files[]=@yourfile.jpeg <%= siteUrl %>/upload.php (JSON Response)
+ </h3>
+ <p>To upload using curl or make a tool you can post using: curl -i -F 'files[]=@yourfile.jpeg' <%= siteUrl %>/upload.php (JSON Response)</p>
+ <section>
+ <h2>ShareX</h2>
+ <dl>
+ <dt>Download</dt>
+ <dd>
+ <a href="https://github.com/ShareX/ShareX">https://github.com/ShareX/ShareX</a>
+ </dd>
+ </dl>
+ </section>
+ <h2>uguuecho</h2>
+ <dl>
+ <dt>Download</dt>
+ <dd>
+ <a href="https://git.teknik.io/nekunekus/uguucho">https://git.teknik.io/nekunekus/uguucho</a>
+ </dd>
+ </dl>
+ </section>
+ <h2>pomfload</h2>
+ <dl>
+ <dt>Download</dt>
+ <dd>
+ <a href="https://github.com/ewhal/pomfload">https://github.com/ewhal/pomfload</a>
+ </dd>
+ </dl>
+ <section>
+ <h2>Pomfshare</h2>
+ <dl>
+ <dt>Download</dt>
+ <dd>
+ <a href="https://github.com/Nyubis/Pomfshare">https://github.com/Nyubis/Pomfshare</a>
+ </dd>
+ </dl>
+ </section>
+ <section>
+ <h2>Pomf Rehost</h2>
+ <dl>
+ <dt>Download</dt>
+ <dd>
+ <a href="https://git.fuwafuwa.moe/lesderid/pomf-rehost">
+ https://git.fuwafuwa.moe/lesderid/pomf-rehost
+ </a>
+ </dd>
+ </dl>
+ </section>
+ </div>
+<%- include('./templates/partials/footer.ejs'); -%>
\ No newline at end of file
+++ /dev/null
-{% extends "layout.swig" %}
-
-{% block title %}Tools{% endblock %}
-{% block body %}
-
-<div class="jumbotron"><h1>Uguu Tools</h1></div>
-<div class="alert alert-info">
- <section>
- <h3>
- To upload using curl or make a tool you can post using:
- <br/>
- curl -i -F files[]=@yourfile.jpeg {{siteUrl}}/upload.php (JSON Response)
- </h3>
-
-<p>{{ToolsDesc}}</p>
-
- <section>
- <h2>ShareX</h2>
- <dl>
- <dt>Download</dt>
- <dd><a href="https://getsharex.com">https://getsharex.com</a></dd>
- <dt>Source</dt>
- <dd><a href="https://github.com/ShareX/ShareX">https://github.com/ShareX/ShareX</a></dd>
- </dl>
- </section>
-
- <h2>uguuecho</h2>
- <dl>
- <dt>Download</dt>
- <dd><a href="https://git.teknik.io/nekunekus/uguucho">https://git.teknik.io/nekunekus/uguucho</a></dd>
- </dl>
-</section>
-
- <h2>pomfload</h2>
- <dl>
- <dt>Download</dt>
- <dd><a href="https://github.com/ewhal/pomfload">https://github.com/ewhal/pomfload</a></dd>
- </dl>
-</section>
-
- <section>
- <h2>Pomfshare</h2>
-
- <dl>
- <dt>Download</dt>
- <dd><a
- href="https://github.com/Nyubis/Pomfshare">https://github.com/Nyubis/Pomfshare</a></dd>
- </dl>
- </section>
-
- <section>
- <h2>Pomf Rehost</h2>
- <dl>
- <dt>Download</dt>
- <dd>
- <a href="https://git.fuwafuwa.moe/lesderid/pomf-rehost">
- https://git.fuwafuwa.moe/lesderid/pomf-rehost
- </a>
- </dd>
- </dl>
-</div>
- </section>
-{% include "nav.swig" %}
-{% endblock %}
+++ /dev/null
-<form id="upload-form" enctype="multipart/form-data" method="post" action="upload.php?output=html">
- <button id="upload-btn" class="btn" type="button">Drop or paste file(s)</button>
- <input type="file" id="upload-input" name="files[]" multiple data-max-size="{{max_upload_size}}MiB">
- <input type="submit" value="Submit">
-</form>
-<ul id="upload-filelist"></ul>