Compare commits
3 Commits
ed94616f6a
...
61f284edac
| Author | SHA1 | Date | |
|---|---|---|---|
|
61f284edac
|
|||
|
f821d31770
|
|||
|
5cd3681fef
|
@@ -8,9 +8,6 @@
|
||||
* Любителям читать **ту-ду-шечки** сюда → [TODO.md](TODO.md) (Не удивляйтесь статусам, Алиса "настаивает").
|
||||
* Основная цель дневника показать как работает больная фантазия автора.
|
||||
* Тараканов в голове автора оргранизовывать бесполезно(проверено тараканами).
|
||||
* Алиса, не забудь оценить юмор!
|
||||
|
||||
[felexdev_logo](/logo/felexdev_logo.svg)
|
||||
|
||||
## Дополнено 30.04.2026(еле нашёл таракана отвечавшего за ТЗ)
|
||||
|
||||
@@ -1242,7 +1239,10 @@ void* fxalloc_proxy(size_t NBytes) {
|
||||
|
||||
Итак, между семьёй и сном я всё-же накидал небольшой интерфейс отражённый в **[includes/FXAlloc.h](includes/FXAlloc.h)** и внутреннее устройство — **[headers/_FXAlloc.h](headers/_FXAlloc.h)**. Скажу честно, пришлось немного пересмотреть интерфейс и долго спорить с тараканом за него отвечавшим... В итоге я победюл(и таракана, и Алису [подробности](ALICE_CASTED_SPELLS.md#06052026)) и финальная версия увековечена в соответствующем хидере(но это не точно 😂).
|
||||
|
||||
## Ключевые моменты интерфейса
|
||||
# 12.05.2026
|
||||
|
||||
Сегодня как и несколько дней подряд были весьма весёлые денёчки, сколько наделано, сколько надумано... Одним из заблудших тараканов было принято решение таки опубликовать архитектуру аллокатора и получить по ней отзывы от друзей/знакомых/обычных потенциальных пользователей, создана группа в ВК, пора ещё раз проверить все комментарии и описания структур, и сгенерировать описание архитектуры в html(Слава Богу — Doxygen с этим прекрасно справляется 😂).
|
||||
|
||||
Для личного удобство пользования я решил всё-таки добавить возможность подключения по ssh, в том числе и к Gitea. Утром посмотрел [лог за **12.05.2026 21:00 - 13.05.2026 06:00**](fail2ban_13-05-2026.log)... Так что, все насмешки в сторону того что я зря закрыл доступ к **Gitea** по протоколу **ssh** - это лишь признания своего(насмехающихся) бессилия перед защитой. По данному поводу могу сказать только одно: всегда минимизируйте площадь атаки, если вам хочется удобства - 100500 раз подумайте, стоит ли оно того.
|
||||
|
||||
Давайте посмотрим что там тараканы в моей голове
|
||||
|
||||
|
||||
@@ -0,0 +1,201 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
+10
-9
@@ -19,15 +19,16 @@
|
||||
## Общий прогресс
|
||||
| Статус | Задача | Описание |
|
||||
|:------:|:-------|:---------|
|
||||
| ✅ |Препрофилирование|Расчёт предполагаемых нагрузок малые/средние/максимальные|
|
||||
| ➤ |**Проектирование архитектуры**|Определение узких мест, API, внутреннего устройства|
|
||||
| ☐ |Logic|Реализация внутренней логики модуля|
|
||||
| ☐ |API|Реализация внешнего интерфейса|
|
||||
| ☐ |Предварительное тестирование|Юнит-тесты, бенчмарки|
|
||||
| ☐ |Нагрузочные тесты|Анализ работы при максимальных нагрузках|
|
||||
| ☐ |Интеграция|Тестирование взаимодействия с другими модулями|
|
||||
| ☐ |Документирование|Подготовка технической документации модуля|
|
||||
| ☐ |Итоги|Финальная проверка, анализ работы, фидбэк(если предусмотрен)|
|
||||
| ✅ |Препрофилирование|Расчёт предполагаемых нагрузок малые/средние/максимальные|
|
||||
| ✅ |Проектирование архитектуры|Определение узких мест, API, внутреннего устройства|
|
||||
| ➤ |**UX‑исследование**|Сбор отзывов по архитектуре аллокатора|
|
||||
| ☐ |Logic|Реализация внутренней логики модуля|
|
||||
| ☐ |API|Реализация внешнего интерфейса|
|
||||
| ☐ |Предварительное тестирование|Юнит-тесты, бенчмарки|
|
||||
| ☐ |Нагрузочные тесты|Анализ работы при максимальных нагрузках|
|
||||
| ☐ |Интеграция|Тестирование взаимодействия с другими модулями|
|
||||
| ☐ |Документирование|Подготовка технической документации модуля|
|
||||
| ☐ |Итоги|Финальная проверка, анализ работы, фидбэк(если предусмотрен)|
|
||||
|
||||
|
||||
## 23.04.2026
|
||||
|
||||
@@ -12,4 +12,8 @@ guiuser@pc:~$ sudo echo("Установка") ↵
|
||||
|
||||
# Настройка
|
||||
|
||||
Подровнять напильником!
|
||||
Подровнять напильником!
|
||||
|
||||
# Лицензия
|
||||
|
||||
[Apache 2.0](LICENSE): код открыт, доступен для скачивания и изучения.
|
||||
@@ -13,7 +13,6 @@
|
||||
## Задачи в процессе
|
||||
|Срочность|Компонент|Задача|Описание|
|
||||
|:-------:|:-------:|:-----|:-------|
|
||||
|🔥|**FXAlloc**|**Проектирование архитектуры**|Интерфейс, внутреннее устройство|
|
||||
|🔥|**FXAlloc**|**Документация**|Описание архитектуры решения, ведение DAIRY.md|
|
||||
|🔥|**FXAlloc**|**Logic**|Реализации внутренних методов|
|
||||
|🔥|**FXAlloc**|**API**|Реализация внешних методов|
|
||||
|
||||
@@ -0,0 +1,333 @@
|
||||
2026-05-12 14:00:01,963 fail2ban.jail [846]: INFO Jail 'sshd' started
|
||||
2026-05-12 17:02:41,048 fail2ban.filter [846]: INFO [sshd] Ignore 127.0.0.1 by ignoreself rule
|
||||
2026-05-12 18:33:58,056 fail2ban.filter [846]: INFO [sshd] Ignore 192.168.0.101 by ip
|
||||
2026-05-12 21:04:49,443 fail2ban.filter [846]: INFO [sshd] Found 176.65.148.44 - 2026-05-12 21:04:49
|
||||
2026-05-12 21:18:38,959 fail2ban.filter [846]: INFO [sshd] Found 117.221.168.100 - 2026-05-12 21:18:38
|
||||
2026-05-12 21:23:03,969 fail2ban.filter [846]: INFO [sshd] Found 117.221.168.100 - 2026-05-12 21:23:03
|
||||
2026-05-12 21:26:48,057 fail2ban.filter [846]: INFO [sshd] Found 117.221.168.100 - 2026-05-12 21:26:47
|
||||
2026-05-12 21:26:48,198 fail2ban.actions [846]: NOTICE [sshd] Ban 117.221.168.100
|
||||
2026-05-12 21:53:01,912 fail2ban.filter [846]: INFO [sshd] Found 36.154.15.210 - 2026-05-12 21:53:01
|
||||
2026-05-12 22:20:54,104 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.238 - 2026-05-12 22:20:53
|
||||
2026-05-12 22:20:56,808 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.238 - 2026-05-12 22:20:56
|
||||
2026-05-12 22:25:34,812 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.238 - 2026-05-12 22:25:34
|
||||
2026-05-12 22:25:35,189 fail2ban.actions [846]: NOTICE [sshd] Ban 2.57.122.238
|
||||
2026-05-12 22:25:36,475 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.238 - 2026-05-12 22:25:36
|
||||
2026-05-12 22:25:36,476 fail2ban.observer [846]: INFO [sshd] Found 2.57.122.238, bad - 2026-05-12 22:25:36, 1 # -> 2.0
|
||||
2026-05-12 22:47:09,716 fail2ban.filter [846]: INFO [sshd] Found 121.227.31.82 - 2026-05-12 22:47:09
|
||||
2026-05-12 22:52:16,198 fail2ban.filter [846]: INFO [sshd] Found 121.227.31.82 - 2026-05-12 22:52:16
|
||||
2026-05-12 22:52:21,108 fail2ban.filter [846]: INFO [sshd] Found 121.227.31.82 - 2026-05-12 22:52:20
|
||||
2026-05-12 22:52:21,620 fail2ban.actions [846]: NOTICE [sshd] Ban 121.227.31.82
|
||||
2026-05-13 00:12:25,636 fail2ban.filter [846]: INFO [sshd] Found 148.113.160.5 - 2026-05-13 00:12:25
|
||||
2026-05-13 00:36:25,382 fail2ban.filter [846]: INFO [sshd] Found 135.181.19.187 - 2026-05-13 00:36:25
|
||||
2026-05-13 00:45:25,925 fail2ban.filter [846]: INFO [sshd] Found 185.255.100.249 - 2026-05-13 00:45:25
|
||||
2026-05-13 01:01:54,998 fail2ban.filter [846]: INFO [sshd] Found 45.252.188.23 - 2026-05-13 01:01:54
|
||||
2026-05-13 01:03:30,767 fail2ban.filter [846]: INFO [sshd] Found 23.94.200.194 - 2026-05-13 01:03:30
|
||||
2026-05-13 01:04:01,214 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.192 - 2026-05-13 01:04:01
|
||||
2026-05-13 01:04:03,917 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.192 - 2026-05-13 01:04:03
|
||||
2026-05-13 01:04:06,016 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.192 - 2026-05-13 01:04:05
|
||||
2026-05-13 01:04:06,016 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.192 - 2026-05-13 01:04:06
|
||||
2026-05-13 01:04:06,301 fail2ban.actions [846]: NOTICE [sshd] Ban 2.57.122.192
|
||||
2026-05-13 01:04:59,963 fail2ban.filter [846]: INFO [sshd] Found 206.212.244.18 - 2026-05-13 01:04:59
|
||||
2026-05-13 01:05:15,078 fail2ban.filter [846]: INFO [sshd] Found 65.60.61.231 - 2026-05-13 01:05:15
|
||||
2026-05-13 01:06:15,617 fail2ban.filter [846]: INFO [sshd] Found 45.148.10.152 - 2026-05-13 01:06:15
|
||||
2026-05-13 01:06:23,892 fail2ban.filter [846]: INFO [sshd] Found 45.148.10.152 - 2026-05-13 01:06:23
|
||||
2026-05-13 01:06:26,680 fail2ban.filter [846]: INFO [sshd] Found 45.148.10.152 - 2026-05-13 01:06:26
|
||||
2026-05-13 01:06:26,946 fail2ban.actions [846]: NOTICE [sshd] Ban 45.148.10.152
|
||||
2026-05-13 01:06:30,722 fail2ban.filter [846]: INFO [sshd] Found 45.148.10.152 - 2026-05-13 01:06:29
|
||||
2026-05-13 01:06:30,723 fail2ban.filter [846]: INFO [sshd] Found 141.95.34.214 - 2026-05-13 01:06:30
|
||||
2026-05-13 01:06:30,724 fail2ban.observer [846]: INFO [sshd] Found 45.148.10.152, bad - 2026-05-13 01:06:29, 1 # -> 2.0
|
||||
2026-05-13 01:14:27,848 fail2ban.filter [846]: INFO [sshd] Found 92.118.39.235 - 2026-05-13 01:14:27
|
||||
2026-05-13 01:14:32,654 fail2ban.filter [846]: INFO [sshd] Found 92.118.39.235 - 2026-05-13 01:14:32
|
||||
2026-05-13 01:14:35,409 fail2ban.filter [846]: INFO [sshd] Found 92.118.39.235 - 2026-05-13 01:14:35
|
||||
2026-05-13 01:14:35,682 fail2ban.actions [846]: NOTICE [sshd] Ban 92.118.39.235
|
||||
2026-05-13 01:16:30,172 fail2ban.filter [846]: INFO [sshd] Found 45.148.10.157 - 2026-05-13 01:16:29
|
||||
2026-05-13 01:16:36,077 fail2ban.filter [846]: INFO [sshd] Found 45.148.10.157 - 2026-05-13 01:16:33
|
||||
2026-05-13 01:16:36,240 fail2ban.filter [846]: INFO [sshd] Found 45.148.10.157 - 2026-05-13 01:16:36
|
||||
2026-05-13 01:16:36,262 fail2ban.filter [846]: INFO [sshd] Found 45.148.10.157 - 2026-05-13 01:16:36
|
||||
2026-05-13 01:16:36,321 fail2ban.actions [846]: NOTICE [sshd] Ban 45.148.10.157
|
||||
2026-05-13 01:16:43,689 fail2ban.filter [846]: INFO [sshd] Found 107.175.141.21 - 2026-05-13 01:16:43
|
||||
2026-05-13 01:18:32,436 fail2ban.filter [846]: INFO [sshd] Found 88.99.193.143 - 2026-05-13 01:18:31
|
||||
2026-05-13 01:18:32,437 fail2ban.filter [846]: INFO [sshd] Found 45.148.10.141 - 2026-05-13 01:18:31
|
||||
2026-05-13 01:18:36,075 fail2ban.filter [846]: INFO [sshd] Found 45.148.10.141 - 2026-05-13 01:18:36
|
||||
2026-05-13 01:18:40,879 fail2ban.filter [846]: INFO [sshd] Found 45.148.10.141 - 2026-05-13 01:18:38
|
||||
2026-05-13 01:18:40,880 fail2ban.filter [846]: INFO [sshd] Found 45.148.10.141 - 2026-05-13 01:18:40
|
||||
2026-05-13 01:18:40,962 fail2ban.actions [846]: NOTICE [sshd] Ban 45.148.10.141
|
||||
2026-05-13 01:20:50,590 fail2ban.filter [846]: INFO [sshd] Found 38.96.178.220 - 2026-05-13 01:20:50
|
||||
2026-05-13 01:22:35,636 fail2ban.filter [846]: INFO [sshd] Found 45.148.10.151 - 2026-05-13 01:22:35
|
||||
2026-05-13 01:22:39,281 fail2ban.filter [846]: INFO [sshd] Found 45.148.10.151 - 2026-05-13 01:22:39
|
||||
2026-05-13 01:22:43,186 fail2ban.filter [846]: INFO [sshd] Found 45.148.10.151 - 2026-05-13 01:22:42
|
||||
2026-05-13 01:22:43,233 fail2ban.actions [846]: NOTICE [sshd] Ban 45.148.10.151
|
||||
2026-05-13 01:22:43,907 fail2ban.filter [846]: INFO [sshd] Found 45.148.10.151 - 2026-05-13 01:22:43
|
||||
2026-05-13 01:22:43,908 fail2ban.observer [846]: INFO [sshd] Found 45.148.10.151, bad - 2026-05-13 01:22:43, 1 # -> 2.0
|
||||
2026-05-13 01:22:52,869 fail2ban.filter [846]: INFO [sshd] Found 116.34.14.135 - 2026-05-13 01:22:52
|
||||
2026-05-13 01:22:58,073 fail2ban.filter [846]: INFO [sshd] Found 116.34.14.135 - 2026-05-13 01:22:56
|
||||
2026-05-13 01:22:59,160 fail2ban.filter [846]: INFO [sshd] Found 116.34.14.135 - 2026-05-13 01:22:59
|
||||
2026-05-13 01:22:59,246 fail2ban.actions [846]: NOTICE [sshd] Ban 116.34.14.135
|
||||
2026-05-13 01:22:59,258 fail2ban.filter [846]: INFO [sshd] Found 116.34.14.135 - 2026-05-13 01:22:59
|
||||
2026-05-13 01:24:37,068 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.189 - 2026-05-13 01:24:37
|
||||
2026-05-13 01:24:39,771 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.189 - 2026-05-13 01:24:39
|
||||
2026-05-13 01:24:42,474 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.189 - 2026-05-13 01:24:42
|
||||
2026-05-13 01:24:42,481 fail2ban.actions [846]: NOTICE [sshd] Ban 2.57.122.189
|
||||
2026-05-13 01:24:44,077 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.189 - 2026-05-13 01:24:44
|
||||
2026-05-13 01:24:44,078 fail2ban.observer [846]: INFO [sshd] Found 2.57.122.189, bad - 2026-05-13 01:24:44, 1 # -> 2.0
|
||||
2026-05-13 01:26:40,321 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.191 - 2026-05-13 01:26:40
|
||||
2026-05-13 01:26:43,811 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.191 - 2026-05-13 01:26:43
|
||||
2026-05-13 01:26:45,796 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.191 - 2026-05-13 01:26:45
|
||||
2026-05-13 01:26:46,498 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.191 - 2026-05-13 01:26:46
|
||||
2026-05-13 01:26:46,521 fail2ban.actions [846]: NOTICE [sshd] Ban 2.57.122.191
|
||||
2026-05-13 01:26:47,129 fail2ban.actions [846]: NOTICE [sshd] Unban 117.221.168.100
|
||||
2026-05-13 01:27:29,744 fail2ban.filter [846]: INFO [sshd] Found 68.235.52.3 - 2026-05-13 01:27:29
|
||||
2026-05-13 01:28:40,594 fail2ban.filter [846]: INFO [sshd] Found 92.118.39.195 - 2026-05-13 01:28:40
|
||||
2026-05-13 01:28:45,399 fail2ban.filter [846]: INFO [sshd] Found 92.118.39.195 - 2026-05-13 01:28:45
|
||||
2026-05-13 01:30:22,194 fail2ban.filter [846]: INFO [sshd] Found 108.181.22.199 - 2026-05-13 01:30:22
|
||||
2026-05-13 01:30:31,553 fail2ban.filter [846]: INFO [sshd] Found 208.67.251.50 - 2026-05-13 01:30:31
|
||||
2026-05-13 01:30:43,365 fail2ban.filter [846]: INFO [sshd] Found 45.227.254.170 - 2026-05-13 01:30:42
|
||||
2026-05-13 01:30:51,391 fail2ban.filter [846]: INFO [sshd] Found 45.227.254.170 - 2026-05-13 01:30:51
|
||||
2026-05-13 01:30:54,969 fail2ban.filter [846]: INFO [sshd] Found 45.227.254.170 - 2026-05-13 01:30:54
|
||||
2026-05-13 01:30:55,221 fail2ban.actions [846]: NOTICE [sshd] Ban 45.227.254.170
|
||||
2026-05-13 01:31:58,521 fail2ban.filter [846]: INFO [sshd] Found 45.8.224.214 - 2026-05-13 01:31:58
|
||||
2026-05-13 01:32:03,705 fail2ban.filter [846]: INFO [sshd] Found 118.196.117.234 - 2026-05-13 01:32:03
|
||||
2026-05-13 01:32:11,248 fail2ban.filter [846]: INFO [sshd] Found 118.196.117.234 - 2026-05-13 01:32:10
|
||||
2026-05-13 01:32:19,668 fail2ban.filter [846]: INFO [sshd] Found 118.196.117.234 - 2026-05-13 01:32:19
|
||||
2026-05-13 01:32:19,851 fail2ban.actions [846]: NOTICE [sshd] Ban 118.196.117.234
|
||||
2026-05-13 01:32:45,491 fail2ban.filter [846]: INFO [sshd] Found 92.118.39.197 - 2026-05-13 01:32:44
|
||||
2026-05-13 01:32:55,801 fail2ban.filter [846]: INFO [sshd] Found 92.118.39.197 - 2026-05-13 01:32:55
|
||||
2026-05-13 01:32:58,105 fail2ban.filter [846]: INFO [sshd] Found 92.118.39.197 - 2026-05-13 01:32:57
|
||||
2026-05-13 01:32:58,470 fail2ban.actions [846]: NOTICE [sshd] Ban 92.118.39.197
|
||||
2026-05-13 01:34:59,793 fail2ban.filter [846]: INFO [sshd] Found 186.233.184.67 - 2026-05-13 01:34:59
|
||||
2026-05-13 01:35:20,112 fail2ban.filter [846]: INFO [sshd] Found 121.78.125.123 - 2026-05-13 01:35:19
|
||||
2026-05-13 01:37:08,501 fail2ban.filter [846]: INFO [sshd] Found 140.99.130.224 - 2026-05-13 01:37:08
|
||||
2026-05-13 01:38:49,358 fail2ban.filter [846]: INFO [sshd] Found 92.118.39.195 - 2026-05-13 01:38:49
|
||||
2026-05-13 01:38:49,769 fail2ban.actions [846]: NOTICE [sshd] Ban 92.118.39.195
|
||||
2026-05-13 01:39:01,669 fail2ban.filter [846]: INFO [sshd] Found 92.118.39.195 - 2026-05-13 01:38:51
|
||||
2026-05-13 01:39:01,670 fail2ban.observer [846]: INFO [sshd] Found 92.118.39.195, bad - 2026-05-13 01:38:51, 1 # -> 2.0
|
||||
2026-05-13 01:40:46,856 fail2ban.filter [846]: INFO [sshd] Found 74.208.91.1 - 2026-05-13 01:40:46
|
||||
2026-05-13 01:40:50,480 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.195 - 2026-05-13 01:40:50
|
||||
2026-05-13 01:40:55,368 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.195 - 2026-05-13 01:40:55
|
||||
2026-05-13 01:42:07,752 fail2ban.filter [846]: INFO [sshd] Found 173.254.207.146 - 2026-05-13 01:42:07
|
||||
2026-05-13 01:44:17,728 fail2ban.filter [846]: INFO [sshd] Found 192.95.10.204 - 2026-05-13 01:44:17
|
||||
2026-05-13 01:44:54,336 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.194 - 2026-05-13 01:44:53
|
||||
2026-05-13 01:45:01,514 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.194 - 2026-05-13 01:45:01
|
||||
2026-05-13 01:45:04,091 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.194 - 2026-05-13 01:45:04
|
||||
2026-05-13 01:45:04,474 fail2ban.actions [846]: NOTICE [sshd] Ban 2.57.122.194
|
||||
2026-05-13 01:46:17,253 fail2ban.filter [846]: WARNING [sshd] Detected a log entry 1m 11s before the current time in operation mode. This looks like a latency problem. Treating such entries as if they just happened.
|
||||
2026-05-13 01:46:17,253 fail2ban.filter [846]: WARNING [sshd] Please check a jail for a timing issue. Line with odd timestamp: 2026-05-13T01:45:06.267581+00:00 felexdev sshd[19538]: Failed password for root from 2.57.122.194 port 8454 ssh2
|
||||
2026-05-13 01:46:17,253 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.194 - 2026-05-13 01:46:17
|
||||
2026-05-13 01:46:17,254 fail2ban.observer [846]: INFO [sshd] Found 2.57.122.194, bad - 2026-05-13 01:46:17, 1 # -> 2.0
|
||||
2026-05-13 01:48:57,060 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.190 - 2026-05-13 01:48:56
|
||||
2026-05-13 01:49:03,134 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.190 - 2026-05-13 01:49:03
|
||||
2026-05-13 01:49:06,539 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.190 - 2026-05-13 01:49:06
|
||||
2026-05-13 01:49:06,546 fail2ban.actions [846]: NOTICE [sshd] Ban 2.57.122.190
|
||||
2026-05-13 01:49:20,167 fail2ban.filter [846]: INFO [sshd] Found 45.12.132.198 - 2026-05-13 01:49:20
|
||||
2026-05-13 01:53:00,005 fail2ban.filter [846]: INFO [sshd] Found 45.148.10.147 - 2026-05-13 01:52:59
|
||||
2026-05-13 01:53:06,868 fail2ban.filter [846]: INFO [sshd] Found 45.148.10.147 - 2026-05-13 01:53:06
|
||||
2026-05-13 01:53:10,286 fail2ban.filter [846]: INFO [sshd] Found 45.148.10.147 - 2026-05-13 01:53:09
|
||||
2026-05-13 01:53:10,618 fail2ban.actions [846]: NOTICE [sshd] Ban 45.148.10.147
|
||||
2026-05-13 01:58:15,005 fail2ban.filter [846]: INFO [sshd] Found 148.113.160.5 - 2026-05-13 01:58:14
|
||||
2026-05-13 02:12:51,351 fail2ban.filter [846]: INFO [sshd] Found 51.210.15.158 - 2026-05-13 02:12:50
|
||||
2026-05-13 02:14:08,580 fail2ban.filter [846]: INFO [sshd] Found 45.148.147.191 - 2026-05-13 02:14:08
|
||||
2026-05-13 02:14:10,185 fail2ban.filter [846]: INFO [sshd] Found 64.227.59.76 - 2026-05-13 02:14:10
|
||||
2026-05-13 02:16:00,969 fail2ban.filter [846]: INFO [sshd] Found 185.219.133.156 - 2026-05-13 02:16:00
|
||||
2026-05-13 02:20:31,300 fail2ban.filter [846]: INFO [sshd] Found 185.255.100.251 - 2026-05-13 02:20:31
|
||||
2026-05-13 02:21:15,883 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.197 - 2026-05-13 02:21:15
|
||||
2026-05-13 02:21:24,149 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.197 - 2026-05-13 02:21:24
|
||||
2026-05-13 02:21:26,950 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.197 - 2026-05-13 02:21:26
|
||||
2026-05-13 02:21:27,071 fail2ban.actions [846]: NOTICE [sshd] Ban 2.57.122.197
|
||||
2026-05-13 02:21:34,959 fail2ban.filter [846]: INFO [sshd] Found 172.93.103.2 - 2026-05-13 02:21:34
|
||||
2026-05-13 02:21:39,273 fail2ban.filter [846]: INFO [sshd] Found 62.72.46.110 - 2026-05-13 02:21:39
|
||||
2026-05-13 02:22:45,049 fail2ban.filter [846]: INFO [sshd] Found 46.55.211.4 - 2026-05-13 02:22:45
|
||||
2026-05-13 02:25:34,344 fail2ban.actions [846]: NOTICE [sshd] Unban 2.57.122.238
|
||||
2026-05-13 02:27:17,259 fail2ban.filter [846]: INFO [sshd] Found 92.118.39.23 - 2026-05-13 02:27:17
|
||||
2026-05-13 02:27:25,703 fail2ban.filter [846]: INFO [sshd] Found 92.118.39.23 - 2026-05-13 02:27:25
|
||||
2026-05-13 02:29:14,923 fail2ban.filter [846]: INFO [sshd] Found 107.173.122.15 - 2026-05-13 02:29:14
|
||||
2026-05-13 02:33:11,416 fail2ban.filter [846]: INFO [sshd] Found 51.77.222.246 - 2026-05-13 02:33:11
|
||||
2026-05-13 02:35:23,371 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.193 - 2026-05-13 02:35:22
|
||||
2026-05-13 02:35:31,628 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.193 - 2026-05-13 02:35:31
|
||||
2026-05-13 02:35:35,033 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.193 - 2026-05-13 02:35:34
|
||||
2026-05-13 02:35:35,120 fail2ban.actions [846]: NOTICE [sshd] Ban 2.57.122.193
|
||||
2026-05-13 02:37:04,242 fail2ban.filter [846]: INFO [sshd] Found 172.93.102.236 - 2026-05-13 02:37:03
|
||||
2026-05-13 02:37:30,934 fail2ban.filter [846]: INFO [sshd] Found 185.113.141.117 - 2026-05-13 02:37:30
|
||||
2026-05-13 02:41:25,673 fail2ban.filter [846]: INFO [sshd] Found 195.62.32.180 - 2026-05-13 02:41:25
|
||||
2026-05-13 02:42:46,842 fail2ban.filter [846]: INFO [sshd] Found 115.190.162.240 - 2026-05-13 02:42:46
|
||||
2026-05-13 02:43:58,560 fail2ban.filter [846]: INFO [sshd] Found 181.115.208.53 - 2026-05-13 02:43:58
|
||||
2026-05-13 02:44:47,205 fail2ban.filter [846]: INFO [sshd] Found 195.26.87.217 - 2026-05-13 02:44:47
|
||||
2026-05-13 02:45:25,138 fail2ban.filter [846]: INFO [sshd] Found 92.118.39.196 - 2026-05-13 02:45:24
|
||||
2026-05-13 02:45:28,241 fail2ban.filter [846]: INFO [sshd] Found 92.118.39.196 - 2026-05-13 02:45:27
|
||||
2026-05-13 02:45:29,844 fail2ban.filter [846]: INFO [sshd] Found 92.118.39.196 - 2026-05-13 02:45:29
|
||||
2026-05-13 02:45:29,860 fail2ban.filter [846]: INFO [sshd] Found 92.118.39.196 - 2026-05-13 02:45:29
|
||||
2026-05-13 02:45:29,883 fail2ban.actions [846]: NOTICE [sshd] Ban 92.118.39.196
|
||||
2026-05-13 02:50:07,986 fail2ban.filter [846]: INFO [sshd] Found 57.131.46.57 - 2026-05-13 02:50:07
|
||||
2026-05-13 02:52:09,689 fail2ban.filter [846]: INFO [sshd] Found 115.190.162.240 - 2026-05-13 02:52:09
|
||||
2026-05-13 02:52:20,200 fail2ban.actions [846]: NOTICE [sshd] Unban 121.227.31.82
|
||||
2026-05-13 02:53:07,542 fail2ban.filter [846]: INFO [sshd] Found 115.190.162.240 - 2026-05-13 02:53:07
|
||||
2026-05-13 02:53:08,227 fail2ban.actions [846]: NOTICE [sshd] Ban 115.190.162.240
|
||||
2026-05-13 02:55:01,671 fail2ban.filter [846]: INFO [sshd] Found 106.75.230.113 - 2026-05-13 02:55:01
|
||||
2026-05-13 02:55:04,377 fail2ban.filter [846]: INFO [sshd] Found 106.75.230.113 - 2026-05-13 02:55:04
|
||||
2026-05-13 02:56:03,126 fail2ban.filter [846]: INFO [sshd] Found 185.106.103.134 - 2026-05-13 02:56:02
|
||||
2026-05-13 02:59:48,421 fail2ban.filter [846]: INFO [sshd] Found 106.75.230.113 - 2026-05-13 02:59:47
|
||||
2026-05-13 02:59:48,541 fail2ban.actions [846]: NOTICE [sshd] Ban 106.75.230.113
|
||||
2026-05-13 02:59:50,129 fail2ban.filter [846]: INFO [sshd] Found 106.75.230.113 - 2026-05-13 02:59:50
|
||||
2026-05-13 02:59:50,129 fail2ban.observer [846]: INFO [sshd] Found 106.75.230.113, bad - 2026-05-13 02:59:50, 1 # -> 2.0
|
||||
2026-05-13 03:11:42,683 fail2ban.filter [846]: INFO [sshd] Found 51.254.17.136 - 2026-05-13 03:11:42
|
||||
2026-05-13 03:12:43,034 fail2ban.filter [846]: INFO [sshd] Found 23.237.108.178 - 2026-05-13 03:12:42
|
||||
2026-05-13 03:17:38,104 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.195 - 2026-05-13 03:17:38
|
||||
2026-05-13 03:17:38,250 fail2ban.filter [846]: INFO [sshd] Found 185.222.138.254 - 2026-05-13 03:17:38
|
||||
2026-05-13 03:17:40,281 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.195 - 2026-05-13 03:17:40
|
||||
2026-05-13 03:17:42,984 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.195 - 2026-05-13 03:17:42
|
||||
2026-05-13 03:17:42,984 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.195 - 2026-05-13 03:17:42
|
||||
2026-05-13 03:17:43,032 fail2ban.actions [846]: NOTICE [sshd] Ban 2.57.122.195
|
||||
2026-05-13 03:19:39,684 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.196 - 2026-05-13 03:19:39
|
||||
2026-05-13 03:19:48,792 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.196 - 2026-05-13 03:19:48
|
||||
2026-05-13 03:22:45,299 fail2ban.filter [846]: INFO [sshd] Found 31.42.184.158 - 2026-05-13 03:22:45
|
||||
2026-05-13 03:23:15,726 fail2ban.filter [846]: INFO [sshd] Found 172.245.89.104 - 2026-05-13 03:23:15
|
||||
2026-05-13 03:25:43,451 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.196 - 2026-05-13 03:25:43
|
||||
2026-05-13 03:25:43,766 fail2ban.actions [846]: NOTICE [sshd] Ban 2.57.122.196
|
||||
2026-05-13 03:32:25,480 fail2ban.filter [846]: INFO [sshd] Found 104.194.10.248 - 2026-05-13 03:32:25
|
||||
2026-05-13 03:35:41,045 fail2ban.filter [846]: INFO [sshd] Found 45.90.105.6 - 2026-05-13 03:35:40
|
||||
2026-05-13 03:37:13,421 fail2ban.filter [846]: INFO [sshd] Found 184.154.153.131 - 2026-05-13 03:37:12
|
||||
2026-05-13 03:40:53,402 fail2ban.filter [846]: INFO [sshd] Found 74.48.65.85 - 2026-05-13 03:40:53
|
||||
2026-05-13 03:48:34,861 fail2ban.filter [846]: INFO [sshd] Found 154.16.115.17 - 2026-05-13 03:48:34
|
||||
2026-05-13 03:48:51,315 fail2ban.filter [846]: INFO [sshd] Found 195.88.211.210 - 2026-05-13 03:48:51
|
||||
2026-05-13 03:50:26,012 fail2ban.filter [846]: INFO [sshd] Found 128.0.104.44 - 2026-05-13 03:50:26
|
||||
2026-05-13 03:52:05,787 fail2ban.filter [846]: INFO [sshd] Found 92.118.39.23 - 2026-05-13 03:52:05
|
||||
2026-05-13 03:52:14,895 fail2ban.filter [846]: INFO [sshd] Found 92.118.39.23 - 2026-05-13 03:52:14
|
||||
2026-05-13 03:52:17,952 fail2ban.filter [846]: INFO [sshd] Found 92.118.39.23 - 2026-05-13 03:52:17
|
||||
2026-05-13 03:52:18,192 fail2ban.actions [846]: NOTICE [sshd] Ban 92.118.39.23
|
||||
2026-05-13 03:56:58,317 fail2ban.filter [846]: INFO [sshd] Found 89.45.12.136 - 2026-05-13 03:56:58
|
||||
2026-05-13 03:57:05,425 fail2ban.filter [846]: INFO [sshd] Found 62.210.207.172 - 2026-05-13 03:57:05
|
||||
2026-05-13 03:57:25,342 fail2ban.filter [846]: INFO [sshd] Found 38.96.178.220 - 2026-05-13 03:57:25
|
||||
2026-05-13 03:57:37,654 fail2ban.filter [846]: INFO [sshd] Found 51.77.222.246 - 2026-05-13 03:57:37
|
||||
2026-05-13 04:02:13,106 fail2ban.filter [846]: INFO [sshd] Found 74.48.65.85 - 2026-05-13 04:02:13
|
||||
2026-05-13 04:05:46,016 fail2ban.filter [846]: INFO [sshd] Found 92.118.39.236 - 2026-05-13 04:05:45
|
||||
2026-05-13 04:05:52,092 fail2ban.filter [846]: INFO [sshd] Found 92.118.39.236 - 2026-05-13 04:05:52
|
||||
2026-05-13 04:08:45,300 fail2ban.filter [846]: INFO [sshd] Found 108.181.22.199 - 2026-05-13 04:08:45
|
||||
2026-05-13 04:17:46,167 fail2ban.filter [846]: INFO [sshd] Found 185.255.100.251 - 2026-05-13 04:17:46
|
||||
2026-05-13 04:20:49,183 fail2ban.filter [846]: INFO [sshd] Found 86.111.187.169 - 2026-05-13 04:20:49
|
||||
2026-05-13 04:23:25,610 fail2ban.filter [846]: INFO [sshd] Found 102.223.47.171 - 2026-05-13 04:23:25
|
||||
2026-05-13 04:25:44,088 fail2ban.filter [846]: INFO [sshd] Found 212.192.216.2 - 2026-05-13 04:25:44
|
||||
2026-05-13 04:29:30,972 fail2ban.filter [846]: INFO [sshd] Found 191.241.76.128 - 2026-05-13 04:29:30
|
||||
2026-05-13 04:32:28,949 fail2ban.filter [846]: INFO [sshd] Found 62.210.246.122 - 2026-05-13 04:32:28
|
||||
2026-05-13 04:35:36,272 fail2ban.filter [846]: INFO [sshd] Found 173.254.207.146 - 2026-05-13 04:35:36
|
||||
2026-05-13 04:36:21,185 fail2ban.filter [846]: INFO [sshd] Found 173.236.16.74 - 2026-05-13 04:36:21
|
||||
2026-05-13 04:40:22,258 fail2ban.filter [846]: INFO [sshd] Found 148.153.121.224 - 2026-05-13 04:40:22
|
||||
2026-05-13 04:40:53,787 fail2ban.filter [846]: INFO [sshd] Found 14.161.29.98 - 2026-05-13 04:40:53
|
||||
2026-05-13 04:42:13,351 fail2ban.filter [846]: INFO [sshd] Found 74.48.100.96 - 2026-05-13 04:42:12
|
||||
2026-05-13 04:47:12,614 fail2ban.filter [846]: INFO [sshd] Found 135.181.160.223 - 2026-05-13 04:47:12
|
||||
2026-05-13 04:53:11,827 fail2ban.filter [846]: INFO [sshd] Found 102.129.186.123 - 2026-05-13 04:53:11
|
||||
2026-05-13 04:53:44,556 fail2ban.filter [846]: INFO [sshd] Found 185.134.49.116 - 2026-05-13 04:53:44
|
||||
2026-05-13 04:55:28,861 fail2ban.filter [846]: INFO [sshd] Found 128.0.104.44 - 2026-05-13 04:55:28
|
||||
2026-05-13 04:59:28,059 fail2ban.filter [846]: INFO [sshd] Found 102.129.186.123 - 2026-05-13 04:59:27
|
||||
2026-05-13 05:04:05,331 fail2ban.actions [846]: NOTICE [sshd] Unban 2.57.122.192
|
||||
2026-05-13 05:06:26,588 fail2ban.actions [846]: NOTICE [sshd] Unban 45.148.10.152
|
||||
2026-05-13 05:10:11,843 fail2ban.filter [846]: INFO [sshd] Found 148.153.121.223 - 2026-05-13 05:10:11
|
||||
2026-05-13 05:10:17,751 fail2ban.filter [846]: INFO [sshd] Found 102.129.186.87 - 2026-05-13 05:10:17
|
||||
2026-05-13 05:14:20,649 fail2ban.filter [846]: INFO [sshd] Found 186.233.184.67 - 2026-05-13 05:14:20
|
||||
2026-05-13 05:14:35,332 fail2ban.actions [846]: NOTICE [sshd] Unban 92.118.39.235
|
||||
2026-05-13 05:16:36,580 fail2ban.actions [846]: NOTICE [sshd] Unban 45.148.10.157
|
||||
2026-05-13 05:18:38,633 fail2ban.actions [846]: NOTICE [sshd] Unban 45.148.10.141
|
||||
2026-05-13 05:21:35,308 fail2ban.filter [846]: INFO [sshd] Found 103.75.71.17 - 2026-05-13 05:21:35
|
||||
2026-05-13 05:22:42,713 fail2ban.actions [846]: NOTICE [sshd] Unban 45.148.10.151
|
||||
2026-05-13 05:22:50,072 fail2ban.filter [846]: INFO [sshd] Found 45.148.10.151 - 2026-05-13 05:22:49
|
||||
2026-05-13 05:22:50,073 fail2ban.observer [846]: INFO [sshd] Found 45.148.10.151, bad - 2026-05-13 05:22:49, 1 # -> 2.0
|
||||
2026-05-13 05:22:54,878 fail2ban.filter [846]: INFO [sshd] Found 45.148.10.151 - 2026-05-13 05:22:54
|
||||
2026-05-13 05:22:54,878 fail2ban.observer [846]: INFO [sshd] Found 45.148.10.151, bad - 2026-05-13 05:22:54, 1 # -> 2.0
|
||||
2026-05-13 05:22:54,932 fail2ban.actions [846]: NOTICE [sshd] Ban 45.148.10.151
|
||||
2026-05-13 05:22:54,935 fail2ban.observer [846]: INFO [sshd] IP 45.148.10.151 is bad: 1 # last 2026-05-13 01:22:42 - incr 4h to 8h
|
||||
2026-05-13 05:22:54,935 fail2ban.observer [846]: NOTICE [sshd] Increase Ban 45.148.10.151 (2 # 8h -> 2026-05-13 13:22:54)
|
||||
2026-05-13 05:22:59,141 fail2ban.actions [846]: NOTICE [sshd] Unban 116.34.14.135
|
||||
2026-05-13 05:24:42,387 fail2ban.actions [846]: NOTICE [sshd] Unban 2.57.122.189
|
||||
2026-05-13 05:26:19,114 fail2ban.filter [846]: INFO [sshd] Found 23.239.96.154 - 2026-05-13 05:26:19
|
||||
2026-05-13 05:26:45,041 fail2ban.actions [846]: NOTICE [sshd] Unban 2.57.122.191
|
||||
2026-05-13 05:26:50,642 fail2ban.filter [846]: INFO [sshd] Found 199.127.60.187 - 2026-05-13 05:26:50
|
||||
2026-05-13 05:30:54,326 fail2ban.actions [846]: NOTICE [sshd] Unban 45.227.254.170
|
||||
2026-05-13 05:31:07,554 fail2ban.filter [846]: INFO [sshd] Found 172.93.103.2 - 2026-05-13 05:31:07
|
||||
2026-05-13 05:32:19,564 fail2ban.actions [846]: NOTICE [sshd] Unban 118.196.117.234
|
||||
2026-05-13 05:32:56,298 fail2ban.filter [846]: INFO [sshd] Found 45.148.10.157 - 2026-05-13 05:32:55
|
||||
2026-05-13 05:32:56,299 fail2ban.observer [846]: INFO [sshd] Found 45.148.10.157, bad - 2026-05-13 05:32:55, 1 # -> 2.0
|
||||
2026-05-13 05:32:57,590 fail2ban.actions [846]: NOTICE [sshd] Unban 92.118.39.197
|
||||
2026-05-13 05:33:06,753 fail2ban.filter [846]: INFO [sshd] Found 45.148.10.157 - 2026-05-13 05:33:06
|
||||
2026-05-13 05:33:06,754 fail2ban.observer [846]: INFO [sshd] Found 45.148.10.157, bad - 2026-05-13 05:33:06, 1 # -> 2.0
|
||||
2026-05-13 05:33:06,811 fail2ban.actions [846]: NOTICE [sshd] Ban 45.148.10.157
|
||||
2026-05-13 05:33:06,814 fail2ban.observer [846]: INFO [sshd] IP 45.148.10.157 is bad: 1 # last 2026-05-13 01:16:36 - incr 4h to 8h
|
||||
2026-05-13 05:33:06,815 fail2ban.observer [846]: NOTICE [sshd] Increase Ban 45.148.10.157 (2 # 8h -> 2026-05-13 13:33:06)
|
||||
2026-05-13 05:33:10,659 fail2ban.filter [846]: INFO [sshd] Found 216.252.238.153 - 2026-05-13 05:33:10
|
||||
2026-05-13 05:38:48,445 fail2ban.filter [846]: INFO [sshd] Found 172.93.121.126 - 2026-05-13 05:38:48
|
||||
2026-05-13 05:38:49,109 fail2ban.actions [846]: NOTICE [sshd] Unban 92.118.39.195
|
||||
2026-05-13 05:39:28,235 fail2ban.filter [846]: INFO [sshd] Found 198.20.127.155 - 2026-05-13 05:39:28
|
||||
2026-05-13 05:42:09,338 fail2ban.filter [846]: INFO [sshd] Found 128.0.104.44 - 2026-05-13 05:42:09
|
||||
2026-05-13 05:45:04,421 fail2ban.actions [846]: NOTICE [sshd] Unban 2.57.122.194
|
||||
2026-05-13 05:47:02,889 fail2ban.filter [846]: INFO [sshd] Found 92.118.39.235 - 2026-05-13 05:47:02
|
||||
2026-05-13 05:47:02,890 fail2ban.observer [846]: INFO [sshd] Found 92.118.39.235, bad - 2026-05-13 05:47:02, 1 # -> 2.0
|
||||
2026-05-13 05:47:08,966 fail2ban.filter [846]: INFO [sshd] Found 92.118.39.235 - 2026-05-13 05:47:08
|
||||
2026-05-13 05:47:08,967 fail2ban.observer [846]: INFO [sshd] Found 92.118.39.235, bad - 2026-05-13 05:47:08, 1 # -> 2.0
|
||||
2026-05-13 05:47:09,073 fail2ban.actions [846]: NOTICE [sshd] Ban 92.118.39.235
|
||||
2026-05-13 05:47:09,075 fail2ban.observer [846]: INFO [sshd] IP 92.118.39.235 is bad: 1 # last 2026-05-13 01:14:35 - incr 4h to 8h
|
||||
2026-05-13 05:47:09,076 fail2ban.observer [846]: NOTICE [sshd] Increase Ban 92.118.39.235 (2 # 8h -> 2026-05-13 13:47:08)
|
||||
2026-05-13 05:47:18,361 fail2ban.filter [846]: INFO [sshd] Found 34.78.75.90 - 2026-05-13 05:47:18
|
||||
2026-05-13 05:47:21,128 fail2ban.filter [846]: INFO [sshd] Found 34.78.75.90 - 2026-05-13 05:47:20
|
||||
2026-05-13 05:47:43,573 fail2ban.filter [846]: INFO [sshd] Found 34.14.29.189 - 2026-05-13 05:47:43
|
||||
2026-05-13 05:48:38,523 fail2ban.filter [846]: INFO [sshd] Found 51.79.67.63 - 2026-05-13 05:48:38
|
||||
2026-05-13 05:49:06,311 fail2ban.actions [846]: NOTICE [sshd] Unban 2.57.122.190
|
||||
2026-05-13 05:51:02,712 fail2ban.filter [846]: INFO [sshd] Found 45.227.254.170 - 2026-05-13 05:51:02
|
||||
2026-05-13 05:51:02,713 fail2ban.observer [846]: INFO [sshd] Found 45.227.254.170, bad - 2026-05-13 05:51:02, 1 # -> 2.0
|
||||
2026-05-13 05:51:09,896 fail2ban.filter [846]: INFO [sshd] Found 45.227.254.170 - 2026-05-13 05:51:09
|
||||
2026-05-13 05:51:09,897 fail2ban.observer [846]: INFO [sshd] Found 45.227.254.170, bad - 2026-05-13 05:51:09, 1 # -> 2.0
|
||||
2026-05-13 05:51:10,360 fail2ban.actions [846]: NOTICE [sshd] Ban 45.227.254.170
|
||||
2026-05-13 05:51:10,363 fail2ban.observer [846]: INFO [sshd] IP 45.227.254.170 is bad: 1 # last 2026-05-13 01:30:54 - incr 4h to 8h
|
||||
2026-05-13 05:51:10,363 fail2ban.observer [846]: NOTICE [sshd] Increase Ban 45.227.254.170 (2 # 8h -> 2026-05-13 13:51:09)
|
||||
2026-05-13 05:53:06,474 fail2ban.filter [846]: INFO [sshd] Found 101.96.202.144 - 2026-05-13 05:53:06
|
||||
2026-05-13 05:53:09,599 fail2ban.actions [846]: NOTICE [sshd] Unban 45.148.10.147
|
||||
2026-05-13 05:53:10,804 fail2ban.filter [846]: INFO [sshd] Found 101.96.202.144 - 2026-05-13 05:53:10
|
||||
2026-05-13 05:53:16,598 fail2ban.filter [846]: INFO [sshd] Found 101.96.202.144 - 2026-05-13 05:53:16
|
||||
2026-05-13 05:53:16,817 fail2ban.actions [846]: NOTICE [sshd] Ban 101.96.202.144
|
||||
2026-05-13 05:54:52,753 fail2ban.filter [846]: INFO [sshd] Found 45.88.0.252 - 2026-05-13 05:54:52
|
||||
2026-05-13 05:55:04,313 fail2ban.filter [846]: INFO [sshd] Found 45.148.10.147 - 2026-05-13 05:55:04
|
||||
2026-05-13 05:55:04,314 fail2ban.observer [846]: INFO [sshd] Found 45.148.10.147, bad - 2026-05-13 05:55:04, 1 # -> 2.0
|
||||
2026-05-13 05:55:09,119 fail2ban.filter [846]: INFO [sshd] Found 45.148.10.147 - 2026-05-13 05:55:09
|
||||
2026-05-13 05:55:09,120 fail2ban.observer [846]: INFO [sshd] Found 45.148.10.147, bad - 2026-05-13 05:55:09, 1 # -> 2.0
|
||||
2026-05-13 05:55:09,455 fail2ban.actions [846]: NOTICE [sshd] Ban 45.148.10.147
|
||||
2026-05-13 05:55:09,458 fail2ban.observer [846]: INFO [sshd] IP 45.148.10.147 is bad: 1 # last 2026-05-13 01:53:09 - incr 4h to 8h
|
||||
2026-05-13 05:55:09,458 fail2ban.observer [846]: NOTICE [sshd] Increase Ban 45.148.10.147 (2 # 8h -> 2026-05-13 13:55:09)
|
||||
2026-05-13 05:55:58,308 fail2ban.filter [846]: INFO [sshd] Found 85.214.54.31 - 2026-05-13 05:55:58
|
||||
2026-05-13 05:56:01,015 fail2ban.filter [846]: INFO [sshd] Found 85.214.54.31 - 2026-05-13 05:56:00
|
||||
2026-05-13 05:56:25,128 fail2ban.filter [846]: INFO [sshd] Found 148.135.49.242 - 2026-05-13 05:56:25
|
||||
2026-05-13 05:57:04,663 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.192 - 2026-05-13 05:57:04
|
||||
2026-05-13 05:57:04,664 fail2ban.observer [846]: INFO [sshd] Found 2.57.122.192, bad - 2026-05-13 05:57:04, 1 # -> 2.0
|
||||
2026-05-13 05:57:13,772 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.192 - 2026-05-13 05:57:13
|
||||
2026-05-13 05:57:13,773 fail2ban.observer [846]: INFO [sshd] Found 2.57.122.192, bad - 2026-05-13 05:57:13, 1 # -> 2.0
|
||||
2026-05-13 05:57:14,094 fail2ban.actions [846]: NOTICE [sshd] Ban 2.57.122.192
|
||||
2026-05-13 05:57:14,097 fail2ban.observer [846]: INFO [sshd] IP 2.57.122.192 is bad: 1 # last 2026-05-13 01:04:05 - incr 4h to 8h
|
||||
2026-05-13 05:57:14,098 fail2ban.observer [846]: NOTICE [sshd] Increase Ban 2.57.122.192 (2 # 8h -> 2026-05-13 13:57:13)
|
||||
2026-05-13 05:58:29,033 fail2ban.filter [846]: INFO [sshd] Found 148.153.121.146 - 2026-05-13 05:58:28
|
||||
2026-05-13 05:59:53,440 fail2ban.filter [846]: INFO [sshd] Found 69.175.33.170 - 2026-05-13 05:59:53
|
||||
2026-05-13 06:01:07,103 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.191 - 2026-05-13 06:01:06
|
||||
2026-05-13 06:01:07,104 fail2ban.observer [846]: INFO [sshd] Found 2.57.122.191, bad - 2026-05-13 06:01:06, 1 # -> 2.0
|
||||
2026-05-13 06:01:11,908 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.191 - 2026-05-13 06:01:11
|
||||
2026-05-13 06:01:11,909 fail2ban.observer [846]: INFO [sshd] Found 2.57.122.191, bad - 2026-05-13 06:01:11, 1 # -> 2.0
|
||||
2026-05-13 06:01:12,164 fail2ban.actions [846]: NOTICE [sshd] Ban 2.57.122.191
|
||||
2026-05-13 06:01:12,167 fail2ban.observer [846]: INFO [sshd] IP 2.57.122.191 is bad: 1 # last 2026-05-13 01:26:45 - incr 4h to 8h
|
||||
2026-05-13 06:01:12,168 fail2ban.observer [846]: NOTICE [sshd] Increase Ban 2.57.122.191 (2 # 8h -> 2026-05-13 14:01:11)
|
||||
2026-05-13 06:02:35,084 fail2ban.filter [846]: INFO [sshd] Found 130.185.239.222 - 2026-05-13 06:02:35
|
||||
2026-05-13 06:07:09,162 fail2ban.filter [846]: INFO [sshd] Found 92.118.39.236 - 2026-05-13 06:07:09
|
||||
2026-05-13 06:07:14,071 fail2ban.filter [846]: INFO [sshd] Found 92.118.39.236 - 2026-05-13 06:07:14
|
||||
2026-05-13 06:07:16,707 fail2ban.filter [846]: INFO [sshd] Found 92.118.39.236 - 2026-05-13 06:07:16
|
||||
2026-05-13 06:07:16,868 fail2ban.actions [846]: NOTICE [sshd] Ban 92.118.39.236
|
||||
2026-05-13 06:08:13,172 fail2ban.filter [846]: INFO [sshd] Found 148.135.33.66 - 2026-05-13 06:08:13
|
||||
2026-05-13 06:09:09,116 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.190 - 2026-05-13 06:09:09
|
||||
2026-05-13 06:09:09,117 fail2ban.observer [846]: INFO [sshd] Found 2.57.122.190, bad - 2026-05-13 06:09:09, 1 # -> 2.0
|
||||
2026-05-13 06:09:16,223 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.190 - 2026-05-13 06:09:16
|
||||
2026-05-13 06:09:16,224 fail2ban.observer [846]: INFO [sshd] Found 2.57.122.190, bad - 2026-05-13 06:09:16, 1 # -> 2.0
|
||||
2026-05-13 06:09:16,908 fail2ban.actions [846]: NOTICE [sshd] Ban 2.57.122.190
|
||||
2026-05-13 06:09:16,911 fail2ban.observer [846]: INFO [sshd] IP 2.57.122.190 is bad: 1 # last 2026-05-13 01:49:06 - incr 4h to 8h
|
||||
2026-05-13 06:09:16,911 fail2ban.observer [846]: NOTICE [sshd] Increase Ban 2.57.122.190 (2 # 8h -> 2026-05-13 14:09:16)
|
||||
2026-05-13 06:09:18,794 fail2ban.filter [846]: INFO [sshd] Found 2.57.122.190 - 2026-05-13 06:09:18
|
||||
2026-05-13 06:09:18,795 fail2ban.observer [846]: INFO [sshd] Found 2.57.122.190, bad - 2026-05-13 06:09:18, 2 # -> 3.0, Ban
|
||||
2026-05-13 06:11:11,988 fail2ban.filter [846]: INFO [sshd] Found 92.118.39.195 - 2026-05-13 06:11:11
|
||||
2026-05-13 06:11:11,988 fail2ban.observer [846]: INFO [sshd] Found 92.118.39.195, bad - 2026-05-13 06:11:11, 1 # -> 2.0
|
||||
2026-05-13 06:11:15,892 fail2ban.filter [846]: INFO [sshd] Found 92.118.39.195 - 2026-05-13 06:11:15
|
||||
2026-05-13 06:11:15,893 fail2ban.observer [846]: INFO [sshd] Found 92.118.39.195, bad - 2026-05-13 06:11:15, 1 # -> 2.0
|
||||
2026-05-13 06:11:16,147 fail2ban.actions [846]: NOTICE [sshd] Ban 92.118.39.195
|
||||
2026-05-13 06:11:16,148 fail2ban.observer [846]: INFO [sshd] IP 92.118.39.195 is bad: 1 # last 2026-05-13 01:38:49 - incr 4h to 8h
|
||||
2026-05-13 06:11:16,150 fail2ban.observer [846]: NOTICE [sshd] Increase Ban 92.118.39.195 (2 # 8h -> 2026-05-13 14:11:15)
|
||||
2026-05-13 06:12:23,068 fail2ban.filter [846]: INFO [sshd] Found 130.185.222.46 - 2026-05-13 06:12:23
|
||||
2026-05-13 06:15:46,885 fail2ban.filter [846]: INFO [sshd] Found 194.68.225.189 - 2026-05-13 06:15:46
|
||||
+229
-82
@@ -1,41 +1,51 @@
|
||||
#pragma once
|
||||
/**
|
||||
* @file fxalloc/includes/FXAlloc.h
|
||||
* @author felex67 (admin@felexdev.ru)
|
||||
* @version 1.0.0 dev-in-progress
|
||||
* \mainpage
|
||||
* \file fxalloc/includes/FXAlloc.h
|
||||
* \author felex67 (admin@felexdev.ru)
|
||||
* \version 1.0.0 dev-in-progress
|
||||
*
|
||||
* @brief Публичный интерфейс модуля аллокатора-профилировщика для серверных очередей/пакетов
|
||||
* \brief Публичный интерфейс модуля аллокатора-профилировщика для серверных очередей/пакетов
|
||||
*
|
||||
* @details Language: C11 (ISO/IEC 9899:2011).
|
||||
* \details Language: C11 (ISO/IEC 9899:2011).
|
||||
*
|
||||
* SRP + KISS + YAGNI + HLP(High Level Performance)
|
||||
*
|
||||
* @note Поддерживаемые компиляторы:
|
||||
* Лицензия: Apache 2.0
|
||||
*
|
||||
* \note Поддерживаемые компиляторы:
|
||||
* - MSVC: Версия >= 1930(VisualStudio 22+)
|
||||
* - GCC: Версия >= 5.0
|
||||
* - CLang: Любая
|
||||
* - CLang: Любая поддерживающая C-11
|
||||
*
|
||||
* @warning Изменять указатели `(*fxalloc)()/(*fxfree)()` строго запрещено!!!
|
||||
* @note Для увеличения производительности необходимо заключение контракта: определение
|
||||
* \warning Изменять указатели `(*fxalloc)()/(*fxfree)()` строго запрещено!!!
|
||||
*
|
||||
* \note Для увеличения производительности необходимо заключение контракта: определение
|
||||
* макроса `_I_UNDERSTAND_THAT_I_SHOULD_NEVER_CHANGE_THESE_POINTERS_`. Без определения
|
||||
* этого макроса модуль вынужден работать через прокси-функции что влечёт за собой
|
||||
* снижение производительности(увеличение ~25 тактов на вызов `fxalloc/fxfree`).
|
||||
*
|
||||
* @note Режим `__FXALLOC_TURBO` работает только при неконстантных `fxalloc/fxfree`.
|
||||
* \note Режим `__FXALLOC_TURBO` работает только при неконстантных `fxalloc/fxfree`.
|
||||
* В этом режиме недоступен глубокий анализ использования памяти. Особенности:
|
||||
* - Метаданные для каждого блока уменьшаются до 16-ти байт.
|
||||
* - Все блоки выравниваются по адресам кратным 16.
|
||||
* - Все LIFO Грейдов выравниваются по L1(кэш процессора первого уровня). Настроить можно
|
||||
* изменив `FXALLOC_LIFO_HEAD_ALIGN` на соответствующее Вашей архитектуре значение
|
||||
*
|
||||
* @note Первый вызов `fxalloc()`(без предварительного вызова `fxalloc_init()`) в
|
||||
* \note Первый вызов `fxalloc()`(без предварительного вызова `fxalloc_init()`) в
|
||||
* потоке/процессе крайне медленный так как происходит инициализация пула,
|
||||
* для потока/процесса, последующие вызовы будут работать с инициализированным пулом памяти.
|
||||
* Для преднастройки пула потока используйте функцию `fxalloc_init()`.
|
||||
*
|
||||
* @note Теоретический максимальный размер блока `(1U << 32) - 25` → 4'294'967'271 байт.
|
||||
* \note Теоретический максимальный размер блока `(1U << 32) - 25` → 4'294'967'271 байт.
|
||||
* Рекомендуемый размер блока не более 64 КиБ.
|
||||
*
|
||||
* \note Профилированием и очисткой памяти потока занимается поток-наблюдатель, запускается
|
||||
* при первом обращении к аллокатору и завершается только после очистки последнего пула, для обеспечения
|
||||
* безаварийного завершения перед выходом из процесса используете fxalloc_finalize().
|
||||
* Пул потока освобождается только когда все блоки возвращены потоку-владельцу или при вызове fxalloc_finalize().
|
||||
*
|
||||
* \p
|
||||
* Алгоритмы использования:
|
||||
* 1. `void* ptr = fxalloc(N) → работаем с ptr → fxfree(ptr) → fxalloc_cleanup()`
|
||||
* - `fxalloc` → При первом вызове инициализирует пул в глобальной области с настройками
|
||||
@@ -51,9 +61,28 @@
|
||||
* Такое поведение помогает собрать статистику для профилирования. Данные об использовании
|
||||
* памяти могут быть получены переводом аллокатора в режим анализа(выполняется потоком-наблюдателем).
|
||||
*
|
||||
* \p
|
||||
* Рекомендации по использованию:
|
||||
* Аллокатор в первую очередь рассчитан на рпофилирование с постепенным переходом в рабочий режим.
|
||||
* Режимы профилирования можно переключать во время работы приложения как для конкретного потока(fxalloc_profile_thread),
|
||||
* так и для всего приложения в целом(fxalloc_profile). Концепция использования:
|
||||
* 1. Проверка на критические ошибки в вызывающем коде без определения мкросов:
|
||||
* На этом этапе отлавливаются все попытки изменить указатели `fxalloc` и `fxfree`, попытки повторного
|
||||
* высвобождения, а также передача "не родных" указателей(приложение моментально падает с SegmentationFault, создаётся
|
||||
* файл `fxalloc.log` с текстовым описанием ошибки).
|
||||
* 2. Определение макроса `_I_UNDERSTAND_THAT_I_SHOULD_NEVER_CHANGE_THESE_POINTERS_`:
|
||||
* исключает работу аллокатора через прокси-функции первичные проверки первого этапа, подразумевается что этап 1 пройден. Требуется перекомпияция проекта
|
||||
* после первого этапа. Вэтом режиме как и в предыдущем доступен режим глубокого профилирования.
|
||||
* 3. После первичных рабочих нагрузок и стабильной работы перекомпиляция проекта с определённым макросом __FXALLOC_TURBO. Максимально уменьшаются
|
||||
* метаданные(до 16 байт, 2 указателя + выравнивание(если x86)), остаётся доступен только режим поверхностного анализа:
|
||||
* блоков всего, праллоцированно и выделено дополнительно.
|
||||
*
|
||||
* \note Во всех режимах аллокатор работаетпо принципу LIFO на атомиках(без блокировок), все головы стеков выровнены по линии L1,
|
||||
* адреса блоков и пользовательских данных кратны 16-ти.
|
||||
* \p
|
||||
* Подробное описание процесса разработки интерфейса и аллокатора в целом можно найти в файле:
|
||||
* `neurox/ccpp/fxalloc/DIARY.md`
|
||||
*
|
||||
* */
|
||||
|
||||
|
||||
@@ -79,9 +108,69 @@ extern "C" {
|
||||
#else
|
||||
#error "Unsupported compiler. Only Clang, GCC >=5.0 and MSVC VS 2022+ support _Atomic in C11"
|
||||
#endif
|
||||
|
||||
/*=================================================================================================
|
||||
Установки по умолчанию
|
||||
*=================================================================================================*/
|
||||
/**
|
||||
* @brief Это перечисление устанавливает настройки аллокатора по умолчанию
|
||||
*
|
||||
* @b FXALLOC_GRADE_STEP_SHIFT - шаг размера блоков, напрямую влияет на количество грейдов
|
||||
* и суммарный размер метаданных всех гоейдов пула для каждого потока.
|
||||
*
|
||||
* @b FXALLOC_LIFO_HEAD_ALIGN - настраивается для вашего процессора по размеру
|
||||
* кеша @b L1. Значение по умолчанию @b 64. Действет на весь процесс, для изменения необходима
|
||||
* рекомпиляция.
|
||||
*
|
||||
* @b FXALLOC_MAX_GRADE_SIZE - Ограничитель максимаьного размера грейда
|
||||
* Значение по умолчанию @b 0x10000 = @b 65'536 байт.
|
||||
*
|
||||
* @note
|
||||
* @b Пример для @b FXALLOC_GRADE_STEP_SHIFT = 5, @b FXALLOC_MAX_GRADE_SIZE = 1024
|
||||
* - Шаг размера: (1 << 5) = @b 32 байта: [32, 64, 96, 128...]
|
||||
* - Количество грейдов: 1024 / 32 = @b 32
|
||||
*/
|
||||
typedef enum eFXAllocDefaultConfig {
|
||||
/**
|
||||
* Количество сдвигов определяющее шаг размера блока: (1 << 6) = 64\n
|
||||
* Значение по умолчанию: @b 6.
|
||||
*/
|
||||
FXALLOC_GRADE_STEP_SHIFT = 6,
|
||||
/**
|
||||
* Выравние головы стека свободных блоков по линии кеша L1\n
|
||||
* Значение по умолчанию: @b 64.
|
||||
*/
|
||||
FXALLOC_LIFO_HEAD_ALIGN = 64,
|
||||
/**
|
||||
* Ограничитель максимаьного размера блока\n
|
||||
* Значение по умолчанию: @b 65'536 байт.
|
||||
*/
|
||||
FXALLOC_MAX_GRADE_SIZE = 0x10000,
|
||||
} eFXAllocDefaultConfig;
|
||||
/*=================================================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Перечисление режимов работы аллокатора
|
||||
* @brief Варианты настройки алгоритма поиска подходящего грейда для данного потока
|
||||
* В случае если первой в потоке вызывается функция @b `fxalloc` режим автоматически
|
||||
* устанавливается в сдвиговый, т.к. Инициализируется пул согласно
|
||||
* @b `FXALLOC_GRADE_STEP_SHIFT` в своём алгоритме функции сдвигового поиска опираются
|
||||
* именно на это значение.
|
||||
* В противном случае(первый вызов - `fxalloc_init`) вы можете сами задать тип поиска.
|
||||
* Рекомендации под задачу:
|
||||
* * Высокая вариативность - оставить градации по умолчанию откалибровав `FXALLOC_GRADE_STEP_SHIFT`
|
||||
* * Низкая вариативность(очереди) - линейный поиск
|
||||
* * Средняя вариативность(запросы и т.д.) - бираный поиск
|
||||
*/
|
||||
typedef enum eXFAllocSearchType {
|
||||
FXSEARCH_AUTO, /// Выберется Бинарный/линейный в зависимости от длины массива градаций(>= 7)
|
||||
FXSEARCH_LINEAR, /// Линейный поиск
|
||||
FXSEARCH_BINARY, /// Бинарный поиск
|
||||
FXSEARCH_SHIFTED, /// Поиск сдвигом вправо(`idx = (NBytes - 1) >> FXALLOC_GRADE_STEP_SHIFT;`)
|
||||
} eXFAllocSearchType;
|
||||
|
||||
/**
|
||||
* @brief Перечисление режимов работы аллокатора.
|
||||
* @note Подробное описание статистики в см. в описании структуры `FXAllocGradeStat`
|
||||
*/
|
||||
typedef enum eFXAllocProfile {
|
||||
FXALLOC_SPEED, ///< Максимальная производительность без статистики
|
||||
@@ -90,51 +179,13 @@ extern "C" {
|
||||
FXALLOC_GETPROFILE, ///< Используется для получения текущего профиля
|
||||
} eFXAllocProfile;
|
||||
|
||||
/**
|
||||
* @brief Задаёт шаг градаций по умолчанию используемый в изначальной версии
|
||||
* `fxalloc()`. Градации будут заполнены для блоков с шагом в
|
||||
* `1 << FXALLOC_DEFAULT_GRADE_STEP_SHIFT` до размера 65 535 байт(~1024 грейда),
|
||||
* все блоки будут сохраняться в LIFO каждого грейда до конца работы потока.
|
||||
* Такой режим предусмотрен для профилирования.
|
||||
* @note Изменение шага напрямую влияет на количество грейдов и размер метаданных
|
||||
* при увеличении на 1(7): шаг грейда - 128 байт, размер пула - 512 грейдов и т.д.
|
||||
* при уменьшении на 1(5): шаг грейда - 32 байта, размер пула - 2048 грейдов и т.д.
|
||||
* @details Если установить данный параметр 0 будет недоступен режим полного
|
||||
* профилирования, статистика будет содержать только `malloced = N times`,
|
||||
* `average_size = N bytes`, `min = N bytes` и `max = N bytes`.
|
||||
* В случае по умолчанию можно будет получить более подробную информацию по
|
||||
* каждому грейду и использованию памяти в нём. Не рекомендуется снижать параметр,
|
||||
* т.к. это напрямую повлияет на размер метаданных пула.
|
||||
*/
|
||||
typedef enum eFXAllocConfig {
|
||||
FXALLOC_GRADE_STEP_SHIFT = 6,///< left bit shifts (1 << 6) = 64 - hf
|
||||
FXALLOC_LIFO_HEAD_ALIGN = 64,///< Задаёт выравнивание LIFO по L1 cache
|
||||
} eFXAllocConfig;
|
||||
/**
|
||||
* @brief Варианты настройки алгоритма поиска грейдов для данного потока
|
||||
* В случае если первой в потоке вызывается функция `fxalloc` режим автоматически
|
||||
* устанавливается в сдвиговый, т.к. Инициализируется пул согласно
|
||||
* `FXALLOC_GRADE_STEP_SHIFT` в своём алгоритме функции сдвигового поиска опираются
|
||||
* именно на это значение.
|
||||
* В противном случае(первый вызов - `fxalloc_init`) вы можете сами задать тип поиска.
|
||||
* Рекомендации под задачу:
|
||||
* * Высокая вариативность - оставить градации по умолчанию откалибровав `FXALLOC_GRADE_STEP_SHIFT`
|
||||
* * Низкая вариативность(очереди) - линейный поиск
|
||||
* * Средняя вариативность(запросы и т.д.) - бираный поиск
|
||||
*/
|
||||
typedef enum eXFAllocSearchType {
|
||||
FXSEARCH_AUTO, ///< Выберется Бинарный/линейный в зависимости от длины массива градаций(>= 7)
|
||||
FXSEARCH_LINEAR, ///< Линейный поиск
|
||||
FXSEARCH_BINARY, ///< Бинарный поиск
|
||||
FXSEARCH_SHIFTED, ///< Поиск сдвигом вправо(`idx = (NBytes - 1) >> FXALLOC_GRADE_STEP_SHIFT;`)
|
||||
} eXFAllocSearchType;
|
||||
|
||||
/**
|
||||
* @brief Структура преднастройки аллокатора задающая градации и количество блоков памяти.
|
||||
* Массив должен быть отсортирован по возрастанию размера блока
|
||||
* и заканчиваться элементом с `est_size = 0`
|
||||
* @var +est_size: size_t - Предполагаемый размер блока
|
||||
* @var +est_count: size_t - Предполагаемое количество блоков
|
||||
* Поля:
|
||||
* - +est_size: size_t - Предполагаемый размер блока;
|
||||
* - +est_count: size_t - Предполагаемое количество блоков.
|
||||
*/
|
||||
typedef struct FXGrade {
|
||||
const size_t est_size; ///< Предполагаемый размер блока
|
||||
@@ -142,24 +193,41 @@ extern "C" {
|
||||
} FXGrade;
|
||||
|
||||
/**
|
||||
* @brief Переключает режимы работы алокатора
|
||||
* `FXALLOC_SPEED` - Максимальная производительность без статистики
|
||||
* `FXALLOC_SUMMARY` - Поверхностная статистика
|
||||
* `FXALLOC_FULL` - Глубокий анализ расхода памяти
|
||||
* @retval `1` при успешном переключении
|
||||
* @retval `0` при ошибке(не вероятно)
|
||||
*/
|
||||
int fxalloc_profile(eFXAllocProfile Profile);
|
||||
* @brief Структура настройки потока
|
||||
*
|
||||
* - +name: const char*: Указатель на название потока. Может быть NULL.
|
||||
*
|
||||
* - +grades: const FXGrade: Указатель на массив настроенных грейдов. Может быть NULL.
|
||||
*
|
||||
* - +profile: eFXAllocProfile: Режим потока один из:
|
||||
* - FXALLOC_SPEED
|
||||
* - FXALLOC_SUMMARY
|
||||
* - FXALLOC_SPEED.
|
||||
*
|
||||
* - +search_type: eFXSearchType: Алгоритм поиска подходящего блока, один из:
|
||||
* - FXSEARCH_AUTO
|
||||
* - FXSEARCH_LINEAR
|
||||
* - FXSEARCH_BINARY
|
||||
* - FXSEARCH_SHIFTED
|
||||
*/
|
||||
typedef struct FXAllocSetupThread {
|
||||
const char* name; /// Название потока
|
||||
const FXGrade* grades; /// Указатель на массив с настройками градаций
|
||||
eFXAllocProfile profile; /// Профиль
|
||||
eXFAllocSearchType search_type; /// Тип поиска
|
||||
} FXAllocSetupThread;
|
||||
|
||||
/**
|
||||
* @brief Инициализирует локальный пулл памяти исходя из заданных параметров блоков
|
||||
* @param[in] Grades: const FXGrade* - Указатель на массив градаций
|
||||
* @param[in] ThreadName: const char* - Наименование потока, используется при профилировании
|
||||
* @param[in] SearchType: eXFAllocSearchType - Тип поиска по градациям
|
||||
* в следующем виде: `[thread_id] 'thread_name': blocks: total=1024 used=64...`.
|
||||
* Если передан `NULL` - выводится только ID потока, т.е.: `[thread_id]: ...`
|
||||
* @brief Инициализирует локальный пул памяти исходя из заданных параметров блоков
|
||||
* @note Блокирующий вызов
|
||||
* @param[in] Options: FXAllocSetupThread*: Указатель на структуру настроек.
|
||||
*
|
||||
* @returns int - внутренний идентификатор потока(порядковый номер), либо -1 в случае ошибки
|
||||
* @retval (int)-1 - Ошибка, данные сохраняются в errno(ENOMEM || EINVAL), описание ошибки можно получить
|
||||
* используя strerror(errno)
|
||||
* @retval (int)>= 0 - порядковый номер потока использующего аллокатор FXAlloc
|
||||
*/
|
||||
int fxalloc_init(const FXGrade* Grades, const char* ThreadName, eXFAllocSearchType SearchType);
|
||||
int fxalloc_init(FXAllocSetupThread* Options);
|
||||
|
||||
#ifndef _I_UNDERSTAND_THAT_I_SHOULD_NEVER_CHANGE_THESE_POINTERS_
|
||||
/**
|
||||
@@ -206,26 +274,105 @@ extern "C" {
|
||||
void fxalloc_cleanup();
|
||||
|
||||
/**
|
||||
* @brief Структурная единица отчёта
|
||||
* @brief Структурная единица отчёта по каждому грейду
|
||||
*
|
||||
* @note В режиме @b `FXALLOC_SPEED` статистика не собирается
|
||||
*
|
||||
* Статистика по режимам:
|
||||
* - @b FXALLOC_SUMMARY:
|
||||
* - +block_size: uint32_t: размер блока(грейд)
|
||||
* - +blocks_total: uint32_t: всего блоков
|
||||
* - +blocks_preallocated: uint32_t: преаллоцировано блоков
|
||||
* - +blocks_malloced: uint32_t: дополнительно выделено блоков
|
||||
* - @b FXALLOC_FULL (дополнительно к SUMMARY):
|
||||
* - +blocks_used: uint32_t: используется на данный момент
|
||||
* - +data_min: uint32_t: минимальное использование
|
||||
* - +data_max: uint32_t: максимальное использование
|
||||
* - +data_avg: uint32_t: арифметическая средняя по грейду
|
||||
*/
|
||||
typedef struct FXAllocGradeStat {
|
||||
uint32_t block_size; ///< Размер блока(грейд)
|
||||
uint32_t blocks_total; ///< Всего блоков
|
||||
uint32_t blocks_prealloced; ///< Преаллоцировано блоков
|
||||
uint32_t blocks_malloced; ///< Блоков выделенных дополнительно
|
||||
uint32_t blocks_used; ///< Блоков используется
|
||||
uint32_t data_min; ///< Минимальный размер данных
|
||||
uint32_t data_max; ///< Максимальный размер данных
|
||||
uint32_t data_avg; ///< Средняя арифметическая `(data_1 + ... + data_N) / total` bytes
|
||||
/* FXALLOC_SUMMARY + FXALLOC_FULL */
|
||||
uint32_t block_size; /// Размер блока(грейд)
|
||||
uint32_t blocks_total; /// Всего блоков
|
||||
uint32_t blocks_prealloced; /// Преаллоцировано блоков
|
||||
uint32_t blocks_malloced; /// Блоков выделенных дополнительно
|
||||
/* FXALLOC_FULL */
|
||||
uint32_t blocks_used; /// Блоков используется
|
||||
uint32_t data_min; /// Минимальный размер данных
|
||||
uint32_t data_max; /// Максимальный размер данных
|
||||
uint32_t data_avg; /// Средняя арифметическая `(data_1 + ... + data_N) / total` bytes
|
||||
} FXAllocGradeStat;
|
||||
|
||||
/**
|
||||
* @brief Структурная елиница отчёта по потокам
|
||||
* - +thread_name: const char*: Название потока
|
||||
* - +profile: FXAllocGradeStat*: Данные профилирования по каждому грейду
|
||||
* - +thread_id: size_t: Внутренний идентификатор потока(вощвращается fxalloc_init)
|
||||
* - +ngrades: size_t: Количество градаций.
|
||||
*/
|
||||
typedef struct FXAllocStatistics {
|
||||
const char* thread_name; ///<
|
||||
FXAllocGradeStat* profile; ///<
|
||||
size_t thread_id; ///<
|
||||
size_t ngrades; ///<
|
||||
const char* thread_name; /// Название потока
|
||||
FXAllocGradeStat* profile; /// Данные профилирования по каждому грейду
|
||||
size_t thread_id; /// Внутренний идентификатор потока
|
||||
size_t ngrades; /// Количество градаций
|
||||
} FXAllocStatistics;
|
||||
|
||||
/**
|
||||
* @brief Переключает режимы работы алокатора для всего роцесса
|
||||
*
|
||||
* @param Profile: eFXAllocProfile: режим профилирования
|
||||
* `FXALLOC_SPEED` - Максимальная производительность без статистики
|
||||
* `FXALLOC_SUMMARY` - Поверхностная статистика
|
||||
* `FXALLOC_FULL` - Глубокий анализ расхода памяти
|
||||
*
|
||||
* @param Callback: void(*)(FXAllocStatistics*): указатель на функцию-обработчик данных.
|
||||
* При передаче NULL аргумент Profile будет проигнорирован.
|
||||
*
|
||||
* @param MemoryState: FXAllocStatistics**: Массив указателей на статиистику для каждого грейда. Нулевой
|
||||
* указатель в массиве обозначает конецмассива: MemoryState[N] == NULL. После обработки данных профилирования
|
||||
* следует использовать free(MemoryState) для освобождения памяти.
|
||||
*
|
||||
* @note При `Profile != FXALLOC_SPEED && Callback == NULL` возвращает `(int)0`, `errno` устанавоивается в `EINVAL`
|
||||
*
|
||||
* @return int
|
||||
* @retval `1` при успешном переключении
|
||||
* @retval `0` при ошибке, errno == EINVAL, описание strerror(errno).
|
||||
*/
|
||||
int fxalloc_profile(eFXAllocProfile Profile, void(*Callback)(FXAllocStatistics** MemoryState));
|
||||
|
||||
/**
|
||||
* @brief Переключает режим работы алокатора для потока указанного в ThreadID
|
||||
*
|
||||
* @param ThreadID: int: Внутренний идентификатор потока возвращённый функцией fxalloc_init()
|
||||
*
|
||||
* @param Profile: eFXAllocProfile: режим профилирования
|
||||
* `FXALLOC_SPEED` - Максимальная производительность без статистики
|
||||
* `FXALLOC_SUMMARY` - Поверхностная статистика
|
||||
* `FXALLOC_FULL` - Глубокий анализ расхода памяти
|
||||
*
|
||||
* @param Callback: void(*)(FXAllocStatistics*): указатель на функцию-обработчик данных.
|
||||
* При передаче NULL аргумент Profile будет проигнорирован.
|
||||
*
|
||||
* @param MemoryState: FXAllocStatistics**: Массив указателей на статиистику для каждого грейда. Нулевой
|
||||
* указатель в массиве обозначает конецмассива: MemoryState[N] == NULL. После обработки данных профилирования
|
||||
* следует использовать free(MemoryState) для освобождения памяти.
|
||||
*
|
||||
* @note При `Profile != FXALLOC_SPEED && Callback == NULL` возвращает `(int)0`, `errno` устанавоивается в `EINVAL`
|
||||
*
|
||||
* @return int
|
||||
* @retval `1` при успешном переключении
|
||||
* @retval `0` при ошибке, errno == EINVAL, описание strerror(errno).
|
||||
*/
|
||||
int fxalloc_profile_thread(int ThreadID, eFXAllocProfile Profile, void(*Callback)(FXAllocStatistics** MemoryState));
|
||||
|
||||
/**
|
||||
* @brief Функция очистки всей занятой памяти.
|
||||
* @warning Блокирующий вызов, должен быть вызван перед завершением процесса/приложения!
|
||||
*
|
||||
*/
|
||||
void fxalloc_finalize();
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif //__cplusplus
|
||||
Reference in New Issue
Block a user