LINUX.ORG.RU
ФорумTalks

Если очень хочется попасть туда, куда не пускают

 , ,


5

1

То может помочь программка sk5filt в сочетании с ssh на localhost + sshd на VPS. Программка фильтрует трафик. Местно обслуживает что можно, остальное заворачивает на удалённое обслуживание. Т.е. не VPN, а прокси. В итоге работают и госуслуги, и всякие там техасы с нетфликсами и ютубами.

Скачать:
ftp://95.164.38.46/sk5filt.c.
Скомпилировать:
gcc -fno-builtin-log -Wall -Os -s -o sk5filt sk5filt.c
Инсталлировать:
su
mkdir /opt/sk5filt
cp sk5filt /opt/sk5filt
> /opt/sk5filt/hostlist
chmod 666 /opt/sk5filt/hostlist
^D
Запустить:
ssh -D 127.0.0.1:8081 <other-options> <vps>
/opt/sk5filt/sk5filt -a127.0.0.1:8080 -r/opt/sk5filt/hostlist 127.0.0.1:8081

Настроить браузер: открыть настройки прокси, в строке SOCKS указать IP 127.0.0.1, порт 8080, выбрать SOCKS5, установить использование DNS поверх SOCKS.

Дальше добавлять в /opt/sk5filt/hostlist то, что должно обслуживаться удалённо (куда вас не пускают просто так):

echo ti.com >> /opt/sk5filt/hostlist
echo analog.com >> /opt/sk5filt/hostlist
echo microchip.com >> /opt/sk5filt/hostlist

Туда же можно добавить youtube.com, ytimg.com, googlevideo.com и т.п., если злой админ не даёт вам смотреть ютубчик на работе, используя для этого DPI или ещё какую гадость. Если вы в РФ, не добавляйте rutracker.org и т.п. Потому что РКН запретил туда ходить.

Законно ли использовать программу? Вы не просто можете её использовать, вы должны её использовать. Потому что соблюдение антироссийских санкций противозаконно. Объясните своему злому админу на работе, что вам позарез нужен доступ к сайту техаса, потому что там куча полезной инфы на тему DSP. А проклятый буржуин вас не пускает. Разумеется, в нарушение российского законодательства. И вы, как законопослушный гражданин, просто обязаны нарушить антироссийские санкции.

Программу можно никуда не ставить и вообще пускать из-под юзера (если не вешать на порты до 1024). Ей всё равно, где она лежит и как её зовут. Можете положить её в ~/bin, а файл с записями для удалённого обслуживания в ~/sk5hosts (почему бы и нет?). Как порядочный UNIX-демон, программа попытается записать свой PID в /var/run/basename.pid. Из-под юзера ей это не удастся, поэтому можно указать -p/tmp/sk5filt.pid или -p"".

У программы есть стандартная опция -h. А всякие подробности о её работе можно почитать в ней самой. Она по большей части состоит из комментариев, кода в ней кот наплакал. Комментарии на русском, в koi8-r. Если у вас какая-то другая кодировка, например utf8, то поможет iconv:

iconv -f koi8-r -t utf8 < sk5filt.c | less

Сколько будет лежать программа на этом временном ftp – никто не знает. Если у вас есть возможность положить её к себе и раздать всем желающим – you are welcome. Если хотите её доработать, то автор тоже всячески за. Сам он вряд ли станет, потому что некогда.

★★

Ответ на: комментарий от mittorn

Я понимаю, что у вас тут локальный срачик на тему кодировок, но автор программки не при чём. Он просто работает на корп.сектор. А там всякие доработки/разработки должны быть совместимы с тем, что разработано лет так 20-25 назад. Потому что есть правило: работает – не ломай. Поэтому 32 бита, koi8-r, всё такое. Для совместимости.

nobody ★★
() автор топика

Порог деплоя этого э….. решения таков, что те, кто могут, этим решением пользоваться не будут, а те, кто не может - не будут.

Anoxemian ★★★★★
()

Чем эта «поделка» лучше того же tinyproxy? Вроде как, и в нем такое можно и компилить хз что не надо.

PRN
()

Такой налет таинственности, а тем временем у меня ютуб сам собой и заработал 😊

