Skip to content

Commit b72f651

Browse files
authored
chore: release v2.2.4
Merge pull request #110 from remnawave/dev
2 parents 03d11c0 + 5119b4b commit b72f651

File tree

65 files changed

+667
-160
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+667
-160
lines changed

.env.sample

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ METRICS_PASS=admin
5858

5959
### WEBHOOK ###
6060
WEBHOOK_ENABLED=false
61-
### Only https:// is allowed
61+
### Can be https:// or http://
6262
WEBHOOK_URL=https://webhook.site/1234567890
6363
### This secret is used to sign the webhook payload, must be exact 64 characters. Only a-z, 0-9, A-Z are allowed.
6464
WEBHOOK_SECRET_HEADER=vsmu67Kmg6R8FjIOF1WUY8LWBHie4scdEqrfsKmyf4IAf8dY3nFS0wwYHkhh6ZvQ

docker-compose-prod.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@ services:
2222
interval: 3s
2323
timeout: 10s
2424
retries: 3
25+
logging:
26+
driver: 'json-file'
27+
options:
28+
max-size: '100m'
29+
max-file: '10'
2530

2631
remnawave:
2732
image: remnawave/backend:2
@@ -45,6 +50,11 @@ services:
4550
condition: service_healthy
4651
remnawave-redis:
4752
condition: service_healthy
53+
logging:
54+
driver: 'json-file'
55+
options:
56+
max-size: '100m'
57+
max-file: '10'
4858

4959
remnawave-redis:
5060
image: valkey/valkey:8.1-alpine
@@ -60,6 +70,11 @@ services:
6070
interval: 3s
6171
timeout: 10s
6272
retries: 3
73+
logging:
74+
driver: 'json-file'
75+
options:
76+
max-size: '100m'
77+
max-file: '10'
6378

6479
networks:
6580
remnawave-network:

libs/contract/api/controllers/config-profiles.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,6 @@ export const CONFIG_PROFILES_ROUTES = {
77
GET_BY_UUID: (uuid: string) => `${uuid}`, // Get config profile by uuid // get
88
DELETE: (uuid: string) => `${uuid}`, // Delete config profile by uuid // delete
99
GET_INBOUNDS_BY_PROFILE_UUID: (uuid: string) => `${uuid}/inbounds`, // Get list of all inbounds by config profile uuid // get
10+
GET_COMPUTED_CONFIG_BY_PROFILE_UUID: (uuid: string) => `${uuid}/computed-config`, // Get computed config by config profile uuid // get
1011
GET_ALL_INBOUNDS: 'inbounds', // Get list of all inbounds // get
1112
} as const;

