topnic-https 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cli.js +36 -0
- package/package.json +92 -0
- package/readme +20 -0
- package/src/main/index.js +51 -0
- package/src/ssl/cert.pem +23 -0
- package/src/ssl/key.pem +28 -0
package/bin/cli.js
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
const { program } = require('commander');
|
2
|
+
const server = require('../src/main/index.js');
|
3
|
+
|
4
|
+
program
|
5
|
+
.version('1.0.0')
|
6
|
+
.description('Advanced HTTPS development server');
|
7
|
+
|
8
|
+
program
|
9
|
+
.command('run')
|
10
|
+
.description('Start the HTTPS server')
|
11
|
+
.action(() => {
|
12
|
+
server.start();
|
13
|
+
});
|
14
|
+
|
15
|
+
program
|
16
|
+
.command('stop')
|
17
|
+
.description('Stop the HTTPS server')
|
18
|
+
.action(() => {
|
19
|
+
server.stop();
|
20
|
+
});
|
21
|
+
|
22
|
+
program
|
23
|
+
.command('restart')
|
24
|
+
.description('Restart the HTTPS server')
|
25
|
+
.action(() => {
|
26
|
+
server.restart();
|
27
|
+
});
|
28
|
+
|
29
|
+
program
|
30
|
+
.command('change <port>')
|
31
|
+
.description('Change server port')
|
32
|
+
.action((port) => {
|
33
|
+
server.changePort(port);
|
34
|
+
});
|
35
|
+
|
36
|
+
program.parse(process.argv);
|
package/package.json
ADDED
@@ -0,0 +1,92 @@
|
|
1
|
+
{
|
2
|
+
"name": "topnic-https",
|
3
|
+
"version": "0.0.1",
|
4
|
+
"main": "./src/main/index.js",
|
5
|
+
"scripts": {
|
6
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
7
|
+
},
|
8
|
+
"keywords": [
|
9
|
+
"https",
|
10
|
+
"topnic",
|
11
|
+
"manktrip",
|
12
|
+
"server",
|
13
|
+
"http-server",
|
14
|
+
"localhost",
|
15
|
+
"local-server",
|
16
|
+
"ssl",
|
17
|
+
"tls",
|
18
|
+
"secure-server",
|
19
|
+
"https-server",
|
20
|
+
"nodejs",
|
21
|
+
"npm",
|
22
|
+
"javascript",
|
23
|
+
"web-server",
|
24
|
+
"express",
|
25
|
+
"fastify",
|
26
|
+
"socket",
|
27
|
+
"api",
|
28
|
+
"backend",
|
29
|
+
"middleware",
|
30
|
+
"ssl-cert",
|
31
|
+
"tls-encryption",
|
32
|
+
"self-hosted",
|
33
|
+
"webhosting",
|
34
|
+
"web-application",
|
35
|
+
"secure",
|
36
|
+
"networking",
|
37
|
+
"custom-server",
|
38
|
+
"framework",
|
39
|
+
"node",
|
40
|
+
"web-dev",
|
41
|
+
"secure-connection",
|
42
|
+
"certificates",
|
43
|
+
"encryption",
|
44
|
+
"ssl-setup",
|
45
|
+
"http2",
|
46
|
+
"performance",
|
47
|
+
"developer-tools",
|
48
|
+
"cli",
|
49
|
+
"module",
|
50
|
+
"library",
|
51
|
+
"npm-package",
|
52
|
+
"open-source",
|
53
|
+
"debugging",
|
54
|
+
"fast-server",
|
55
|
+
"secure-http",
|
56
|
+
"https-utility",
|
57
|
+
"configurable-server",
|
58
|
+
"node-framework",
|
59
|
+
"reliable",
|
60
|
+
"scalable",
|
61
|
+
"portable",
|
62
|
+
"user-friendly",
|
63
|
+
"lightweight",
|
64
|
+
"cross-platform",
|
65
|
+
"web-tools",
|
66
|
+
"devops",
|
67
|
+
"network-tools",
|
68
|
+
"websocket",
|
69
|
+
"static-hosting",
|
70
|
+
"dynamic-hosting",
|
71
|
+
"rest-api",
|
72
|
+
"microservices",
|
73
|
+
"automation",
|
74
|
+
"dev-environment",
|
75
|
+
"modern",
|
76
|
+
"proxy-server",
|
77
|
+
"error-handling",
|
78
|
+
"ssl-helper",
|
79
|
+
"secure-backend",
|
80
|
+
"server-tools",
|
81
|
+
"https-utils"
|
82
|
+
],
|
83
|
+
"author": "MankTrip",
|
84
|
+
"license": "MIT",
|
85
|
+
"dependencies": {
|
86
|
+
"commander": "^8.3.0",
|
87
|
+
"https": "^1.0.0",
|
88
|
+
"fs": "^0.0.1-security",
|
89
|
+
"path": "^0.12.7"
|
90
|
+
},
|
91
|
+
"description": "مكتبة Https Topnic تسهّل إنشاء خوادم HTTPS آمنة وسريعة على localhost، مع دعم كامل للتشفير وشهادات SSL لتجربة تطوير مثالية."
|
92
|
+
}
|
package/readme
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
# Topnic HTTPS Server
|
2
|
+
|
3
|
+
$ npm install -g topnic-https
|
4
|
+
$ topnic-https run - لتشغيل الخادم
|
5
|
+
$ topnic-https stop - لإيقاف الخادم
|
6
|
+
$ topnic-https restart - لإعادة تشغيل الخادم
|
7
|
+
$ topnic-https change <port> - تغيير بورت الخادم
|
8
|
+
|
9
|
+
# ميزات
|
10
|
+
- يدعم الخادم التشفير وشهادات SSL
|
11
|
+
- يدعم الخادم التوجيه HTTP و HTTPS
|
12
|
+
- يدعم الخادم المنطق البسيط
|
13
|
+
- يدعم الخادم التوجيه الأساسي
|
14
|
+
|
15
|
+
# المطور
|
16
|
+
- [ ] ManKTrip
|
17
|
+
|
18
|
+
# الروابط
|
19
|
+
- [Discord] https://discord.gg/4ye4rsXHcr
|
20
|
+
- [NPM] https://www.npmjs.com/package/topnic-https
|
@@ -0,0 +1,51 @@
|
|
1
|
+
const https = require('https');
|
2
|
+
const fs = require('fs');
|
3
|
+
const path = require('path');
|
4
|
+
|
5
|
+
let server;
|
6
|
+
let currentPort = 3000;
|
7
|
+
|
8
|
+
const defaultOptions = {
|
9
|
+
key: fs.readFileSync(path.join(__dirname, '../ssl/key.pem')),
|
10
|
+
cert: fs.readFileSync(path.join(__dirname, '../ssl/cert.pem'))
|
11
|
+
};
|
12
|
+
|
13
|
+
function start() {
|
14
|
+
server = https.createServer(defaultOptions, (req, res) => {
|
15
|
+
res.writeHead(200);
|
16
|
+
res.end('Topnic HTTPS Server is running!');
|
17
|
+
});
|
18
|
+
|
19
|
+
server.listen(currentPort, () => {
|
20
|
+
console.log(`🚀 Server running on https://localhost:${currentPort}`);
|
21
|
+
});
|
22
|
+
}
|
23
|
+
|
24
|
+
function stop() {
|
25
|
+
if (server) {
|
26
|
+
server.close(() => {
|
27
|
+
console.log('Server stopped');
|
28
|
+
});
|
29
|
+
}
|
30
|
+
}
|
31
|
+
|
32
|
+
function restart() {
|
33
|
+
stop();
|
34
|
+
setTimeout(start, 1000);
|
35
|
+
console.log('Server restarted');
|
36
|
+
}
|
37
|
+
|
38
|
+
function changePort(newPort) {
|
39
|
+
currentPort = parseInt(newPort) || 3000;
|
40
|
+
if (server) {
|
41
|
+
restart();
|
42
|
+
}
|
43
|
+
console.log(`Port changed to ${currentPort}`);
|
44
|
+
}
|
45
|
+
|
46
|
+
module.exports = {
|
47
|
+
start,
|
48
|
+
stop,
|
49
|
+
restart,
|
50
|
+
changePort
|
51
|
+
};
|
package/src/ssl/cert.pem
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIIDzTCCArWgAwIBAgIUTQ38lrjMPqygD7HOJeJ3OUtg5VowDQYJKoZIhvcNAQEL
|
3
|
+
BQAwdjELMAkGA1UEBhMCRUcxDjAMBgNVBAgMBVNPSEFHMQ4wDAYDVQQHDAVTT0hB
|
4
|
+
RzEOMAwGA1UECgwFU09IQUcxDDAKBgNVBAsMA0FOWTEMMAoGA1UEAwwDQU5ZMRsw
|
5
|
+
GQYJKoZIhvcNAQkBFgxLSEBHTUFJTC5DT00wHhcNMjQxMTI1MDAwNzI1WhcNMjUx
|
6
|
+
MTI1MDAwNzI1WjB2MQswCQYDVQQGEwJFRzEOMAwGA1UECAwFU09IQUcxDjAMBgNV
|
7
|
+
BAcMBVNPSEFHMQ4wDAYDVQQKDAVTT0hBRzEMMAoGA1UECwwDQU5ZMQwwCgYDVQQD
|
8
|
+
DANBTlkxGzAZBgkqhkiG9w0BCQEWDEtIQEdNQUlMLkNPTTCCASIwDQYJKoZIhvcN
|
9
|
+
AQEBBQADggEPADCCAQoCggEBAMfiUppXJ5iHB5vOWt/99w6aM4FmL1kPfQtuRDGM
|
10
|
+
6R+oWOthE8IQLz+W89ThTLRkymASdW6v1e71FG+vg4dBL3V9E/wUuz/hSwf1JVwt
|
11
|
+
9hVRY/5MM/GomVmUifTVYbWhgBz1GWiN4CstXI7uQzP87ODLaujVU6v8luINV+JK
|
12
|
+
n5fbKA/w4twuS/in/rGok1VfDAgSz7sMp5aJHprCy0wnf83sPI5yzV1xZTCZzCp8
|
13
|
+
coM9dq1OSy+s3oQD61vIg5ViNeodjuPyg+8Rpx7m2BqsSJPVltebCFB7m+rvJ1+T
|
14
|
+
7MfkKnwSxl4Ye8PYMDyuQSpnyV1QTpLQhtP2n00OFsjcaFsCAwEAAaNTMFEwHQYD
|
15
|
+
VR0OBBYEFEKL1s1XaDml6C2QTMAv3SNzBQkJMB8GA1UdIwQYMBaAFEKL1s1XaDml
|
16
|
+
6C2QTMAv3SNzBQkJMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEB
|
17
|
+
AMT/oAi15bSV/cf5cuIcWGdmgtr3Q4vW5VXAApWkvunDqVfE6mOFDdxZbIiLv0Qh
|
18
|
+
zexhPREjz2V2NehmTNjkJ0A+oSjSxt6VJVLufjOqk0ZwAjlhJB4c2CsL1zCSkHno
|
19
|
+
VQIsZ666Xyn2xzNbPCPOKs0I1KnAM9i0EYiWbZ0lkDi6iMrUiYsYNzrkOMob8iN7
|
20
|
+
7Ozcl4GWWYfvjv065T4ja/qEZkYtf9lH+A5yyMx8o5DHxJR6OYYdJgH9HR39gqFS
|
21
|
+
KYv7NTSx3yigWbVd3b0kP3r6AWEpPN1IJ+rFpK6o2OUfIVzGNdFrfWKYCro2Ay4Z
|
22
|
+
szTVVSeJjvvP9Q+3ZcSVX/k=
|
23
|
+
-----END CERTIFICATE-----
|
package/src/ssl/key.pem
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
-----BEGIN PRIVATE KEY-----
|
2
|
+
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDH4lKaVyeYhweb
|
3
|
+
zlrf/fcOmjOBZi9ZD30LbkQxjOkfqFjrYRPCEC8/lvPU4Uy0ZMpgEnVur9Xu9RRv
|
4
|
+
r4OHQS91fRP8FLs/4UsH9SVcLfYVUWP+TDPxqJlZlIn01WG1oYAc9RlojeArLVyO
|
5
|
+
7kMz/Ozgy2ro1VOr/JbiDVfiSp+X2ygP8OLcLkv4p/6xqJNVXwwIEs+7DKeWiR6a
|
6
|
+
wstMJ3/N7DyOcs1dcWUwmcwqfHKDPXatTksvrN6EA+tbyIOVYjXqHY7j8oPvEace
|
7
|
+
5tgarEiT1ZbXmwhQe5vq7ydfk+zH5Cp8EsZeGHvD2DA8rkEqZ8ldUE6S0IbT9p9N
|
8
|
+
DhbI3GhbAgMBAAECggEAGJ+rcGMDODmOOOXzcPue11gstyio9Y5AZ8uWMAp9X46E
|
9
|
+
Ib8MSZBn2awVbqiwo9p0yeAMQm3761uawGV9TQi9OXqGnzvIk4aEET9kclYhJiAo
|
10
|
+
MtgdYAxWk+AGHLi6uD7kguy4zBYKQxdr+xmkAsAKSGkWywcYryvHRKLDLFfoEDNS
|
11
|
+
ErywAPwKdi4YpehQ+VNxfGmHW9opPDZFJP6JTNLRbZy6ePhp6Etib5WgJFVcEJul
|
12
|
+
I5TNHuUy5M0k89Q+y+rEpUcgJFfEpGjYkJTNQTcAFBSjpvMAhSApK1YXJGE5aHqG
|
13
|
+
JoUW3SXa9l9kHLELza6eijvgaG0CfwzUWzCdZ78IfQKBgQDscHWF1rDCFl2B5YrL
|
14
|
+
YVa4g6Bjy/twhuooaiZQf4MfAus7ySCH756IK0O3ZRYQqDqR5RcGMGrFoBvcOzwo
|
15
|
+
AeIyozuYQfA3omcPcbAwGDWL8TuAti8jUdMtergoTUvqv0dlclddlOyiM8cqx8LA
|
16
|
+
fpD1xN+J+WcrvawuJKTCi98ytwKBgQDYa6lhgLV5c6xkuvaLm2zdU+6lykTJVlC1
|
17
|
+
jykpaFwTB5gftk+Yf8cDS1C7JdeBlMEK88D5UW/cCpLx6I9yAUHw6oXF4br8VyV/
|
18
|
+
AnNeJMvVabWqZcO+j06jkPo+RIs0kiKTgfa5XawDSL4SaDcw/vdF+SujeE9vuj77
|
19
|
+
eHHvWHuDfQKBgQC+OIP0l5NBsyirtvcBRWC1tgA2CghSsdh1h2En5k6hhoGmadvo
|
20
|
+
QZnzx4sFYyhrYk0sz3jEm/Nq57NCbc2qCknnn3f0uSgAOoJb5IVxTCjYW84ZcXlf
|
21
|
+
GxehQVgj5HwtcpKIRYOQYJ44qRuViX1fzPPnJusJYEPm5wQ9Y3HCqzF45QKBgQCF
|
22
|
+
mmEkahqd8YT5YloVcUvRjqEDBE1WpcyJaOmWQHCm5sdIvHmCwU8Qf4xFHGVf/370
|
23
|
+
zenRgC63/mcco976GECnA4C12lZetUXWlKK3+atEAlA98zjWCQ4Y98Ukb5goShbC
|
24
|
+
TTcM1AD+vgdowaFgw+XO8rW34uvXI3kCMSbVBSCq2QKBgHU0LH6rDRN7feMYvMH3
|
25
|
+
qoaIooEDGgU0Jb/i2qC6QQ3VSRkyhSq72+Y9OMLuppDyk1oP8HlfFV/mA+NRLpKx
|
26
|
+
d7I9x2yXzibQ6LVesBLAZWF7KnqVEvdXcQHKPsNPt+ge0fiwEz3CYX+L91NMigQ7
|
27
|
+
KObpiNG+SXH0oDWm1eMF/BXX
|
28
|
+
-----END PRIVATE KEY-----
|