anticensority / runet-censorship-bypass

Web-extension for bypassing censorship in Russia
https://chrome.google.com/webstore/detail/npgcnondjocldhldegnakemclmfkngch
GNU General Public License v3.0
1.78k stars 58 forks source link

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

Open ASRSim13 opened 1 month ago

ASRSim13 commented 1 month ago

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

ilyaigpetrov commented 1 month ago

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

ASRSim13 commented 1 month ago

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

ASRSim13 commented 1 month ago

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

ilyaigpetrov commented 1 month ago

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

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

ASRSim13 commented 1 month ago

Ничего не выдаёт. Только если с ключом --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:~$ ```

ilyaigpetrov commented 1 month ago

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

ASRSim13 commented 1 month ago

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

nikolay-borzov commented 4 days ago

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

Дано: Хост 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 (не идёт через прокси)

ilyaigpetrov commented 3 days ago

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

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

nikolay-borzov commented 3 days ago

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>