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

4
.gitignore vendored
View File

@ -37,4 +37,6 @@ settings.json
!.vscode/extensions.json
#DB
**.sqlite**
**.sqlite**
#https

21
secrets/cert.pem Normal file
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
secrets/key.pem Normal file
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-----

View File

@ -3,6 +3,7 @@ import { NestFactory } from '@nestjs/core';
import { FastifyAdapter, NestFastifyApplication } from '@nestjs/platform-fastify';
import * as bitcoinjs from 'bitcoinjs-lib';
import { useContainer } from 'class-validator';
import { readFileSync } from 'fs';
import * as ecc from 'tiny-secp256k1';
import { AppModule } from './app.module';
@ -14,8 +15,12 @@ async function bootstrap() {
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.useGlobalPipes(
new ValidationPipe({
@ -28,11 +33,12 @@ async function bootstrap() {
app.enableCors();
useContainer(app.select(AppModule), { fallbackOnErrors: true });
//Taproot
bitcoinjs.initEccLib(ecc);
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}`);
});
}

View File

@ -436,8 +436,8 @@ export class StratumV1Client extends EasyUnsubscribe {
submission.id,
eStratumErrorCode.LowDifficultyShare,
'Difficulty too low').response();
console.error(err);
console.log(`Header: ${header.toString('hex')}`);
// console.error(err);
// console.log(`Header: ${header.toString('hex')}`);
try {
await this.promiseSocket.write(err);
} catch (e) {

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);
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);