Guest User

Треугольник страдает в одиночестве

a guest
Sep 22nd, 2019
5,886
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 9.96 KB | None | 0 0
  1. --- Привет анон ---
  2. Перед началом всех действий:
  3.  
  4. apt update
  5.  
  6. apt upgrade
  7.  
  8. --- Установка простого HTTP/HTTPS прокси (Tinyproxy)
  9.  
  10. apt-get install -y tinyproxy
  11.  
  12. nano  /etc/tinyproxy/tinyproxy.conf
  13.  
  14. Дальше правим конфиги (правте как вам угодно вы тут царь):
  15.  
  16. # Пользователь и группа
  17. User tinyproxy
  18. Group tinyproxy
  19. # Порт
  20. Port 8888
  21. # Таймаут
  22. Timeout 300
  23. # Дефолтный html-файл ошибок
  24. DefaultErrorFile "/usr/share/tinyproxy/default.html"
  25. # html stat файл
  26. StatFile "/usr/share/tinyproxy/stats.html"
  27. # Лог-файл
  28. Logfile "/var/log/tinyproxy/tinyproxy.log"
  29. # Уровень логгирования
  30. LogLevel Info
  31. # Pid-файл
  32. PidFile "/var/run/tinyproxy/tinyproxy.pid"
  33. # Максимальное количество одновременно подключенных клиентов.
  34. MaxClients 20
  35. # Минимальное и максимальное количество рабочих процессов.
  36. MinSpareServers 5
  37. MaxSpareServers 20
  38. # Количество процессов одновременно запускающихся при старте сервера
  39. StartServers 10
  40. # Количество соединений на один процесс, 0 по дефолту
  41. MaxRequestsPerChild 0
  42. # Разрешаем локальные соединения
  43. Allow 127.0.0.1
  44. # Разрешаем соединения от клиента (ваш ip-адрес или подсеть)
  45. Allow XXX.XXX.XXX.XXX
  46. # Разрешаем соединения по методу CONNECT для работы с HTTPS сайтами
  47. ConnectPort 443
  48. ConnectPort 563
  49. # Имя прокси заголовка
  50. ViaProxyName "tinyproxy"
  51. # Отключаем Via-заголовки передающие версию сервера
  52. DisableViaHeader Yes
  53. # Отключаем передачу реального ip-адреса клиента
  54. XTinyproxy No
  55.  
  56. systemctl restart tinyproxy
  57.  
  58. --- Установка SOCKS5 прокси (в носок тоже можно)))
  59.  
  60. В начале наркозависимости:
  61.  
  62. apt-get install build-essential libwrap0-dev libpam0g-dev libkrb5-dev libsasl2-dev
  63.  
  64. потом устанавливаем сервер:
  65.  
  66. apt-get install dante-server
  67.  
  68. Если вылезла красная ошибка (как в видео)
  69.  
  70. sudo systemctl edit danted.service
  71.  
  72. И там пишем:
  73.  
  74.     [Unit]
  75.     After=network-online.target
  76.     Wants=network-online.target
  77.  
  78. Заполняем файл конфигурации:
  79.  
  80. nano /etc/danted.conf
  81.  
  82. все сносим и пишем:
  83.  
  84. logoutput: /var/log/socks.log
  85.  
  86.  
  87. internal: eth0 port = 7777
  88.  
  89. external: eth0
  90.  
  91. socksmethod: username
  92.  
  93. user.privileged: root
  94.  
  95. user.unprivileged: nobody
  96.  
  97.  
  98.  
  99. client pass {
  100.  
  101.        from: 0.0.0.0/0 port 1-65535 to: 0.0.0.0/0
  102.  
  103.        log: error
  104.  
  105.        socksmethod: username
  106.  
  107. }
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114. socks pass {
  115.  
  116.        from: 0.0.0.0/0 to: 0.0.0.0/0
  117.  
  118.        command: bind connect udpassociate
  119.  
  120.        log: error
  121.  
  122.        socksmethod: username
  123.  
  124. }
  125.  
  126.  
  127.  
  128. socks pass {
  129.  
  130.        from: 0.0.0.0/0 to: 0.0.0.0/0
  131.  
  132.        command: bindreply udpreply
  133.  
  134.        log: error
  135.  
  136. }
  137.  
  138.  
  139.  
  140. Сохраняем, Теперь создаём пользователя для прокси:
  141.  
  142. sudo useradd --shell /usr/sbin/nologin -m sockduser && sudo passwd sockduser
  143.  
  144. остается только выполнить команду
  145.  
  146. service danted start
  147.  
  148. Если что-то не будет работать, попробуйте получить ошибку используя команду ниже
  149.  
  150. service danted status или systemctl danted.service status
  151.  
  152. --- Установка MTProto Proxy (Пашкина Дурашка)
  153.  
  154. Наркозависимости:
  155.  
  156. apt install git curl build-essential libssl-dev zlib1g-dev
  157.  
  158. Клонируем из репы на GitHub и компилируем:
  159.  
  160. git clone https://github.com/TelegramMessenger/MTProxy.git
  161. cd MTProxy/
  162. make
  163.  
  164. Раскидываем файлы по своим местам:
  165.  
  166. cp objs/bin/mtproto-proxy /usr/bin/
  167. chmod 777 /usr/bin/mtproto-proxy
  168. cd /etc
  169. mkdir mtproto-proxy
  170. cd mtproto-proxy
  171. //Получить секретный файл, используемый для подключения к серверам телеграмм
  172. curl -s https://core.telegram.org/getProxySecret -o proxy-secret
  173. //Получить текущую конфигурацию. Может меняться и требует обновления
  174. curl -s https://core.telegram.org/getProxyConfig -o proxy-multi.conf
  175.  
  176. Создаем секрет, который будет использоваться пользователями для подключения к вашему прокси.
  177.  
  178. head -c 16 /dev/urandom | xxd -ps
  179.  
  180. Создаем конфигурационный файл:
  181.  
  182. sudo nano /etc/systemd/system/mtproto-proxy.service
  183.  
  184. Копируем туда текст с содержимым:
  185.  
  186. [Unit]
  187. Description=MTProxy
  188. After=network.target
  189. [Service]
  190. ExecStart=/usr/bin/mtproto-proxy -u nobody -p 8888 -H 443 -S <secret> --aes-pwd /etc/mtproto-proxy/proxy-secret /etc/mtproto-proxy/proxy-multi.conf -M 1
  191. Restart=on-failure
  192. [Install]
  193. WantedBy=multi-user.target
  194.  
  195. где:
  196. 443 — порт, используемый клиентами для подключения к прокси.
  197. 8888 — локальный порт для получения статистики. Получить ее можно только локально через loopback. Пример: wget localhost:8888/stats
  198. <secret> — идентификатор полученный при генерировании его ранее. На сервере может быть несколько секретов. Пример: -S <secret1> -S <secret2>
  199. Если сервер расположен за NAT, требуется добавить параметр —nat-info <arg> <Внутренний адрес>:<Внешний адрес>. Не забываем покинуть порты.
  200. Другие команды можно посмотреть после старта сервиса командой: mtproto-proxy -h
  201.  
  202. Перезагружаем systemd для поиска новых или измененных юнитов:
  203.  
  204. systemctl daemon-reload
  205.  
  206. Запускаем шайтан машину
  207.  
  208. systemctl restart mtproto-proxy
  209.  
  210. ----- Установка Shadowsocks (потерянный носок)
  211.  
  212. apt install shadowsocks-libev
  213.  
  214. Правим конфиг
  215.  
  216. nano /etc/shadowsocks-libev/config.json
  217.  
  218. Перезапускаем сервер:
  219.  
  220. systemctl restart shadowsocks-libev.service
  221.  
  222. И все, на этом закончили c сервером. Переходим к клиенту.
  223.  
  224. Устанавливаем на машине-клиенте тот же пакет:
  225.  
  226. apt install shadowsocks-libev
  227.  
  228. Делаем конфиг-файл, например в домашней директории
  229.  
  230. nano ~/shsocks.json
  231.  
  232. {
  233.     "server":"123.123.123.123",
  234.     "server_port":12345,
  235.     "local_port":1080,
  236.     "password":"password",
  237.     "timeout":60,
  238.     "method":"aes-256-cfb"
  239. }
  240.  
  241. Единственное отличие - это наличие local_port. Настройка указывает, какой порт на локалхосте будет использовать локальный SOCKS-сервер.
  242.  
  243. Запускаем:
  244.  
  245. ss-local -c ~/shsocks.json
  246.  
  247. ------Shadowsocks + obfs(http) (потерянный носок с дешевой смазкой)
  248.  
  249. В первую очередь на обеих сторонах нужно установить плагин:
  250.  
  251. apt install simple-obfs
  252.  
  253. Второй момент - чтобы разрешить прослушивать серверу ss-server порты <1024 без запуска из-под root, нужно выполнить следующую команду:
  254.  
  255. sudo setcap 'cap_net_bind_service=+ep' /usr/bin/ss-server
  256.  
  257. на сервере
  258.  
  259. nano /etc/shadowsocks-libev/config.json
  260.  
  261. {
  262.     "server":"123.123.123.123",
  263.     "server_port":80,
  264.     "password":"password",
  265.     "timeout":60,
  266.     "method":"aes-256-cfb",
  267.     "plugin":"obfs-server",
  268.     "plugin_opts":"obfs=http;failover=204.79.197.200:80"
  269. }
  270.  
  271. После перезапускаем сервер:
  272.  
  273. systemctl restart shadowsocks-libev.service
  274.  
  275. Теперь конфиг со стороны клиента, например создаем файл
  276. nano ~/shsocks-obfs-http.json
  277.  
  278. {
  279.     "server":"123.123.123.123",
  280.     "server_port":80,
  281.     "local_port":1080,
  282.     "password":"password",
  283.     "timeout":60,
  284.     "method":"aes-256-cfb",
  285.     "plugin":"obfs-local",
  286.     "plugin_opts":"obfs=http;obfs-host=www.bing.com"
  287. }
  288.  
  289. Запускаем клиента
  290.  
  291. ss-local -c ~/shsocks-obfs-http.json
  292.  
  293. ------Shadowsocks + obfs(tls) (потерянный носок с дорогой смазкой)
  294.  
  295. Теперь замаскируем прокси-трафик под TLS/SSL, что будет более приближено к жизни, нежели HTTP. На стороне сервера меняется следующее:
  296.  
  297. {
  298.     "server":"123.123.123.123",
  299.     "server_port":443,
  300.     "password":"password",
  301.     "timeout":60,
  302.     "method":"aes-256-cfb",
  303.     "plugin":"obfs-server",
  304.     "plugin_opts":"obfs=tls;failover=204.79.197.200:443"
  305. }
  306.  
  307. Перезапускаем сервер:
  308.  
  309. systemctl restart shadowsocks-libev.service
  310.  
  311. На стороне клиента меняется следующее (сделаем например еще один файл ~/shsocks-obfs-tls.json):
  312.  
  313. {
  314.     "server":"123.123.123.123",
  315.     "server_port":443,
  316.     "local_port":1080,
  317.     "password":"password",
  318.     "timeout":60,
  319.     "method":"aes-256-cfb",
  320.     "plugin":"obfs-local",
  321.     "plugin_opts":"obfs=tls;obfs-host=www.bing.com"
  322. }
  323.  
  324. Запускаем клиент
  325.  
  326. ss-local -c ~/shsocks-obfs-tls.json
  327.  
  328.  
  329. Както так котаны
Advertisement
Add Comment
Please, Sign In to add comment