frunobulax ★★★
()
Ответ на: комментарий от Anoxemian

Порог деплоя этого э….. решения таков, что те, кто могут, этим решением пользоваться не будут, а те, кто не может - не будут.

И кто может не будут, и кто не может – тоже не будут. Интересно сформулированная мысль. И главное – хорошо обоснованная. Непонятно только, почему тут считается высоким порог. Указать домены для удалённого обслуживания? Так оно фильтр же, ему нужно ведь указывать, что обслуживать местно, что удалённо. Телепатию вроде как не завезли пока (или я чего-то не знаю?).

nobody ★★
() автор топика
Ответ на: комментарий от PRN

Чем эта «поделка» лучше того же tinyproxy? Вроде как, и в нем такое можно и компилить хз что не надо.

А как через tinyproxy завернуть на VPS только тот трафик, который нужен для обхода действий враждебных государств, а остальное обслуживать локально? (не будем тут уточнять, какое государство враждебно обычным российским гражданам).

nobody ★★
() автор топика
Ответ на: комментарий от Anoxemian

Дык, приведи пример хотя бы одного из 100500 решений. Тогда будет с чем сравнивать. Тут вот выше приводили tinyproxy, но, насколько я понимаю (поправь, если не прав), оно не умеет разруливать трафик на 2 потока.

nobody ★★
() автор топика
Ответ на: комментарий от Anoxemian

Прошёл по твоей ссылке. Не нашёл возможности разрулить трафик на 2 потока. Чтобы по умолчанию всё, что можно, обслуживалось местно. А что указано удалённо, чтоб уходило на обслуживание через VPS. Если плохо смотрел, укажи куда смотреть.

nobody ★★
() автор топика
Ответ на: комментарий от nobody

А как через tinyproxy завернуть на VPS только тот трафик …

man tinyproxy там ищешь настройку апстримов. Хоть по доменам, хоть по целым сетям.

PRN
()
Ответ на: комментарий от Anoxemian

И как мне через это попасть на ti.com? Чтобы, например, скачать трассировку платы eval на LM3150? Что-то я не нашёл. Опять же, если плохо смотрел, ткни, pls, пальцем в нужное место.

И да, я не обратил внимания на то, что у тебя телефон. Мне это не самое актуальное, поскольку есть большая машина для работы, а телефон чисто для звонков.

Если ты шаришь в смартфонах, то может быть скажешь, как настроить прокси для смартфона моей мамы (какая-нибудь ссылка?). Хотел отвадить её от телевизора, и даже получилось, но youtube сейчас перестал работать (на её смартфоне). Как в смартфоне указать настройки прокси на её домашний комп? На нём поставлю тот же самый sk5filt, который будет висеть на 0.0.0.0 и обслуживать как комп, так и телефон. Когда она ко мне приезжала, я так и не нашёл, где можно вбить настройки прокси.

nobody ★★
() автор топика

Сейчас бы с ноунейм (буквально) серверов что-то качать, компилить и запускать…

buddhist ★★★★★
()
Ответ на: комментарий от PRN

man tinyproxy

