@remnawave/backend-contract 3.3.2 → 3.4.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/build/backend/api/controllers/node-plugins.d.ts +11 -0
- package/build/backend/api/controllers/node-plugins.d.ts.map +1 -1
- package/build/backend/api/controllers/node-plugins.js +12 -0
- package/build/backend/api/routes.d.ts +11 -0
- package/build/backend/api/routes.d.ts.map +1 -1
- package/build/backend/api/routes.js +11 -0
- package/build/backend/commands/node-plugins/actions/index.d.ts +1 -0
- package/build/backend/commands/node-plugins/actions/index.d.ts.map +1 -1
- package/build/backend/commands/node-plugins/actions/index.js +1 -0
- package/build/backend/commands/node-plugins/actions/sync-node-plugin.command.d.ts +11 -0
- package/build/backend/commands/node-plugins/actions/sync-node-plugin.command.d.ts.map +1 -0
- package/build/backend/commands/node-plugins/actions/sync-node-plugin.command.js +15 -0
- package/build/backend/commands/node-plugins/index.d.ts +1 -0
- package/build/backend/commands/node-plugins/index.d.ts.map +1 -1
- package/build/backend/commands/node-plugins/index.js +1 -0
- package/build/backend/commands/node-plugins/shared-lists/create-shared-list.command.d.ts +19 -0
- package/build/backend/commands/node-plugins/shared-lists/create-shared-list.command.d.ts.map +1 -0
- package/build/backend/commands/node-plugins/shared-lists/create-shared-list.command.js +20 -0
- package/build/backend/commands/node-plugins/shared-lists/delete-shared-list.command.d.ts +11 -0
- package/build/backend/commands/node-plugins/shared-lists/delete-shared-list.command.d.ts.map +1 -0
- package/build/backend/commands/node-plugins/shared-lists/delete-shared-list.command.js +16 -0
- package/build/backend/commands/node-plugins/shared-lists/get-shared-list.command.d.ts +18 -0
- package/build/backend/commands/node-plugins/shared-lists/get-shared-list.command.d.ts.map +1 -0
- package/build/backend/commands/node-plugins/shared-lists/get-shared-list.command.js +19 -0
- package/build/backend/commands/node-plugins/shared-lists/get-shared-lists.command.d.ts +18 -0
- package/build/backend/commands/node-plugins/shared-lists/get-shared-lists.command.d.ts.map +1 -0
- package/build/backend/commands/node-plugins/shared-lists/get-shared-lists.command.js +19 -0
- package/build/backend/commands/node-plugins/shared-lists/index.d.ts +7 -0
- package/build/backend/commands/node-plugins/shared-lists/index.d.ts.map +1 -0
- package/build/backend/commands/node-plugins/shared-lists/index.js +22 -0
- package/build/backend/commands/node-plugins/shared-lists/sync-shared-list.command.d.ts +11 -0
- package/build/backend/commands/node-plugins/shared-lists/sync-shared-list.command.d.ts.map +1 -0
- package/build/backend/commands/node-plugins/shared-lists/sync-shared-list.command.js +16 -0
- package/build/backend/commands/node-plugins/shared-lists/update-shared-list.command.d.ts +19 -0
- package/build/backend/commands/node-plugins/shared-lists/update-shared-list.command.d.ts.map +1 -0
- package/build/backend/commands/node-plugins/shared-lists/update-shared-list.command.js +20 -0
- package/build/backend/commands/subscriptions/get-by/get-raw-subscription-by-short-uuid.command.d.ts +126 -108
- package/build/backend/commands/subscriptions/get-by/get-raw-subscription-by-short-uuid.command.d.ts.map +1 -1
- package/build/backend/constants/errors/errors.d.ts +45 -0
- package/build/backend/constants/errors/errors.d.ts.map +1 -1
- package/build/backend/constants/errors/errors.js +45 -0
- package/build/backend/models/index.d.ts +1 -0
- package/build/backend/models/index.d.ts.map +1 -1
- package/build/backend/models/index.js +1 -0
- package/build/backend/models/resolved-proxy-config.schema.d.ts +207 -107
- package/build/backend/models/resolved-proxy-config.schema.d.ts.map +1 -1
- package/build/backend/models/resolved-proxy-config.schema.js +19 -35
- package/build/backend/models/shared-list.schema.d.ts +12 -0
- package/build/backend/models/shared-list.schema.d.ts.map +1 -0
- package/build/backend/models/shared-list.schema.js +21 -0
- package/build/frontend/api/controllers/node-plugins.js +12 -0
- package/build/frontend/api/routes.js +11 -0
- package/build/frontend/commands/node-plugins/actions/index.js +1 -0
- package/build/frontend/commands/node-plugins/actions/sync-node-plugin.command.js +15 -0
- package/build/frontend/commands/node-plugins/index.js +1 -0
- package/build/frontend/commands/node-plugins/shared-lists/create-shared-list.command.js +20 -0
- package/build/frontend/commands/node-plugins/shared-lists/delete-shared-list.command.js +16 -0
- package/build/frontend/commands/node-plugins/shared-lists/get-shared-list.command.js +19 -0
- package/build/frontend/commands/node-plugins/shared-lists/get-shared-lists.command.js +19 -0
- package/build/frontend/commands/node-plugins/shared-lists/index.js +22 -0
- package/build/frontend/commands/node-plugins/shared-lists/sync-shared-list.command.js +16 -0
- package/build/frontend/commands/node-plugins/shared-lists/update-shared-list.command.js +20 -0
- package/build/frontend/constants/errors/errors.js +45 -0
- package/build/frontend/models/index.js +1 -0
- package/build/frontend/models/resolved-proxy-config.schema.js +19 -35
- package/build/frontend/models/shared-list.schema.js +21 -0
- package/package.json +1 -1
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SyncSharedListCommand = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const api_1 = require("../../../api");
|
|
6
|
+
const constants_1 = require("../../../constants");
|
|
7
|
+
const models_1 = require("../../../models");
|
|
8
|
+
var SyncSharedListCommand;
|
|
9
|
+
(function (SyncSharedListCommand) {
|
|
10
|
+
SyncSharedListCommand.url = api_1.REST_API.NODE_PLUGINS.SHARED_LISTS.ACTIONS.SYNC;
|
|
11
|
+
SyncSharedListCommand.TSQ_url = SyncSharedListCommand.url;
|
|
12
|
+
SyncSharedListCommand.endpointDetails = (0, constants_1.getEndpointDetails)(api_1.NODE_PLUGINS_ROUTES.SHARED_LISTS.ACTIONS.SYNC, 'post', 'Sync Shared List to nodes', { scope: 'shared-lists-sync', kind: 'write' }, 'Push every plugin referencing this shared list to the nodes it is active on.');
|
|
13
|
+
SyncSharedListCommand.RequestBodySchema = zod_1.z.object({
|
|
14
|
+
name: models_1.SharedListNameSchema,
|
|
15
|
+
});
|
|
16
|
+
})(SyncSharedListCommand || (exports.SyncSharedListCommand = SyncSharedListCommand = {}));
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UpdateSharedListCommand = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const api_1 = require("../../../api");
|
|
6
|
+
const constants_1 = require("../../../constants");
|
|
7
|
+
const models_1 = require("../../../models");
|
|
8
|
+
var UpdateSharedListCommand;
|
|
9
|
+
(function (UpdateSharedListCommand) {
|
|
10
|
+
UpdateSharedListCommand.url = api_1.REST_API.NODE_PLUGINS.SHARED_LISTS.UPDATE;
|
|
11
|
+
UpdateSharedListCommand.TSQ_url = UpdateSharedListCommand.url;
|
|
12
|
+
UpdateSharedListCommand.endpointDetails = (0, constants_1.getEndpointDetails)(api_1.NODE_PLUGINS_ROUTES.SHARED_LISTS.UPDATE, 'patch', 'Update Shared List', { scope: 'shared-lists-update', kind: 'write' });
|
|
13
|
+
UpdateSharedListCommand.RequestBodySchema = zod_1.z.object({
|
|
14
|
+
name: models_1.SharedListNameSchema,
|
|
15
|
+
config: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()),
|
|
16
|
+
});
|
|
17
|
+
UpdateSharedListCommand.ResponseSchema = zod_1.z.object({
|
|
18
|
+
response: models_1.SharedListsSchema,
|
|
19
|
+
});
|
|
20
|
+
})(UpdateSharedListCommand || (exports.UpdateSharedListCommand = UpdateSharedListCommand = {}));
|
|
@@ -1225,4 +1225,49 @@ exports.ERRORS = {
|
|
|
1225
1225
|
message: 'Node integration name already exists',
|
|
1226
1226
|
httpCode: 400,
|
|
1227
1227
|
},
|
|
1228
|
+
SHARED_LIST_NOT_FOUND: {
|
|
1229
|
+
code: 'A245',
|
|
1230
|
+
message: 'Shared list not found',
|
|
1231
|
+
httpCode: 404,
|
|
1232
|
+
},
|
|
1233
|
+
SHARED_LIST_NAME_ALREADY_EXISTS: {
|
|
1234
|
+
code: 'A246',
|
|
1235
|
+
message: 'Shared list name already exists',
|
|
1236
|
+
httpCode: 400,
|
|
1237
|
+
},
|
|
1238
|
+
GET_ALL_SHARED_LISTS_ERROR: {
|
|
1239
|
+
code: 'A247',
|
|
1240
|
+
message: 'Get all shared lists error',
|
|
1241
|
+
httpCode: 500,
|
|
1242
|
+
},
|
|
1243
|
+
GET_SHARED_LIST_BY_NAME_ERROR: {
|
|
1244
|
+
code: 'A248',
|
|
1245
|
+
message: 'Get shared list by name error',
|
|
1246
|
+
httpCode: 500,
|
|
1247
|
+
},
|
|
1248
|
+
CREATE_SHARED_LIST_ERROR: {
|
|
1249
|
+
code: 'A249',
|
|
1250
|
+
message: 'Create shared list error',
|
|
1251
|
+
httpCode: 500,
|
|
1252
|
+
},
|
|
1253
|
+
UPDATE_SHARED_LIST_ERROR: {
|
|
1254
|
+
code: 'A250',
|
|
1255
|
+
message: 'Update shared list error',
|
|
1256
|
+
httpCode: 500,
|
|
1257
|
+
},
|
|
1258
|
+
DELETE_SHARED_LIST_ERROR: {
|
|
1259
|
+
code: 'A251',
|
|
1260
|
+
message: 'Delete shared list error',
|
|
1261
|
+
httpCode: 500,
|
|
1262
|
+
},
|
|
1263
|
+
INVALID_SHARED_LIST_CONFIG: {
|
|
1264
|
+
code: 'A252',
|
|
1265
|
+
message: 'Invalid shared list config',
|
|
1266
|
+
httpCode: 400,
|
|
1267
|
+
withMessage: (message) => ({
|
|
1268
|
+
code: 'A252',
|
|
1269
|
+
message,
|
|
1270
|
+
httpCode: 400,
|
|
1271
|
+
}),
|
|
1272
|
+
},
|
|
1228
1273
|
};
|
|
@@ -40,6 +40,7 @@ __exportStar(require("./nodes.schema"), exports);
|
|
|
40
40
|
__exportStar(require("./remnawave-settings"), exports);
|
|
41
41
|
__exportStar(require("./resolved-proxy-config.schema"), exports);
|
|
42
42
|
__exportStar(require("./response-rules"), exports);
|
|
43
|
+
__exportStar(require("./shared-list.schema"), exports);
|
|
43
44
|
__exportStar(require("./snippets.schema"), exports);
|
|
44
45
|
__exportStar(require("./subscripion-page-config.schema"), exports);
|
|
45
46
|
__exportStar(require("./subscription-info.schema"), exports);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ResolvedProxyConfigSchema = exports.ProxyEntryMetadataSchema = exports.SecurityVariantSchema = exports.TransportVariantSchema = exports.ProtocolVariantSchema = exports.RealitySecurityOptionsSchema = exports.TlsSecurityOptionsSchema = exports.HysteriaTransportOptionsSchema = exports.HysteriaProtocolOptionsSchema = exports.KcpTransportOptionsSchema = exports.GrpcTransportOptionsSchema = exports.HttpUpgradeTransportOptionsSchema = exports.WsTransportOptionsSchema = exports.XhttpTransportOptionsSchema = exports.TcpTransportOptionsSchema = exports.ShadowsocksProtocolOptionsSchema = exports.TrojanProtocolOptionsSchema = exports.VlessProtocolOptionsSchema = void 0;
|
|
3
|
+
exports.ResolvedProxyConfigSchema = exports.ResolvedProxyConfigBaseSchema = exports.ProxyEntryMetadataSchema = exports.SecurityVariantSchema = exports.TransportVariantSchema = exports.ProtocolVariantSchema = exports.RealitySecurityOptionsSchema = exports.TlsSecurityOptionsSchema = exports.HysteriaTransportOptionsSchema = exports.HysteriaProtocolOptionsSchema = exports.KcpTransportOptionsSchema = exports.GrpcTransportOptionsSchema = exports.HttpUpgradeTransportOptionsSchema = exports.WsTransportOptionsSchema = exports.XhttpTransportOptionsSchema = exports.TcpTransportOptionsSchema = exports.ShadowsocksProtocolOptionsSchema = exports.TrojanProtocolOptionsSchema = exports.VlessProtocolOptionsSchema = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const constants_1 = require("../constants");
|
|
6
6
|
const host_mapper_1 = require("./host-mapper");
|
|
@@ -113,10 +113,10 @@ const HysteriaProtocolSchema = zod_1.z.object({
|
|
|
113
113
|
protocolOptions: exports.HysteriaProtocolOptionsSchema,
|
|
114
114
|
});
|
|
115
115
|
exports.ProtocolVariantSchema = zod_1.z.discriminatedUnion('protocol', [
|
|
116
|
-
VlessProtocolSchema,
|
|
117
|
-
TrojanProtocolSchema,
|
|
118
|
-
ShadowsocksProtocolSchema,
|
|
119
|
-
HysteriaProtocolSchema,
|
|
116
|
+
VlessProtocolSchema.meta({ title: 'vless' }),
|
|
117
|
+
TrojanProtocolSchema.meta({ title: 'trojan' }),
|
|
118
|
+
ShadowsocksProtocolSchema.meta({ title: 'shadowsocks' }),
|
|
119
|
+
HysteriaProtocolSchema.meta({ title: 'hysteria' }),
|
|
120
120
|
]);
|
|
121
121
|
const TcpTransportSchema = zod_1.z.object({
|
|
122
122
|
transport: zod_1.z.literal('tcp'),
|
|
@@ -147,13 +147,13 @@ const HysteriaTransportSchema = zod_1.z.object({
|
|
|
147
147
|
transportOptions: exports.HysteriaTransportOptionsSchema,
|
|
148
148
|
});
|
|
149
149
|
exports.TransportVariantSchema = zod_1.z.discriminatedUnion('transport', [
|
|
150
|
-
TcpTransportSchema,
|
|
151
|
-
XHttpTransportSchema,
|
|
152
|
-
WsTransportSchema,
|
|
153
|
-
HttpUpgradeTransportSchema,
|
|
154
|
-
GrpcTransportSchema,
|
|
155
|
-
KcpTransportSchema,
|
|
156
|
-
HysteriaTransportSchema,
|
|
150
|
+
TcpTransportSchema.meta({ title: 'tcp' }),
|
|
151
|
+
XHttpTransportSchema.meta({ title: 'xhttp' }),
|
|
152
|
+
WsTransportSchema.meta({ title: 'ws' }),
|
|
153
|
+
HttpUpgradeTransportSchema.meta({ title: 'httpupgrade' }),
|
|
154
|
+
GrpcTransportSchema.meta({ title: 'grpc' }),
|
|
155
|
+
KcpTransportSchema.meta({ title: 'kcp' }),
|
|
156
|
+
HysteriaTransportSchema.meta({ title: 'hysteria' }),
|
|
157
157
|
]);
|
|
158
158
|
const TlsSecuritySchema = zod_1.z.object({
|
|
159
159
|
security: zod_1.z.literal('tls'),
|
|
@@ -167,9 +167,9 @@ const NoneSecuritySchema = zod_1.z.object({
|
|
|
167
167
|
security: zod_1.z.literal('none'),
|
|
168
168
|
});
|
|
169
169
|
exports.SecurityVariantSchema = zod_1.z.discriminatedUnion('security', [
|
|
170
|
-
TlsSecuritySchema,
|
|
171
|
-
RealitySecuritySchema,
|
|
172
|
-
NoneSecuritySchema,
|
|
170
|
+
TlsSecuritySchema.meta({ title: 'tls' }),
|
|
171
|
+
RealitySecuritySchema.meta({ title: 'reality' }),
|
|
172
|
+
NoneSecuritySchema.meta({ title: 'none' }),
|
|
173
173
|
]);
|
|
174
174
|
exports.ProxyEntryMetadataSchema = zod_1.z.object({
|
|
175
175
|
uuid: zod_1.z.uuid(),
|
|
@@ -185,29 +185,10 @@ exports.ProxyEntryMetadataSchema = zod_1.z.object({
|
|
|
185
185
|
vlessRouteId: zod_1.z.int().nullable(),
|
|
186
186
|
rawInbound: zod_1.z.nullable(zod_1.z.unknown()),
|
|
187
187
|
});
|
|
188
|
-
exports.
|
|
188
|
+
exports.ResolvedProxyConfigBaseSchema = zod_1.z.object({
|
|
189
189
|
finalRemark: zod_1.z.string(),
|
|
190
190
|
address: zod_1.z.string(),
|
|
191
191
|
port: zod_1.z.int().positive(),
|
|
192
|
-
protocol: zod_1.z.enum(['vless', 'trojan', 'shadowsocks', 'hysteria']),
|
|
193
|
-
protocolOptions: zod_1.z.union([
|
|
194
|
-
exports.VlessProtocolOptionsSchema,
|
|
195
|
-
exports.TrojanProtocolOptionsSchema,
|
|
196
|
-
exports.ShadowsocksProtocolOptionsSchema,
|
|
197
|
-
exports.HysteriaProtocolOptionsSchema,
|
|
198
|
-
]),
|
|
199
|
-
transport: zod_1.z.enum(['tcp', 'xhttp', 'ws', 'httpupgrade', 'grpc', 'kcp', 'hysteria']),
|
|
200
|
-
transportOptions: zod_1.z.union([
|
|
201
|
-
exports.TcpTransportOptionsSchema,
|
|
202
|
-
exports.XhttpTransportOptionsSchema,
|
|
203
|
-
exports.WsTransportOptionsSchema,
|
|
204
|
-
exports.HttpUpgradeTransportOptionsSchema,
|
|
205
|
-
exports.GrpcTransportOptionsSchema,
|
|
206
|
-
exports.KcpTransportOptionsSchema,
|
|
207
|
-
exports.HysteriaTransportOptionsSchema,
|
|
208
|
-
]),
|
|
209
|
-
security: zod_1.z.enum(['tls', 'reality', 'none']),
|
|
210
|
-
securityOptions: zod_1.z.union([exports.TlsSecurityOptionsSchema, exports.RealitySecurityOptionsSchema]).optional(),
|
|
211
192
|
streamOverrides: zod_1.z.object({
|
|
212
193
|
finalMask: zod_1.z.nullable(zod_1.z.unknown()),
|
|
213
194
|
sockopt: zod_1.z.nullable(zod_1.z.unknown()),
|
|
@@ -223,3 +204,6 @@ exports.ResolvedProxyConfigSchema = zod_1.z.object({
|
|
|
223
204
|
}),
|
|
224
205
|
metadata: exports.ProxyEntryMetadataSchema,
|
|
225
206
|
});
|
|
207
|
+
exports.ResolvedProxyConfigSchema = exports.ResolvedProxyConfigBaseSchema.and(exports.ProtocolVariantSchema)
|
|
208
|
+
.and(exports.TransportVariantSchema)
|
|
209
|
+
.and(exports.SecurityVariantSchema);
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.SharedListPreviewSchema = exports.SharedListsSchema = exports.SharedListNameSchema = void 0;
|
|
7
|
+
const zod_1 = __importDefault(require("zod"));
|
|
8
|
+
exports.SharedListNameSchema = zod_1.default
|
|
9
|
+
.string()
|
|
10
|
+
.min(2, 'Name must be at least 2 characters')
|
|
11
|
+
.max(255, 'Name must be less than 255 characters')
|
|
12
|
+
.regex(/^[A-Za-z0-9_-]+$/, 'Name can only contain letters, numbers, underscores and dashes. The "ext:" prefix is added automatically');
|
|
13
|
+
exports.SharedListsSchema = zod_1.default.object({
|
|
14
|
+
name: exports.SharedListNameSchema,
|
|
15
|
+
config: zod_1.default.record(zod_1.default.string(), zod_1.default.unknown()),
|
|
16
|
+
});
|
|
17
|
+
exports.SharedListPreviewSchema = zod_1.default.object({
|
|
18
|
+
name: exports.SharedListNameSchema,
|
|
19
|
+
type: zod_1.default.string(),
|
|
20
|
+
itemsCount: zod_1.default.number(),
|
|
21
|
+
});
|
package/package.json
CHANGED