hightjs 0.3.0 → 0.3.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/README.md +14 -6
- package/dist/builder.js +1 -1
- package/dist/hotReload.js +0 -1
- package/docs/README.md +1 -2
- package/docs/cli.md +55 -3
- package/docs/integracoes.md +240 -0
- package/example/.hweb/entry.client.js +24 -0
- package/example/certs/cert.pem +20 -0
- package/example/certs/key.pem +27 -0
- package/example/hweb-dist/main-5KKAYNUU.js +1137 -0
- package/example/package-lock.json +3595 -0
- package/example/package.json +26 -0
- package/example/postcss.config.js +8 -0
- package/example/src/auth.ts +42 -0
- package/example/src/web/backend/routes/auth.ts +3 -0
- package/example/src/web/backend/routes/version.ts +13 -0
- package/example/src/web/globals.css +5 -0
- package/example/src/web/layout.tsx +46 -0
- package/example/src/web/routes/index.tsx +153 -0
- package/example/src/web/routes/login.tsx +175 -0
- package/example/tailwind.config.js +12 -0
- package/example/tsconfig.json +15 -0
- package/package.json +1 -1
- package/src/builder.js +1 -1
- package/src/hotReload.ts +0 -1
- package/docs/adapters.md +0 -7
package/README.md
CHANGED
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
|
+
<picture>
|
|
3
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://repository-images.githubusercontent.com/1069175740/e5c59d3a-e1fd-446c-a89f-785ed08f6a16">
|
|
4
|
+
<img alt="Next.js logo" src="https://repository-images.githubusercontent.com/1069175740/e5c59d3a-e1fd-446c-a89f-785ed08f6a16" height="128">
|
|
5
|
+
</picture>
|
|
6
|
+
<h1>HightJS</h1>
|
|
2
7
|
|
|
3
|
-
|
|
8
|
+
[](https://www.npmjs.com/package/hightjs)
|
|
9
|
+
[](./LICENSE)
|
|
4
10
|
|
|
5
|
-
<br>
|
|
6
11
|
|
|
7
|
-
|
|
12
|
+
</div>
|
|
13
|
+
|
|
14
|
+
> Um framework web full‑stack moderno para Node.js, focado em simplicidade, DX e velocidade. Bundler via esbuild, hot reload, roteamento automático, APIs, autenticação JWT, CLI e muito mais.
|
|
15
|
+
---
|
|
8
16
|
|
|
9
17
|
# Precisa de ajuda?
|
|
10
18
|
Caso tenha alguma dúvida, entre em contato por uma das redes abaixo:
|
|
@@ -36,7 +44,7 @@ Caso tenha alguma dúvida, entre em contato por uma das redes abaixo:
|
|
|
36
44
|
- **Layouts globais** e página 404 customizada
|
|
37
45
|
- **Metadata** dinâmica por página
|
|
38
46
|
- **Build inteligente** (single bundle ou chunks)
|
|
39
|
-
- **
|
|
47
|
+
- **SSL integrado** no modo Native (HTTPS out-of-the-box)
|
|
40
48
|
- **Autenticação** JWT embutida (HWebAuth)
|
|
41
49
|
- **CLI própria** (`hight`) para dev e produção
|
|
42
50
|
- **Entrega de estáticos** (`public/`)
|
|
@@ -130,7 +138,7 @@ Documentação completa disponível na pasta `docs/`:
|
|
|
130
138
|
### Ferramentas e Configuração
|
|
131
139
|
- [🛠️ CLI](./docs/cli.md)
|
|
132
140
|
- [📂 Arquivos Especiais](./docs/arquivos-especiais.md)
|
|
133
|
-
- [
|
|
141
|
+
- [🔌 Integrações](./docs/integracoes.md)
|
|
134
142
|
- [🔐 Segurança Interna](./docs/seguranca.md)
|
|
135
143
|
- [♻️ Hot Reload](./docs/hot-reload.md)
|
|
136
144
|
|
package/dist/builder.js
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
*/
|
|
18
18
|
const esbuild = require('esbuild');
|
|
19
19
|
const path = require('path');
|
|
20
|
-
const Console = require("./api/console");
|
|
20
|
+
const Console = require("./api/console").default;
|
|
21
21
|
const fs = require('fs');
|
|
22
22
|
// Lista de módulos nativos do Node.js para marcar como externos (apenas os built-ins do Node)
|
|
23
23
|
const nodeBuiltIns = [
|
package/dist/hotReload.js
CHANGED
|
@@ -127,7 +127,6 @@ class HotReloadManager {
|
|
|
127
127
|
console_1.default.logWithout(console_1.Levels.ERROR, console_1.Colors.BgRed, `WebSocket error: ${error.message}`);
|
|
128
128
|
this.cleanupClient(ws);
|
|
129
129
|
});
|
|
130
|
-
console_1.default.logWithout(console_1.Levels.INFO, console_1.Colors.BgRed, '🔌 Hot-reload cliente conectado');
|
|
131
130
|
});
|
|
132
131
|
}
|
|
133
132
|
cleanupClient(ws) {
|
package/docs/README.md
CHANGED
|
@@ -17,7 +17,7 @@ Bem-vindo à documentação completa do HightJS!
|
|
|
17
17
|
### Ferramentas e Configuração
|
|
18
18
|
- [🛠️ CLI](./cli.md) - Comandos e opções
|
|
19
19
|
- [📂 Arquivos Especiais](./arquivos-especiais.md) - Arquivos com funções especiais
|
|
20
|
-
- [
|
|
20
|
+
- [🔌 Integrações](./integracoes.md) - Como integrar com Express, Fastify e usar SSL
|
|
21
21
|
- [🔐 Segurança Interna](./seguranca.md) - Proteções nativas
|
|
22
22
|
- [♻️ Hot Reload](./hot-reload.md) - Desenvolvimento com recarregamento automático
|
|
23
23
|
|
|
@@ -49,7 +49,6 @@ Quando estiver confortável com o básico, explore:
|
|
|
49
49
|
Consulte estas páginas quando precisar de informações específicas:
|
|
50
50
|
|
|
51
51
|
- [Arquivos Especiais](./arquivos-especiais.md) - Todos os arquivos especiais do framework
|
|
52
|
-
- [Adapters](./adapters.md) - Diferentes formas de executar seu app
|
|
53
52
|
- [Segurança Interna](./seguranca.md) - Como o HightJS protege sua aplicação
|
|
54
53
|
- [Hot Reload](./hot-reload.md) - Como funciona o recarregamento automático
|
|
55
54
|
|
package/docs/cli.md
CHANGED
|
@@ -9,12 +9,64 @@ Comandos principais:
|
|
|
9
9
|
|
|
10
10
|
## Opções
|
|
11
11
|
|
|
12
|
-
- `--port` Porta (default 3000)
|
|
13
|
-
- `--hostname` Host (default 0.0.0.0)
|
|
12
|
+
- `--port` ou `-p` Porta (default 3000)
|
|
13
|
+
- `--hostname` ou `-h` Host (default 0.0.0.0)
|
|
14
|
+
- `--framework` Framework: native, express, fastify (default: native)
|
|
15
|
+
- `--ssl` Ativa HTTPS (requer certificados em `./certs/`)
|
|
14
16
|
|
|
15
|
-
##
|
|
17
|
+
## Exemplos
|
|
18
|
+
|
|
19
|
+
### Desenvolvimento básico
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npx hight dev
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Produção com porta customizada
|
|
16
26
|
|
|
17
27
|
```bash
|
|
18
28
|
npx hight start -p 8080
|
|
19
29
|
```
|
|
20
30
|
|
|
31
|
+
### Com SSL (HTTPS)
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
npx hight start --ssl -p 443
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
**Requisitos para SSL:**
|
|
38
|
+
- Modo Native (não funciona com Express/Fastify via CLI)
|
|
39
|
+
- Pasta `./certs/` na raiz do projeto
|
|
40
|
+
- Arquivos `cert.pem` e `key.pem` dentro de `./certs/`
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
projeto/
|
|
44
|
+
certs/
|
|
45
|
+
cert.pem
|
|
46
|
+
key.pem
|
|
47
|
+
src/
|
|
48
|
+
...
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Com framework específico
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
# Usando Express
|
|
55
|
+
npx hight dev --framework express
|
|
56
|
+
|
|
57
|
+
# Usando Fastify
|
|
58
|
+
npx hight dev --framework fastify
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## 🔐 SSL Integrado
|
|
64
|
+
|
|
65
|
+
O HightJS oferece suporte SSL nativo quando usando o adaptador Native. Para mais detalhes sobre integrações com Express e Fastify, consulte:
|
|
66
|
+
|
|
67
|
+
👉 [**Guia de Integrações**](./integracoes.md)
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
Voltar para a [documentação principal](./README.md)
|
|
72
|
+
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
# 🔌 Integrações
|
|
2
|
+
|
|
3
|
+
O HightJS pode ser usado de três formas diferentes: **Native** (servidor próprio), **Express** ou **Fastify**.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 🚀 Native (Recomendado)
|
|
8
|
+
|
|
9
|
+
O modo nativo não requer dependências extras e oferece todos os recursos do HightJS, incluindo **SSL integrado**.
|
|
10
|
+
|
|
11
|
+
### Via CLI (Recomendado)
|
|
12
|
+
|
|
13
|
+
A forma recomendada de iniciar o servidor Native é usando a CLI:
|
|
14
|
+
|
|
15
|
+
**Desenvolvimento:**
|
|
16
|
+
```bash
|
|
17
|
+
npx hight dev
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
**Produção:**
|
|
21
|
+
```bash
|
|
22
|
+
npx hight start
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**Com SSL:**
|
|
26
|
+
```bash
|
|
27
|
+
npx hight start --ssl -p 443
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
**Opções disponíveis:**
|
|
31
|
+
- `--port` ou `-p`: Define a porta (padrão: 3000)
|
|
32
|
+
- `--hostname` ou `-h`: Define o host (padrão: 0.0.0.0)
|
|
33
|
+
- `--ssl`: Ativa HTTPS (requer certificados em `./certs/`)
|
|
34
|
+
|
|
35
|
+
### Via Código (Alternativa)
|
|
36
|
+
|
|
37
|
+
Se precisar de mais controle programático, você pode inicializar manualmente:
|
|
38
|
+
|
|
39
|
+
**Básico:**
|
|
40
|
+
```typescript
|
|
41
|
+
import { app } from "hightjs";
|
|
42
|
+
|
|
43
|
+
const hightApp = app({
|
|
44
|
+
port: 3000,
|
|
45
|
+
dev: true
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
hightApp.init();
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
**Com SSL:**
|
|
52
|
+
```typescript
|
|
53
|
+
import { app } from "hightjs";
|
|
54
|
+
|
|
55
|
+
const hightApp = app({
|
|
56
|
+
port: 443,
|
|
57
|
+
dev: false,
|
|
58
|
+
ssl: {
|
|
59
|
+
redirectPort: 80,
|
|
60
|
+
key: "./certs/key.pem",
|
|
61
|
+
cert: "./certs/cert.pem"
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
hightApp.init();
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
**Estrutura de pastas para SSL:**
|
|
69
|
+
```
|
|
70
|
+
projeto/
|
|
71
|
+
certs/
|
|
72
|
+
cert.pem
|
|
73
|
+
key.pem
|
|
74
|
+
src/
|
|
75
|
+
...
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**Opções SSL:**
|
|
79
|
+
- `key`: Caminho para o arquivo de chave privada
|
|
80
|
+
- `cert`: Caminho para o arquivo de certificado
|
|
81
|
+
- `redirectPort`: Porta HTTP que redirecionará para HTTPS (opcional)
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## 📦 Express
|
|
86
|
+
|
|
87
|
+
Se você já tem um projeto Express ou prefere usar Express, pode integrar o HightJS facilmente.
|
|
88
|
+
|
|
89
|
+
### Instalação
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
npm install express
|
|
93
|
+
npm install --save-dev @types/express
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Uso
|
|
97
|
+
|
|
98
|
+
```typescript
|
|
99
|
+
import express from 'express';
|
|
100
|
+
import { app } from "hightjs";
|
|
101
|
+
|
|
102
|
+
const port = 3000;
|
|
103
|
+
const dev = true;
|
|
104
|
+
|
|
105
|
+
const expressApp = express();
|
|
106
|
+
const hightApp = app({
|
|
107
|
+
framework: 'express',
|
|
108
|
+
port: port,
|
|
109
|
+
dev: dev
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
hightApp.integrate(expressApp);
|
|
113
|
+
|
|
114
|
+
expressApp.listen(port, () => {
|
|
115
|
+
console.log(`Servidor rodando em http://localhost:${port}`);
|
|
116
|
+
});
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### Com middlewares Express
|
|
120
|
+
|
|
121
|
+
Você pode adicionar middlewares Express normalmente antes da integração:
|
|
122
|
+
|
|
123
|
+
```typescript
|
|
124
|
+
import express from 'express';
|
|
125
|
+
import { app } from "hightjs";
|
|
126
|
+
import cors from 'cors';
|
|
127
|
+
|
|
128
|
+
const expressApp = express();
|
|
129
|
+
|
|
130
|
+
// Middlewares Express
|
|
131
|
+
expressApp.use(cors());
|
|
132
|
+
expressApp.use(express.json());
|
|
133
|
+
|
|
134
|
+
const hightApp = app({
|
|
135
|
+
framework: 'express',
|
|
136
|
+
port: 3000,
|
|
137
|
+
dev: true
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
hightApp.integrate(expressApp);
|
|
141
|
+
|
|
142
|
+
expressApp.listen(3000);
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## ⚡ Fastify
|
|
148
|
+
|
|
149
|
+
Para máxima performance, você pode usar Fastify como base.
|
|
150
|
+
|
|
151
|
+
### Instalação
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
npm install fastify
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### Uso
|
|
158
|
+
|
|
159
|
+
```typescript
|
|
160
|
+
import Fastify from 'fastify';
|
|
161
|
+
import { app } from 'hightjs';
|
|
162
|
+
|
|
163
|
+
const port = 3000;
|
|
164
|
+
const dev = true;
|
|
165
|
+
|
|
166
|
+
// Cria o servidor Fastify
|
|
167
|
+
const fastifyApp = Fastify({
|
|
168
|
+
logger: dev // Ativa logs se estiver em modo dev
|
|
169
|
+
});
|
|
170
|
+
|
|
171
|
+
// Cria a instância do HightJS usando Fastify
|
|
172
|
+
const hightApp = app({
|
|
173
|
+
framework: 'fastify',
|
|
174
|
+
port: port,
|
|
175
|
+
dev: dev
|
|
176
|
+
});
|
|
177
|
+
|
|
178
|
+
// Integra o Fastify ao HightJS
|
|
179
|
+
hightApp.integrate(fastifyApp);
|
|
180
|
+
|
|
181
|
+
// Inicia o servidor Fastify
|
|
182
|
+
fastifyApp.listen({ port }, (err, address) => {
|
|
183
|
+
if (err) {
|
|
184
|
+
fastifyApp.log.error(err);
|
|
185
|
+
process.exit(1);
|
|
186
|
+
}
|
|
187
|
+
console.log(`Servidor rodando em ${address}`);
|
|
188
|
+
});
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### Com plugins Fastify
|
|
192
|
+
|
|
193
|
+
Você pode registrar plugins Fastify antes da integração:
|
|
194
|
+
|
|
195
|
+
```typescript
|
|
196
|
+
import Fastify from 'fastify';
|
|
197
|
+
import { app } from 'hightjs';
|
|
198
|
+
import fastifyCors from '@fastify/cors';
|
|
199
|
+
|
|
200
|
+
const fastifyApp = Fastify({ logger: true });
|
|
201
|
+
|
|
202
|
+
// Registra plugins Fastify
|
|
203
|
+
await fastifyApp.register(fastifyCors, {
|
|
204
|
+
origin: true
|
|
205
|
+
});
|
|
206
|
+
|
|
207
|
+
const hightApp = app({
|
|
208
|
+
framework: 'fastify',
|
|
209
|
+
port: 3000,
|
|
210
|
+
dev: true
|
|
211
|
+
});
|
|
212
|
+
|
|
213
|
+
hightApp.integrate(fastifyApp);
|
|
214
|
+
|
|
215
|
+
fastifyApp.listen({ port: 3000 });
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## 🤔 Qual escolher?
|
|
221
|
+
|
|
222
|
+
| Framework | Vantagens | Use quando |
|
|
223
|
+
|-----------|-----------|------------|
|
|
224
|
+
| **Native** | SSL integrado, zero config, sem dependências extras | Projetos novos, quer simplicidade |
|
|
225
|
+
| **Express** | Ecossistema gigante, muitos middlewares | Já usa Express, precisa de middlewares específicos |
|
|
226
|
+
| **Fastify** | Máxima performance, validação schema | Precisa de alta performance, validação avançada |
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## ⚠️ Notas importantes
|
|
231
|
+
|
|
232
|
+
1. **SSL só está disponível no modo Native**
|
|
233
|
+
2. Ao usar Express/Fastify, você gerencia o servidor manualmente
|
|
234
|
+
3. O HightJS se integra perfeitamente com qualquer framework escolhido
|
|
235
|
+
4. Todos os recursos do HightJS funcionam em qualquer modo (rotas, WebSocket, auth, etc.)
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
Voltar para a [documentação principal](./README.md)
|
|
240
|
+
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// Arquivo gerado automaticamente pelo hweb
|
|
2
|
+
import route0 from '../src/web/routes/index.tsx';
|
|
3
|
+
import route1 from '../src/web/routes/login.tsx';
|
|
4
|
+
import LayoutComponent from '../src/web/layout.tsx';
|
|
5
|
+
|
|
6
|
+
import DefaultNotFound from '../node_modules/hightjs/src/client/DefaultNotFound.tsx';
|
|
7
|
+
|
|
8
|
+
// Registra os componentes para o cliente
|
|
9
|
+
window.__HWEB_COMPONENTS__ = {
|
|
10
|
+
'src/web/routes/index.tsx': route0.component || route0.default?.component,
|
|
11
|
+
'src/web/routes/login.tsx': route1.component || route1.default?.component,
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
// Registra o layout se existir
|
|
15
|
+
window.__HWEB_LAYOUT__ = LayoutComponent.default || LayoutComponent;
|
|
16
|
+
|
|
17
|
+
// Registra o notFound se existir
|
|
18
|
+
window.__HWEB_NOT_FOUND__ = null;
|
|
19
|
+
|
|
20
|
+
// Registra o DefaultNotFound do hweb
|
|
21
|
+
window.__HWEB_DEFAULT_NOT_FOUND__ = DefaultNotFound;
|
|
22
|
+
|
|
23
|
+
// Importa e executa o entry.client.tsx
|
|
24
|
+
import '../node_modules/hightjs/src/client/entry.client.tsx';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIDSTCCAjGgAwIBAgIUEDNwk+twrH227ELWWT9Qn92kOzswDQYJKoZIhvcNAQEL
|
|
3
|
+
BQAwNDELMAkGA1UEBhMCQlIxFTATBgNVBAgMDFPDg8KjbyBQYXVsbzEOMAwGA1UE
|
|
4
|
+
CgwFSGlnaHQwHhcNMjUxMDI2MTY0NDM2WhcNMjYxMDI2MTY0NDM2WjA0MQswCQYD
|
|
5
|
+
VQQGEwJCUjEVMBMGA1UECAwMU8ODwqNvIFBhdWxvMQ4wDAYDVQQKDAVIaWdodDCC
|
|
6
|
+
ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL+jVQJ2GbyDOWs+KZ0Mlx1f
|
|
7
|
+
E983vQQVoQpbh/Tzqo4NNGZHGEQF+AcuYiBJUqQAqKBP+aQIqr2u/PL4XUjLLUCo
|
|
8
|
+
ZituhZhvWAMTgFjyc8crOSp3V4zveIQdOTWnJBUp49lgzS1ho4iwxxxfLNsEWo/d
|
|
9
|
+
te98I0ac0kX9dNbtW8xlPwyfaH6ZPKlMlMUdxVkEnEZLnkAx+WoVfc2XH3naLN1F
|
|
10
|
+
bZDCZyxOV/mfdqlZHXqidFMfRK3A3XK7iRNfowUZnj6Cgl9aP7jKQJpUVq1SUVGX
|
|
11
|
+
ZWSMvBrFdizekgXfKnpS5Ha+Sk9bMOSQNo5k70+yLXPhzspYIY3MH8cMZM7EnTMC
|
|
12
|
+
AwEAAaNTMFEwHQYDVR0OBBYEFIyUOMXBKUb/mFU7vYBSgNMGUJWeMB8GA1UdIwQY
|
|
13
|
+
MBaAFIyUOMXBKUb/mFU7vYBSgNMGUJWeMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI
|
|
14
|
+
hvcNAQELBQADggEBAIHEMxHzdmaqAT2FaEB/KmNAqWIC31huZrVIdRyXS51Dbtnv
|
|
15
|
+
a77YuwXgNmnKmk5/M9feE7mVu+bOAwusNdO9yHuFeuwLuFD4dK/Dx6jNAjeOC+jM
|
|
16
|
+
EIXUK8cNdlnAhhmhs/ni1uxol0RSWz+5+1Vo7M5JgOs182oLSZu5uFKbCbfgijy2
|
|
17
|
+
77nrNbTK79lq3nLnf1b103yRFkbTKphVdLY+QZGuBtGmoFoCDif3dwcTcPhCO6Sw
|
|
18
|
+
HFxLKlqXtwrhY7r/VK4+Q83gQIZUkCY59RWRtG9TI8swauRfP0mGSoDlKVd+HiOY
|
|
19
|
+
bNAA5cGXYqNgpYHaCiPkTBzwU4UroWtRasyDwXs=
|
|
20
|
+
-----END CERTIFICATE-----
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
-----BEGIN RSA PRIVATE KEY-----
|
|
2
|
+
MIIEpAIBAAKCAQEAv6NVAnYZvIM5az4pnQyXHV8T3ze9BBWhCluH9POqjg00ZkcY
|
|
3
|
+
RAX4By5iIElSpACooE/5pAiqva788vhdSMstQKhmK26FmG9YAxOAWPJzxys5KndX
|
|
4
|
+
jO94hB05NackFSnj2WDNLWGjiLDHHF8s2wRaj92173wjRpzSRf101u1bzGU/DJ9o
|
|
5
|
+
fpk8qUyUxR3FWQScRkueQDH5ahV9zZcfedos3UVtkMJnLE5X+Z92qVkdeqJ0Ux9E
|
|
6
|
+
rcDdcruJE1+jBRmePoKCX1o/uMpAmlRWrVJRUZdlZIy8GsV2LN6SBd8qelLkdr5K
|
|
7
|
+
T1sw5JA2jmTvT7Itc+HOylghjcwfxwxkzsSdMwIDAQABAoIBAQCZDSRWq+XQFemk
|
|
8
|
+
yefIQwbpcUbYrpZqDbApKoMB0h10B/3CdaNeqHm3mobKDGVRECmcp2LUbAuZJIlm
|
|
9
|
+
r48pFQPWMOgwZbuSy9I52rhV0YVAGzgzv06QA613rjNDs3Jw6JzNvq7/QIywHadX
|
|
10
|
+
9HdJkEeXwNWOJ9GwkoypU0yeXsFDEnEGSDdeHCBDoxzxyqZJ2DHHj9f6oZrIq6sg
|
|
11
|
+
8f9QBziu4y6IDDfhqynScN7nD3JEiyyd8k6Poh0EMo6zdLXeNbDKKP3FA4BuJVkg
|
|
12
|
+
aSUQFkh2YqJnaxB/cwHdQfZT2Znku4MbKPZ9c6BwVgoU4TI9eUjJ8g5UZXu42mW8
|
|
13
|
+
sgd1XmKJAoGBAPonc7/eI/c4vkwAd83lUsq3stoU9fB+oUcTA/cgIuq+jWHOLSW6
|
|
14
|
+
3etWICBXMyN+OoAsEP3y815JItlvypYsN2CJgoR8VbYmeMRaDOpTGQYCnjEArjPB
|
|
15
|
+
QACD12/IamWj+ifAx/lyD8v60rhALW+5usj/P1SiNwCN5wLZUQGxs5p/AoGBAMQd
|
|
16
|
+
zqNvkzKNQR21TqWqw9L/BK8CEag7qMiETvxNTMSTwuRi6o4ZscBIGcnbRBL6oiQl
|
|
17
|
+
uw2qqfwgR/mqDQ8kN5bMIW6PkOvzb2W77VfkaZrVOyQr2a5f7lN5ypmOl+R3PTTc
|
|
18
|
+
IZfa9f9wiK7kpeSDZcazN0AX6+oJqWaXcjAKLFtNAoGBAMpK+Tnh5GfaRVmkzz18
|
|
19
|
+
A9XXdBUT+kc/wCB/6icAn/wBmMfNOYlXcnsLrPM6USqUu65G9H7I57IJptr7onKK
|
|
20
|
+
00WILjoBajbhKaxvvh4IkSXhHBg4mqdT0fQYqjHFevUzA+r95Tl92fR0o89IZvYA
|
|
21
|
+
1mIQuCAzBhO2rWgKYY3jLID1AoGAW5JzbxrlB2Cve/ixnWdsAnRzMmhr6DrbJ62n
|
|
22
|
+
1+UcKFm6UbviO7HBrr+70uYgFiCTXv+DJPGAZ6qHEQuXB2/oyO/N2HsOty224TDr
|
|
23
|
+
tPOBX/uantwey24dsTqYIDVVtSb8HFeBFA/4d2qLV+aJk3bLKgl6jeHdlS0nvTCP
|
|
24
|
+
7+CAL60CgYBBjyUkX3Ok1k25caoiPWwALnzqEyj5yje2qFyV+2HODDFmkJtJ2nZW
|
|
25
|
+
omUzfuugp5jPFt51EBj0nQsRV6y/3LUjmFx0ER3f9juyyVq33OlRRkzFZv6Tq3YE
|
|
26
|
+
cmEZlNonQBPP/sGQGNas28NZLUzt3/8VDVcTRgpn5Q4O8vbaOJJpRg==
|
|
27
|
+
-----END RSA PRIVATE KEY-----
|