Knoledge_v0

This commit is contained in:
lambehorn
2025-12-19 13:39:24 +05:00
parent e97ecdf4dc
commit 422861cb0b
165 changed files with 2282 additions and 0 deletions

1
Сети/Cервер.md Normal file
View File

@@ -0,0 +1 @@
Удаленный комьютер,

40
Сети/Docker.md Normal file
View File

@@ -0,0 +1,40 @@
Docker — это программная платформа для разработки, доставки и запуска приложений в контейнерах.
### Ключевые особенности Docker:
- Изоляция - каждое приложение работает в своём [контейнере](Контейнер), не мешая другим.
- Портативность - [контейнере](Контейнер) можно запустить на любом сервере или компьютере с установленным Docker, независимо от ОС или конфигурации.
- Лёгкость - [контейнере](Контейнер) значительно «легче» виртуальных машин, так как не содержат целую операционная система, а используют ядро хоста.
- Управляемость - есть экосистема инструментов ([[Docker CLI]], [[Docker Compose]], [[Docker Hub]]) для сборки, хранения, развертывания и управления контейнерами.
### Установка Docker
#### на Ubuntu:
> примечание: в качестве shell рекомендуется использовать bash
1. Добавить репозитории Docker.
```bash
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
```
2. Установить пакеты Docker.
```bash
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
```
3. Проверить работает ли Docker тестовой [командой](Команда) hello-world
```bash
sudo docker run hello-world
```

38
Сети/Marzban.md Normal file
View File

@@ -0,0 +1,38 @@
Это панель управления для [[XRay]], которая облегчает настройку прокси-сервера.
Marzban добавляет веб-интерфейс и управление пользователями, чтобы:
* создавать и удалять юзеров
* генерировать подписки для клиентов (например, для v2rayNG, Clash и других)
* смотреть статистику трафика
* управлять портами и прокси-настройками.
Настройка Marzban через [[Docker]]:
> примечание: действия происходят уже в скачаном [[Docker]]
> так же для сервера должны быть подготовлены [[ssl]] сертификаты
1. Подключаемся к серверу и скачиваем Marzban с официального репозитория.
```bash
sudo bash -c "$(curl -sL https://github.com/Gozargah/Marzban-scripts/raw/master/marzban.sh)" @ install
```
2. Создаем админа.
```bash
marzban cli admin create --sudo
```
## Tips & tricks
Запрос на получение admin token
```bash
curl -kX POST "https://highwayvpn-latvia.duckdns.org:8000/api/admin/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "username=admin&password=admin"
```
Запрос на получение user info
```bash
```

0
Сети/OMEMO.md Normal file
View File

6
Сети/VPN.md Normal file
View File

@@ -0,0 +1,6 @@
VPN (Virtual Private Network — виртуальная частная [[сеть]]) - это технология, которая позволяет создать защищённое соединение между вашим устройством и интернетом через специальный "[[тунель]]".
Проще говоря, VPN шифрует ваш интернет-трафик и направляет его через удалённый [[Cервер]], скрывая ваш настоящий [ip-адрес](ip).
### VPN можно поднять несколькими способами:
* [[Marzban]]

0
Сети/XMPP.md Normal file
View File

1
Сети/XRay.md Normal file
View File

@@ -0,0 +1 @@
Это движок, который обрабатывает интернет-трафик (VLESS, VMess, Trojan и другие протоколы). Настраивать его вручную через config.json довольно сложно, особенно если нужно много пользователей.

9
Сети/arccot(x).md Normal file
View File

@@ -0,0 +1,9 @@
#### Аналитически
$y=a\cdot arccot(bx+c)+d$, где:
- $a$ - вертикальный масштаб;
- $b$ - горизонтальный масштаб;
- $c$ - фазовый сдвиг:
- $d$ - вертикальный сдвиг.
#### Графически
$y=arccot(x)$
![[arccot(x).png]]

0
Сети/fail2ban.md Normal file
View File

0
Сети/ip.md Normal file
View File

40
Сети/ssl.md Normal file
View File

