1
Fork 0
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:
Puyodead1 2020-04-25 00:45:22 -04:00
parent ef97cae957
commit aea325aac8
7 changed files with 169 additions and 35 deletions

50
package-lock.json generated
View file

@ -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",

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 B

View file

@ -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();
})();

View file

@ -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
View 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
View 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-----