А кинь, пожалуйста, ссылку на man. Ну или цитату из man. Как именно разрулить входящие от клиента на 2 потока: местное обслуживание и через VPS. А то на официальном сайте (http://tinyproxy.github.io) я этого не увидел (возможно, плохо смотрел).

nobody ★★
() автор топика
Ответ на: комментарий от nobody

И как мне через это попасть на ti.com?

Вбиваешь адрес прокси и заходишь. Или я не понял чего ты хочешь.

Если ты шаришь в смартфонах

Не, не шарю. Но принцип такой же. Устанавливаешь 1 из 100500^2 дополнений из стора и радуешься.

А маме настрой vpn, не издевайся над родными.

я так и не нашёл, где можно вбить настройки прокси

ну это совсем просто - в гугл.

Anoxemian ★★★★★
()
Ответ на: комментарий от buddhist

Сейчас бы с ноунейм (буквально) серверов что-то качать, компилить и запускать…

Дык, это ж исходник. Посмотри в него. Не бинарный же блоб. Там и кода-то всего ничего. Если хоть чего-то понимаешь в С (а все админы хоть чего-то понимают в С), то прочитать его не составит проблемы. Там тупо ничего не делается, просто прозрачный прокси с разруливанием трафика либо на локальное обслуживание (средствами ОС), либо на удалённое (через ssh или какой укажешь SOCKS сервер). А tor ставить не страшно? Там-то кода куда больше. Сможешь провести ему аудит?

nobody ★★
() автор топика
Ответ на: комментарий от Anoxemian

Вбиваешь адрес прокси и заходишь. Или я не понял чего ты хочешь.

С компа в РФ зайти не получается. Перенаправляют на страницу, где сказано, что я враг американского народа, поэтому хэ мне, а не трассировка.

ну это совсем просто - в гугл.

Спасибо, кэп. Чтоб я без тебя делал – ума не приложу!

А маме настрой vpn, не издевайся над родными.

Какое хорошее решение, как же я не подумал! Хмм… вот только заблокируют его. Если не сегодня, то завтра. Вобщем, так себе решение. Моё получше будет. Один раз настроил, и работает.

Но в любом случае спасибо, что не послал.

nobody ★★
() автор топика
Ответ на: комментарий от nobody

https://github.com/tinyproxy/tinyproxy/blob/master/etc/tinyproxy.conf.in

# For example:
#  # connection to test domain goes through testproxy
#  upstream http testproxy:8008 ".test.domain.invalid"
#  upstream http testproxy:8008 ".our_testbed.example.com"
#  upstream http testproxy:8008 "192.168.128.0/255.255.254.0"

Последняя «строка» - это то для чего указанный апстрим применяется. Например, «192.168.128.0/255.255.254.0» - для целой сети. Апстрим может быть и socks. Там рядом примеры на это тоже есть. Но учти что сам tinyproxy слушает http. Для домашней сетки это пойдет, но если ты его в инете будешь размещать, его «тунелить» придется. Самый простой способ, имхо, stunnel.

PRN
()
Последнее исправление: PRN (всего исправлений: 2)
Ответ на: комментарий от nobody

Как именно разрулить входящие от клиента на 2 потока: местное обслуживание и через VPS

Upstream
This option allows you to set up a set of rules for deciding whether an upstream proxy server is to be used, based on the host or domain of the site being accessed. The rules are stored in the order encountered in the configuration file and the LAST matching rule wins. The following forms for specifying upstream rules exist:

upstream type host:port turns proxy upstream support on generally.

upstream type user:pass@host:port does the same, but uses the supplied credentials for authentication.

upstream type host:port "site_spec" turns on the upstream proxy for the sites matching `site_spec`.

`type` can be one of `http`, `socks4`, `socks5`, `none`.

upstream none "site_spec" turns off upstream support for sites matching `site_spec`, that means the connection is done directly.

The site can be specified in various forms as a hostname, domain name or as an IP range:

name matches host exactly

.name matches any host in domain "name"

. matches any host with no domain (in 'empty' domain)

IP/bits matches network/mask

IP/mask matches network/mask

Note that the upstream directive can also be used to null-route a specific target
Anoxemian ★★★★★
()
Ответ на: комментарий от PRN

Самый простой способ, имхо, stunnel.

Погоди, а авторизацию кто будет делать? Я не админ, чего-то могу не знать. Разве stunnel умеет авторизацию на VPS?

nobody ★★
() автор топика
Ответ на: комментарий от nobody

Какую авторизацию? К проксе? Как-то так

#  # upstream proxy using basic authentication
#  upstream http user:pass@testproxy:8008 ".test.domain.invalid"

Здесь в примере хттп. Протокол апстрима должен быть секюрным https. Как оно у носка не помню, вроде он не секюрный.

PRN
()
Последнее исправление: PRN (всего исправлений: 1)
Ответ на: комментарий от Anoxemian

Слушай, объясни, пожалуйста для тупых. Как мне сделать так, чтобы госуслуги работали местно, а подключение к сайту техаса обслуживалось через VPS? А то я чего-то ничего не понял из твоей цитаты (видимо, туп от рождения).

В случае sk5filt мне всё понятно. Вбиваю ti.com в файл для удалённого обслуживания, и больше от меня ничего не требуется:

echo ti.com >> /opt/sk5filt/hostlist

Дальше Ctrl+R в браузере. Всё! Никого, блин, геморроя. А у тебя как?

nobody ★★
() автор топика
Ответ на: комментарий от PRN

Напиши, пожалуйста, для тупых, как сделать авторизацию stunnel на VPS. А то тут некоторые говорят про порог вхождения. Итак, задача: сделать легко для юзера обход всяких гадостей от разных государств. Предлагаемое решение в топике: использовать простенькую утилитку в связке с ssh. А какова предлагаемая тобой альтернатива? Ну в формате:

cmd1 -options

cmd2 -options

Как-то так.

nobody ★★
() автор топика
Последнее исправление: nobody (всего исправлений: 1)
Ответ на: комментарий от nobody

Прямо сейчас у меня так:

Upstream http <i2p>.loc:8080 ".i2p"
Upstream socks5 <tor>.loc:1080 ".onion"
Upstream socks5 <byedpi>.loc:1080 ".youtube.com"
Upstream socks5 <byedpi>.loc:1080 ".googlevideo.com"
Upstream socks5 <byedpi>.loc:1080 ".ytimg.com"
...
#Upstream socks5 <byedpi>.loc:1080

Все в локалке, о секюрности заморочиться можно, но я не параноик)) В конце «дефолтный» апстрим закмментирован. Если его раскомментить, весь «дефолтный» трафик пойдет через byedpi.

