Initial import from PC
@@ -0,0 +1,139 @@
|
||||
>[!Example]- **Установка Marzban, создание админа и открытие панели**
|
||||
> Установить marzban нужно командой:
|
||||
> `sudo bash -c "$(curl -sL https://github.com/Gozargah/Marzban-scripts/raw/master/marzban.sh)" @ install`
|
||||
> >[!Bug] этой командой идёт установка **LAST** версии `marzban`
|
||||
>
|
||||
> **После установки Marzban, нужно установить пользователя **
|
||||
>
|
||||
> >[!Todo] Создание админа и его пароля производится командой:
|
||||
>>`marzban cli admin create --sudo`
|
||||
>>Указываете (Name_user) -> enter
|
||||
>>Указываете (Password) -> enter
|
||||
>>Указываете 2 раз тот же (Password) -> enter
|
||||
>>>[!warning] Остальное можно просто скипнуть нажав enter
|
||||
>
|
||||
>Установка завершена, открыть панель можно будет только после подключения домена и сертификатов:
|
||||
>Для входа укажите созданные вами login и password
|
||||
|
||||
>[!Danger]+ **С момента создания протокола и до момента, пока не будут отредактированы важные файлы, marzban НЕ ДАСТ сохранить конфигурацию, это нормальное поведение!!**
|
||||
|
||||
>[!note] **Переход в [[Создание сертификатов и их внесение в marzban]]**
|
||||
|
||||
Теперь нужно сделай отладку и настройку впн сервиса.
|
||||
|
||||
>[!Example]- **Создание VLESS протокола**
|
||||
> 1) нужно находясь в панели открыть основные настройки:
|
||||
>![[Pasted image 20260122105030.png]]
|
||||
>**Теперь нам нужно опустится до строки** `inbound`
|
||||
> Нажимаем enter и вставляем [[Vless-код]], как это должно выглядеть смотрите ниже:
|
||||
![[Pasted image 20260122120855.png]]
|
||||
|
||||
>[!Example]- **Поиск подходящего сайта**
|
||||
>Нам нужно найти сайт у которого: `**минимальный пинг, tls 1.3 и 1.2, сайт не за CDN сервисом**`
|
||||
>
|
||||
>**для поиска подходящего сайта открываем две новых вкладки в браузере с гугл поиском где:**
|
||||
**1 вкладка** - Пишем в поисковой строке `site:nl` (`NL` так будут искаться все сайты страны)
|
||||
> 1) После загрузки запроса будут выведены сайты нужной нам страны.
|
||||
> 2) Открываем сайты **и копируем из ссылки ТОЛЬКО доменную часть типа "nos.nl"**
|
||||
>
|
||||
>**2 вкладка** Открываем сайт `https://www.cdn77.com/tls-test` и вставляем скопированный домен из *1 вкладки* -> нажимаем _Enter_ и ждем когда прогрузятся данные
|
||||
>
|
||||
> После загрузки данных мы видим данные о `tls и ssl У сайта` в конечном итоге данные должны выглядеть вот так:
|
||||
> ![[Pasted image 20260122121428.png]]
|
||||
>
|
||||
>>[!Danger] **Если информация грузится больше 4-х секунд, то переходим к следующему сайту из найденных в гугл**
|
||||
>
|
||||
>Теперь нужно проверить пинг от нас до сайта, в консоли вашего сервера пишем:
|
||||
>`ping npo.nl` -> enter
|
||||
>>[!Warning] достаточно 10 запросов чтобы понять отклик в миллисекундах, затем нажимаем `CTRL+C` для остановки запросов к сайту
|
||||
>
|
||||
>в конечном итоге на экране консоли будет выдана такая информация:
|
||||
>![[Pasted image 20260122121511.png]]
|
||||
>
|
||||
>>[!Info] На примере скриншота видно, что пинг огромный, а значит нужно продолжать искать сайт с подходящими условиями (**у сайта должны работать tls 1.2 и tls 1.3**) и минимальным пингом
|
||||
|
||||
>[!Example]- **Внесение домена найденного сайта с соответствующими требованиями**
|
||||
>
|
||||
>**Когда нужный сайт найден, возвращаемся в основные настройки и указываем в полях:**
|
||||
>`dest` домен сервера:443
|
||||
>`serverNames` домен сервера
|
||||
>**Итоговый пример** ![[Pasted image 20260122121951.png]]
|
||||
|
||||
>[!Example]- **Генерация `ключей шифрования` и параметра `shortIds` и внесения в панель**
|
||||
>осуществляется командами:
|
||||
> `docker exec marzban-marzban-1 xray x25519`
|
||||
>`openssl rand -hex 8`
|
||||
>После генерации данных нужно их также внести в панель марзбана в поля:
|
||||
>`privateKey`
|
||||
>`shordlds`
|
||||
>Итоговый пример ![[Pasted image 20260122122309.png]]
|
||||
>
|
||||
>>[!Tip] лучше сгенерировать более `**3-4 shortid**`
|
||||
>
|
||||
>**Теперь нажимаем сохранить и перезапустить ядро + обновляем страницу**
|
||||
|
||||
>[!Bug] Теперь настройка warp чтобы не палился айпи нидерланд [[3. Подключение WARP к Marz]]
|
||||
|
||||
|
||||
|
||||
|
||||
>[!BUG]- **Инструкция: подключение Linux-сервера к AdGuard Home через нестандартный порт (5300) через systemd-resolved**
|
||||
>
|
||||
> 3. **Убедись, что на сервере-клиенте установлен systemd-resolved**
|
||||
>
|
||||
>Для большинства современных дистрибутивов (Ubuntu, Debian, Fedora) это уже так:
|
||||
>
|
||||
>`systemctl status systemd-resolved`
|
||||
>
|
||||
>Если не активен, запусти:
|
||||
>
|
||||
>`systemctl enable --now systemd-resolved`
|
||||
>
|
||||
>### 2. **Отредактируй файл /etc/systemd/resolved.conf**
|
||||
>
|
||||
Открой файл:
|
||||
>
|
||||
>`nano /etc/systemd/resolved.conf`
|
||||
>
|
||||
>Добавь (или измени) строчки:
|
||||
>
|
||||
> ` [Resolve]DNS=45.95.232.245:5300`
|
||||
> `FallbackDNS=8.8.8.8 1.1.1.1`
|
||||
> тогда если твой сервер недоступен, будет fallback на них.
|
||||
>
|
||||
>### 3. **Убедись, что /etc/resolv.conf — симлинк**
|
||||
>
|
||||
> Проверь:
|
||||
>
|
||||
> `ls -l /etc/resolv.conf`
|
||||
>
|
||||
Должно быть:
|
||||
>
|
||||
> `/etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf`
|
||||
>
|
||||
> Если не так, исправь:
|
||||
>` rm -f /etc/resolv.conf`
|
||||
> `ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf`
|
||||
>### 4. **Перезапусти systemd-resolved**
|
||||
>
|
||||
> `systemctl restart systemd-resolved`
|
||||
>
|
||||
>### 5. **Проверь DNS**
|
||||
>
|
||||
> Выполни:
|
||||
> `dig ya.ru`
|
||||
>
|
||||
> или
|
||||
>
|
||||
> `systemd-resolve ya.ru`
|
||||
>
|
||||
> Ответ должен прийти, DNS-сервер будет 127.0.0.53, а на самом деле он будет перенаправлен через твой AdGuard Home на 5300 порту.
|
||||
>
|
||||
>## **Если не работает:**
|
||||
>
|
||||
>- Проверь открытость порта на сервере AdGuard Home:
|
||||
>
|
||||
> `nc -v 45.95.232.245 5300`
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
>[!Example]- Создание конфига WireGuard для ВАРПА
|
||||
> 1. Установим WARP Командой
|
||||
>```
|
||||
>wget https://github.com/ViRb3/wgcf/releases/download/v2.2.29/wgcf_2.2.29_linux_amd64
|
||||
>```
|
||||
>2. Перемещаем скачанный файл в /usr/bin и меняем его имя на wgcf
|
||||
>**(тупо скопируй команду и вставь)**
|
||||
>```
|
||||
>mv wgcf_2.2.29_linux_amd64 /usr/bin/wgcf && chmod +x /usr/bin/wgcf
|
||||
>```
|
||||
>3. Генерируем конфиг Варпа
|
||||
>**(скопируй команду и вставь)**
|
||||
>```
|
||||
wgcf register
|
||||
wgcf generate
|
||||
>```
|
||||
>**Скопируй сгенерированные данные, они будут нужны дальше**
|
||||
>>[!Tip] а теперь настройка [[3.1 Создание, настройка и подключение конфига warp к марзбан]]
|
||||
|
||||
>[!Bug]- ЧЕК ЛИСТ ОБЯЗАТЕЛЬНЫЙ!!!
|
||||
>
|
||||
>1. Проверка статуса сервиса:
|
||||
> `systemctl status wire-proxy`
|
||||
> Должен быть ***active (running)***
|
||||
> _________________________________________
|
||||
> 2. Проверка порта SOCKS:
|
||||
> `ss -tlnp | grep 40000`
|
||||
> ***Должен показать wireproxy на порту 40000***
|
||||
> _________________________________________
|
||||
> 3. Проверка WARP через прокси
|
||||
> `curl -x socks5h://127.0.0.1:40000 https://www.cloudflare.com/cdn-cgi/trace/ | grep warp`
|
||||
> ***Должно показать warp=on или warp=plus***
|
||||
> _________________________________________
|
||||
> 4. Проверка IP через прокси
|
||||
> `curl -x socks5h://127.0.0.1:40000 https://ifconfig.me`
|
||||
> ***Должен показать IP Cloudflare, отличный от вашего серверного.***
|
||||
> _________________________________________
|
||||
> 5. Перезапуск
|
||||
>`systemctl restart wireproxy`
|
||||
>>[!Tip] Ну и всё, всё должно работать Ссылки на программы для впн с прикрепил ниже
|
||||
|
||||
**КЛИКАБЕЛЬНЫЕ ССЫЛКИ НА ПО И ИНСТРУКЦИИ**
|
||||
1 - FLCLASH[[#^77e0a0]]
|
||||
2 - KARING [[#^6031ae]]
|
||||
3 - HAPP [[#^89f989]]
|
||||
|
||||
|
||||
[Первая программа](https://github.com/chen08209/FlClash/releases/tag/v0.8.91) - После установки нужно включить эти функции:
|
||||
|
||||
|
||||
![[Pasted image 20260122125300.png]]
|
||||
![[Pasted image 20260122125348.png]]
|
||||
![[Pasted image 20260122125421.png]] ^77e0a0
|
||||
|
||||
[Второе приложение](https://github.com/KaringX/karing/releases/tag/v1.2.11.1406)
|
||||
тут всё просто: ^6031ae
|
||||
1) после установки всё пропускаем
|
||||
2) Нажимаем добавить профиль
|
||||
3) в самом низу нажимаем на конфигурации и выбираем нужно
|
||||
![[Pasted image 20260122125654.png]]
|
||||
![[Pasted image 20260122125750.png]]
|
||||
|
||||
**[Третье приложение](https://www.happ.su/main/ru)** ^89f989
|
||||
@@ -0,0 +1,48 @@
|
||||
|
||||
>[!bug]+ Установка Wireproxy
|
||||
>Используй команды ниже
|
||||
```
|
||||
wget https://github.com/octeep/wireproxy/releases/download/v1.0.9/wireproxy_linux_amd64.tar.gz
|
||||
tar -xzf wireproxy_linux_amd64.tar.gz
|
||||
mv wireproxy /usr/local/bin/
|
||||
chmod +x /usr/local/bin/wireproxy
|
||||
```
|
||||
>[!danger] Создания конфигурации
|
||||
> `nano /etc/wireproxy.conf`
|
||||
> **вставить код ниже**
|
||||
|
||||
```
|
||||
[Interface]
|
||||
PrivateKey = <ваш_приватный_ключ_из_wgcf-profile.conf>
|
||||
Address = <ваш_адрес_из_wgcf-profile.conf>
|
||||
DNS = 1.1.1.1
|
||||
|
||||
[Peer]
|
||||
PublicKey = <публичный_ключ_пира_из_wgcf-profile.conf>
|
||||
Endpoint = engage.cloudflareclient.com:2408
|
||||
AllowedIPs = 0.0.0.0/0, ::/0
|
||||
|
||||
[Socks5]
|
||||
BindAddress = 127.0.0.1:40000
|
||||
```
|
||||
>[!danger] Создания конфигурации
|
||||
>`nano /etc/systemd/system/wire-proxy.service`
|
||||
|
||||
```
|
||||
[Unit]
|
||||
Description=Wireproxy WARP SOCKS5 Proxy
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/local/bin/wireproxy -c /etc/wireproxy.conf
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
>[!bug] Подключение и запуск
|
||||
> systemctl daemon-reload
|
||||
> systemctl enable --now wire-proxy
|
||||
>>[!tip] ***Молодец, теперь проверь по чек листу*** [[3. Подключение WARP к Marz]]
|
||||
@@ -0,0 +1 @@
|
||||
![[vivaldi_lH5qIAPZ2n.gif]]
|
||||
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 145 KiB |
|
After Width: | Height: | Size: 53 KiB |
|
After Width: | Height: | Size: 53 KiB |
|
After Width: | Height: | Size: 102 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 97 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 84 KiB |
|
After Width: | Height: | Size: 106 KiB |
|
After Width: | Height: | Size: 106 KiB |
|
After Width: | Height: | Size: 123 KiB |
|
After Width: | Height: | Size: 167 KiB |
|
After Width: | Height: | Size: 167 KiB |
@@ -0,0 +1,31 @@
|
||||
"outbounds": [
|
||||
{
|
||||
"tag": "WARP",
|
||||
"protocol": "wireguard",
|
||||
"settings": {
|
||||
"secretKey": "Ваш_Параметр1",
|
||||
"DNS": "1.1.1.1",
|
||||
"address": [ "172.16.0.2/32",
|
||||
"Ваш_Параметр2"
|
||||
],
|
||||
"peers": [
|
||||
{
|
||||
"publicKey": "Ваш_Параметр3",
|
||||
"endpoint": "engage.cloudflareclient.com:2408"
|
||||
}
|
||||
],
|
||||
"kernelMode": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"protocol": "freedom",
|
||||
"tag": "DIRECT"
|
||||
},
|
||||
{
|
||||
"protocol": "blackhole",
|
||||
"tag": "BLOCK"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
Тут смотреть в коде на **Ваш_Параметр** и менять на **свои**
|
||||
@@ -0,0 +1,30 @@
|
||||
```json
|
||||
"routing": {
|
||||
"rules": [
|
||||
{
|
||||
"outboundTag": "WARP",
|
||||
"domain": [
|
||||
"geosite:google",
|
||||
"geosite:openai"
|
||||
],
|
||||
"type": "field"
|
||||
},
|
||||
{
|
||||
"outboundTag": "DIRECT",
|
||||
"domain": [
|
||||
"full:cp.cloudflare.com",
|
||||
"domain:msftconnecttest.com",
|
||||
"domain:msftncsi.com",
|
||||
"domain:connectivitycheck.gstatic.com",
|
||||
"domain:captive.apple.com",
|
||||
"full:detectportal.firefox.com",
|
||||
"domain:networkcheck.kde.org",
|
||||
"full:*.gstatic.com"
|
||||
],
|
||||
"type": "field"
|
||||
}
|
||||
]
|
||||
},
|
||||
```
|
||||
он уже **готовый** и вставляется ниже строки **"routing": {**
|
||||
![[Pasted image 20241007062448.png]]
|
||||
238
2. Проекты/VPN_MARZBAN/2. Инструкция Marzban/Коды/Vless-код.md
Normal file
@@ -0,0 +1,238 @@
|
||||
**Скопировать и вставить в настройки - шестеренка**
|
||||
```
|
||||
{
|
||||
"log": {
|
||||
"loglevel": "warning"
|
||||
},
|
||||
"dns": {
|
||||
"servers": [
|
||||
{
|
||||
"address": "127.0.0.1",
|
||||
"port": 5300
|
||||
}
|
||||
]
|
||||
},
|
||||
"routing": {
|
||||
"rules": [
|
||||
{
|
||||
"outboundTag": "WARP",
|
||||
"domain": [
|
||||
"reddit.com",
|
||||
"rezka.ac",
|
||||
"whoer.net",
|
||||
"geosite:telegram",
|
||||
"maintracker.org",
|
||||
"rutracker.cc",
|
||||
"rutracker.cr",
|
||||
"rutracker.me",
|
||||
"rutracker.nl",
|
||||
"rutracker.org",
|
||||
"rutrecker.net",
|
||||
"rutrk.org",
|
||||
"nnmclub.to",
|
||||
"reddit.com",
|
||||
"rezka.ac",
|
||||
"whoer.net",
|
||||
"regexp:.*\\.ru",
|
||||
"regexp:.*\\.su",
|
||||
"geosite:category-ru",
|
||||
"geosite:category-gov-ru",
|
||||
"carousell.com",
|
||||
"youtube.googleapis.com",
|
||||
"grok.com",
|
||||
"stake1039.com",
|
||||
"denuvo.net"
|
||||
],
|
||||
"type": "field"
|
||||
},
|
||||
{
|
||||
"outboundTag": "DIRECT",
|
||||
"domain": [
|
||||
"jut.su",
|
||||
"geosite:category-ru",
|
||||
"speedtest.net",
|
||||
"proton.me",
|
||||
"mail.proton.me",
|
||||
"regexp:^.*.rutube.ru$",
|
||||
"geosite:microsoft",
|
||||
"instagram.com",
|
||||
"geosite:google",
|
||||
"geosite:openai",
|
||||
"2ip.ru",
|
||||
"googlevideo.com",
|
||||
"go.skillbox.ru"
|
||||
],
|
||||
"type": "field"
|
||||
},
|
||||
{
|
||||
"outboundTag": "DIRECT",
|
||||
"protocol": [
|
||||
"bittorrent"
|
||||
],
|
||||
"type": "field"
|
||||
},
|
||||
{
|
||||
"outboundTag": "BLOCK",
|
||||
"domain": [
|
||||
"geosite:category-ads-all",
|
||||
"ads.youtube.com"
|
||||
],
|
||||
"type": "field"
|
||||
},
|
||||
{
|
||||
"ip": [
|
||||
"geoip:private"
|
||||
],
|
||||
"outboundTag": "BLOCK",
|
||||
"type": "field"
|
||||
}
|
||||
]
|
||||
},
|
||||
"inbounds": [
|
||||
{
|
||||
"tag": "VLESS GRPC REALITY",
|
||||
"listen": "0.0.0.0",
|
||||
"port": 4443,
|
||||
"protocol": "vless",
|
||||
"settings": {
|
||||
"clients": [],
|
||||
"decryption": "none"
|
||||
},
|
||||
"streamSettings": {
|
||||
"network": "grpc",
|
||||
"grpcSettings": {
|
||||
"serviceName": "google"
|
||||
},
|
||||
"security": "reality",
|
||||
"realitySettings": {
|
||||
"show": false,
|
||||
"dest": "google.com:443",
|
||||
"xver": 0,
|
||||
"serverNames": [
|
||||
"google.com",
|
||||
"yaahoo.com",
|
||||
"bing.com"
|
||||
],
|
||||
"privateKey": "#Вставь сюда данные",
|
||||
"SpiderX": "/",
|
||||
"shortIds": [
|
||||
#Вставь сюда данные
|
||||
]
|
||||
}
|
||||
},
|
||||
"sniffing": {
|
||||
"enabled": true,
|
||||
"destOverride": [
|
||||
"http",
|
||||
"tls"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"tag": "VMESS TCP",
|
||||
"listen": "0.0.0.0",
|
||||
"port": 8081,
|
||||
"protocol": "vmess",
|
||||
"settings": {
|
||||
"clients": []
|
||||
},
|
||||
"streamSettings": {
|
||||
"network": "tcp",
|
||||
"tcpSettings": {
|
||||
"header": {
|
||||
"type": "http",
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": [
|
||||
"/"
|
||||
],
|
||||
"headers": {
|
||||
"Host": [
|
||||
"google.com"
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": {}
|
||||
}
|
||||
},
|
||||
"security": "none"
|
||||
},
|
||||
"sniffing": {
|
||||
"enabled": true,
|
||||
"destOverride": [
|
||||
"http",
|
||||
"tls"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"tag": "VLESS TCP REALITY",
|
||||
"listen": "0.0.0.0",
|
||||
"port": 8443,
|
||||
"protocol": "vless",
|
||||
"settings": {
|
||||
"clients": [],
|
||||
"decryption": "none"
|
||||
},
|
||||
"streamSettings": {
|
||||
"network": "tcp",
|
||||
"tcpSettings": {},
|
||||
"security": "reality",
|
||||
"realitySettings": {
|
||||
"show": false,
|
||||
"dest": "google.com:443",
|
||||
"xver": 0,
|
||||
"serverNames": [
|
||||
"google.com",
|
||||
"yaahoo.com",
|
||||
"bing.com"
|
||||
],
|
||||
"privateKey": "#Вставь сюда данные",
|
||||
"shortIds": [
|
||||
#Вставь сюда данные
|
||||
]
|
||||
}
|
||||
},
|
||||
"sniffing": {
|
||||
"enabled": true,
|
||||
"destOverride": [
|
||||
"http",
|
||||
"tls"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"tag": "Shadowsocks TCP",
|
||||
"listen": "0.0.0.0",
|
||||
"port": 1080,
|
||||
"protocol": "shadowsocks",
|
||||
"settings": {
|
||||
"clients": [],
|
||||
"network": "tcp,udp"
|
||||
}
|
||||
}
|
||||
],
|
||||
"outbounds": [
|
||||
{
|
||||
"protocol": "freedom",
|
||||
"tag": "DIRECT"
|
||||
},
|
||||
{
|
||||
"protocol": "blackhole",
|
||||
"tag": "BLOCK"
|
||||
},
|
||||
{
|
||||
"tag": "WARP",
|
||||
"protocol": "socks",
|
||||
"settings": {
|
||||
"servers": [
|
||||
{
|
||||
"address": "127.0.0.1",
|
||||
"port": 40000
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
@@ -0,0 +1,51 @@
|
||||
>[!Tip]- **Установка socat и cron:**
|
||||
`apt install cron socat`
|
||||
|
||||
>[!tip]- **Устанавливаем acme.sh**
|
||||
>>[!Bug] EMAIL = Это ваш email
|
||||
> `curl https://get.acme.sh | sh -s email=EMAIL`
|
||||
>sdfsdf
|
||||
|
||||
>[!tip]- **Создание директории для сертификатов**
|
||||
>`mkdir -p /var/lib/marzban/certs/`
|
||||
|
||||
>[!Tip]+ Получение сертификата
|
||||
>>[!Danger] Введите ваш **домен или субдомен** в поле `**YOUR_DOMEN**`
|
||||
>>**Ниже 1 единая команда!!!**
|
||||
>
|
||||
|
||||
```
|
||||
|
||||
~/.acme.sh/acme.sh --set-default-ca --server letsencrypt --issue --standalone -d YOUR_DOMEN \
|
||||
--key-file /var/lib/marzban/certs/key.pem \
|
||||
--fullchain-file /var/lib/marzban/certs/fullchain.pem
|
||||
|
||||
```
|
||||
|
||||
Проверить список выпущенных сертификатов можно командой:
|
||||
```
|
||||
~/.acme.sh/acme.sh --list
|
||||
```
|
||||
|
||||
|
||||
>[!Tip]- **Редактирование данных в файле .env**
|
||||
>После создания сертификатов, нужно отредактировать файл
|
||||
>1) Открываем файл командой:
|
||||
>2) `nano /opt/marzban/.env`
|
||||
>Делаем изменения в полях:
|
||||
>3) `UVICORN_PORT = 8443`
|
||||
>4) `UVICORN_SSL_CERTFILE = "/var/lib/marzban/certs/fullchain.pem"`
|
||||
>5) `UVICORN_SSL_KEYFILE = "/var/lib/marzban/certs/key.pem"`
|
||||
>6) `XRAY_SUBSCRIPTION_URL_PREFIX` = https://YOUR_DOMAIN (Ковычки удаляем)
|
||||
>7) *Пример ниже, красное как было, зеленое как стало*
|
||||
>![[Pasted image 20260122110626.png]]
|
||||
|
||||
После редактирования нужно перезапустить марзбан командой:
|
||||
`sudo marzban restart`
|
||||
|
||||
>[!Tip] Теперь впн панель должен быть доступен по ссылке ниже
|
||||
> https://YOUR-DOMEN:8000/dashboard/#/
|
||||
> **Вставь свой домен в `YOUR-DOMEN`**
|
||||
|
||||
|
||||
>[!Note] Переход в [[2. Ручная установка и настройка marzban]]
|
||||
@@ -0,0 +1,274 @@
|
||||
```
|
||||
{
|
||||
"log": {
|
||||
"loglevel": "warning"
|
||||
},
|
||||
"dns": {
|
||||
"servers": [
|
||||
"1.1.1.1"
|
||||
]
|
||||
},
|
||||
"routing": {
|
||||
"rules": [
|
||||
{
|
||||
"outboundTag": "DIRECT",
|
||||
"domain": [
|
||||
"jut.su",
|
||||
"geosite:category-ru",
|
||||
"proton.me",
|
||||
"mail.proton.me",
|
||||
"regexp:^.*.rutube.ru$",
|
||||
"geosite:microsoft",
|
||||
"instagram.com",
|
||||
"whoer.net",
|
||||
"youtube.com",
|
||||
"youtube.googleapis.com",
|
||||
"googlevideo.com"
|
||||
],
|
||||
"type": "field"
|
||||
},
|
||||
{
|
||||
"outboundTag": "DIRECT",
|
||||
"protocol": [
|
||||
"bittorrent"
|
||||
],
|
||||
"type": "field"
|
||||
},
|
||||
{
|
||||
"outboundTag": "BLOCK",
|
||||
"domain": [
|
||||
"geosite:category-ads-all",
|
||||
"ads.youtube.com"
|
||||
],
|
||||
"type": "field"
|
||||
},
|
||||
{
|
||||
"ip": [
|
||||
"geoip:private"
|
||||
],
|
||||
"outboundTag": "BLOCK",
|
||||
"type": "field"
|
||||
}
|
||||
]
|
||||
},
|
||||
"inbounds": [
|
||||
{
|
||||
"tag": "VMess TCP",
|
||||
"listen": "0.0.0.0",
|
||||
"port": 8081,
|
||||
"protocol": "vmess",
|
||||
"settings": {
|
||||
"clients": []
|
||||
},
|
||||
"streamSettings": {
|
||||
"network": "tcp",
|
||||
"tcpSettings": {
|
||||
"header": {
|
||||
"type": "http",
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": [
|
||||
"/"
|
||||
],
|
||||
"headers": {
|
||||
"Host": [
|
||||
"google.com"
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": {}
|
||||
}
|
||||
},
|
||||
"security": "none"
|
||||
},
|
||||
"sniffing": {
|
||||
"enabled": true,
|
||||
"destOverride": [
|
||||
"http",
|
||||
"tls"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"tag": "VMess Websocket",
|
||||
"listen": "0.0.0.0",
|
||||
"port": 8080,
|
||||
"protocol": "vmess",
|
||||
"settings": {
|
||||
"clients": []
|
||||
},
|
||||
"streamSettings": {
|
||||
"network": "ws",
|
||||
"wsSettings": {
|
||||
"path": "/",
|
||||
"headers": {
|
||||
"Host": "google.com"
|
||||
}
|
||||
},
|
||||
"security": "none"
|
||||
},
|
||||
"sniffing": {
|
||||
"enabled": true,
|
||||
"destOverride": [
|
||||
"http",
|
||||
"tls"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"tag": "VLESS TCP REALITY",
|
||||
"listen": "0.0.0.0",
|
||||
"port": 8443,
|
||||
"protocol": "vless",
|
||||
"settings": {
|
||||
"clients": [],
|
||||
"decryption": "none"
|
||||
},
|
||||
"streamSettings": {
|
||||
"network": "tcp",
|
||||
"tcpSettings": {},
|
||||
"security": "reality",
|
||||
"realitySettings": {
|
||||
"show": false,
|
||||
"dest": "discordapp.com:443",
|
||||
"xver": 0,
|
||||
"serverNames": [
|
||||
"discordapp.com"
|
||||
],
|
||||
"privateKey": "wI494sqcfCIErXDiGWIOusJSIMCs_Di0R5nRifjIzgQ",
|
||||
"shortIds": [
|
||||
"",
|
||||
"e20f777f3e6b06ec"
|
||||
]
|
||||
}
|
||||
},
|
||||
"sniffing": {
|
||||
"enabled": true,
|
||||
"destOverride": [
|
||||
"http",
|
||||
"tls"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"tag": "VLESS GRPC REALITY",
|
||||
"listen": "0.0.0.0",
|
||||
"port": 2053,
|
||||
"protocol": "vless",
|
||||
"settings": {
|
||||
"clients": [],
|
||||
"decryption": "none"
|
||||
},
|
||||
"streamSettings": {
|
||||
"network": "grpc",
|
||||
"grpcSettings": {
|
||||
"serviceName": "xyz"
|
||||
},
|
||||
"security": "reality",
|
||||
"realitySettings": {
|
||||
"show": false,
|
||||
"dest": "discordapp.com:443",
|
||||
"xver": 0,
|
||||
"serverNames": [
|
||||
"cdn.discordapp.com",
|
||||
"discordapp.com"
|
||||
],
|
||||
"privateKey": "MMX7m0Mj3faUstoEm5NBdegeXkHG6ZB78xzBv2n3ZUA",
|
||||
"shortIds": [
|
||||
"",
|
||||
"6ba85179e30d4fc2"
|
||||
]
|
||||
}
|
||||
},
|
||||
"sniffing": {
|
||||
"enabled": true,
|
||||
"destOverride": [
|
||||
"http",
|
||||
"tls"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"tag": "Trojan Websocket TLS",
|
||||
"listen": "0.0.0.0",
|
||||
"port": 2083,
|
||||
"protocol": "trojan",
|
||||
"settings": {
|
||||
"clients": []
|
||||
},
|
||||
"streamSettings": {
|
||||
"network": "ws",
|
||||
"security": "tls",
|
||||
"tlsSettings": {
|
||||
"certificates": [
|
||||
{
|
||||
"certificate": [
|
||||
"-----BEGIN CERTIFICATE-----",
|
||||
"MIIBvTCCAWOgAwIBAgIRAIY9Lzn0T3VFedUnT9idYkEwCgYIKoZIzj0EAwIwJjER",
|
||||
"MA8GA1UEChMIWHJheSBJbmMxETAPBgNVBAMTCFhyYXkgSW5jMB4XDTIzMDUyMTA4",
|
||||
"NDUxMVoXDTMzMDMyOTA5NDUxMVowJjERMA8GA1UEChMIWHJheSBJbmMxETAPBgNV",
|
||||
"BAMTCFhyYXkgSW5jMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEGAmB8CILK7Q1",
|
||||
"FG47g5VXg/oX3EFQqlW8B0aZAftYpHGLm4hEYVA4MasoGSxRuborhGu3lDvlt0cZ",
|
||||
"aQTLvO/IK6NyMHAwDgYDVR0PAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMB",
|
||||
"MAwGA1UdEwEB/wQCMAAwOwYDVR0RBDQwMoILZ3N0YXRpYy5jb22CDSouZ3N0YXRp",
|
||||
"Yy5jb22CFCoubWV0cmljLmdzdGF0aWMuY29tMAoGCCqGSM49BAMCA0gAMEUCIQC1",
|
||||
"XMIz1XwJrcu3BSZQFlNteutyepHrIttrtsfdd05YsQIgAtCg53wGUSSOYGL8921d",
|
||||
"KuUcpBWSPkvH6y3Ak+YsTMg=",
|
||||
"-----END CERTIFICATE-----"
|
||||
],
|
||||
"key": [
|
||||
"-----BEGIN RSA PRIVATE KEY-----",
|
||||
"MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg7ptMDsNFiL7iB5N5",
|
||||
"gemkQUHIWvgIet+GiY7x7qB13V6hRANCAAQYCYHwIgsrtDUUbjuDlVeD+hfcQVCq",
|
||||
"VbwHRpkB+1ikcYubiERhUDgxqygZLFG5uiuEa7eUO+W3RxlpBMu878gr",
|
||||
"-----END RSA PRIVATE KEY-----"
|
||||
]
|
||||
}
|
||||
],
|
||||
"minVersion": "1.2",
|
||||
"cipherSuites": "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256:TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256:TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384:TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384:TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256:TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
|
||||
}
|
||||
},
|
||||
"sniffing": {
|
||||
"enabled": true,
|
||||
"destOverride": [
|
||||
"http",
|
||||
"tls"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"tag": "Shadowsocks TCP",
|
||||
"listen": "0.0.0.0",
|
||||
"port": 1080,
|
||||
"protocol": "shadowsocks",
|
||||
"settings": {
|
||||
"clients": [],
|
||||
"network": "tcp,udp"
|
||||
}
|
||||
}
|
||||
],
|
||||
"outbounds": [
|
||||
{
|
||||
"protocol": "freedom",
|
||||
"tag": "DIRECT"
|
||||
},
|
||||
{
|
||||
"protocol": "blackhole",
|
||||
"tag": "BLOCK"
|
||||
},
|
||||
{
|
||||
"tag": "WARP",
|
||||
"protocol": "socks",
|
||||
"settings": {
|
||||
"servers": [
|
||||
{
|
||||
"address": "127.0.0.1",
|
||||
"port": 40000
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
@@ -0,0 +1,2 @@
|
||||
>[!bug]
|
||||
>**https://www.merralius.cfd**
|
||||