summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2019-01-12 11:27:23 +0900
committersyuilo <syuilotan@yahoo.co.jp>2019-01-12 11:27:23 +0900
commit7ad9560f53e183cc2404747782b5c427abc38fe8 (patch)
treeb002bc407f09b6537fe5c35ab40405c9f7011b3d /src
parentUpdate CHANGELOG.md (diff)
downloadmisskey-7ad9560f53e183cc2404747782b5c427abc38fe8.tar.gz
misskey-7ad9560f53e183cc2404747782b5c427abc38fe8.tar.bz2
misskey-7ad9560f53e183cc2404747782b5c427abc38fe8.zip
Implement instance info page
Diffstat (limited to 'src')
-rw-r--r--src/client/assets/misskey-php-like-logo.pngbin0 -> 49943 bytes
-rw-r--r--src/server/web/index.ts24
-rw-r--r--src/server/web/views/info.pug113
3 files changed, 137 insertions, 0 deletions
diff --git a/src/client/assets/misskey-php-like-logo.png b/src/client/assets/misskey-php-like-logo.png
new file mode 100644
index 0000000000..7777e52b1d
--- /dev/null
+++ b/src/client/assets/misskey-php-like-logo.png
Binary files differ
diff --git a/src/server/web/index.ts b/src/server/web/index.ts
index 59b8390ab5..7fd9e76cfc 100644
--- a/src/server/web/index.ts
+++ b/src/server/web/index.ts
@@ -2,6 +2,7 @@
* Web Client Server
*/
+import * as os from 'os';
import ms = require('ms');
import * as Koa from 'koa';
import * as Router from 'koa-router';
@@ -18,6 +19,8 @@ import config from '../../config';
import Note, { pack as packNote } from '../../models/note';
import getNoteSummary from '../../misc/get-note-summary';
import fetchMeta from '../../misc/fetch-meta';
+import Emoji from '../../models/emoji';
+const pkg = require('../../../package.json');
const client = `${__dirname}/../../client/`;
@@ -195,6 +198,27 @@ router.get('/notes/:note', async ctx => {
});
//#endregion
+router.get('/info', async ctx => {
+ const meta = await fetchMeta();
+ const emojis = await Emoji.find({ host: null }, {
+ fields: {
+ _id: false
+ }
+ });
+ await ctx.render('info', {
+ version: pkg.version,
+ machine: os.hostname(),
+ os: os.platform(),
+ node: process.version,
+ cpu: {
+ model: os.cpus()[0].model,
+ cores: os.cpus().length
+ },
+ emojis: emojis,
+ meta: meta
+ });
+});
+
// Render base html for all requests
router.get('*', async ctx => {
const meta = await fetchMeta();
diff --git a/src/server/web/views/info.pug b/src/server/web/views/info.pug
new file mode 100644
index 0000000000..3e72d86410
--- /dev/null
+++ b/src/server/web/views/info.pug
@@ -0,0 +1,113 @@
+doctype html
+
+html
+
+ head
+ meta(charset='utf-8')
+ meta(name='application-name' content='Misskey')
+ title Misskey
+ style.
+ html {
+ font-family: sans-serif;
+ }
+
+ main {
+ max-width: 934px;
+ margin: 0 auto;
+ }
+
+ header {
+ padding: 5px;
+ background: rgb(153, 153, 204);
+ border: 1px solid #000;
+ }
+ header:after {
+ content: '';
+ display: block;
+ clear: both;
+ }
+
+ header > h1 {
+ float: left;
+ font-size: 2em;
+ }
+
+ header > img {
+ float: right;
+ width: 220px;
+ }
+
+ table {
+ margin: 1em 0;
+ width: 100%;
+ border-collapse: collapse;
+ }
+ table tr th {
+ background-color: #ccf;
+ border: 1px solid #000;
+ width: 300px;
+ font-weight: bold;
+ padding: 4px 5px;
+ text-align: left;
+ }
+ table tr td {
+ background-color: #ddd;
+ border: 1px solid #000;
+ padding: 4px 5px;
+ }
+
+ body
+ main
+ header
+ h1 Misskey Version #{version}
+ img(src='/assets/misskey-php-like-logo.png' alt='')
+ table
+ tr
+ th Instance
+ td= meta.name
+ tr
+ th Maintainer
+ td
+ = meta.maintainer.name
+ | &lt;#{meta.maintainer.email}&gt;
+ tr
+ th System
+ td= os
+ tr
+ th Node version
+ td= node
+ tr
+ th Machine
+ td= machine
+ tr
+ th CPU
+ td= cpu.model
+ tr
+ th Registration
+ td= !meta.disableRegistration ? 'yes' : 'no'
+ tr
+ th reCAPTCHA enabled
+ td= meta.enableRecaptcha ? 'yes' : 'no'
+ tr
+ th Cache remote files
+ td= meta.cacheRemoteFiles ? 'yes' : 'no'
+ tr
+ th Drive capacity per local user
+ td
+ = meta.localDriveCapacityMb
+ | MB
+ tr
+ th Drive capacity per remote user
+ td
+ = meta.remoteDriveCapacityMb
+ | MB
+ tr
+ th Max text length
+ td= meta.maxNoteTextLength
+ tr
+ th Emojis
+ td
+ each emoji in emojis
+ | :#{emoji.name}:
+ = ' '
+