Base sync backup: 2025-01-16 00:06:10

This commit is contained in:
Stitch505
2025-01-16 00:06:11 +04:00
parent a873a47b1c
commit dd236086a6
668 changed files with 145069 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
## Вариант 1. установка по скрипту
>[!Bug] **Использовать код**
>`bash <(wget --no-check-certificate -O - https://gist.githubusercontent.com/Stich505/50104e1d672873e9fcbde0b1656f7974/raw/f370333e62c658271483b77cedcc45bb1adacfa0/gistfile.txt)`
## Вариант 2. установка из файла
>[!example]
>1) **Нужно закинуть файл из [[СМОТРИ ФАЙЛ]] в любое место на Linux**
>2) **Нужно перейти в это место через `cd __`**
>3) **использовать команду `sudo chmod +x ./installer-marzban.sh && ./installer-marzban.sh`**

View File

@@ -0,0 +1,103 @@
#!/usr/bin/env bash
systemctl disable --now unattended-upgrades
apt update -y
apt install curl net-tools iftop nload cron socat -y
apt autoremove --purge snapd -y
# Clean journal logs
journalctl --vacuum-size=5M
journalctl --verify
sed -i -e "s/#SystemMaxUse=/SystemMaxUse=5M/g" /etc/systemd/journald.conf
sed -i -e "s/#SystemMaxFileSize=/SystemMaxFileSize=1M/g" /etc/systemd/journald.conf
sed -i -e "s/#SystemMaxFiles=100/SystemMaxFiles=5/g" /etc/systemd/journald.conf
systemctl daemon-reload
systemctl restart systemd-journald
sleep 1
#### ENABLE BBRv2
enable_bbr() {
echo -e "${blue}Enable BBR${clear}"
if [[ ! "$(sysctl net.core.default_qdisc)" == *"= fq" ]]
then
echo "net.core.default_qdisc = fq" >> /etc/sysctl.conf
fi
if [[ ! "$(sysctl net.ipv4.tcp_congestion_control)" == *"bbr" ]]
then
echo "net.ipv4.tcp_congestion_control = bbr" >> /etc/sysctl.conf
fi
}
enable_bbr
### WARP INSTALL on UBUNTU - 127.0.0.1:40000
bash <(curl -fsSL checkvpn.net/files/warp.sh) proxy
# IP VPS
IPVPS=`ip addr show $ETH | grep global | sed -En -e 's/.*inet ([0-9.]+).*/\1/p' | head -n1`
# Download env and fix pass.
cd /root/
curl -sL "https://checkvpn.net/files/.env.example" -o .env.example
cp -r .env.example env_marzban
# random password with 16 symbols
PASSMARZBAN=`openssl rand -hex 16`
# random port from
RANDPORT=`echo $(( ( RANDOM % 65535 ) + 1025 ))`
# get email
read -p "Введите вашу почту(admin@example.com): " EMAIL
curl https://get.acme.sh | sh -s email=$EMAIL
# get domain
read -p "Введите имя домена (example.com): " DOMAIN
mkdir -p /var/lib/marzban/certs/
~/.acme.sh/acme.sh --set-default-ca --server letsencrypt --issue --standalone -d $DOMAIN \
--key-file /var/lib/marzban/certs/key.pem \
--fullchain-file /var/lib/marzban/certs/fullchain.pem
sed -i '1d' env_marzban
sed -i '1d' env_marzban
sed -i -e '1iUVICORN_PORT = "'$RANDPORT'" ' env_marzban
sed -i -e '1iUVICORN_HOST = "'$DOMAIN'" ' env_marzban
sed -i -e '1iXRAY_SUBSCRIPTION_URL_PREFIX = "https://'$DOMAIN':'$RANDPORT'" ' env_marzban
sed -i -e '1iSUDO_PASSWORD = "'$PASSMARZBAN'" ' env_marzban
sed -i -e '1iSUDO_USERNAME = "marzban" ' env_marzban
sed -i -e '1iUVICORN_SSL_CERTFILE = "'/var/lib/marzban/certs/fullchain.pem'" ' env_marzban
sed -i -e '1iUVICORN_SSL_KEYFILE = "'/var/lib/marzban/certs/key.pem'" ' env_marzban
# install marzban with fixed .env
bash -c "$(curl -sL https://checkvpn.net/files/marzban2.sh)" @ install
sleep 1
echo "------------------------------------------"
echo "WEB interface Marzban IP: https://"$DOMAIN":"$RANDPORT"/dashboard/login"
echo "WEB interface Marzban login: marzban"
echo "WEB interface Marzban password:" $PASSMARZBAN
sleep 10
marzban restart

View File

@@ -0,0 +1,2 @@
>[!bug] **Возврат в статью**
>[[1. Скрипт установки VPN]]

View File