Как мне сделать так, чтобы госуслуги работали местно, а подключение к сайту техаса обслуживалось через VPS

Приблизительно (тоже без дефолтного апстрима):

ssh -D 127.0.0.1:8081

Upstream socks5 127.0.0.1:8081 "ti.com"

tinyproxy запущен на локалхосте, конечно же)

PRN
()
Последнее исправление: PRN (всего исправлений: 3)
Ответ на: комментарий от PRN

Т.е. у тебя трафик идёт через tor? И ещё byedpi.

Про tor: можно попасть на уголовку, если кто-то через тебя напишет чего-то экстремистское в соцсетях. Ты же не просто пользуешься другими. Другие тоже пользуются тобой. Иди доказывай, что это написал не ты. Эксперт из ФСБ скажет, что написано с твоего компа. Сможешь доказать, что не верблюд? Таких прецедентов пока не замечено.

Про byedpi: ты ж понимаешь, что оно эксплуатирует баги в DPI? Баги если не сегодня, то завтра будут пофикшены. Обратную связь вы им создаёте очень хорошую.

Вобщем, я не спорю, что есть сиюминутное решение на tor + byedpi. Но оно не будет работать гарантированно всегда. В отличие от предлагаемого в топике. Ты с этим согласен или готов спорить?

И да, как насчёт удобства для end-user’а?

nobody ★★
() автор топика
Ответ на: комментарий от PRN

Ок. Но опять же вопрос удобства для end-user’а. Насколько предлагаемое решение является простым для обычного пользователя, не обладающего познаниями в области администрирования вычислительных систем?

В случае sk5filt всё достаточно понятно, а в предлагаемом тобой решении? Оно лучше (проще/понятнее) для end-user’а?

nobody ★★
() автор топика
Ответ на: комментарий от nobody

Т.е. у тебя трафик идёт через tor?

Угу, url вида http://yq5jjvr7drkjrelzhut7kgclfuro65jjlivyzfmxiq2kyv5lickrl4qd.onion идет туда.

Про tor …

Включаю по мере необходимости)

Про byedpi …

Ничто на этом свете не вечно. Когда придет время, возмусь за xray и тому подобное.

В отличие от предлагаемого в топике.

В топике у меня вопрос только к непонятным сырцам. Которым есть альтернатива «из коробки» в виде кучи расширений для браузера и готовых серверов в репах.

И да, как насчёт удобства для end-user’а?

Мне проще из репозитория поставть)

PRN
()
Последнее исправление: PRN (всего исправлений: 1)
Ответ на: комментарий от PRN

В топике у меня вопрос только к непонятным сырцам. Которым есть альтернатива «из коробки» в виде кучи расширений для браузера и готовых серверов в репах.

