add https and pem files (for anyone to use, fast setup)

This commit is contained in:
Ben Wilson
2023-08-03 17:16:16 -04:00
parent a7ea61f28f
commit a7b73b0610
6 changed files with 64 additions and 7 deletions
+3 -1
View File
@@ -37,4 +37,6 @@ settings.json
!.vscode/extensions.json !.vscode/extensions.json
#DB #DB
**.sqlite** **.sqlite**
#https
+21
View File
@@ -0,0 +1,21 @@
-----BEGIN CERTIFICATE-----
MIIDeTCCAmGgAwIBAgIUPCHncOJW58M6BojWarwWkmFMPuQwDQYJKoZIhvcNAQEL
BQAwTDELMAkGA1UEBhMCVVMxEzARBgNVBAgMClNvbWUtU3RhdGUxFDASBgNVBAoM
C1B1YmxpYy1Qb29sMRIwEAYDVQQDDAkxMjcuMC4wLjEwHhcNMjMwODAzMjEwOTE3
WhcNMzMwNzMxMjEwOTE3WjBMMQswCQYDVQQGEwJVUzETMBEGA1UECAwKU29tZS1T
dGF0ZTEUMBIGA1UECgwLUHVibGljLVBvb2wxEjAQBgNVBAMMCTEyNy4wLjAuMTCC
ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOfpGckZ/K00G2w+iq0Fz+VS
UKugBB3+W77Zg9VXmiHiKE7MFjoUcOB1aoIZZxgubkA4bJh94YmVJd1arSJGnZVQ
ms3rUh4wVOTD3I+AtCjKkTaf9zyfKMot/EYFVLYdbiZbm9haPX2O4mErCl898PjT
1I3uY2HJ4YxOm5Vn56yKE55VxiPnm9dM70ueQyLdkAjKdoewT5Lw6vSr6ISEzd8p
Ci4eXgiFvT+Vr0AGhO3SABkpRCvgBBLDtULmqFQlCvNJtT/LTbXIRoIjvGxU5Igs
ffj6k1s9HFKQDCLVyXN7t3pM26IezsQABSImeFHavwSofVNfWLxfdCEqblaYvRUC
AwEAAaNTMFEwHQYDVR0OBBYEFA50GlVHSa+97vB5GAR3y0bu0DYuMB8GA1UdIwQY
MBaAFA50GlVHSa+97vB5GAR3y0bu0DYuMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI
hvcNAQELBQADggEBAFr0yXEmx11TawvHu21x3g3EOPFEGkzF5jxDmAVl+SjpPz6O
9uRgQQ7ISQdpGWbf6BNE1xW/JrxmJXHeSWg+cj2bP390wK41tmnoNvcU81jaNo4v
XAvJOa9Vc9wnxgcHZvgiySMHOL8vnqDuJKub3em3UWYFF20Z0p7PUenYSikTiXBn
5kxv3Cj8Y/R9QkDYIlD1MidKWGsXs5dSGhMpT/bMsj0LYLqZbYNSu+exX+VdLKV0
w5wS1NvCO5Dl8cB6mUGJjKT1l+Rs2rsTXMt/WjInIIq0UCnYKunyt7i7yq0eV5A3
Wkp3h+yrcW5WSe4OsVYYMIrpYP7iINf3Ja3Pulk=
-----END CERTIFICATE-----
+28
View File
@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDn6RnJGfytNBts
PoqtBc/lUlCroAQd/lu+2YPVV5oh4ihOzBY6FHDgdWqCGWcYLm5AOGyYfeGJlSXd
Wq0iRp2VUJrN61IeMFTkw9yPgLQoypE2n/c8nyjKLfxGBVS2HW4mW5vYWj19juJh
KwpfPfD409SN7mNhyeGMTpuVZ+esihOeVcYj55vXTO9LnkMi3ZAIynaHsE+S8Or0
q+iEhM3fKQouHl4Ihb0/la9ABoTt0gAZKUQr4AQSw7VC5qhUJQrzSbU/y021yEaC
I7xsVOSILH34+pNbPRxSkAwi1clze7d6TNuiHs7EAAUiJnhR2r8EqH1TX1i8X3Qh
Km5WmL0VAgMBAAECggEBAIDR5tTiboz3iNQT2YxK0jScCNuMwzy18diNksGLK77u
lV1P2HjiqeDE2Cj0W2P/Rpa9wPTj18hI5QOUPt/vQdGTOKpxsOe8CSwZ8AZ2g5y1
CPzC1t8BufK0oJF0nJ2cs3bzJBqF5eo82FsJQXWuPpC5ejRs2x+SuIrrj1jqorIf
4eqfoNj30a4ACATk5O1qsNWAUZlZwujtrrAqmbEXNjKI2+pZ4ORdjSWH7KWzliF3
ZGTYUlVLRPWg0oDszEq2ULzV4khGIJkYiMDYidV3rWT2W4ZRjK+Bbxx9/ixfiHZv
Hf0TjYXk8otiz91wQaHJmRE3/+Ya38qrQPHbijL1IfECgYEA/QtweHnPfUB9Rasq
8MrcP2ODUZV8UjCCpj1rVUALMLg+gjjdJbpSFP3mYS6mM8QEPc4tN/c8iQ4OFQGm
8YoN1HT0mdqg4qHd9rzoEccgeNzdaAM7Vyul3BkS+lLXQo1rF7O9/vNeO8c0sp7W
3QL/fdSxyf7sTDx0NzM+c4OLP1sCgYEA6p55UhrF/jM5KNGOkM0xOwqW87WBdGDh
JieshTu/sArSdrh75uKQW+vpoPOy4E2hDJuDILpvmGDnMB8MmHEhD9KIFSKqmFB3
9ILP27dH6/z38HzXi504zd4XI+koUgfoJNLIgfw6ymYZTPERj6X6CRtdrA7Pqd6N
AmK1haaHkE8CgYAzCy+w3cGBHpUmjJSo5gLvtn8y4dimK6rvJcyU8cpQFZpmYloZ
1i/glCb4y5QzNQM2BHUSqQjJDNDCZAbtClAn3z/IGVYC4WwI7apSi7x9JPB0ntJF
j0Rx1Y0Cedt6TVSg/10AJM+Jd3Gl5mypQIWROGp0uLup1TgMOoYKfyqDqQKBgBGY
bvrUXTLyPoAsLyf265FE+wst+pZyyY/l+89GKtsWBLC4pzoqla7/I1dZz3l4+PIM
G6pxsPrZkZ0PRw+LtHIOVPxYzDh+GHDy+om81h0BrMqRYkzrLp5p4Ixl6Qs14pgY
Ysc01mflflJB5hJC3Vyfe8fymGph8WtTYc+zLImLAoGActUJMc6Ji9gRXHRuP9GB
q6GswZXFN2cM9x5xTUVHk4cUkEqXUG6TnxGNmb4fzS1L6HqmlX3vY2yXH/lbggZm
607l14LhmbldLyFYR6ZjESgg73OCuhVcafk8yDpBsXotWEiW890ntGtn6K9XU9/p
nqMNbVxQH9dwYIFn38LnQTI=
-----END PRIVATE KEY-----
+8 -2
View File
@@ -3,6 +3,7 @@ import { NestFactory } from '@nestjs/core';
import { FastifyAdapter, NestFastifyApplication } from '@nestjs/platform-fastify'; import { FastifyAdapter, NestFastifyApplication } from '@nestjs/platform-fastify';
import * as bitcoinjs from 'bitcoinjs-lib'; import * as bitcoinjs from 'bitcoinjs-lib';
import { useContainer } from 'class-validator'; import { useContainer } from 'class-validator';
import { readFileSync } from 'fs';
import * as ecc from 'tiny-secp256k1'; import * as ecc from 'tiny-secp256k1';
import { AppModule } from './app.module'; import { AppModule } from './app.module';
@@ -14,8 +15,12 @@ async function bootstrap() {
return; return;
} }
const httpsOptions = {
key: readFileSync('./secrets/key.pem'),
cert: readFileSync('./secrets/cert.pem'),
};
const app = await NestFactory.create<NestFastifyApplication>(AppModule, new FastifyAdapter()); const app = await NestFactory.create<NestFastifyApplication>(AppModule, new FastifyAdapter({ https: httpsOptions }));
app.setGlobalPrefix('api') app.setGlobalPrefix('api')
app.useGlobalPipes( app.useGlobalPipes(
new ValidationPipe({ new ValidationPipe({
@@ -28,11 +33,12 @@ async function bootstrap() {
app.enableCors(); app.enableCors();
useContainer(app.select(AppModule), { fallbackOnErrors: true }); useContainer(app.select(AppModule), { fallbackOnErrors: true });
//Taproot //Taproot
bitcoinjs.initEccLib(ecc); bitcoinjs.initEccLib(ecc);
await app.listen(process.env.PORT, '0.0.0.0', () => { await app.listen(process.env.PORT, '0.0.0.0', () => {
console.log(`http listening on port ${process.env.PORT}`); console.log(`https listening on port ${process.env.PORT}`);
}); });
} }
+2 -2
View File
@@ -436,8 +436,8 @@ export class StratumV1Client extends EasyUnsubscribe {
submission.id, submission.id,
eStratumErrorCode.LowDifficultyShare, eStratumErrorCode.LowDifficultyShare,
'Difficulty too low').response(); 'Difficulty too low').response();
console.error(err); // console.error(err);
console.log(`Header: ${header.toString('hex')}`); // console.log(`Header: ${header.toString('hex')}`);
try { try {
await this.promiseSocket.write(err); await this.promiseSocket.write(err);
} catch (e) { } catch (e) {
+2 -2
View File
@@ -66,7 +66,7 @@ export class StratumV1Service implements OnModuleInit {
console.log(`Client disconnected: ${promiseSocket.socket.remoteAddress}, ${client.extraNonceAndSessionId}, ${clientCount} total clients`); console.log(`Client disconnected, ${client.extraNonceAndSessionId}, ${clientCount} total clients`);
}); });
@@ -78,7 +78,7 @@ export class StratumV1Service implements OnModuleInit {
await this.clientService.delete(client.extraNonceAndSessionId); await this.clientService.delete(client.extraNonceAndSessionId);
const clientCount = await this.clientService.connectedClientCount(); const clientCount = await this.clientService.connectedClientCount();
console.log(`Client disconnected, socket error: ${promiseSocket.socket.remoteAddress}, ${client.extraNonceAndSessionId}, ${clientCount} total clients`); console.log(`Client disconnected, socket error, ${client.extraNonceAndSessionId}, ${clientCount} total clients`);
console.error(error); console.error(error);