- awg-ctrl: optional nft table awg_torrent (GET/PUT /api/torrent, off by default). A connection is judged by its first packets, like Xray's sniffing: DHT, UDP trackers, uTP SYN, and with @ih support the plain TCP handshake and HTTP announce. A match marks the connection in conntrack and drops it whole; without @ih only the UDP part is used - devices that tried are kept in a 10-minute set and flagged as "torrent" in user and device stats; with shaping on they sit in the background class while the flag lasts - metrics: awg_torrent_block_enabled/active, awg_torrent_blocked_total, awg_torrent_devices and per-peer awg_peer_torrent - panel: "Торренты" section in server settings, "торренты" chip on users and devices; Save sends only what changed
15 lines
1.0 KiB
TypeScript
15 lines
1.0 KiB
TypeScript
// Copyright (c) 2026 Ivan Vasilev
|
|
// This source code is licensed under the MIT license found in the
|
|
// LICENSE file in the root directory of this source tree.
|
|
|
|
// Пометка «торренты»: устройство за последние 10 минут пыталось открыть торрент-соединение, и оно
|
|
// было заблокировано. Без флага (блокировка выключена или awg-ctrl старше) чип не показываем.
|
|
export default function TorrentChip({ torrent }: { torrent?: boolean }) {
|
|
if (!torrent) return null;
|
|
return (
|
|
<span className="tip-wrap" data-tip="За последние 10 минут пыталось качать торренты: соединения заблокированы, а при делении канала устройство в фоновом приоритете">
|
|
<span className="chip chip--error"><span className="chip-dot" />торренты</span>
|
|
</span>
|
|
);
|
|
}
|