@@ -0,0 +1,40 @@
Это протокол который шифрует данные между клиентом и сервером, сегодня на практике чаще используется [[TLS]] шифрование, так как оно более современное и безопасное. Он нужен для того что бы создать доверенное подключение между клиентом и сервером и информация пользователя не могли получить злоумышленники.
Когда клиент видит специальный сертификат, он получает информацию о подлинности сайта, так же сайты которые получили ssl сертификат поднимаются выше в ранжировке поисковой системы и конечному клиенту проще доверять такому сайту.
### Как получить ssl сертификат для сервера
1. Бесплатно (через Let's Encrypt)
- Самый популярный вариант.
- Сертификат выдаётся автоматически и обновляется каждые 90 дней.
- Настраивается на сервере через инструменты вроде:
- certbot (для Apache, Nginx)
- Панели хостинга (например, cPanel, Plesk)
2. Платный сертификат
- Покупается у сертификационного центра (Comodo, DigiCert, GeoTrust и т.д.).
- Может содержать подтверждение организации (OV/EV).
- Используется крупными компаниями, банками и т.д.
3. Через хостинг-провайдера
- Многие хостинги автоматически выдают SSL при подключении домена.
- Обычно делается в один клик: «Включить HTTPS» или «Добавить SSL-сертификат».
# Практическая инструкция получения ssl сертификатов
### Certbot (официальный вариант)
Скачивание cerbot с зависимостями:
```bash
apt-get update && apt-get upgrade && apt-get install certbot python3-certbot-nginx
```
Только выдача файлов:
```bash
sudo certbot certonly --standalone -d example.com -d www.example.com
```
после установки сертификатов они появляются в директории:
```
/etc/letsencrypt/live/example.com/
```
### Acme.sh (неофициальный bash script)

14
Сети/сеть.md Normal file
View File

@@ -0,0 +1,14 @@
Сеть — это система, в которой несколько устройств (компьютеров, телефонов, серверов и т. д.) соединены между собой для обмена данными и совместного использования ресурсов.
### Виды сетей
1. Локальная сеть (LAN) - небольшая сеть в пределах квартиры, офиса, школы. Пример: Wi-Fi у вас дома.
2. Глобальная сеть (WAN) - Соединяет города и страны. Самый известный пример — Интернет.
3. Персональная сеть (PAN) - Мини-сеть вокруг одного человека: телефон ↔ наушники по Bluetooth.
4. Корпоративные/региональные (MAN) - Соединяют несколько локальных сетей в пределах города или района.
### Как устроена сеть
- Устройства (компьютеры, смартфоны, серверы, принтеры).
- Среда передачи данных (кабель, оптоволокно, радиоволны Wi-Fi/4G/5G).
- Сетевое оборудование (роутеры, свитчи, точки доступа).
- Протоколы — правила общения устройств (TCP/IP).

25
Сети/тунель.md Normal file
View File

@@ -0,0 +1,25 @@
## Определение
Сетевой туннель — это способ передавать данные через одну сеть (например, Интернет) внутри «обёртки» другого протокола.
При этом данные **шифруются** и инкапсулируются (упаковываются), чтобы никто посторонний не смог их перехватить или изменить.
## Как работает туннель
1. Ваш компьютер берёт обычные сетевые пакеты (например, запрос к сайту).
2. Эти пакеты упаковываются в другой протокол (инкапсуляция).
3. Упакованные пакеты отправляются через Интернет к серверу.
4. Сервер распаковывает их и передаёт в назначенное место.
5. Ответ проходит обратный путь.
## [[VPN]]-туннель
- Вы подключаетесь к VPN.
- Всё, что вы отправляете в Интернет (запросы к сайтам, переписка), сначала шифруется.
- Эти данные идут через туннель к VPN-серверу.
- Сервер расшифровывает данные и отправляет их дальше в Интернет.
Снаружи (например, для провайдера) видно только то, что у вас идёт зашифрованное соединение с сервером VPN. Что именно внутри — не видно.
### Где применяются туннели
- [[VPN]] - защита трафика и обход блокировок.
- [[SSH]]-туннелирование - защищённая передача данных через SSH (часто используют админы).
- [[IPSec]] - защита корпоративных сетей (например, соединение офисов через Интернет).
- [[GRE]], [[L2TP]], [[WireGuard]] - разныеё технологии построения туннелей.