@@ -0,0 +1,79 @@
>[!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
>
>Установка завершена, открыть панель можно по пути:
>`http://YOUR_SERVER_IP:8000/dashboard/`
>Для входа укажите созданные вами login и password
>[!Danger]+ **С момента создания протокола и до момента, пока не будут отредактированы важные файлы, marzban НЕ ДАСТ сохранить конфигурацию, это нормальное поведение!!**
>[!Example]- **Создание VLESS протокола**
> 1) нужно находясь в панели открыть основные настройки:
>![[Pasted image 20241006120520.png]]
>**Теперь нам нужно опустится до строки** `inbound`
![[Pasted image 20241006121617.png]]
> Нажимаем enter и вставляем [[Vless-код]], как это должно выглядеть смотрите ниже:
> ![[vivaldi_lH5qIAPZ2n.gif]]
>[!Example]- **Поиск подходящего сайта**
>Нам нужно найти сайт у которого: `минимальный пинг, tls 1.3, сайт не за CDN сервисом`
>
>**для поиска подходящего сайта открываем две новых вкладки в браузере с гугл поиском где:**
**1 вкладка** - Пишем в поисковой строке `site:nl` (`NL` заменить нужной страной)
> 1) После загрузки запроса будут выведены сайты нужной нам страны.
> 2) Открываем сайты **и копируем из ссылки ТОЛЬКО доменную часть**
>
>**2 вкладка** Открываем сайт `https://www.cdn77.com/tls-test` и вставляем скопированный домен из *1 вкладки* -> нажимаем _Enter_ и ждем когда прогрузятся данные
>
> После загрузки данных мы видим данные о `tls и ssl У сайта` в конечном итоге данные должны выглядеть вот так:
> ![[Pasted image 20241006123927.png]]
>
>Теперь нужно проверить пинг от нас до сайта, в консоли вашего сервера пишем:
>`ping npo.nl` -> enter
>>[!Warning] достаточно 10 запросов чтобы понять отклик в миллисекундах, затем нажимаем `CTRL+C` для остановки запросов к сайту
>
>в конечном итоге на экране консоли будет выдана такая информация:
>![[Pasted image 20241006125142.png]]
>
>>[!Info] На примере скриншота видно, что пинг огромный, а значит нужно продолжать искать сайт с подходящими условиями и минимальным пингом
>[!Example]- **Внесение домена найденного сайта с соответствующими требованиями**
>
>**Когда нужный сайт найден, возвращаемся в основные настройки и указываем в полях:**
>`dest` домен сервера:443
>`serverNames` домен сервера
>**Итоговый пример** ![[Pasted image 20241006125744.png]]
>[!Example]- **Генерация ключей шифрования и параметра shortIds и внесения в панель**
>осуществляется командами:
> `docker exec marzban-marzban-1 xray x25519`
>`openssl rand -hex 8`
>После генерации данных нужно их также внести в панель марзбана в поля:
>`privateKey`
>`shordlds`
>Итоговый пример ![[Pasted image 20241006130325.png]]
>
>**Теперь нажимаем сохранить и перезапустить ядро + обновляем страницу**
>[!note] **Переходы:
> [[2. Создание сертификатов и их внесение в marzban]]**
>[!Danger] [Оригинал инструкция](https://habr.com/ru/articles/771892/)

View File

@@ -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] Введите ваш домен или субдомен в поле `DOMAIN`
>>**Ниже 1 единая команда!!!**
>
```
~/.acme.sh/acme.sh --set-default-ca --server letsencrypt --issue --standalone -d DOMAIN \
--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
>Делаем изменения в полях:
>1) `UVICORN_PORT = 443`
>2) `UVICORN_SSL_CERTFILE = "/var/lib/marzban/certs/fullchain.pem"`
>3) `UVICORN_SSL_KEYFILE = "/var/lib/marzban/certs/key.pem"`
>4) `XRAY_SUBSCRIPTION_URL_PREFIX` = https://YOUR_DOMAIN (Ковычки удаляем)
>5) *Пример ниже, красное как было, зеленое как стало*
>![[Pasted image 20241006133752.png]]
После редактирования нужно перезапустить марзбан командой:
`sudo marzban restart`
>[!Note] Переход в [[1. Установка и настройка]]

View File

@@ -0,0 +1,35 @@
{
"tag": "VLESS TCP REALITY",
"listen": "0.0.0.0",
"port": 443,
"protocol": "vless",
"settings": {
"clients": [],
"decryption": "none"
},
"streamSettings": {
"network": "tcp",
"tcpSettings": {},
"security": "reality",
"realitySettings": {
"show": false,
"dest": "заменить:443",
"xver": 0,
"serverNames": [
"заменить"
],
"privateKey": "заменить",
"shortIds": [
"заменить"
]
}
},
"sniffing": {
"enabled": true,
"destOverride": [
"http",
"tls",
"quic"
]
}
},