add psocks-my-vision-of-filtering-out-proxy.gmi

This commit is contained in:
postscriptum 2026-03-22 05:53:38 +02:00
parent 52d4612c94
commit 47f22031c8
5 changed files with 38 additions and 2 deletions

View file

@ -16,4 +16,5 @@ UPD. згодом знайшов приклад проксі SOCKS5 зі ~160 р
На базі цього крейту, можна легко зробити свою реалізацію - думаю докинути якийсь веб-інтерфейс (наприклад, Rocket) щоб додавати нові домени прямо в пам'ять, без ребуту сервера а також виводити там статистику.
UPD2. вже почав робити свою реалізацію (codeberg.org/postscriptum/psocks) щоправда якість коду як і мій настрій.
UPD2. вже почав робити свою реалізацію:
=> psocks-my-vision-of-filtering-out-proxy.gmi psocks: моє бачення фільтруючого проксі

View file

@ -16,6 +16,7 @@
### Нотатки
=> psocks-my-vision-of-filtering-out-proxy.gmi 2026-03-22 psocks: моє бачення фільтруючого проксі
=> first-experience-with-tun2proxy-socks-hub.gmi 2026-03-21 ШІт досвід з tun2proxy/socks-hub
=> my-public-pac-files-asset.gmi 2026-03-21 Зробив собі "білий список" засобами PAC
=> ytsub-tui-alternative-to-freetube.gmi 2026-03-20 ytsub: TUI-альтернатива FreeTube

View file

@ -7,4 +7,7 @@
Чого я пишу, бо хотів поділитись своїм набором PAC:
=> https://codeberg.org/postscriptum/pac
Виклав в паблік бо хочу мати можливість забирати його з будь якого місця з будь якого компа. Сайтів по білому списку не так багато, бо ніде не шастаю. А як згадаю, то доповню.
Виклав в паблік бо хочу мати можливість забирати його з будь якого місця з будь якого компа. Сайтів по білому списку не так багато, бо ніде не шастаю. А як згадаю, то доповню.
UPD. Згодом таки зібрався мотивацією і зробив програмне рішення на базі SOCKS5:
=> psocks-my-vision-of-filtering-out-proxy.gmi psocks: моє бачення фільтруючого проксі

View file

@ -0,0 +1,31 @@
# psocks: моє бачення фільтруючого проксі
Після невеличкої передісторії
=> first-experience-with-tun2proxy-socks-hub.gmi ШІт досвід з tun2proxy/socks-hub
=> my-public-pac-files-asset.gmi Зробив собі "білий список" засобами PAC
=> crab-hole-as-pi-hole-alternative-in-rust.gmi Crab-hole DNS як 100% програмна альтернатива Pi-hole
=> pi-hole-manual-install-on-fedora-linux.gmi Ручне встановлення Pi-hole DNS на прикладі Fedora / Linux
=> rust-crates-mirroring-with-kellnr.gmi Організація локального дзеркала залежностей Cargo з Kellnr
в пошуках рішення для блокування паразитних конектів що палять мою приватність і їдять батарею SSH тунелюванням того сміття, погравшись день-другий з білими списками PAC, виявив для себе юзабельність такої концепції: сайти реально працюють.
Наприклад, для Youtube - достатньо додати 2 технічні домени `.ytimg.com` і `.googlevideo.com` а для Github - лише `.githubusercontent.com`. Тобто Веб цілком можна сьорфити, враховуючи, що 99% трафіку не полишає соціальні мережі та платформи типу Stackoverflow, да і то, я останнім часом не вилажу з Duck.ai.
Коротше вирішив таки заморочитись і зробити собі софтинку саме під свої задачі: тупо локальний проксі SOCKS, з файлами білих списків. Ніяких більше там складних синтаксисів налаштування - для них я піду на перевірений privoxy з ACL. Чому я ще вирішив написати велосипед, бо ніде не бачу чогось схожого до pi-hole, щоб можна було смакувати фільтровану статистику і робити на її основі висновки.
За одно, я вирішив зробити засобами JSON/API й можливість оновлювати списки "на льоту" без ребуту серверу проксі і перезавантаження реєстрів. Тут головне дійсно мати можливість швиденько розблокувати собі потрібний ресурс прямо в браузері. А статистика вже як бонус, зараз там не густо:
=> psocks-my-vision-of-filtering-out-proxy/psocks-totals-json-api.png Вигляд головної сторінки JSON/API (скріншот)
Згодом планую розширити до звіту по доменам, хоча не знаю чи продуктивність сервера того варта...
* я ще спочатку хотів зробити саме HTTP проксі з рандомайзером заголовків, але провтикав специфіку тунелювання HTTPs, тому протокол обрано саме SOCKS5.
* будувати ланцюги проксі засобами цього сервера я не планую, натомість буду пускати окремими процесами, а коли мені знадобляться складні правила, використовуватиму сторонні маршрутні проксі типу proxychains або знову таки, PAC файл.
* за якість коду не ручаюсь, бо працював швидко, щоб отримати результат; я поки не дуже орієнтуюсь в `tokio` і асинхронному програмуванні зокрема, але у якості бази було використано офіційний приклад (github.com/dizda/fast-socks5/blob/master/examples/server.rs) - з прикладу я не випилював імплементацію UDP, бо ще не визначився.
І так, над назвою довго не думав, знайомтесь:
=> https://codeberg.org/postscriptum/psocks
Також, списки для нього:
=> https://codeberg.org/postscriptum/psocks-list

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB