opened image

Скрипт установки China Proxy Server на Ubuntu 22.04

​​​​​​​

 

 

Ниже приведен скрипт автоматической установки и краткое объяснение к нему:

 

 

#!/bin/bash

# Цветовые коды для вывода в консоль
GREEN='\033[0;32m'
RED='\033[0;31m'
NC='\033[0m' # Нет цвета

# Функция для проверки статуса последней выполненной команды
check_status() {
  if [ $? -eq 0 ]; then
    echo -e "${GREEN}Успешно выполнено${NC}"
  else
    echo -e "${RED}Ошибка выполнения${NC}"
    exit 1
  fi
}

# Генерация UUID для V2Ray
generate_uuid() {
  UUID=$(cat /proc/sys/kernel/random/uuid)
  echo "$UUID"
}

# Обновление и установка необходимых пакетов
echo -e "${GREEN}Обновление системы...${NC}"
sudo apt update && sudo apt upgrade -y
check_status

# Установка необходимых инструментов
echo -e "${GREEN}Установка curl и unzip...${NC}"
sudo apt install curl unzip -y
check_status

# Установка Shadowsocks
echo -e "${GREEN}Установка Shadowsocks...${NC}"
sudo apt install shadowsocks-libev -y
check_status

# Настройка Shadowsocks
echo -e "${GREEN}Настройка Shadowsocks...${NC}"
sudo tee /etc/shadowsocks-libev/config.json > /dev/null <<EOL
{
    "server": "0.0.0.0",
    "server_port": 8388,
    "local_address": "127.0.0.1",
    "local_port": 1080,
    "password": "your_password",
    "timeout": 300,
    "method": "aes-256-gcm",
    "fast_open": false
}
EOL
check_status

# Запуск и включение Shadowsocks
echo -e "${GREEN}Запуск Shadowsocks...${NC}"
sudo systemctl start shadowsocks-libev
check_status

echo -e "${GREEN}Включение автозапуска Shadowsocks...${NC}"
sudo systemctl enable shadowsocks-libev
check_status

# Настройка брандмауэра для Shadowsocks
echo -e "${GREEN}Настройка брандмауэра для Shadowsocks...${NC}"
sudo ufw allow 8388/tcp
check_status

# Установка V2Ray
echo -e "${GREEN}Установка V2Ray...${NC}"
bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh)
check_status

# Генерация UUID для V2Ray
UUID=$(generate_uuid)
echo -e "${GREEN}Сгенерированный UUID для V2Ray: $UUID${NC}"

