MHSanaei
328d920e98
feat(mtproto): enforce per-client quota & expiry via mtg-multi limits
...
Map each mtproto client's totalGB and expiryTime onto mtg-multi's new
[secret-limits] (quota/expires): emit them into the generated config and
hot-apply through PUT /secrets so live connections survive. Quota is
written as an exact "<n>B" byte count that round-trips through both the
config and API parsers without the precision loss of a base-2 unit.
The sidecar's quota counter is not pruned when a secret is dropped, so a
panel-side traffic reset re-pushes the client's secret and then calls
POST /secrets/{name}/reset-quota (wired into every reset path) so a
renewed client is not immediately re-blocked.
Resolve the mtg-multi binary from the fork's latest release tag in
DockerInit.sh and release.yml instead of a hardcoded version pin, so the
panel no longer needs a manual bump per fork release.
2026-07-08 15:30:56 +02:00
..
2026-06-27 15:42:22 +02:00
2026-06-27 15:42:22 +02:00
2026-07-06 08:35:48 +02:00
2026-07-02 18:19:33 +02:00
2026-07-03 09:36:53 +02:00
2026-06-20 10:35:46 +02:00
2026-06-27 12:08:20 +02:00
2026-07-05 02:06:58 +02:00
2026-06-10 15:19:22 +02:00
2026-07-05 21:17:25 +02:00
2026-06-27 15:42:22 +02:00
2026-06-27 15:42:22 +02:00
2026-06-29 13:39:03 +02:00
2026-07-05 20:28:26 +02:00
2026-07-07 15:05:22 +02:00
2026-07-07 15:05:22 +02:00
2026-07-05 20:28:26 +02:00
2026-06-24 13:02:42 +02:00
2026-06-10 15:19:22 +02:00
2026-06-14 20:57:14 +02:00
2026-06-11 12:04:02 +02:00
2026-06-17 15:55:56 +02:00
2026-07-02 09:17:47 +02:00
2026-07-05 01:58:18 +03:00
2026-07-07 12:00:43 +02:00
2026-07-07 12:00:43 +02:00
2026-07-05 21:17:25 +02:00
2026-06-24 13:02:42 +02:00
2026-06-10 15:19:22 +02:00
2026-07-02 09:17:47 +02:00
2026-07-07 12:00:43 +02:00
2026-06-10 15:19:22 +02:00
2026-06-10 15:19:22 +02:00
2026-07-08 15:30:56 +02:00
2026-06-29 13:39:03 +02:00
2026-07-05 20:28:26 +02:00
2026-07-02 09:45:54 +02:00
2026-07-02 09:45:54 +02:00
2026-06-10 15:19:22 +02:00
2026-06-10 23:01:33 +02:00
2026-07-05 20:28:26 +02:00
2026-06-27 15:42:22 +02:00
2026-07-02 13:27:36 +02:00
2026-06-17 12:06:55 +02:00
2026-06-17 12:06:55 +02:00
2026-06-20 10:35:46 +02:00
2026-06-10 15:19:22 +02:00
2026-07-02 13:37:06 +02:00
2026-07-02 16:24:18 +02:00
2026-07-06 16:04:32 +02:00
2026-07-02 16:24:18 +02:00
2026-06-24 13:02:42 +02:00
2026-06-24 13:02:42 +02:00
2026-06-27 13:50:06 +02:00
2026-06-12 13:00:04 +02:00
2026-06-15 15:17:03 +02:00
2026-06-27 15:42:22 +02:00
2026-07-07 01:13:24 +02:00
2026-07-07 01:13:24 +02:00
2026-07-07 01:13:24 +02:00
2026-07-06 17:55:57 +02:00
2026-07-08 15:30:56 +02:00
2026-06-22 20:20:55 +02:00
2026-07-02 13:37:06 +02:00
2026-07-03 09:47:30 +02:00
2026-07-07 15:05:23 +02:00
2026-07-03 01:12:32 +02:00
2026-06-11 12:04:02 +02:00
2026-06-11 12:04:02 +02:00
2026-06-12 12:03:22 +02:00
2026-06-27 11:22:45 +02:00
2026-07-05 20:18:59 +02:00
2026-06-11 15:14:08 +02:00
2026-07-08 15:30:56 +02:00
2026-06-27 15:42:22 +02:00
2026-06-12 12:03:22 +02:00
2026-07-07 12:19:26 +02:00
2026-06-26 00:10:30 +02:00
2026-06-25 23:30:13 +02:00
2026-07-07 01:13:24 +02:00
2026-07-05 20:28:26 +02:00
2026-06-22 20:20:55 +02:00
2026-07-02 09:36:07 +02:00
2026-07-07 15:05:23 +02:00
2026-07-02 13:37:06 +02:00
2026-06-20 01:09:53 +02:00
2026-07-05 20:28:26 +02:00
2026-06-27 15:42:22 +02:00
2026-06-16 12:19:33 +02:00
2026-06-16 12:19:33 +02:00
2026-06-22 20:20:55 +02:00
2026-06-22 20:20:55 +02:00
2026-06-10 15:19:22 +02:00
2026-06-11 20:48:26 +02:00
2026-06-10 15:19:22 +02:00
2026-06-22 20:20:55 +02:00
2026-06-29 18:35:38 +02:00
2026-06-23 10:48:01 +02:00
2026-06-27 15:42:22 +02:00
2026-06-27 15:42:22 +02:00
2026-06-15 17:21:06 +02:00
2026-06-26 22:18:47 +02:00
2026-06-26 22:18:47 +02:00
2026-07-02 16:12:46 +02:00
2026-07-06 09:24:18 +02:00
2026-06-24 21:22:42 +02:00
2026-06-20 00:37:35 +02:00
2026-07-06 09:24:18 +02:00
2026-06-16 12:19:33 +02:00
2026-06-16 12:19:33 +02:00
2026-07-02 13:57:34 +02:00
2026-07-02 13:57:34 +02:00
2026-06-17 14:11:35 +02:00
2026-06-10 15:19:22 +02:00
2026-07-05 20:28:26 +02:00
2026-07-02 16:12:46 +02:00
2026-06-10 15:19:22 +02:00
2026-06-17 15:55:47 +02:00
2026-06-10 15:19:22 +02:00
2026-07-02 16:12:46 +02:00
2026-07-07 01:13:24 +02:00
2026-07-02 16:12:46 +02:00
2026-06-15 21:03:41 +02:00
2026-06-20 01:18:31 +02:00
2026-06-20 01:18:31 +02:00
2026-06-10 15:19:22 +02:00
2026-06-27 15:42:22 +02:00
2026-06-15 00:43:49 +02:00
2026-06-28 00:44:38 +02:00
2026-06-23 17:38:16 +02:00
2026-07-02 09:26:53 +02:00