mirror of
https://github.com/diced/zipline.git
synced 2025-04-11 23:31:17 -05:00
add https implementation
This commit is contained in:
parent
ef97cae957
commit
aea325aac8
7 changed files with 169 additions and 35 deletions
50
package-lock.json
generated
50
package-lock.json
generated
|
@ -188,6 +188,11 @@
|
|||
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
|
||||
"integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g=="
|
||||
},
|
||||
"bignumber.js": {
|
||||
"version": "9.0.0",
|
||||
"resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz",
|
||||
"integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A=="
|
||||
},
|
||||
"body-parser": {
|
||||
"version": "1.19.0",
|
||||
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
|
||||
|
@ -836,6 +841,46 @@
|
|||
"xtend": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"mysql": {
|
||||
"version": "2.18.1",
|
||||
"resolved": "https://registry.npmjs.org/mysql/-/mysql-2.18.1.tgz",
|
||||
"integrity": "sha512-Bca+gk2YWmqp2Uf6k5NFEurwY/0td0cpebAucFpY/3jhrwrVGuxU2uQFCHjU19SJfje0yQvi+rVWdq78hR5lig==",
|
||||
"requires": {
|
||||
"bignumber.js": "9.0.0",
|
||||
"readable-stream": "2.3.7",
|
||||
"safe-buffer": "5.1.2",
|
||||
"sqlstring": "2.3.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"isarray": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
|
||||
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "2.3.7",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
|
||||
"integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
|
||||
"requires": {
|
||||
"core-util-is": "~1.0.0",
|
||||
"inherits": "~2.0.3",
|
||||
"isarray": "~1.0.0",
|
||||
"process-nextick-args": "~2.0.0",
|
||||
"safe-buffer": "~5.1.1",
|
||||
"string_decoder": "~1.1.1",
|
||||
"util-deprecate": "~1.0.1"
|
||||
}
|
||||
},
|
||||
"string_decoder": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
|
||||
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
|
||||
"requires": {
|
||||
"safe-buffer": "~5.1.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"mz": {
|
||||
"version": "2.7.0",
|
||||
"resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
|
||||
|
@ -1185,6 +1230,11 @@
|
|||
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
|
||||
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
|
||||
},
|
||||
"sqlstring": {
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz",
|
||||
"integrity": "sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A="
|
||||
},
|
||||
"statuses": {
|
||||
"version": "1.5.0",
|
||||
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
"http-status-codes": "^1.4.0",
|
||||
"mime": "^2.4.4",
|
||||
"multer": "^1.4.2",
|
||||
"mysql": "^2.18.1",
|
||||
"pg": "^8.0.3",
|
||||
"typeorm": "^0.2.24"
|
||||
}
|
||||
|
|
BIN
public/assets/pd_logo.png
Normal file
BIN
public/assets/pd_logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 315 B |
26
src/index.ts
26
src/index.ts
|
@ -1,8 +1,13 @@
|
|||
import './core/Console';
|
||||
import { Repository, Connection, createConnection, ConnectionOptions } from "typeorm";
|
||||
import "./core/Console";
|
||||
import {
|
||||
Repository,
|
||||
Connection,
|
||||
createConnection,
|
||||
ConnectionOptions,
|
||||
} from "typeorm";
|
||||
import { User } from "./entities/User";
|
||||
import { TypeXServer } from "./server";
|
||||
import config from '../config.json';
|
||||
import config from "../config.json";
|
||||
import Logger from "@ayanaware/logger";
|
||||
import { Image } from "./entities/Image";
|
||||
|
||||
|
@ -17,15 +22,18 @@ export interface ORMHandler {
|
|||
}
|
||||
|
||||
(async () => {
|
||||
const connection = await createConnection(config.orm as ConnectionOptions)
|
||||
const connection = await createConnection(config.orm as ConnectionOptions);
|
||||
const orm: ORMHandler = {
|
||||
connection,
|
||||
repos: {
|
||||
user: connection.getRepository(User),
|
||||
image: connection.getRepository(Image)
|
||||
}
|
||||
image: connection.getRepository(Image),
|
||||
},
|
||||
};
|
||||
if (orm.connection.isConnected) Logger.get(Connection).info(`Successfully initialized database type: ${config.orm.type}`)
|
||||
if (orm.connection.isConnected)
|
||||
Logger.get(Connection).info(
|
||||
`Successfully initialized database type: ${config.orm.type}`
|
||||
);
|
||||
const server = new TypeXServer(orm);
|
||||
server.start(config.port)
|
||||
})();
|
||||
server.start();
|
||||
})();
|
||||
|
|
|
@ -1,28 +1,32 @@
|
|||
import * as bodyParser from 'body-parser';
|
||||
import { Server } from '@overnightjs/core';
|
||||
import { Connection } from 'typeorm';
|
||||
import { ORMHandler } from '.';
|
||||
import Logger from '@ayanaware/logger';
|
||||
import config from '../config.json';
|
||||
import * as express from 'express';
|
||||
import session from 'express-session';
|
||||
import cookies from 'cookie-parser';
|
||||
import { APIController } from './controllers/APIController';
|
||||
import { IndexController } from './controllers/IndexController';
|
||||
import * as bodyParser from "body-parser";
|
||||
import { Server } from "@overnightjs/core";
|
||||
import { Connection } from "typeorm";
|
||||
import { ORMHandler } from ".";
|
||||
import Logger from "@ayanaware/logger";
|
||||
import config from "../config.json";
|
||||
import * as express from "express";
|
||||
import * as http from "http";
|
||||
import * as https from "https";
|
||||
import * as fs from "fs";
|
||||
import session from "express-session";
|
||||
import cookies from "cookie-parser";
|
||||
import { APIController } from "./controllers/APIController";
|
||||
import { IndexController } from "./controllers/IndexController";
|
||||
|
||||
export class TypeXServer extends Server {
|
||||
|
||||
constructor(orm: ORMHandler) {
|
||||
super();
|
||||
this.app.use(session({
|
||||
secret: config.sessionSecret,
|
||||
resave: false,
|
||||
saveUninitialized: false
|
||||
}))
|
||||
this.app.use(cookies())
|
||||
this.app.set('view engine', 'ejs');
|
||||
this.app.use('/u', express.static('uploads'))
|
||||
this.app.use('/public', express.static('public'))
|
||||
this.app.use(
|
||||
session({
|
||||
secret: config.sessionSecret,
|
||||
resave: false,
|
||||
saveUninitialized: false,
|
||||
})
|
||||
);
|
||||
this.app.use(cookies());
|
||||
this.app.set("view engine", "ejs");
|
||||
this.app.use("/u", express.static("uploads"));
|
||||
this.app.use("/public", express.static("public"));
|
||||
this.app.use(bodyParser.json());
|
||||
this.app.use(bodyParser.urlencoded({ extended: true }));
|
||||
this.setupControllers(orm);
|
||||
|
@ -34,9 +38,28 @@ export class TypeXServer extends Server {
|
|||
super.addControllers([index, api]);
|
||||
}
|
||||
|
||||
public start(port: number): void {
|
||||
this.app.listen(port, () => {
|
||||
Logger.get(TypeXServer).info('Started server on port ' + port);
|
||||
})
|
||||
public start(): void {
|
||||
// this.app.listen(port, () => {
|
||||
// Logger.get(TypeXServer).info('Started server on port ' + port);
|
||||
// })
|
||||
if (config.site.protocol === "https") {
|
||||
const key = fs.readFileSync(config.site.ssl.key, "utf-8");
|
||||
const cert = fs.readFileSync(config.site.ssl.cert, "utf-8");
|
||||
const creds = { key, cert };
|
||||
|
||||
const httpsServer = https.createServer(creds, this.app);
|
||||
httpsServer.listen(config.site.https_port, () => {
|
||||
Logger.get(TypeXServer).info(
|
||||
"Started https server on port " + config.site.https_port
|
||||
);
|
||||
});
|
||||
} else {
|
||||
const httpServer = http.createServer(this.app);
|
||||
httpServer.listen(config.site.http_port, () => {
|
||||
Logger.get(TypeXServer).info(
|
||||
"Started http server on port " + config.site.http_port
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
24
ssl/localhost.crt
Normal file
24
ssl/localhost.crt
Normal file
|
@ -0,0 +1,24 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIEATCCAumgAwIBAgIUU9TP/tqSm1zwDB4u6I13P8HixvIwDQYJKoZIhvcNAQEL
|
||||
BQAwgY8xCzAJBgNVBAYTAlVTMREwDwYDVQQIDAhNaWNoaWdhbjEQMA4GA1UEBwwH
|
||||
SmFja3NvbjEeMBwGA1UECgwVUHV5b2RlYWQxIERldmVsb3BtZW50MRIwEAYDVQQD
|
||||
DAlsb2NhbGhvc3QxJzAlBgkqhkiG9w0BCQEWGHB1eW9kZWFkMUBwcm90b25tYWls
|
||||
LmNvbTAeFw0yMDA0MjUwNDI4MTRaFw0yMDA1MjUwNDI4MTRaMIGPMQswCQYDVQQG
|
||||
EwJVUzERMA8GA1UECAwITWljaGlnYW4xEDAOBgNVBAcMB0phY2tzb24xHjAcBgNV
|
||||
BAoMFVB1eW9kZWFkMSBEZXZlbG9wbWVudDESMBAGA1UEAwwJbG9jYWxob3N0MScw
|
||||
JQYJKoZIhvcNAQkBFhhwdXlvZGVhZDFAcHJvdG9ubWFpbC5jb20wggEiMA0GCSqG
|
||||
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDtAjwTHnb/8M0XqIznrDctnwz1ajB2Mcg5
|
||||
Du9WtFc9bCKtRJH7lt3oGZ9hyjrdYavXkzLb4+O041egKd/QR4+A9FrQQBcLJ8kK
|
||||
LV/UnKPYSfP7qFznvV0c8moku4ECB0yrohpAuZLRzvokoYDc2u7Ma2nNWdJW8j/e
|
||||
aPFJ6zOA8ZMzQuuGoFF5hwHRCkcdFmBVntXhKWLYwFz2InO3nkicUCWT4Z6lcgvd
|
||||
E5c+FWYQfIrr2EiqnCNfZetZVDu2TzcXVAsAXpy5FP6c+o4qERIpXVzxwMiul2St
|
||||
NkT+gH475ILaXiO+6yYDXUhpdTVLIbMmjk4tPAVpJGDVh5dEYP61AgMBAAGjUzBR
|
||||
MB0GA1UdDgQWBBS4ORq9mUKf3IrL6Z/0xWrAK5dZzzAfBgNVHSMEGDAWgBS4ORq9
|
||||
mUKf3IrL6Z/0xWrAK5dZzzAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUA
|
||||
A4IBAQDd7vveIE8fRElhCABHIT1NsKETsvN5KFb++lJ1qZU8QAx+dHpOs5sJgIPz
|
||||
f29YFYSYbQnxLiNPgjz4HMlUTnSYCmO8FDsgYkq5zDIqfuZYbZKSH6V8asampTzy
|
||||
wX3+zSgVXrRAL2L68KnnkEfvepXyFzvnIFKuCnBN/sGH9EghPEyjhyZyK3fifK9r
|
||||
7rgJnYWwwGj/1yOgJot2Zo2Zslm5Ea9vk+aQcGdEgqRL2ifEhYp02mtNx9oYUSLz
|
||||
eMD6cZS+i06WAubbDYL5wbafZOyW28ORa/7gePo5TrNBxXuZkOU87gNS4k1f8SyB
|
||||
Q1503nM5LNqPFyLg5CxqTdsLVjvm
|
||||
-----END CERTIFICATE-----
|
28
ssl/localhost.key
Normal file
28
ssl/localhost.key
Normal file
|
@ -0,0 +1,28 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDtAjwTHnb/8M0X
|
||||
qIznrDctnwz1ajB2Mcg5Du9WtFc9bCKtRJH7lt3oGZ9hyjrdYavXkzLb4+O041eg
|
||||
Kd/QR4+A9FrQQBcLJ8kKLV/UnKPYSfP7qFznvV0c8moku4ECB0yrohpAuZLRzvok
|
||||
oYDc2u7Ma2nNWdJW8j/eaPFJ6zOA8ZMzQuuGoFF5hwHRCkcdFmBVntXhKWLYwFz2
|
||||
InO3nkicUCWT4Z6lcgvdE5c+FWYQfIrr2EiqnCNfZetZVDu2TzcXVAsAXpy5FP6c
|
||||
+o4qERIpXVzxwMiul2StNkT+gH475ILaXiO+6yYDXUhpdTVLIbMmjk4tPAVpJGDV
|
||||
h5dEYP61AgMBAAECggEAUt68KKc3Tqhg3cvWcM77gB0jx8+4YCtp6eF5+CQYeOaN
|
||||
fW4DaSfIMXZ8DxJJ4Mxc7ISQfOhC3yW6psrdchMDb0CBXF18cS8ZEVDqOAoJFABP
|
||||
qgelbHX+z7dHO86//fiVa1HDwivg1TF8r0A1MYPviVRpax7j9/i+MkMZUxJFMOka
|
||||
oIJtB6pDzq7OJpTAxq7mT6npQYq9ez6U0URj62zfC69mExe2lskLgPFgUIBc/xmV
|
||||
bVmuTx+hbaB4mMz5suEP0RbghkEGMVpezR1LLTN6BG3sB09DrmtViaUmh3Yty0eP
|
||||
HXzkqLy++LxbBWjG8j4l/+adE4N613cj3prrnXQkhQKBgQD3HYNcx5qaQcXfSSj8
|
||||
X6x2/ORfZmHhNx3lPMke/booV6EQgxr01F/lcCgwyafodL3EYFP/QDlrAKx8DqYy
|
||||
ZtN9WKO0Dhe2MvI470wjlVhAuIqBTSD7evN7LCITZMA2mj4LgAi2d3haADtsX9n9
|
||||
UfDslSHchkwg7A/G3LFGi/mn2wKBgQD1h7MBd7LiHic2d84VcidIjo/6R0zRedFj
|
||||
Ycs5fdWTQKsV4wIC1qwJjtDdT+ZXPVC6bKXoAvKENNTetyaeTFXmyZ5BxkbOXdJs
|
||||
ZllLtTxLsaSGE4XLPTEiZA7oVzzonzu0cHb8LkNJboiWElhI7o3SfNxczeL8N8st
|
||||
Wirk2mnArwKBgQCfZjgwBskhK8AZcbWwZX54GlStfPsyLT1pezY4eW41S6EnZ4ph
|
||||
1wQsmZYzMkDO307xdzl3ctQWw45/T2vBIzbUqfKe2GBPNLmuJB227kTJKsCc+0WF
|
||||
MiAQmb05SUn7bq8K+AGmwZWuaGvsUj/o+Yww71mySCafLeZXXlAzs2LM9QKBgBfL
|
||||
Kba3sdcl0uj9XTRI1rO6VQuNA029f2QhIv+USTE28B1z3UsHIK7gby8zQgAsSfl2
|
||||
8/Dy8CuNrx9SImTuwthVq4d2PoBbKTwmAvtKOeif83Cmza1vZaaOib9MTPPCEpge
|
||||
2fkARrcEBip85p9Stt2yCezYaunEQmVHuqZo4ByzAoGBALSdbPn7NHMSojY++dMl
|
||||
tUzMpQF9gVUn2+WTiSNArWjtn4TOACbCapCRRYIzdrpYQ9/F/lAOfq3e7yTvTmjc
|
||||
hn0ZqOwlnaYtiwD4fFJOc6cETBChioEkg99Z/MRr0OJ2HRdyQpt6WSgUBvuSM4xJ
|
||||
yGAGTXcovastQq64S+/ZPdyH
|
||||
-----END PRIVATE KEY-----
|
Loading…
Add table
Reference in a new issue