Альтернатива у тебя – это tor + byedpi. Оно в репах с аудитом? Чё-т я сомневаюсь. Думается мне, что никто не проводил аудит исходникам tor. Даже я не возьмусь, потому что слишком много кода. Но даже посмотри на byedpi. Сравни с sk5filt. Ну тупо по кол-ву строк кода сравни. sk5filt.c раз так в 100 меньше, чем byedpi (которому аудит тоже никто не проводил). А у byedpi комментариев так-то вообще нет в исходниках (от слова совсем). А у sk5filt комментарии – это большая часть исходника. Ты вот пользуешься byedpi, и почему ты считаешь, что оно безопаснее? Почему ты думаешь, что большущий блоб без единой строчки комментария безопаснее маленькой программки, которая чуть меньше чем вся состоит из комментов?

nobody ★★
() автор топика
Ответ на: комментарий от PRN

И да, как насчёт удобства для end-user’а?

Мне проще из репозитория поставть)

На это не ответил. Имелось в виду не удобство админа по установке (на которое всем неважно), а удобство юзера добавить хост/домен к списку обслуживаемых удалённо.

nobody ★★
() автор топика
Ответ на: комментарий от nobody

На это не ответил. Имелось в виду не удобство админа по установке (на которое всем неважно), а удобство юзера добавить хост/домен к списку обслуживаемых удалённо.

Перед добавлением «хост/домен к списку обслуживаемых удалённо» юзер должен скомпилить твой исходник (ты даже скрипт компиляции положить забыл, не говоря уже о makefile). Что 99.9% юзеров делать не будут.
А на tinyproxy, установив его стандартным путем из репозитария дистрибутива, далее добавление нового правила одинаково - добавить строку в конфиг:

Upstream socks5 127.0.0.1:8081 "ti.com"

И не нужно никакого васянского велосипеда!

Альтернатива у тебя – это tor + byedp

Альтернатива твоему велосипеду - tinyproxy. А куда перенаправлять трафик - не твое дело.

sigurd ★★★★★
()
Последнее исправление: sigurd (всего исправлений: 1)
Ответ на: комментарий от sigurd

А на tinyproxy, установив его стандартным путем из репозитария дистрибутива

Правильно ли я понял, что твоё фи вызвано исключительно отсутствием программки в дистрибутиве? Т.е. если бы оно там было, то ты бы её не ругал, а хвалил?

Почему я делаю такое предположение. Потому что ты ни слова не сказал про качество кода и другие критерии, по которым нужно сравнивать сравнимые программы. Функциональность, стабильность работы, удобство использования, сопровождаемость. Всё вышеперечисленное, кроме удобства использования, зависит от качества кода (от его проектирования и реализации).

ты даже скрипт компиляции положить забыл, не говоря уже о makefile

Какой такой «скрипт компиляции»? Если ты имеешь в виду gcc, обзывая его скриптом, то он системный должен быть, класть его к каждой программе было бы странно. А если ты имеешь в виду ./configure, то программка слишком проста, там тупо нечего конфигурить перед компиляцией.

Makefile нужен для сборки из более чем одного исходника. Чтобы разруливать зависимости и не компилировать те исходники, которые этого не требуют. Сабжевая программа состоит из 1 (одного) исходника. Зачем ей Makefile? Строка запуска gcc для компиляции этого единственного исходника приведена в стартовом посте.

Альтернатива у тебя – это tor + byedp

Альтернатива твоему велосипеду - tinyproxy. А куда перенаправлять трафик - не твое дело.

Писалось это человеку, который использует tor и bydpi. И не хочет использовать сабжевую программу, потому что не доверяет коду (вдруг там троян). Такое опасение понятно, но непонятно при этом доверие к bydpi. Которое представляет собой тонну кода без единого комментария. Так нельзя писать программы. Как минимум потому что оно несопровождаемо. Через год после завершения работы над программой даже сам её автор не вспомнит, как она работает и не сможет её доработать. Уж не говоря о том, что прямо сейчас она доверху набита необнаруженными пока багами. У меня вот она не захотела работать с клиентом, с которым без проблем работает как ssh, так и sk5filt. Отладить её своими силами не представляется возможным, потому что нет вообще никакой документации, просто гигантская простыня кода из кучи if/else (где-то там она сыплется на типа неподдерживаемой версии протокола, хотя версию клиент даёт правильную – 5). Наличие тонны багов – это неизбежное следствие тонны кода без какой-либо документации.