libs/contract/api/controllers/nodes.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ export const NODES_ROUTES = {
1313
ENABLE: (uuid: string) => `${uuid}/${NODE_ACTIONS_ROUTE}/enable`,
1414
DISABLE: (uuid: string) => `${uuid}/${NODE_ACTIONS_ROUTE}/disable`,
1515
RESTART: (uuid: string) => `${uuid}/${NODE_ACTIONS_ROUTE}/restart`,
16+
RESET_TRAFFIC: (uuid: string) => `${uuid}/${NODE_ACTIONS_ROUTE}/reset-traffic`,
1617

1718
RESTART_ALL: `${NODE_ACTIONS_ROUTE}/restart-all`,
1819
REORDER: `${NODE_ACTIONS_ROUTE}/reorder`,

libs/contract/api/routes.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,10 @@ export const REST_API = {
6161
uuid,
6262
)}`,
6363
RESTART_ALL: `${ROOT}/${CONTROLLERS.NODES_CONTROLLER}/${CONTROLLERS.NODES_ROUTES.ACTIONS.RESTART_ALL}`,
64+
RESET_TRAFFIC: (uuid: string) =>
65+
`${ROOT}/${CONTROLLERS.NODES_CONTROLLER}/${CONTROLLERS.NODES_ROUTES.ACTIONS.RESET_TRAFFIC(
66+
uuid,
67+
)}`,
6468
REORDER: `${ROOT}/${CONTROLLERS.NODES_CONTROLLER}/${CONTROLLERS.NODES_ROUTES.ACTIONS.REORDER}`,
6569
},
6670

@@ -273,6 +277,10 @@ export const REST_API = {
273277
`${ROOT}/${CONTROLLERS.CONFIG_PROFILES_CONTROLLER}/${CONTROLLERS.CONFIG_PROFILES_ROUTES.GET_INBOUNDS_BY_PROFILE_UUID(
274278
uuid,
275279
)}`,
280+
GET_COMPUTED_CONFIG_BY_PROFILE_UUID: (uuid: string) =>
281+
`${ROOT}/${CONTROLLERS.CONFIG_PROFILES_CONTROLLER}/${CONTROLLERS.CONFIG_PROFILES_ROUTES.GET_COMPUTED_CONFIG_BY_PROFILE_UUID(
282+
uuid,
283+
)}`,
276284
GET_ALL_INBOUNDS: `${ROOT}/${CONTROLLERS.CONFIG_PROFILES_CONTROLLER}/${CONTROLLERS.CONFIG_PROFILES_ROUTES.GET_ALL_INBOUNDS}`,
277285
},
278286
INTERNAL_SQUADS: {
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import { z } from 'zod';
2+
3+
import { CONFIG_PROFILES_ROUTES, REST_API } from '../../api';
4+
import { getEndpointDetails } from '../../constants';
5+
import { ConfigProfileSchema } from '../../models';
6+
7+
export namespace GetComputedConfigProfileByUuidCommand {
8+
export const url = REST_API.CONFIG_PROFILES.GET_COMPUTED_CONFIG_BY_PROFILE_UUID;
9+
export const TSQ_url = url(':uuid');
10+
11+
export const endpointDetails = getEndpointDetails(
12+
CONFIG_PROFILES_ROUTES.GET_COMPUTED_CONFIG_BY_PROFILE_UUID(':uuid'),
13+
'get',
14+
'Get computed config profile by uuid',
15+
);
16+
17+
export const RequestSchema = z.object({
18+
uuid: z.string().uuid(),
19+
});
20+
21+
export type Request = z.infer<typeof RequestSchema>;
22+
23+
export const ResponseSchema = z.object({
24+
response: ConfigProfileSchema,
25+
});
26+
27+
export type Response = z.infer<typeof ResponseSchema>;
28+
}

libs/contract/commands/config-profiles/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
export * from './create-config-profile.command';
22
export * from './delete-config-profile.command';
33
export * from './get-all-inbounds.command';
4+
export * from './get-computed-config-profile-by-uuid.command';
45
export * from './get-config-profile-by-uuid.command';
56
export * from './get-config-profiles.command';
67
export * from './get-inbounds-by-profile-uuid.command';

libs/contract/commands/external-squads/update-external-squad.command.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
import { z } from 'zod';
22

3-
import { ExternalSquadSchema, ExternalSquadSubscriptionSettingsSchema } from '../../models';
3+
import {
4+
ExternalSquadHostOverridesSchema,
5+
ExternalSquadSchema,
6+
ExternalSquadSubscriptionSettingsSchema,
7+
} from '../../models';
48
import { getEndpointDetails, SUBSCRIPTION_TEMPLATE_TYPE } from '../../constants';
59
import { EXTERNAL_SQUADS_ROUTES, REST_API } from '../../api';
610

@@ -34,6 +38,7 @@ export namespace UpdateExternalSquadCommand {
3438
)
3539
.optional(),
3640
subscriptionSettings: ExternalSquadSubscriptionSettingsSchema.optional(),
41+
hostOverrides: ExternalSquadHostOverridesSchema.optional(),
3742
});
3843

3944
export type Request = z.infer<typeof RequestSchema>;
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
export * from './disable.command';
22
export * from './enable.command';
33
export * from './reorder.command';
4+
export * from './reset-traffic.command';
45
export * from './restart-all.command';
56
export * from './restart.command';
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import { z } from 'zod';
2+
3+
import { getEndpointDetails } from '../../../constants';
4+
import { NODES_ROUTES, REST_API } from '../../../api';
5+
6+
export namespace ResetNodeTrafficCommand {
7+
export const url = REST_API.NODES.ACTIONS.RESET_TRAFFIC;
8+
export const TSQ_url = url(':uuid');
9+
10+
export const endpointDetails = getEndpointDetails(
11+
NODES_ROUTES.ACTIONS.RESET_TRAFFIC(':uuid'),
12+
'post',
13+
'Reset Node Traffic',
14+
);
15+
16+
export const RequestSchema = z.object({
17+
uuid: z.string().uuid(),
18+
});
19+
20+
export type Request = z.infer<typeof RequestSchema>;
21+
22+
export const ResponseSchema = z.object({
23+
response: z.object({
24+
eventSent: z.boolean(),
25+
}),
26+
});
27+
28+
export type Response = z.infer<typeof ResponseSchema>;
29+
}

0 commit comments

Comments
 (0)