topbit 3.0.1 → 3.0.2
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/demo/cert/api.x.com.cert +13 -0
- package/demo/cert/api.x.com.key +5 -0
- package/demo/cert/x.com.cert +12 -0
- package/demo/cert/x.com.key +5 -0
- package/demo/ecc-cert.sh +24 -0
- package/demo/sni.js +59 -0
- package/demo/static.js +32 -0
- package/package.json +1 -1
- package/src/extends/resource.js +4 -0
- package/src/sendmsg.js +3 -3
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIB4DCCAYWgAwIBAgIUP4XKCZ4CiwGAQDcWvyJknRmVAOcwCgYIKoZIzj0EAwIw
|
|
3
|
+
XjELMAkGA1UEBhMCQ04xEDAOBgNVBAgMB0Rhb2ppYW4xDDAKBgNVBAcMA1NKWjEQ
|
|
4
|
+
MA4GA1UECgwHRGFvamlhbjENMAsGA1UECwwEQ29yZTEOMAwGA1UEAwwFQnJhdmUw
|
|
5
|
+
HhcNMjUxMjA1MDA1MDE1WhcNMzUxMjAzMDA1MDE1WjBeMQswCQYDVQQGEwJDTjEQ
|
|
6
|
+
MA4GA1UECAwHRGFvamlhbjEMMAoGA1UEBwwDU0paMRAwDgYDVQQKDAdEYW9qaWFu
|
|
7
|
+
MQ0wCwYDVQQLDARDb3JlMQ4wDAYDVQQDDAVCcmF2ZTBZMBMGByqGSM49AgEGCCqG
|
|
8
|
+
SM49AwEHA0IABJV9Pr05OssEok2oOMwAG8V33unH7F49Xc2RkoX9m+rL4AMKmL/7
|
|
9
|
+
QDi0SQcFweU3g4H6ToPYxen2KzXuJG8pTI6jITAfMB0GA1UdDgQWBBSTFxmGY1Dd
|
|
10
|
+
quCRCwl2RJPrneEItTAKBggqhkjOPQQDAgNJADBGAiEAxubn2JXt/mIGZlgC+fq3
|
|
11
|
+
JkSs/bSf48NseVTqxs34qF8CIQDXhSSb5wWn2QPwJW2kwHnbxvenv8enyhDimzH6
|
|
12
|
+
1M85Nw==
|
|
13
|
+
-----END CERTIFICATE-----
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIBzzCCAXWgAwIBAgIUZ+2zEjF7jyFSM1eJrB+s7ETN5SkwCgYIKoZIzj0EAwIw
|
|
3
|
+
VjELMAkGA1UEBhMCQ04xCzAJBgNVBAgMAkhiMQwwCgYDVQQHDANTWkoxDjAMBgNV
|
|
4
|
+
BAoMBUJyYXZlMQ0wCwYDVQQLDARDb3JlMQ0wCwYDVQQDDARXYW5nMB4XDTI1MTIw
|
|
5
|
+
NTAwNDcyNloXDTM1MTIwMzAwNDcyNlowVjELMAkGA1UEBhMCQ04xCzAJBgNVBAgM
|
|
6
|
+
AkhiMQwwCgYDVQQHDANTWkoxDjAMBgNVBAoMBUJyYXZlMQ0wCwYDVQQLDARDb3Jl
|
|
7
|
+
MQ0wCwYDVQQDDARXYW5nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBgZDvrQE
|
|
8
|
+
NCxqkxlAugcozIZUGN2okUCZ0Ff8i3O2IKjhT2I4EhYO6V+OqjorUw6rba8NUPuz
|
|
9
|
+
gaazoj7QJH2lcKMhMB8wHQYDVR0OBBYEFLm3o3RWP/LNQIRNLrxIV2sWyo+9MAoG
|
|
10
|
+
CCqGSM49BAMCA0gAMEUCIQDtequ0KVuO0jGUIipEnob39qRrvbN2ivnJngPl7Phn
|
|
11
|
+
ngIgKKc7BiPvfVGszW364NoAX+dfvP7vgv4LkVb5oZpbw7A=
|
|
12
|
+
-----END CERTIFICATE-----
|
package/demo/ecc-cert.sh
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
NAME='localhost'
|
|
4
|
+
|
|
5
|
+
if [ $# -gt 0 ] ; then
|
|
6
|
+
NAME=$1
|
|
7
|
+
fi
|
|
8
|
+
|
|
9
|
+
# 当前openssl无法生成基于SM2的ECC证书,会提示无法读取私钥错误
|
|
10
|
+
|
|
11
|
+
#生成私钥
|
|
12
|
+
#openssl ecparam -genkey -name prime256v1 -out "$NAME.key"
|
|
13
|
+
|
|
14
|
+
#若要基于私钥生成公钥请执行
|
|
15
|
+
#openssl ec -in "$NAME.key" -pubout -out "$NAME.pub"
|
|
16
|
+
|
|
17
|
+
openssl ecparam -genkey -name prime256v1 | openssl ec -out "$NAME.key"
|
|
18
|
+
|
|
19
|
+
#生成证书请求文件
|
|
20
|
+
#openssl req -new -sha256 -out "$NAME.req" -key "$NAME.key"
|
|
21
|
+
openssl req -new -out "$NAME.req" -key "$NAME.key"
|
|
22
|
+
|
|
23
|
+
openssl x509 -req -in "$NAME.req" -out "$NAME.cert" -signkey "$NAME.key" -days 3650
|
|
24
|
+
|
package/demo/sni.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const topbit = require('../src/topbit.js');
|
|
4
|
+
const fs = require('fs');
|
|
5
|
+
const tls = require('tls');
|
|
6
|
+
|
|
7
|
+
let certs = {
|
|
8
|
+
'x.com' : {
|
|
9
|
+
cert : fs.readFileSync('./cert/x.com.cert'),
|
|
10
|
+
key : fs.readFileSync('./cert/x.com.key')
|
|
11
|
+
},
|
|
12
|
+
|
|
13
|
+
'api.x.com' : {
|
|
14
|
+
cert : fs.readFileSync('./cert/api.x.com.cert'),
|
|
15
|
+
key : fs.readFileSync('./cert/api.x.com.key')
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
let app = new topbit({
|
|
20
|
+
debug: true,
|
|
21
|
+
loadMonitor: false,
|
|
22
|
+
http2: true,
|
|
23
|
+
https: true,
|
|
24
|
+
server : {
|
|
25
|
+
SNICallback : (servername, cb) => {
|
|
26
|
+
return cb(null, tls.createSecureContext(certs[servername]));
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
pidFile: '/tmp/mymaster.pid'
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
app.use(async (c, next) => {
|
|
34
|
+
if (!c.getFile('image')) {
|
|
35
|
+
return c.status().oo('image not found');
|
|
36
|
+
}
|
|
37
|
+
await next(c);
|
|
38
|
+
}, {method:'POST', group: 'upload'});
|
|
39
|
+
|
|
40
|
+
app.get('/', async c => {
|
|
41
|
+
c.oo('ok');
|
|
42
|
+
})
|
|
43
|
+
|
|
44
|
+
app.post('/p', async c => {
|
|
45
|
+
c.ok(c.body);
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
app.post('/upload', async c => {
|
|
49
|
+
try {
|
|
50
|
+
c.res.body = await c.moveFile(c.getFile('image'), {
|
|
51
|
+
path: process.env.HOME + '/tmp/buffer'
|
|
52
|
+
});
|
|
53
|
+
} catch (err) {
|
|
54
|
+
c.res.body = err.message;
|
|
55
|
+
}
|
|
56
|
+
}, '@upload');
|
|
57
|
+
|
|
58
|
+
app.daemon(1990, 2);
|
|
59
|
+
|
package/demo/static.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
process.chdir(__dirname)
|
|
4
|
+
|
|
5
|
+
let Topbit = require('../src/topbit.js')
|
|
6
|
+
let {Resource} = Topbit.extensions
|
|
7
|
+
|
|
8
|
+
let app = new Topbit({
|
|
9
|
+
debug: true,
|
|
10
|
+
loadInfoFile: '--mem',
|
|
11
|
+
globalLog: true,
|
|
12
|
+
logType: 'stdio'
|
|
13
|
+
})
|
|
14
|
+
|
|
15
|
+
if (app.isWorker) {
|
|
16
|
+
app.get('/', async ctx => {
|
|
17
|
+
ctx.ok('ok')
|
|
18
|
+
})
|
|
19
|
+
|
|
20
|
+
let rse = new Resource({
|
|
21
|
+
staticPath: './',
|
|
22
|
+
routePath: '/static/*'
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
rse.init(app)
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
app.sched('none')
|
|
29
|
+
|
|
30
|
+
app.autoWorker(3)
|
|
31
|
+
|
|
32
|
+
app.daemon(1234, 1)
|
package/package.json
CHANGED
package/src/extends/resource.js
CHANGED
package/src/sendmsg.js
CHANGED
|
@@ -13,15 +13,15 @@ module.exports = (type, msg, options = {autoExit: false}) => {
|
|
|
13
13
|
process.send({
|
|
14
14
|
type: type,
|
|
15
15
|
message: msg
|
|
16
|
-
})
|
|
16
|
+
})
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
if (options.autoExit) {
|
|
20
|
-
process.exit(options.exitCode || 0)
|
|
20
|
+
process.exit(options.exitCode || 0)
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
} catch (err) {
|
|
24
24
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
}
|
|
27
|
+
}
|