Ну и если ты тоже за безопасность, а не просто за удобство поставить из дистра без запуска gcc, то и тебе тоже вопрос такой же. Как ты думаешь, кто-нибудь проводил аудит кода tinyproxy? В случае бесплатного дистра – вряд ли. Такое удовольствие стоит денег. Т.е. если есть желание получить что-то гарантированно безопасное, придётся проводить аудит самому. Предлагаю сравнить стоимость аудита для tinyproxy и sk5filt. Учитывая, что кода у tinyproxy сильно больше, а документации сильно меньше. Для sk5filt ты сможешь провести аудит самостоятельно, если хоть немного знаешь Си.

nobody ★★
() автор топика
Ответ на: комментарий от Manhunt

Хорошая попытка, товарищ майор

В чём попытка-то? Подозреваешь, что после скачивания исходника оно само скомпилится, запустится и позвонит в ФСБ?

nobody ★★
() автор топика
Ответ на: комментарий от nobody

Про tor: можно попасть на уголовку, если кто-то через тебя напишет чего-то экстремистское в соцсетях.

Через клиента tor не идет никакой левый трафик, кроме трафика самого клиента.

maxcom ★★★★★
()
Ответ на: комментарий от maxcom

Было же уголовное дело про какого-то чувака из науки. Он использовал tor. Ему инкриминировали написание экстремистского коммента в соц.сетях. Защита говорила, что это не он, а хз кто через tor.

Вот нагуглил: https://ib-bank.ru/bisjournal/news/9367

nobody ★★
() автор топика
Ответ на: комментарий от maxcom

Через клиента tor не идет никакой левый трафик, кроме трафика самого клиента.

А как тогда работает анонимайзинг у tor’а? Ты пользуешься другими, другие пользуются тобой. Это ж p2p, или я чего-то не знаю?

Ну и самое главное: использовать tor в качестве прокси – это ж как гидравлическим прессом мух убивать. Задачка ж гораздо проще решается. Берём VPS, sshd там уже есть, у себя запускаем ssh + простенький SOCKS5 прокси. Всё! Для безопасности остаётся только провести аудит для кода прокси. И чем этого кода меньше, а документации на него больше, тем дешевле обойдётся аудит. Где я тут не прав?

nobody ★★
() автор топика
Ответ на: комментарий от nobody

А как тогда работает анонимайзинг у tor’а? Ты пользуешься другими, другие пользуются тобой. Это ж p2p, или я чего-то не знаю?

Нет, это не так. Клиенты tor не маршрутизируют чужой трафик и являются чисто потребителями сети.

maxcom ★★★★★
()
Ответ на: комментарий от maxcom

У него был выходной узел, это совершенно другая история.

Ок, видимо, я действительно многого не знаю про tor. Эту тему я не изучал, думал, что это просто p2p.

nobody ★★
() автор топика
Ответ на: комментарий от nobody

Писалось это человеку, который использует tor и bydpi. И не хочет использовать сабжевую программу, потому что не доверяет коду (вдруг там троян).

В шапке топика:

Программка фильтрует трафик. …

Этот функционал есть в tinyproxy и корректно твою поделку сравнивать именно с ним. tor и bydpi это апстримы прокси. И я приводил их в качестве примера перенаправления трафика в несколько апстримов. С виду, твоя поделка несколько направлений не поддерживает. Возникает логичный вопрос: зачем нужна твоя поделка (даже в репах), если есть tinyproxy с более богатым функционалом и уже проверенная временем?

PRN
()
Ответ на: комментарий от nobody

Makefile нужен для сборки из более чем одного исходника.

Makefile нужен как минимум чтобы «пользователь» просто набрал make. Не заморачиваясь с опциями сборки. Не все знают что -O... надо выставить. Это к слову об удобстве использования)))

PRN
()
Ответ на: комментарий от nobody

Как ты думаешь, кто-нибудь проводил аудит кода tinyproxy? В случае бесплатного дистра – вряд ли.

