pulsecloud-mcp 1.0.0
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/dist/auth.d.ts +13 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +111 -0
- package/dist/auth.js.map +1 -0
- package/dist/config.d.ts +11 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +12 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +833 -0
- package/dist/index.js.map +1 -0
- package/dist/server.d.ts +2 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +285 -0
- package/dist/server.js.map +1 -0
- package/dist/services/cloudflare.d.ts +19 -0
- package/dist/services/cloudflare.d.ts.map +1 -0
- package/dist/services/cloudflare.js +56 -0
- package/dist/services/cloudflare.js.map +1 -0
- package/dist/services/ctrlpanel.d.ts +44 -0
- package/dist/services/ctrlpanel.d.ts.map +1 -0
- package/dist/services/ctrlpanel.js +62 -0
- package/dist/services/ctrlpanel.js.map +1 -0
- package/dist/services/npm.d.ts +25 -0
- package/dist/services/npm.d.ts.map +1 -0
- package/dist/services/npm.js +46 -0
- package/dist/services/npm.js.map +1 -0
- package/dist/services/pterodactyl.d.ts +51 -0
- package/dist/services/pterodactyl.d.ts.map +1 -0
- package/dist/services/pterodactyl.js +209 -0
- package/dist/services/pterodactyl.js.map +1 -0
- package/dist/services/status.d.ts +14 -0
- package/dist/services/status.d.ts.map +1 -0
- package/dist/services/status.js +15 -0
- package/dist/services/status.js.map +1 -0
- package/package.json +43 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":""}
|
package/dist/server.js
ADDED
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
import http from 'node:http';
|
|
2
|
+
import { URL } from 'node:url';
|
|
3
|
+
import crypto from 'node:crypto';
|
|
4
|
+
import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
5
|
+
import { server, loginPterodactyl } from './index.js';
|
|
6
|
+
const PORT = parseInt(process.env.PORT || '3002');
|
|
7
|
+
const HOST = process.env.HOST || '0.0.0.0';
|
|
8
|
+
const BASE = process.env.BASE_URL || `http://46.224.134.22:${PORT}`;
|
|
9
|
+
const sessions = new Map();
|
|
10
|
+
const authCodes = new Map();
|
|
11
|
+
function generateId() {
|
|
12
|
+
return crypto.randomBytes(24).toString('hex');
|
|
13
|
+
}
|
|
14
|
+
function parseBody(req) {
|
|
15
|
+
return new Promise((resolve) => {
|
|
16
|
+
let data = '';
|
|
17
|
+
req.on('data', (c) => data += c);
|
|
18
|
+
req.on('end', () => resolve(data));
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
const mcpTransport = new StreamableHTTPServerTransport({
|
|
22
|
+
sessionIdGenerator: () => generateId(),
|
|
23
|
+
});
|
|
24
|
+
const svr = http.createServer(async (req, res) => {
|
|
25
|
+
res.setHeader('Access-Control-Allow-Origin', '*');
|
|
26
|
+
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, PATCH, OPTIONS');
|
|
27
|
+
res.setHeader('Access-Control-Allow-Headers', 'Authorization, Content-Type, X-Requested-With');
|
|
28
|
+
if (req.method === 'OPTIONS') {
|
|
29
|
+
res.writeHead(204);
|
|
30
|
+
res.end();
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const url = new URL(req.url || '/', BASE);
|
|
34
|
+
const path = url.pathname;
|
|
35
|
+
try {
|
|
36
|
+
if (path === '/mcp') {
|
|
37
|
+
const auth = req.headers['authorization'];
|
|
38
|
+
if (!auth || !auth.startsWith('Bearer ')) {
|
|
39
|
+
res.writeHead(401, {
|
|
40
|
+
'WWW-Authenticate': `Bearer realm="pulsecloud", protected-resource="${BASE}/.well-known/oauth-protected-resource"`,
|
|
41
|
+
'Content-Type': 'application/json',
|
|
42
|
+
});
|
|
43
|
+
res.end(JSON.stringify({ error: 'not_authenticated', auth_url: `${BASE}/oauth/authorize` }));
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const sessionId = auth.slice(7);
|
|
47
|
+
const session = sessions.get(sessionId);
|
|
48
|
+
if (!session) {
|
|
49
|
+
res.writeHead(401, {
|
|
50
|
+
'WWW-Authenticate': `Bearer realm="pulsecloud", error="invalid_token"`,
|
|
51
|
+
'Content-Type': 'application/json',
|
|
52
|
+
});
|
|
53
|
+
res.end(JSON.stringify({ error: 'invalid_token', auth_url: `${BASE}/oauth/authorize` }));
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
;
|
|
57
|
+
req.auth = { pteroToken: session.pteroToken, email: session.email };
|
|
58
|
+
await mcpTransport.handleRequest(req, res);
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
if (path === '/.well-known/oauth-authorization-server') {
|
|
62
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
63
|
+
res.end(JSON.stringify({
|
|
64
|
+
issuer: BASE,
|
|
65
|
+
authorization_endpoint: `${BASE}/oauth/authorize`,
|
|
66
|
+
token_endpoint: `${BASE}/oauth/token`,
|
|
67
|
+
registration_endpoint: `${BASE}/oauth/register`,
|
|
68
|
+
response_types_supported: ['code'],
|
|
69
|
+
grant_types_supported: ['authorization_code'],
|
|
70
|
+
}));
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
if (path === '/.well-known/oauth-protected-resource') {
|
|
74
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
75
|
+
res.end(JSON.stringify({
|
|
76
|
+
resource: `${BASE}/mcp`,
|
|
77
|
+
authorization_servers: [`${BASE}/.well-known/oauth-authorization-server`],
|
|
78
|
+
}));
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
if (path === '/oauth/register') {
|
|
82
|
+
const body = JSON.parse(await parseBody(req));
|
|
83
|
+
const clientId = generateId();
|
|
84
|
+
const clientSecret = generateId();
|
|
85
|
+
res.writeHead(201, { 'Content-Type': 'application/json' });
|
|
86
|
+
res.end(JSON.stringify({
|
|
87
|
+
client_id: clientId,
|
|
88
|
+
client_secret: clientSecret,
|
|
89
|
+
client_id_issued_at: Math.floor(Date.now() / 1000),
|
|
90
|
+
}));
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
if (path === '/oauth/authorize') {
|
|
94
|
+
const clientId = url.searchParams.get('client_id') || '';
|
|
95
|
+
const redirectUri = url.searchParams.get('redirect_uri') || '';
|
|
96
|
+
const state = url.searchParams.get('state') || '';
|
|
97
|
+
// If it's a POST, handle login form
|
|
98
|
+
if (req.method === 'POST') {
|
|
99
|
+
const body = await parseBody(req);
|
|
100
|
+
const params = new URLSearchParams(body);
|
|
101
|
+
const email = params.get('email') || '';
|
|
102
|
+
const password = params.get('password') || '';
|
|
103
|
+
try {
|
|
104
|
+
const pteroToken = await loginPterodactyl(email, password);
|
|
105
|
+
const code = generateId();
|
|
106
|
+
authCodes.set(code, { email, pteroToken, redirectUri, clientId });
|
|
107
|
+
const redirect = new URL(redirectUri || `${BASE}/oauth/authorize`);
|
|
108
|
+
redirect.searchParams.set('code', code);
|
|
109
|
+
if (state)
|
|
110
|
+
redirect.searchParams.set('state', state);
|
|
111
|
+
res.writeHead(302, { Location: redirect.toString() });
|
|
112
|
+
res.end();
|
|
113
|
+
}
|
|
114
|
+
catch (err) {
|
|
115
|
+
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
|
|
116
|
+
res.end(loginPage(clientId, redirectUri, state, `Erro: ${err.message}`));
|
|
117
|
+
}
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
// GET - show login form
|
|
121
|
+
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
|
|
122
|
+
res.end(loginPage(clientId, redirectUri, state, ''));
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
if (path === '/oauth/token') {
|
|
126
|
+
const body = await parseBody(req);
|
|
127
|
+
const params = new URLSearchParams(body);
|
|
128
|
+
const grantType = params.get('grant_type') || '';
|
|
129
|
+
const code = params.get('code') || '';
|
|
130
|
+
const redirectUri = params.get('redirect_uri') || '';
|
|
131
|
+
if (grantType !== 'authorization_code') {
|
|
132
|
+
res.writeHead(400, { 'Content-Type': 'application/json' });
|
|
133
|
+
res.end(JSON.stringify({ error: 'unsupported_grant_type' }));
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
const authData = authCodes.get(code);
|
|
137
|
+
if (!authData) {
|
|
138
|
+
res.writeHead(400, { 'Content-Type': 'application/json' });
|
|
139
|
+
res.end(JSON.stringify({ error: 'invalid_grant' }));
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
authCodes.delete(code);
|
|
143
|
+
const sessionId = generateId();
|
|
144
|
+
sessions.set(sessionId, {
|
|
145
|
+
pteroToken: authData.pteroToken,
|
|
146
|
+
email: authData.email,
|
|
147
|
+
createdAt: Date.now(),
|
|
148
|
+
});
|
|
149
|
+
const expiresIn = 86400 * 30;
|
|
150
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
151
|
+
res.end(JSON.stringify({
|
|
152
|
+
access_token: sessionId,
|
|
153
|
+
token_type: 'Bearer',
|
|
154
|
+
expires_in: expiresIn,
|
|
155
|
+
}));
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
// Simple browser-based login (alternative to OAuth)
|
|
159
|
+
if (path === '/auth/login') {
|
|
160
|
+
if (req.method === 'POST') {
|
|
161
|
+
const body = await parseBody(req);
|
|
162
|
+
const params = new URLSearchParams(body);
|
|
163
|
+
const email = params.get('email') || '';
|
|
164
|
+
const password = params.get('password') || '';
|
|
165
|
+
try {
|
|
166
|
+
const pteroToken = await loginPterodactyl(email, password);
|
|
167
|
+
const sessionId = generateId();
|
|
168
|
+
sessions.set(sessionId, { pteroToken, email, createdAt: Date.now() });
|
|
169
|
+
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
|
|
170
|
+
res.end(`<!DOCTYPE html>
|
|
171
|
+
<html><head><meta charset="utf-8"><title>PulseCloud MCP</title>
|
|
172
|
+
<style>body{font-family:sans-serif;max-width:600px;margin:40px auto;padding:0 20px}
|
|
173
|
+
code{background:#f4f4f4;padding:10px;display:block;border-radius:6px;word-break:break-all}
|
|
174
|
+
.btn{display:inline-block;padding:10px 20px;background:#6366f1;color:#fff;text-decoration:none;border-radius:6px}</style></head>
|
|
175
|
+
<body><h1>✅ Conectado!</h1>
|
|
176
|
+
<p>Token de sessão:</p>
|
|
177
|
+
<code>${sessionId}</code>
|
|
178
|
+
<p>Adicione no seu <code>opencode.json</code>:</p>
|
|
179
|
+
<code>{
|
|
180
|
+
"pulsecloud": {
|
|
181
|
+
"url": "${BASE}/mcp",
|
|
182
|
+
"headers": {
|
|
183
|
+
"Authorization": "Bearer ${sessionId}"
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}</code>
|
|
187
|
+
<p><a class="btn" href="/auth/status">Ver status da sessão</a></p></body></html>`);
|
|
188
|
+
}
|
|
189
|
+
catch (err) {
|
|
190
|
+
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
|
|
191
|
+
res.end(`<!DOCTYPE html>
|
|
192
|
+
<html><head><meta charset="utf-8"><title>PulseCloud MCP</title>
|
|
193
|
+
<style>body{font-family:sans-serif;max-width:400px;margin:40px auto;padding:0 20px}
|
|
194
|
+
input{width:100%;padding:8px;margin:8px 0;box-sizing:border-box}
|
|
195
|
+
button{width:100%;padding:10px;background:#6366f1;color:#fff;border:none;border-radius:6px;cursor:pointer}
|
|
196
|
+
.error{color:#dc2626;padding:10px;background:#fee;border-radius:6px}</style></head>
|
|
197
|
+
<body><h1>🔑 PulseCloud MCP</h1>
|
|
198
|
+
<div class="error">${err.message}</div>
|
|
199
|
+
<form method="post"><input type="email" name="email" placeholder="Email" required>
|
|
200
|
+
<input type="password" name="password" placeholder="Senha" required>
|
|
201
|
+
<button type="submit">Entrar</button></form></body></html>`);
|
|
202
|
+
}
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
|
|
206
|
+
res.end(`<!DOCTYPE html>
|
|
207
|
+
<html><head><meta charset="utf-8"><title>PulseCloud MCP</title>
|
|
208
|
+
<style>body{font-family:sans-serif;max-width:400px;margin:40px auto;padding:0 20px}
|
|
209
|
+
input{width:100%;padding:8px;margin:8px 0;box-sizing:border-box}
|
|
210
|
+
button{width:100%;padding:10px;background:#6366f1;color:#fff;border:none;border-radius:6px;cursor:pointer}
|
|
211
|
+
h1{text-align:center}</style></head>
|
|
212
|
+
<body><h1>🔑 PulseCloud MCP</h1>
|
|
213
|
+
<p style="color:#666">Faça login com sua conta PulseCloud</p>
|
|
214
|
+
<form method="post">
|
|
215
|
+
<input type="email" name="email" placeholder="Email" required>
|
|
216
|
+
<input type="password" name="password" placeholder="Senha" required>
|
|
217
|
+
<button type="submit">Entrar</button></form></body></html>`);
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
if (path === '/auth/status') {
|
|
221
|
+
const auth = req.headers['authorization'];
|
|
222
|
+
let session = null;
|
|
223
|
+
if (auth?.startsWith('Bearer ')) {
|
|
224
|
+
session = sessions.get(auth.slice(7)) || null;
|
|
225
|
+
}
|
|
226
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
227
|
+
res.end(JSON.stringify({
|
|
228
|
+
authenticated: session !== null,
|
|
229
|
+
email: session?.email || null,
|
|
230
|
+
sessions_active: sessions.size,
|
|
231
|
+
}));
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
if (path === '/auth/logout') {
|
|
235
|
+
const auth = req.headers['authorization'];
|
|
236
|
+
if (auth?.startsWith('Bearer ')) {
|
|
237
|
+
sessions.delete(auth.slice(7));
|
|
238
|
+
}
|
|
239
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
240
|
+
res.end(JSON.stringify({ success: true }));
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
if (path === '/health') {
|
|
244
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
245
|
+
res.end(JSON.stringify({ status: 'ok', uptime: process.uptime() }));
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
res.writeHead(404, { 'Content-Type': 'application/json' });
|
|
249
|
+
res.end(JSON.stringify({ error: 'not_found' }));
|
|
250
|
+
}
|
|
251
|
+
catch (err) {
|
|
252
|
+
console.error('Server error:', err);
|
|
253
|
+
res.writeHead(500, { 'Content-Type': 'application/json' });
|
|
254
|
+
res.end(JSON.stringify({ error: err.message }));
|
|
255
|
+
}
|
|
256
|
+
});
|
|
257
|
+
function loginPage(clientId, redirectUri, state, errorMsg) {
|
|
258
|
+
return `<!DOCTYPE html>
|
|
259
|
+
<html><head><meta charset="utf-8"><title>Autorizar PulseCloud MCP</title>
|
|
260
|
+
<style>body{font-family:sans-serif;max-width:400px;margin:40px auto;padding:0 20px}
|
|
261
|
+
input{width:100%;padding:8px;margin:8px 0;box-sizing:border-box}
|
|
262
|
+
button{width:100%;padding:10px;background:#6366f1;color:#fff;border:none;border-radius:6px;cursor:pointer}
|
|
263
|
+
h1{text-align:center}.error{color:#dc2626;padding:10px;background:#fee;border-radius:6px;margin:10px 0}
|
|
264
|
+
.info{color:#666;font-size:14px;text-align:center}</style></head>
|
|
265
|
+
<body><h1>🔑 Autorizar Acesso</h1>
|
|
266
|
+
<p class="info">Um agente de IA está pedindo acesso à sua conta PulseCloud.</p>
|
|
267
|
+
${errorMsg ? `<div class="error">${errorMsg}</div>` : ''}
|
|
268
|
+
<form method="post">
|
|
269
|
+
<input type="email" name="email" placeholder="Email" required>
|
|
270
|
+
<input type="password" name="password" placeholder="Senha" required>
|
|
271
|
+
<button type="submit">Autorizar</button></form></body></html>`;
|
|
272
|
+
}
|
|
273
|
+
async function start() {
|
|
274
|
+
// Connect the MCP server to the transport
|
|
275
|
+
await server.connect(mcpTransport);
|
|
276
|
+
svr.listen(PORT, HOST, () => {
|
|
277
|
+
console.log(`PulseCloud MCP rodando em ${BASE}`);
|
|
278
|
+
console.log(` MCP endpoint: ${BASE}/mcp`);
|
|
279
|
+
console.log(` Login: ${BASE}/auth/login`);
|
|
280
|
+
console.log(` OAuth authorize: ${BASE}/oauth/authorize`);
|
|
281
|
+
console.log(` Health: ${BASE}/health`);
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
start().catch(console.error);
|
|
285
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface DnsRecord {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
type: string;
|
|
5
|
+
content: string;
|
|
6
|
+
proxied: boolean;
|
|
7
|
+
ttl: number;
|
|
8
|
+
}
|
|
9
|
+
export declare function listDnsRecords(type?: string): Promise<DnsRecord[]>;
|
|
10
|
+
export declare function createDnsRecord(params: {
|
|
11
|
+
type: string;
|
|
12
|
+
name: string;
|
|
13
|
+
content: string;
|
|
14
|
+
proxied?: boolean;
|
|
15
|
+
ttl?: number;
|
|
16
|
+
}): Promise<DnsRecord>;
|
|
17
|
+
export declare function deleteDnsRecord(recordId: string): Promise<any>;
|
|
18
|
+
export declare function getDnsRecord(recordId: string): Promise<DnsRecord>;
|
|
19
|
+
//# sourceMappingURL=cloudflare.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudflare.d.ts","sourceRoot":"","sources":["../../src/services/cloudflare.ts"],"names":[],"mappings":"AAkCA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,wBAAsB,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAIxE;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE;IAC5C,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,SAAS,CAAC,CAYrB;AAED,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,gBAErD;AAED,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAGvE"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { CONFIG } from '../config.js';
|
|
2
|
+
const BASE = CONFIG.CLOUDFLARE_API;
|
|
3
|
+
const ZONE_ID = CONFIG.CLOUDFLARE_ZONE_ID;
|
|
4
|
+
function getToken() {
|
|
5
|
+
const token = CONFIG.CLOUDFLARE_TOKEN;
|
|
6
|
+
if (!token)
|
|
7
|
+
throw new Error('Cloudflare token não configurado. Defina PULSECLOUD_CF_TOKEN no ambiente.');
|
|
8
|
+
return token;
|
|
9
|
+
}
|
|
10
|
+
function headers() {
|
|
11
|
+
return {
|
|
12
|
+
'Authorization': `Bearer ${getToken()}`,
|
|
13
|
+
'Content-Type': 'application/json',
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
async function api(path, options = {}) {
|
|
17
|
+
const res = await fetch(`${BASE}/zones/${ZONE_ID}${path}`, {
|
|
18
|
+
...options,
|
|
19
|
+
headers: { ...headers(), ...options.headers },
|
|
20
|
+
});
|
|
21
|
+
if (!res.ok) {
|
|
22
|
+
const text = await res.text().catch(() => '');
|
|
23
|
+
throw new Error(`Cloudflare API ${res.status}: ${text.slice(0, 500)}`);
|
|
24
|
+
}
|
|
25
|
+
const data = await res.json();
|
|
26
|
+
if (!data.success) {
|
|
27
|
+
throw new Error(`Cloudflare error: ${JSON.stringify(data.errors?.[0] || data)}`);
|
|
28
|
+
}
|
|
29
|
+
return data;
|
|
30
|
+
}
|
|
31
|
+
export async function listDnsRecords(type) {
|
|
32
|
+
const params = type ? `?type=${type}` : '';
|
|
33
|
+
const data = await api(`/dns_records${params}`);
|
|
34
|
+
return data.result;
|
|
35
|
+
}
|
|
36
|
+
export async function createDnsRecord(params) {
|
|
37
|
+
const data = await api('/dns_records', {
|
|
38
|
+
method: 'POST',
|
|
39
|
+
body: JSON.stringify({
|
|
40
|
+
type: params.type,
|
|
41
|
+
name: params.name,
|
|
42
|
+
content: params.content,
|
|
43
|
+
proxied: params.proxied ?? true,
|
|
44
|
+
ttl: params.ttl ?? 1,
|
|
45
|
+
}),
|
|
46
|
+
});
|
|
47
|
+
return data.result;
|
|
48
|
+
}
|
|
49
|
+
export async function deleteDnsRecord(recordId) {
|
|
50
|
+
return api(`/dns_records/${recordId}`, { method: 'DELETE' });
|
|
51
|
+
}
|
|
52
|
+
export async function getDnsRecord(recordId) {
|
|
53
|
+
const data = await api(`/dns_records/${recordId}`);
|
|
54
|
+
return data.result;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=cloudflare.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudflare.js","sourceRoot":"","sources":["../../src/services/cloudflare.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,MAAM,IAAI,GAAG,MAAM,CAAC,cAAc,CAAA;AAClC,MAAM,OAAO,GAAG,MAAM,CAAC,kBAAkB,CAAA;AAEzC,SAAS,QAAQ;IACf,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAA;IACrC,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAA;IACxG,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,OAAO;IACd,OAAO;QACL,eAAe,EAAE,UAAU,QAAQ,EAAE,EAAE;QACvC,cAAc,EAAE,kBAAkB;KACnC,CAAA;AACH,CAAC;AAED,KAAK,UAAU,GAAG,CAAC,IAAY,EAAE,UAAuB,EAAE;IACxD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,UAAU,OAAO,GAAG,IAAI,EAAE,EAAE;QACzD,GAAG,OAAO;QACV,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,OAAiC,EAAE;KACxE,CAAC,CAAA;IACF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;QAC7C,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;IACxE,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;IAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAA;IAClF,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAWD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAa;IAChD,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1C,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,eAAe,MAAM,EAAE,CAAC,CAAA;IAC/C,OAAO,IAAI,CAAC,MAAM,CAAA;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAMrC;IACC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,cAAc,EAAE;QACrC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI;YAC/B,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;SACrB,CAAC;KACH,CAAC,CAAA;IACF,OAAO,IAAI,CAAC,MAAM,CAAA;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAAgB;IACpD,OAAO,GAAG,CAAC,gBAAgB,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAgB;IACjD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,gBAAgB,QAAQ,EAAE,CAAC,CAAA;IAClD,OAAO,IAAI,CAAC,MAAM,CAAA;AACpB,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export interface CtrlPanelServer {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
status: string;
|
|
6
|
+
created_at: string;
|
|
7
|
+
pterodactyl_server_id: string | null;
|
|
8
|
+
}
|
|
9
|
+
export interface Product {
|
|
10
|
+
id: string;
|
|
11
|
+
name: string;
|
|
12
|
+
description: string;
|
|
13
|
+
price: number;
|
|
14
|
+
memory: number;
|
|
15
|
+
cpu: number;
|
|
16
|
+
disk: number;
|
|
17
|
+
databases: number;
|
|
18
|
+
backups: number;
|
|
19
|
+
allocations: number;
|
|
20
|
+
egg_id: number;
|
|
21
|
+
nest_id: number;
|
|
22
|
+
}
|
|
23
|
+
export declare function getServers(): Promise<CtrlPanelServer[]>;
|
|
24
|
+
export declare function getServer(serverId: string): Promise<CtrlPanelServer>;
|
|
25
|
+
export declare function createServer(params: {
|
|
26
|
+
product_id?: string;
|
|
27
|
+
name: string;
|
|
28
|
+
description?: string;
|
|
29
|
+
egg_id?: number;
|
|
30
|
+
nest_id?: number;
|
|
31
|
+
memory?: number;
|
|
32
|
+
cpu?: number;
|
|
33
|
+
disk?: number;
|
|
34
|
+
databases?: number;
|
|
35
|
+
backups?: number;
|
|
36
|
+
allocations?: number;
|
|
37
|
+
}): Promise<CtrlPanelServer>;
|
|
38
|
+
export declare function deleteServer(serverId: string): Promise<any>;
|
|
39
|
+
export declare function suspendServer(serverId: string): Promise<any>;
|
|
40
|
+
export declare function unsuspendServer(serverId: string): Promise<any>;
|
|
41
|
+
export declare function listProducts(): Promise<Product[]>;
|
|
42
|
+
export declare function getAccount(): Promise<any>;
|
|
43
|
+
export declare function getUser(userId: string): Promise<any>;
|
|
44
|
+
//# sourceMappingURL=ctrlpanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ctrlpanel.d.ts","sourceRoot":"","sources":["../../src/services/ctrlpanel.ts"],"names":[],"mappings":"AA4BA,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAA;CACrC;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAG7D;AAED,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAG1E;AAED,wBAAsB,YAAY,CAAC,MAAM,EAAE;IACzC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,OAAO,CAAC,eAAe,CAAC,CAM3B;AAED,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,gBAElD;AAED,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,gBAEnD;AAED,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,gBAErD;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAGvD;AAED,wBAAsB,UAAU,iBAG/B;AAED,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,gBAG3C"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { CONFIG } from '../config.js';
|
|
2
|
+
import { getToken } from '../auth.js';
|
|
3
|
+
const BASE = `${CONFIG.CTRLPANEL_URL}/api`;
|
|
4
|
+
function headers() {
|
|
5
|
+
const token = getToken();
|
|
6
|
+
if (!token)
|
|
7
|
+
throw new Error('Not authenticated. Use pulsecloud_login first.');
|
|
8
|
+
return {
|
|
9
|
+
'Authorization': `Bearer ${token}`,
|
|
10
|
+
'Content-Type': 'application/json',
|
|
11
|
+
'Accept': 'application/json',
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
async function api(path, options = {}) {
|
|
15
|
+
const url = `${BASE}${path}`;
|
|
16
|
+
const res = await fetch(url, {
|
|
17
|
+
...options,
|
|
18
|
+
headers: { ...headers(), ...options.headers },
|
|
19
|
+
});
|
|
20
|
+
if (!res.ok) {
|
|
21
|
+
const text = await res.text().catch(() => '');
|
|
22
|
+
throw new Error(`CtrlPanel API ${res.status}: ${text.slice(0, 500)}`);
|
|
23
|
+
}
|
|
24
|
+
return res.json();
|
|
25
|
+
}
|
|
26
|
+
export async function getServers() {
|
|
27
|
+
const data = await api('/servers');
|
|
28
|
+
return data.data ?? data;
|
|
29
|
+
}
|
|
30
|
+
export async function getServer(serverId) {
|
|
31
|
+
const data = await api(`/servers/${serverId}`);
|
|
32
|
+
return data.data ?? data;
|
|
33
|
+
}
|
|
34
|
+
export async function createServer(params) {
|
|
35
|
+
const data = await api('/servers', {
|
|
36
|
+
method: 'POST',
|
|
37
|
+
body: JSON.stringify(params),
|
|
38
|
+
});
|
|
39
|
+
return data.data ?? data;
|
|
40
|
+
}
|
|
41
|
+
export async function deleteServer(serverId) {
|
|
42
|
+
return api(`/servers/${serverId}`, { method: 'DELETE' });
|
|
43
|
+
}
|
|
44
|
+
export async function suspendServer(serverId) {
|
|
45
|
+
return api(`/servers/${serverId}/suspend`, { method: 'PATCH' });
|
|
46
|
+
}
|
|
47
|
+
export async function unsuspendServer(serverId) {
|
|
48
|
+
return api(`/servers/${serverId}/unsuspend`, { method: 'PATCH' });
|
|
49
|
+
}
|
|
50
|
+
export async function listProducts() {
|
|
51
|
+
const data = await api('/products');
|
|
52
|
+
return data.data ?? data;
|
|
53
|
+
}
|
|
54
|
+
export async function getAccount() {
|
|
55
|
+
const data = await api('/account');
|
|
56
|
+
return data.data ?? data;
|
|
57
|
+
}
|
|
58
|
+
export async function getUser(userId) {
|
|
59
|
+
const data = await api(`/users/${userId}`);
|
|
60
|
+
return data.data ?? data;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=ctrlpanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ctrlpanel.js","sourceRoot":"","sources":["../../src/services/ctrlpanel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface ProxyHost {
|
|
2
|
+
id: number;
|
|
3
|
+
domain_names: string[];
|
|
4
|
+
forward_scheme: 'http' | 'https';
|
|
5
|
+
forward_host: string;
|
|
6
|
+
forward_port: number;
|
|
7
|
+
certificate_id: number | null;
|
|
8
|
+
ssl_forced: boolean;
|
|
9
|
+
enabled: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare function listProxyHosts(): Promise<ProxyHost[]>;
|
|
12
|
+
export declare function getProxyHost(id: number): Promise<ProxyHost>;
|
|
13
|
+
export declare function createProxyHost(params: {
|
|
14
|
+
domain_names: string[];
|
|
15
|
+
forward_scheme: 'http' | 'https';
|
|
16
|
+
forward_host: string;
|
|
17
|
+
forward_port: number;
|
|
18
|
+
certificate_id?: number;
|
|
19
|
+
ssl_forced?: boolean;
|
|
20
|
+
enabled?: boolean;
|
|
21
|
+
}): Promise<ProxyHost>;
|
|
22
|
+
export declare function updateProxyHost(id: number, params: Partial<ProxyHost>): Promise<ProxyHost>;
|
|
23
|
+
export declare function deleteProxyHost(id: number): Promise<any>;
|
|
24
|
+
export declare function listCertificates(): Promise<any>;
|
|
25
|
+
//# sourceMappingURL=npm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npm.d.ts","sourceRoot":"","sources":["../../src/services/npm.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,cAAc,EAAE,MAAM,GAAG,OAAO,CAAA;IAChC,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAE3D;AAED,wBAAsB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAEjE;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE;IAC5C,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,cAAc,EAAE,MAAM,GAAG,OAAO,CAAA;IAChC,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,GAAG,OAAO,CAAC,SAAS,CAAC,CAKrB;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAKhG;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM,gBAE/C;AAED,wBAAsB,gBAAgB,iBAErC"}
|