From a7b73b0610c71feb1ad1d4a19c3249c522565cc0 Mon Sep 17 00:00:00 2001 From: Ben Wilson Date: Thu, 3 Aug 2023 17:16:16 -0400 Subject: [PATCH] add https and pem files (for anyone to use, fast setup) --- .gitignore | 4 +++- secrets/cert.pem | 21 +++++++++++++++++++++ secrets/key.pem | 28 ++++++++++++++++++++++++++++ src/main.ts | 10 ++++++++-- src/models/StratumV1Client.ts | 4 ++-- src/services/stratum-v1.service.ts | 4 ++-- 6 files changed, 64 insertions(+), 7 deletions(-) create mode 100644 secrets/cert.pem create mode 100644 secrets/key.pem diff --git a/.gitignore b/.gitignore index ae1be05..2801076 100644 --- a/.gitignore +++ b/.gitignore @@ -37,4 +37,6 @@ settings.json !.vscode/extensions.json #DB -**.sqlite** \ No newline at end of file +**.sqlite** + +#https diff --git a/secrets/cert.pem b/secrets/cert.pem new file mode 100644 index 0000000..ee8ac51 --- /dev/null +++ b/secrets/cert.pem @@ -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----- diff --git a/secrets/key.pem b/secrets/key.pem new file mode 100644 index 0000000..74ecff3 --- /dev/null +++ b/secrets/key.pem @@ -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----- diff --git a/src/main.ts b/src/main.ts index 14eab4c..d195c05 100644 --- a/src/main.ts +++ b/src/main.ts @@ -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(AppModule, new FastifyAdapter()); + const app = await NestFactory.create(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}`); }); } diff --git a/src/models/StratumV1Client.ts b/src/models/StratumV1Client.ts index 7637a75..83b77c5 100644 --- a/src/models/StratumV1Client.ts +++ b/src/models/StratumV1Client.ts @@ -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) { diff --git a/src/services/stratum-v1.service.ts b/src/services/stratum-v1.service.ts index 61ec702..d5f65a8 100644 --- a/src/services/stratum-v1.service.ts +++ b/src/services/stratum-v1.service.ts @@ -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);