Конкретно - за кодом tinyproxy следят (как и за многими другими популярными программами) и регулярно находят в них дыры!
Вот свежая - в декабре 2023 года CVE-2023-49606. Вот про нее статья https://xakep.ru/2024/05/08/tinyproxy-rce/
https://github.com/tinyproxy/tinyproxy/issues/533
Год назад была найдена еще дыра - https://nvd.nist.gov/vuln/detail/CVE-2022-40468

Какой такой «скрипт компиляции»

Как то не привык я к распространению программ в виде c-файлов. Привык к пакетам, внутри которых исходники (даже если это один файл), readme, makefile (прикинь, даже одному файлу исходника требуется указать используемые инклюды и подключаемые либы).

sigurd ★★★★★
()
Ответ на: комментарий от PRN

Возникает логичный вопрос: зачем нужна твоя поделка (даже в репах), если есть tinyproxy с более богатым функционалом и уже проверенная временем?

Затем, что

Конкретно - за кодом tinyproxy следят (как и за многими другими популярными программами) и регулярно находят в них дыры! Вот свежая - в декабре 2023 года CVE-2023-49606. Вот про нее статья https://xakep.ru/2024/05/08/tinyproxy-rce/. https://github.com/tinyproxy/tinyproxy/issues/533. Год назад была найдена еще дыра - https://nvd.nist.gov/vuln/detail/CVE-2022-40468

Это к слову о проверенности временем. Сабжевая прожка сильно проще, поэтому не содержит багов. (Чем меньше кода, тем меньше багов – известный любому программисту факт). При этом она достаточна для заявленных целей – обход всяких дуростей от разных враждебных инстанций. Это общий принцип: использовать ту программу, которая способна решить конкретную задачу, и при этом максимально проста. Потому что чем проще решение, тем оно надёжнее работает.

nobody ★★
() автор топика
Ответ на: комментарий от PRN

Makefile нужен как минимум чтобы «пользователь» просто набрал make. Не заморачиваясь с опциями сборки. Не все знают что -O… надо выставить.

Дык, оно ж опубликовано вместе с ком.строкой для gcc, а не просто само по себе. Можно было бы засунуть это дело в tar и написать, что сначала нужно cd /tmp; tar -xf /path/to/file.tar, затем cd somedir, потом make. Было бы лучше?

Это к слову об удобстве использования)))

Какое это имеет отношение к использованию программы? Это ж администрирование, а не использование.

nobody ★★
() автор топика
Ответ на: комментарий от sigurd

Конкретно - за кодом tinyproxy следят

Ок, аргумент принят.

Как то не привык я к распространению программ в виде c-файлов. Привык к пакетам, внутри которых исходники (даже если это один файл), readme, makefile

Видимо, это потому что все программы, с которыми ты имел дело, были достаточно сложны, поэтому состояли из более чем одного файла. В этом случае, действительно, нужен, как минимум Makefile. И, возможно, потребуется ./configure. Чего действительно не хватает сабжевой программе – так это man’а. Опция -h – это хорошо, но недостаточно.

(прикинь, даже одному файлу исходника требуется указать используемые инклюды и подключаемые либы).

Для sk5filt не нужно. Все включаемые файлы и так уже включены по #include, а единственная используемая библиотека – это системная libc. Она и так подключается по умолчанию. Именно поэтому не нужны доп.ухищрения для компиляции. Едиственное тут топкое место – обзывание собственной функции выдачи сообщений в syslog как log, которое приходится обходить через -fno-builtin-log. Про это написано в стартовом топике (у gcc есть встроенная математическая функция log, с которой программкина функция не должна конфликтовать по именам).

nobody ★★
() автор топика
Ответ на: комментарий от nobody

Для sk5filt не нужно.
Едиственное тут топкое место – обзывание собственной функции выдачи сообщений в syslog как log, которое приходится обходить через -fno-builtin-log
Про это написано в стартовом топике

Ты сам себе противоречишь. Без указания спец-опции твой исходник не компилируется! Не должен программный пакет зависеть от текста на форуме! Но дело твое - тебе народ говорит, что мало кто будет пользоваться непонятным с-файлом. Ты продолжаешь настаивать, что так и надо проги распостранять!
Удачи с популяризации твоего с-файла!

sigurd ★★★★★
()
Последнее исправление: sigurd (всего исправлений: 1)
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)