Разработчики анонимной сети Tor опубликовали выпуск проекта Arti 1.1.0, развивающего Tor-клиент, написанный на языке Rust. Ветка 1.x отмечена как пригодная для использования обычными пользователями и обеспечивающая тот же уровень конфиденциальности, юзабилити и стабильности, что и основная реализация на языке Си. Код распространяется под лицензиями Apache 2.0 и MIT...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=58231
Ждём лет через 5-10 новость об очередном странном баге, затрагивающем Rust 1.60.
Только лишь 1.60 ?
"Начиная с версии 1.60" :)
Поражает, как медленно идёт переписывание даже с _готового_ кода на раст...
Как раз не поражает. Весь раст это груда постоянно мутирующих костылей.
>за счёт выразительности языкаПроиграл с этого момента.
ты проиграл с рождения
сколько нужно людей, чтобы с нуля переписать компилятор раста?
а сколько нужно людей для переписывания gcc?
Вряд ли его на месте писали.
Расте.
Выразительность слов программиста, использующего Rust.
Дон Кнут сказал, что goto нужен. в rust goto-нет. значит кrust-не нужен.
Ну да, дальше Бейсика ты не прошел
> Rust также даст возможность добиться более высокой скорости разработки, чем при использовании СиСпасибо, посмеялся. На rust самая болезненная и долгая разработка.
По сравнению с си не всё так однозначно -- сахара у раста прилично есть, да и батарейки какие-никакие.
Идеальный язык для говнокодинга.
верно. по-этому Go - лучше чем раст. пока ты борешься с языком и сложностями в расте, на Go пишут полезные вещи.
Полностью с вами солидарен.
Был и там и там. На Go действительно лабается быстрее, но больше усилий потом уходит на сопровождение. На Rust - приятный сюрприз - сопровождение заметно сокращается. Такие наблюдения, не претендующие на глобальные выводы.
>> На Go действительно лабается быстрее, но больше усилий потом уходит на сопровождение.значит не лабал, а говнокодил.
если ты "борешься с языком и сложностями в раст" значит что-то неверно проектируешь на низком уровне, не знаешь язык или упускаешь и не дорабатываешь моменты, которые учтены в расте, но не в твоей сишке и раст-компилятор бьёт тебя по рукам, говоря, что то, что ты делаешь (или не сделал) в си - ошибка и тебе надо задуматься.
Ты просто не умеешь его готовить.
Подключать crate для сахарка -- такое себе.
Cargo-культ же, ну?!
У тебя есть опыт разработки большой программы на rust или ты просто делишься своим экспертным мнением?
Для больших программ на расте - нужны большие диски. Самое страшное что это не шутка..
>Для больших программ на расте - нужны большие диски. Самое страшное что это не шутка..Да, тупость коллеги-растохейтера намного страшнее плохих шуток :) :) :).
это как если спросить: "ты прыгал с 10 этажа, чтобы говорить как это плохо?"
Есть опыт параллельной разработки одной задачи на нескольких языках.
Я тут заметил интересную вещь, каким образом фф оказывается в каталоге сессии баша в konsole (в смысле PWD, где ему ВООБЩЕ делать нечего), когда долго запущен? Ворует ресурсы где-то, но почему они остаются в том каталоге, где были запущенны прошлые команды? Когда он открывает ссылки и запускает программы, в итоге, они стартуют не в домашнем каталоге, а там, где они никогда не должны были быть. Это выглядит как неприятная уязвимость. В моём случае у скрипта была логика, что если браузер запущен с ярлыка, у нег рабочий каталог == $HOME, а если нет, то надо и работать там, откуда запустили.
Ты удивишься, какие программы, куда, и как часто, ломятся на твоём диске и к другим ресурсам.
Особенно, настраивая что-нибудь вроде selinux.
А еще, 30% прог просто забивают на структуру папок в хомяке и срут везде.
Не так и много, около десятка, в основном шляпа вроде gnupg и openssh. Все остальные в своих каталогах в .cache/.config (и .local для переопределения данных). но рабочий каталог это вещь совершенно отдельная, это либо то место откуда запущена программа, либо то место, куда она перешла. Зачем браузер оказывается там, где его быть никак может?
Браузеры -- это примерно единственные программы, которые имеют столько постоянно перезапускаемых процессов и занимаются чем-то странным. То, что хром и скайп читают твой /etc/shadow, чтобы знать пароль рута, это совершенно другая проблема, не утечка ресурсов и параметров процессов в соседние программы (интересно, какие уязвимости для apparmor открываются таким образом).
чтением etc shadow невозможно узнать пароль рута, не говоря уже о том, что чтение это не доступно хрому и скайпу
Хэш пароля, который можно восстановить по радужным таблицам и так далее. Хрому точно доступно, у него суидные бинари присутствуют.
> восстановить по радужным таблицам и так далееПо радужным таблицам ты в любом современном дистрибутиве восстановишь приблизительно ничего. Рассказывай давай про «и так далее» для нахождения коллизии в SHA512.
> в любом современномНайс оговорка, но 1 старые установки не подвержены смене алгоритма даже после обновления и 2 эти обновления вообще должны быть, ты действительно полагаешь, что люди, использующие сегодня скайп, озаботятся ими или сменой пароля после обновления? Вот на таких и нацелено, а это часто достаточно высокопоставленные лица.
Я припоминаю переход на sha256 был пару лет назад, sha512 я пропустил. Лет 10 назад был переход с md4 на md5. Но это всё не future-proof крипта, вполне вероятно, её уже сегодня научились открывать. Так что достаточно будет просто сливать хэши для коллекции, и их подбор в будущем может очень прекрасно облегчить брутфорс новых хешей.
Есть ещё системы где хэш даже не md5, а md4, там вообще можно не париться.
Кто в теме, у нас в России TOR заблокирован? И если да, то насколько?
"Тор вне за кона" (с) ПистонДа, заблокирован хорошо. У меня на РТ не работает.
RT - ростелеком?
Так-то оно работает, только для венды надо через альтернативные ссылки браузер качать.
Там как повезёт. Часть мостов отвалилась, часть - работает. Причём, рабочие частенько банят.
Поэтому приходится новые подбирать. С 1-20-й попытки новый рабочий находится
У меня на Ростелекоме работает, только бридж нужно подобрать.
Даваще.
Наглухо :D
Через Yggdrasill работает.
> Кто в теме, у нас в России TOR заблокирован?Как с телеграмом примерно - полузаблокировали, удушив ссылки на скачку. Линуксоидам т.п. это похрен. Кто-то из провов пытается душить узлы, кто-то не пытается, их списки достаточно динамичны и блок работает понятно как. Бриджи они вообще не видят почти все.
Бред, телеграм давно уже все сливает, да и привязывать телефон для анонимности - это как срать в миску.
Скоро госбриджи добавят - вот сказка будет.
> Бред, телеграм давно уже все сливает,Если б вы сказали что в телеграме много кого сливают - это пожалуй сошло бы за правду. Да и вопрос про блокировку был. Оказывается блочить умеют только тех кому пофиг и кто с этим вообще не пытается бороться. А если пытается - ну, тогда как с телеграмом.
> да и привязывать телефон для анонимности - это как срать в миску.
Это да. Хотя кому сильно надо - вон там временные номера есть.
> Скоро госбриджи добавят - вот сказка будет.
В тор чтоли? Ну вот тут как бы на узле не написано кому он принадлежит и это стоит понимать. Однако бридж так то видит только 1 хоп из 3 и куда и кому оно дальше - знать не обязан. А если он попробует саботировать конект к "непправильным" пирам то это чисто статистически неплохо палится и его карта будет довольно быстро бита.
>>серверов директорийПоясните, с целью повышения уровня образованности - вот это ЧТО, особенно в контексте ТОРа?
Ты подключаешься к серверам американских спецслужб, и они дают тебе адреса, по которым ты должен подключаться. Разве тор не так работает? А то откуда ты узнаешь адреса нод.
Нормальная экспертиза. Кроме шуток, когда я в прошлый раз интересовался работой этой сети, там внезапно откуда-то появилось больше половины нод и все они были совершенно левыми от мутных провайдеров. Их там вроде кикнули из сети в итоге, но это не точно. Если мутность можно объяснить желанием подсмотреть данные кредиток, то такую массовость можно объяснить только спланированной акцией по захвату сети позволяющем устроить эффективный деанон при необходимости. Но вот конкретно вот этим нодам к которым подключаются все надо верить безусловно, это ни разу не подставные ноды, быть такого не может.
Просто нужно думать перед тем как использовать конкретный инструмент.
Напр. выходит через тор за тем, за что местный майор может набутылить, а фбрщику оно до одного места.
> откуда-то появилось больше половины нод и все они были совершенно левыми от мутных провайдеров.Кто угодно может просто взять и просто запустить релей тор. Или группу релеев. Наиболее кривые и проблемные постепенно выпиливают, как раз помечая явно кривых через вон те сервера директорий, но этот процесс разумеется не моментальный и некоторое время абы какие узлы могут творить заметный объем хаоса.
Тор не панацея. Это лишь 1 из инструментов. Этот момент следует понимать.
> Поясните, с целью повышения уровня образованности - вот это ЧТО, особенно в контексте ТОРа?Тор не является чистым p2p и одноранговой структурой: есть сервера директорий раздающие списки узлов. Кто угодно может быть релеем но у определенных лиц есть возможность выпиливать определенные группы узлов если они ведут себя криво. Этот момент стоит понимать.
ну что, хотя бы в этом клиенте появится tun/tap-интерфейс, чтоб вообще всю систему через тор гонять?
Через TransPort можно уже сейчас.
чтобы он работал, нужен iptables/nftables, который бы редиректил на этот порт. А я говорю про вариант, когда весь трафик можно пустить в тор через ip route add default via ... Т. е. совсем как с VPN, который тоже не требует iptables/nftables для своей работы.
> будет исключена в реализации на Rust, если в коде не используются блоки "unsafe"в каком смысле "если"?
блоки unsafe были или нет? релиз же выпустили?
Открой исходники да почитай.
Исходники на Rust лучше перед сном читать.
Зачем? Чтобы кошмары снились? Какой ты добрый.
Ну вот, а местные иксперты говорили что на Раст ничего сложнее хеллоуворлд нельзя написать:) А оказывается, что Собака лает, а караван идёт!
они про себя говорили. Они не могут написать ничего сложнее hello world. И не только на rust
Ну так сколько лет это пишут а оно не умеет базовых фич. Зато кормит завтраками как оно заменит, ух! Серва так 10 лет делала. А потом ее разработчиков уволили из мозилы, кажется.
https://blog.torproject.org/announcing-arti/
July 8, 2021И сколько же лет???
Улитка галлопирует ты хотел написать.
О, как прекрасны ожидания чудесного! И как горько разочарование о несбывшихся мечтах потом.
да, ты думал стать крутым одмином, а в итоге эникей в рога-и-ко за 20К на побегушках у тети гали бухгалтерши
> Ветка 1.x отмечена как пригодная для использования обычными пользователями
> В течение следующих нескольких лет работа будет направлена на реализацию функциональности, необходимой для работы релеевНу правильно, когда релеи в полнейшей **** из-за ддосов и утечек памяти, у нас зато всё готово для обычных пользователей, а релеи как-нибудь сами.
А зачем тебе релей, если он от ддоса даже подняться не может :)
Ну они видимо трезво оценили что на расте у них в таких условях память закончится секунд за 20, а многопоточный код положит в полку не 1 ядро а все, репутация кодеров уйдет в плинтус, а все хостеры допишут в ToS что нельзя хостить не только майнеры но и эти артишоки, во избежание.
> если в коде не используются блоки "unsafe""Если"
если что, у тебя даже нет навыков проверки этого "если"
Их не может не быть хотя бы потому что надо общаться с системой. Например, воспользовавшись простейшим поиском на их гитлабе (понимаю, что для онанима это сложно), мы увидим, что там дёргаются разные geteuid, getgroups и прочее небезопасное.
> если в коде не используются блоки "unsafe"Если?! Т.е. невозможно писать без unsafe, что ли? А если написать - то получится лишь хеловорлд...
Писать-то можно, но если ты пишешь что-то большое и хочешь призводительности как на плюсах, то без ансейфа никуда. В противном случае линтер тебя загоняет туда, где много копирований и парсинга данных. Особенно прекрасна работа с массивами, особенно с индексами. Там где ты можешь на плюсах влезть в буфер и вписать данные длинной в int
например, на тех же плюсах: на расте тебе придётся заниматься перестраиванием этого буффера но уже с исправленным интом посередине.
Те, у кого раст головного мозга (а эта болезнь рамывает мозг не хуже питона головного мозга), тебя будут уверять, что это не так, что safe-rust будет работать быстрее плюсов... даже в некоторых случаях быстрее ассемблера, будут биться в истерике, плакать и звать маму...
Но им верить нельзя. Это тяжелобольные люди, с глубоким поражением сознания и радикальными изменениями в чувстве реальности.Вобщем, переписсывание чего-либо готового на расте с целью сделать безопаснее - это религия, а поклонники этого культа - фанатики. К сожалению, многие из этих фанатиков ещё и самопровозглашённые иксперды по безопасности с курсами продаванов... Они умеют продавать "чувство защищённости" и мнимую уверенность в некоей виртуальной защите от псевдоугроз. А способность возбудить паранойю, а потом унять её дорого стОит в современном обществе и лох (который не мамонт и не вымрет) с радостью за это платит.
В итоге мы имеем такие вот проекты, которые отнимают время, силы и заставлят технологический прогресс топтаться на месте.
У-у-у, как всё запущено...>В итоге мы имеем такие вот проекты, которые отнимают время
а в статье написано, что разработчики (писавшие всё это хозяйство до того не один год на си) утверждают что разработка идет быстрее и не отнимаются силы на написание лишних проверок:
"...Rust также даст возможность добиться более высокой скорости разработки, чем при использовании Си, за счёт выразительности языка и строгих гарантий, позволяющих не тратить время на двойные проверки и написание лишнего кода..."
Но я, конечно, лучше прислушаюсь к Вам, Эксперт с опеннета.
> заставлят технологический прогресс топтаться на месте.Да, точно. Зачем топтаться на месте, когда можно спокойно стоять на месте, продолжая пользоваться технологиями полувековой давности типа C.
Раст по скорости не быстрее любого языка, собираемого в нативку и обходящегося без сборки мусора. Эффективность итогового машинного кода зависит от LLVM-бэкенда. Те, кто 10-15 лет на С++ писал, осваивают ржавчину вообще чтением учебника в духе "Rust In Action" по диагонали, потому что все фундаментальные идеи те же, а из отличий только то, что RAII и ownership указателей (ссылок) проверяется в compile-time. Как говорится, "лучше грохнуться при сборке, чем на проде есть иголки".
> Те, кто 10-15 лет на С++ писал, осваивают ржавчину вообще чтением учебника в духе "Rust In Action" по диагоналиЭто им кажется, что они осваивают ржавчину таким образом. Я присматривался к slint пару месяцев назад, и решил что я уж лучше погрызу кактус недокументированного iced, потому что slint в некоторых местах вызывал у меня сомнений вида "аргумент идёт по &-ссылке, но по-логике он должен идти через &mut-ссылку". Не стал ковырять глубже, чтобы понять не кажется ли мне, на это надо очень много свободного времени, но осадочек остался. Может они там рантайм боровчекер использовали? Что-нибудь типа interior mutability как у RefCell? Хз.
Rust -- это другая парадигма, ортогональная тому, что есть в C++. C++ о повторном использовании кода и о том, чтобы замести сложность под ковёр инкапсуляцией. Rust о том, чтобы о корректности кода можно было бы рассуждать логически, рассматривая одну функцию за раз. Желательно чтобы эти рассуждения компилятор проводил бы автоматом при каждой компиляции. Но это же всё достигается посредством кодирования в API того, как низлежащий код обходится с аргументами, и если ради снижения проблем с боровчекером API меняется, то это значит что проблемы полезут в рантайме, и вот о них уже рассуждать логически будет невозможно без использования дебуггера, потому что рассуждения потребуют отвечать на вопросы, которые требуют просмотра всего кода для ответа. И RefCell в этом смысле не сильно лучше, потому что хоть он и позволяет обойтись без дебуггера, разбираясь в причинах паники, но это всё равно рантайм проблемы. Такие рантайм проблемы, которых невозможно избежать рассуждая логически об одной функции за раз.