runet-censorship-bypass icon indicating copy to clipboard operation
runet-censorship-bypass copied to clipboard

Не работает локальный прокси

Open ASRSim13 opened this issue 1 year ago • 10 comments

Установил https://github.com/xvzc/SpoofDPI, работает, как локальный прокси. Добавляю в исключения *.youtube.com, в свои прокси HTTPS 127.0.0.1:8080. Ставлю галки использовать свои прокси и свои прокси только для своих сайтов. Страница пишет, что нет подключения к интернету. Если отключить дополнение и прописать настройки прокси в firefox, то всё работает. Проверил в chromium - такое же поведение. ОС debian 12, firefox115.14.0esr, chromium127.0.6533.99

ASRSim13 avatar Aug 08 '24 13:08 ASRSim13

Проверьте работоспособность прокси через curl --proxy "тип://логин:пароль@адрес:порт" "https://meduza.io". Какого типа у вас прокси? Защищён ли он паролем? В Firefox-е какой тип указываете?

ilyaigpetrov avatar Aug 08 '24 14:08 ilyaigpetrov

Прошу прощенья. Тип HTTP, я указывал HTTPS в своих прокси. Работает через раз, думаю, что дополнение здесь ни при чём.

ASRSim13 avatar Aug 08 '24 14:08 ASRSim13

В firefox указываю тип HTTP и галка "Также использовать этот прокси для HTTPS" работает нормально. При использовании дополнения работает только HTTP и открывает youtube медленно и не всегда. curl --proxy "http://127.0.0.1:8080" "https://youtube.com" - ошибок не выдаёт.

ASRSim13 avatar Aug 08 '24 14:08 ASRSim13

curl --proxy "http://127.0.0.1:8080/" "https://youtube.com/" - ошибок не выдаёт.

А что выдаёт? Пришлите снимок запроса и первых строчек ответа, только без приватной информации.

ilyaigpetrov avatar Aug 08 '24 15:08 ilyaigpetrov

Ничего не выдаёт. Только если с ключом --verbose

Details