# Настройка V2Ray
echo -e "${GREEN}Настройка V2Ray...${NC}"
sudo tee /usr/local/etc/v2ray/config.json > /dev/null <<EOL
{
  "inbounds": [
    {
      "port": 10808,
      "protocol": "vmess",
      "settings": {
        "clients": [
          {
            "id": "$UUID",
            "alterId": 64
          }
        ]
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "settings": {}
    }
  ]
}
EOL
check_status

# Запуск и включение V2Ray
echo -e "${GREEN}Запуск V2Ray...${NC}"
sudo systemctl start v2ray
check_status

echo -e "${GREEN}Включение автозапуска V2Ray...${NC}"
sudo systemctl enable v2ray
check_status

# Настройка брандмауэра для V2Ray
echo -e "${GREEN}Настройка брандмауэра для V2Ray...${NC}"
sudo ufw allow 10808/tcp
check_status

# Установка Squid
echo -e "${GREEN}Установка Squid...${NC}"
sudo apt install squid -y
check_status

# Настройка Squid
echo -e "${GREEN}Настройка Squid...${NC}"
sudo tee /etc/squid/squid.conf > /dev/null <<EOL
# Порт, на котором будет работать Squid
http_port 3128

# Разрешенные сайты
acl allowed_sites dstdomain .google.com .youtube.com .googlevideo.com .ytimg.com .ytimg.l.google.com  .gstatic.com

# Разрешить HTTPS
acl SSL_ports port 443
http_access allow CONNECT SSL_ports allowed_sites

# Разрешение доступа к этим сайтам
http_access allow allowed_sites
http_access deny all

# Отключить кэширование для динамического контента
acl dynamic_content url_regex -i \.flv$ \.mp4$ \.avi$ \.mov$ \.mkv$ \.webm$
cache deny dynamic_content

# Увеличение максимальной полосы пропускания для соединений
maximum_object_size 1024 MB

# Использование надежных DNS-серверов
dns_v4_first on
EOL
check_status

# Запуск и включение Squid
echo -e "${GREEN}Запуск Squid...${NC}"
sudo systemctl restart squid
check_status

echo -e "${GREEN}Включение автозапуска Squid...${NC}"
sudo systemctl enable squid
check_status

# Настройка брандмауэра для Squid
echo -e "${GREEN}Настройка брандмауэра для Squid...${NC}"
sudo ufw allow 3128/tcp
check_status

# Включение UFW с флагом --force
echo -e "${GREEN}Включение UFW...${NC}"
sudo ufw --force enable
check_status

# Проверка статуса всех сервисов
echo -e "${GREEN}Проверка статуса Shadowsocks...${NC}"
sudo systemctl status shadowsocks-libev | grep 'Active: active (running)'
check_status

echo -e "${GREEN}Проверка статуса V2Ray...${NC}"
sudo systemctl status v2ray | grep 'Active: active (running)'
check_status

echo -e "${GREEN}Проверка статуса Squid...${NC}"
sudo systemctl status squid | grep 'Active: active (running)'
check_status

echo -e "${GREEN}Установка и настройка всех прокси-серверов завершены!${NC}"

# Вывод данных для клиента V2Ray
echo -e "${GREEN}Настройки клиента V2Ray:${NC}"
echo -e "Server Address: $(curl -s ifconfig.me)"
echo -e "Port: 10808"
echo -e "UUID: $UUID"
echo -e "Protocol: vmess"
echo -e "${GREEN}Настройте ваш клиент с использованием указанных выше параметров.${NC}"

 

Как использовать скрипт

Создайте файл скрипта:

 

vim  install_proxy_servers.sh

 

Вставьте обновленный код скрипта и сохраните файл.

Сделайте скрипт исполняемым:

 

chmod +x install_proxy_servers.sh


Запустите скрипт:


 

sudo ./install_proxy_servers.sh

 

Как использовать Shadowsocks:

 

  • Установите Shadowsocks-клиент на вашем устройстве (например, ShadowsocksX-NG для macOS, Shadowsocks для Android).
  • Введите указанные выше параметры в клиентское приложение.
  • Подключитесь к прокси-серверу.

 

Ключевые параметры для клиента:

 

  • Server Address: IP-адрес вашего сервера, на котором установлен Shadowsocks.
  • Port: 8388 (по умолчанию, или другой порт, если вы его изменили).
  • Password: your_password (установите свой пароль).
  • Encryption Method: aes-256-gcm (или другой метод шифрования).​​​​​​​

 

 

Как использовать V2Ray:

​​​​​​​

Конфигурационный файл V2Ray располагается здесь:

 

/usr/local/etc/v2ray/config.json

 

Ключевые параметры для клиента

  • Server Address: IP-адрес вашего сервера.
  • Port: 1080 (по умолчанию, или другой порт, если изменен).
  • Protocol: socks (или vmess, если используется этот протокол).

 

Для V2Ray нужно сгенерировать уникальный UUID:  uuidgen

 

     "port": 10808,
      "protocol": "vmess",
      "settings": {
        "clients": [
          {
            "id": "550e8400-e29b-41d4-a716-446655440000",
            "alterId": 64
          }

 

​​​​​​​Это сгенерирует строку вроде 550e8400-e29b-41d4-a716-446655440000.  Убедитесь, что id соответствует сгенерированному UUID.

 

Как использовать:

 

  • Установите V2Ray-клиент на вашем устройстве (например, V2RayN для Windows, V2RayNG для Android).
  • Введите параметры (IP, порт, UUID) в клиентское приложение.
  • Подключитесь к прокси-серверу.