asr@aleksandr-20nf0003rt:~$ curl --verbose --proxy "http://127.0.0.1:8080" "https://youtube.com"
*   Trying 127.0.0.1:8080...
* Connected to 127.0.0.1 (127.0.0.1) port 8080 (#0)
* allocate connect buffer
* Establish HTTP proxy tunnel to youtube.com:443
> CONNECT youtube.com:443 HTTP/1.1
> Host: youtube.com:443
> User-Agent: curl/7.88.1
> Proxy-Connection: Keep-Alive
> 
< HTTP/1.1 200 Connection Established
< 
* CONNECT phase completed
* CONNECT tunnel established, response 200
* ALPN: offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: /etc/ssl/certs
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN: server accepted h2
* Server certificate:
*  subject: CN=*.google.com
*  start date: Jul 30 12:32:53 2024 GMT
*  expire date: Oct 22 12:32:52 2024 GMT
*  subjectAltName: host "youtube.com" matched cert's "youtube.com"
*  issuer: C=US; O=Google Trust Services; CN=WR2
*  SSL certificate verify ok.
* using HTTP/2
* h2h3 [:method: GET]
* h2h3 [:path: /]
* h2h3 [:scheme: https]
* h2h3 [:authority: youtube.com]
* h2h3 [user-agent: curl/7.88.1]
* h2h3 [accept: */*]
* Using Stream ID: 1 (easy handle 0x5615a89f9ce0)
> GET / HTTP/2
> Host: youtube.com
> user-agent: curl/7.88.1
> accept: */*
> 
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* old SSL session ID is stale, removing
< HTTP/2 301 
< content-type: application/binary
< x-content-type-options: nosniff
< expires: Thu, 08 Aug 2024 14:59:13 GMT
< date: Thu, 08 Aug 2024 14:59:13 GMT
< cache-control: private, max-age=31536000
< location: https://www.youtube.com/
< strict-transport-security: max-age=31536000; includeSubDomains; preload
< x-frame-options: SAMEORIGIN
< content-security-policy: require-trusted-types-for 'script'
< origin-trial: AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9
< permissions-policy: ch-ua-arch=*, ch-ua-bitness=*, ch-ua-full-version=*, ch-ua-full-version-list=*, ch-ua-model=*, ch-ua-wow64=*, ch-ua-form-factors=*, ch-ua-platform=*, ch-ua-platform-version=*
< report-to: {"group":"youtube_main","max_age":2592000,"endpoints":[{"url":"https://csp.withgoogle.com/csp/report-to/youtube_main"}]}
< cross-origin-opener-policy: same-origin-allow-popups; report-to="youtube_main"
< server: ESF
< content-length: 0
< x-xss-protection: 0
< alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
< 
* Connection #0 to host 127.0.0.1 left intact
asr@aleksandr-20nf0003rt:~$ curl --proxy "http://127.0.0.1:8080" "https://youtube.com"
asr@aleksandr-20nf0003rt:~$

ASRSim13 avatar Aug 08 '24 15:08 ASRSim13

Пришлите, пожалуйста, снимок добавленных в расширение прокси-серверов. Тип прокси должен быть HTTP или PROXY.

ilyaigpetrov avatar Aug 08 '24 16:08 ilyaigpetrov

Пришлите, пожалуйста, снимок добавленных в расширение прокси-серверов. Тип прокси должен быть HTTP или PROXY. photo_2024-08-08_20-03-06

ASRSim13 avatar Aug 08 '24 17:08 ASRSim13

У меня похожая ситуация - не исключается хост.

Дано: Хост howlongtobeat.com закрыт геоблокировкой (403)

Моё решение:

  1. Прокси 127.0.0.1:8118 через Privoxy, который перенаправляет хост howlongtobeat.com через Tor SOCKS 127.0.0.1:9050
  2. Windows 10. Задан системный прокси 127.0.0.1:8118 (Manual proxy setup > Use a proxy server)
  3. В Firefox без расширения RCB howlongtobeat.com открывается при настройке сети Use system proxy settings
  4. В Chrome с раширением RCB, но с опцией PAC-script: Disabled howlongtobeat.com открывается

Хост howlongtobeat.com НЕ открывается при таких настройках:

  1. PAC-script: Antizapret

  2. Exceptions a. *.howlongtobeat.com - No b. Учитывать исключения - ✅ c. Ограничиться только белым списком - ⬛ d. Собирать последние ошибки сайтов - ✅

  3. Own proxies a. Использовать прокси PAC-скрипта - ✅ b. Использовать СВОЙ локальный Tor - ⬛ c. Использовать WARP как прокси - ⬛ d. Использовать СВОИ прокси - ✅

    PROXY 127.0.0.1:8118
    HTTPS 127.0.0.1:8118
    

    e. СВОИ прокси только для СВОИХ сайтов - ✅ f. Проксировать .onion, .i2p и OpenNIC - ⬛ g. Подменять DIRECT на - ⬛

  4. Modifiers a. Проксировать только HTTPS-сайты - ⬛ b. Только шифрованная связь с прокси - ⬛ c. Запретить определение по IP/DNS - ⬛ d. Проксируй или умри! - ✅

curl --proxy "http://127.0.0.1:8118" "https://howlongtobeat.com"

Возвращает 403 (не идёт через прокси)

nikolay-borzov avatar Sep 10 '24 22:09 nikolay-borzov

a. Использовать прокси PAC-скрипта - ✅

Прокси PAC-скрипта АнтиЗапрет не могут быть использованы для своих сайтов. Вместе с кодом 403 там может идти сопроводительный текст от администратора.

ilyaigpetrov avatar Sep 11 '24 11:09 ilyaigpetrov

a. Использовать прокси PAC-скрипта - ✅

Прокси PAC-скрипта АнтиЗапрет не могут быть использованы для своих сайтов. Вместе с кодом 403 там может идти сопроводительный текст от администратора.

Поэтому я добавил howlongtobeat.com в исключения, полагая, что будет использован мой прокси, а не прокси PAC-скрита. Тогда я не понимаю в каких случаях исключения должны работать.

Странно, что даже с опцией Only own sites and only own proxies не открыается

403 howlongtobeat потому, что владельцы ресурсы исполняют недавно введённые санкции:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
  <head>
    <title>403 Unavailable (IFW-L01)</title>
  </head>
  <body>
    <h1>Error 403 Unavailable (IFW-L01)</h1>
    <p>Unavailable (IFW-L01)</p>
    <h3>Error 54113</h3>
    <p>Details: cache-bma1625-BMA 1726079834 3628893919</p>
    <hr>
    <p>Varnish cache server</p>
  </body>
</html>

nikolay-borzov avatar Sep 11 '24 18:09 nikolay-borzov