Разработчики анонимной сети Tor представили первый бета-выпуск (0.1.0) проекта Arti, развивающего Tor-клиент, написанный на языке Rust. Проект имеет статус экспериментальной разработки, отстаёт от функциональности от основного клиента Tor на языке Си и пока не готов полноценно заменить его. В сентябре планируется сформировать выпуск 1.0 со стабилизацией API, CLI и настроек, который будет пригоден для начального использования обычными пользователями. В более отдалённом будущем, когда код на Rust достигнет уровня, способного полностью заменить вариант на Си, разработчики намерены придать Arti статус основной реализации Tor и прекратить сопровождение реализации на Си...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=56790
Tor на языке Rust. Завидую людям, у которых столько свободных сил и времени...
Я вот думаю, который достигнет состояния уже полностью готов к использованию быстрее: Wayland или Arti?
Вообще-то за это деньги заплочены (673 тыс. $) https://grants.zfnd.org/proposals/215972995-arti-a-pure-rust...
i loled. ясно. не удивлюсь если там арпа поучаствовала.
> ZcashВопросов больше не имею
> arti-a-pure-rust-tor-implementation-for-zcash-and-beyondА, хайпомакаки, NFT пусть еще встроят. С POS конечно, фродить так по крупному.
> Завидую людям, у которых столько свободных сил и времени...Чем вы читаете...
"Rust также даст возможность добиться более высокой скорости разработки, чем при использовании Си, за счёт выразительности языка и строгих гарантий, позволяющих не тратить время на двойные проверки и написание лишнего кода."Полагаю, разработчикам тора виднее, чем тебе. Опыта ковыряния и сопровождения своего продукта у них больше, чем у тебя в нём же. В долгосрочной перспективе "догонят и перегонят". Это лучше, чем продолжать тратить кучу времени на поиск и исправление ошибок, которые будут исключены автоматически и дополнительно писать проверки, необходимость в которых _частично_ отпадет.
Я понимаю вашу фрустрацию, но я делал акцент на Tor, а не на Rust.
Вместо того чтобы вкладываться в gnunet или и2п, переписывают шило на мыло. Ну, ок, будет nsa/arpa-tor на расте - и дальше что?
Волшебным образом станет настолько неблокируемым, и2п будет курить в сторонкк, и скорость при это будет гигабитная.
> неблокируемымЭто про какую безопасность: safety или security?
Я то думал скорость от нодов зависит, а тут оказывается ЯП, век живи-век учись, однако!
> Полагаю, разработчикам тора виднееСудя по вышеприведенной ссылке, виднее заказчику, который захотел увидеть реализацию на "pure rust". Любой каприз за ваши деньги
> Полагаю, разработчикам тора виднее, чем тебе. Опыта ковыряния и сопровождения своего продукта
> у них больше, чем у тебя в нём же.
> В долгосрочной перспективе "догонят и перегонят".Когда и если - тогда, имхо, и приходите. Заодно и покажете как это проще и быстрее. А то что-то в tox на этих закорюках только 1 джеди прогает. От остальных поддержка в основном рассказами как это кр00то. А комитов не дождетесь. Интересно, тут так же? Потому что этой реализации и этим сказукам уже лет 5-6 наверное.
>> Полагаю, разработчикам тора виднее, чем тебе. Опыта ковыряния и сопровождения своего продукта
>> у них больше, чем у тебя в нём же.
>> В долгосрочной перспективе "догонят и перегонят".
> Когда и если - тогда, имхо, и приходите. Заодно и покажете какКуда приходите и кому покажите? В комменты к новости о расто-софте (пусть и 0.1)?
Логичнее было бы выдвигать претензии к автору новости/одмину, а не докапываться к обсуждению, не?Или все как в (анонимном) опеннетном эпосе - "пройти мимо нет никакой возможности!"?
...
Есть древняя легенда, соткана в поэму,
Дошла до нас сквозь вереницы лет,
Как-то зайдя на Опеннет, Воен-за-Си увидел Расто-тему
Там мерзкий Раст бесстыже был воспет!
Свой боевой пукан вперед направив,
Воен открыто пyкнул во Врага!
Но Растоман, не соблюдая честных правил
В ответ плеснул вонючим смузи изподтишка.
Воен едва, лишь чудом увернулся,
Ему по сути просто повезло ...
Вот с той поры Воены сражаются и срутся,
И много тонн овна по форуму стекло.
Пусть кажется, что Воены побеждают,
Не будет скоро в мире Расто-Зла,
Но Растоманы подлые никак не умирают,
Что раскаляет Военский пуканчик докрасна!
> Воен-за-СиТем временем Растист-против-Си линкует свои rust-программы противным libc. Наверно память отшибло.
https://blog.sunfishcode.online/port-std-to-rustix/
Молодцы, конечно.Но аноним с протекающей памятью так и будет продолжать писать стихи про военов-за-си, и компилировать свои rust-программы с libc.
Это пустые слова.
Чем проще язык тем он популрянее и тем проще его изучать и использовать.
Посмотрите как английский в глобальном мире вытесняет другие языки.
Аналогично и в компьютерном, вон есть мегакрутой эрланг и ещё куча других языков обмазанных всяким разным и они мало кому нужны.
> Чем проще язык тем он популрянее и тем проще его изучать и использовать.Причино-следственные связи перепутал.
Язык (человеческий) простой, потому что он популярный, потому что с детства учат (учишься) и заставляют использовать.
Глупая теория. Немецкий например раз в 10 легче английского, в нем практически нет:
- исключений из правил;
- читается он также как пишется;
- немецкий обошел стороной great vowel shift, из-за которого в правильном произношении английского, черт ногу сломит;
Я могу долго перечислять, у меня за 4 года изучения английского, и его произношения, много пунктов накопилось. И при всем при этом немецкий как-то английский не потеснил, хотя они оба корнями уходят в один язык.
> Глупая теория. Немецкий например раз в 10 легче английского, в нем практически
> нет:
> - исключений из правил;Такой же "анализ".
Минимум, столько же неправильных глаголов (максимум - раз в 6 больше, если считать глаголы с префиксами).
На 1 падеж больше, 3 определенных и 2 неопределенных, склоняемых артикля,
In ein[i]em[/i] schön[i]en[/b] Garten - В красив[i]ом[/i] сад[i]у[/i] - In a beautiful garden.
не особо "интуитивных" для неносителей языка (луна - мужского рода, солнце, часы - женского, девушка, ребенок - среднего), гибкое словообразование, позволяющее иметь длинные, составные слова "Rindfleischetikettierungsüberwachungsaufgabenübertragungsgesetz" (Cattle marking and beef labeling supervision duties delegation law) ...
По поводу немецкого в чем-то могу ошибаться, потому что я изучаю именно английский. А выводы о том что немецкий в разы легче английского, делаю со слов преподавателей английского. Они часто проводят параллели и сравнения между этими языками, ибо порой это помогает разъяснить многие странности, языковых конструкций английского языка. Virginia Bēowulf особенно любит этим заниматься, порой закапываясь в историю "эволюции" английского языка. Уж извини, слова этих людей для меня имеют гораздо больший вес, чем комментарий анонима с opennet.
> По поводу немецкого в чем-то могу ошибаться, потому что я изучаю именно
> английский. А выводы о том что немецкий в разы легче английского, делаю со слов преподавателей английского.Яснопонятно - "... Гоги напел!".
> Они часто проводят параллели и сравнения между этими языками, ибо порой это помогает разъяснить многие странности, языковых конструкций английского языка.
Давай я проведу простенькое сравнение на простеньких примерах:
A beautiful garden. | Ein schöner Garten.
The beautiful garden. | Der schöne Garten.
In a beautiful garden. | In einem schönen Garten. | In schönem Garten.A beautiful house. | Ein schönes Haus.
The beautiful house. | Das schöne Haus.A beautiful girl. | Ein schönes Mädchen.
The beautiful girl. | Das schöne Mädchen.Dein schöner Garten. | Your beautiful garden.
Deine schöne Frau. | Your beautiful wife.Т.е. окончание, в том числе и местоимений, зависит от использованного артикля (определенный/неопределенный) и рода, причем существительные совершенно не обязательно среднего. И артикли - строго привязаны к грамм. роду существительного и падежу:
The brother's wife gives the hat to the priest's daughter | Die Frau des Bruders gibt der Tochter des Pfarrers den Hut.
The sister's husband gives the salt to the priest's son. | Der Mann der Schwester gibt dem Sohn der Pfarrerin die Salz.
Такое вот "раз в 10 легче английского".
> Virginia Bēowulf особенно любит этим заниматься, порой закапываясь в историю "эволюции" английского языка.
> Уж извини, слова этих людей для меня имеют гораздо больший вес, чем комментарий анонима с opennet.Уж извини, как владеющий языком на уровне носителя - на отсыл к авторитету очередных лохотро^W платного курса могу лишь хмыкнуть и усомниться в квалификации "преподователей".
> за счёт выразительности языкаУхита. Вот ПЕРДЛ другое дело: https://metacpan.org/release/RCAPUTO/Acme-Phlegethoth-1.05/v...
При использовании этого модуля сразу чусвтвуешь что Ктулху фхтагн и уснул за наши грехи. Вот это настоящая выразительность!
А этот ваш рустерский руст так, пфе.
Нет бы на KreMLin https://github.com/FStarLang/kremlin
C таким названием на гитхабе можно уже и бан поймать
но проект на самом деле прикольный )
> прикольныйЗаметь, ни одного абзаца обещаний безопасности.
>> HACL*, our High Assurance Crypto Library, provides numerous cryptographic primitives written in F*; these primitives enjoy memory safety,...
>> By virtue of typing, any Low* program is memory safe.
>> ... a shallow embedding of a small, sequential, well-behaved subset of C in F*
>> ... provides the control required for writing efficient low-level security-critical code.
> Заметь, ни одного абзаца обещаний безопасности.Продолжаешь газифицировать лужи?
> HACL*Это частное мнение создателей библиотеки.
> By virtue of typing, any Low* program is memory safe
Тоже частное мнение (анотация) к работе.
Будут цитаты из официальных страниц языка? Или опять гулко треснул?
>> We have written 20,000 lines of low-level F* code, implementing the TLS 1.3 record layer.
>> HACL*, our High Assurance Crypto Library,
>> (1) We provide HACL∗, a “high-assurance crypto library” implementing and provinglines of Low∗) several cryptographic algorithms, including the Poly1305 MAC [Bernstein
> Это частное мнение создателей библиотеки.Это повторный пук в лужу, под видом джакузи.
>> the ICFP 2017 Paper provides an overview of KreMLin as well as a paper formalization of our compilation toolchain
>> We illustrate the design of Low∗ using several examples from our codebase. We show theChaCha20 stream cipher [Nir and Langley 2015], focusing on memory safety (§2.1), and the
Poly1305 MAC [Bernstein 2005], focusing on functional correctness. (§2.3). Going beyond functional
> Тоже частное мнение (анотация) к работе.
> Будут цитаты из официальных страниц языка? Или опять гулко треснул?Зачем ты продолжаешь газифицировать лужи?
> HACL∗Эта библиотека - часть языка? Примитивы библиотеки обещают или язык?
> We
> ourЭто язык или люди заявляют в своей (частной) работе?
> Зачем
так гулко?
>> HACL∗ <библиотека-демка от самих кремлинцев>
>> written in F*; these primitives enjoy memory safety
> Эта библиотека - часть языка? Примитивы библиотеки обещают или язык?Твой юлеж и балабольство унылы.
>> We
>> our
> Это язык или люди заявляют в своей (частной) работе?Завязывай уже с унылой демагоги^W попукиванием и передергом - язык не может что-то "заявлять", а "эти люди" и есть разработчики F*
https://www.fstar-lang.org/#people
ну и выставить "частной" работой ты пытаешься
"Verified Low-Level Programming Embedded in F*"
> We present Low∗, a language for low-level programming and verification, optimized cryptographic libraries. Low∗ is a shallow embedding of a smal
> ... By virtue of typing, any Low∗ program is memory safe. In addition, the programmer "от них же.
>> Зачем
> так гулко?Очередной унылус балаболус вульгарис сломался, вносите следующего.
>> Это язык или люди заявляют в своей (частной) работе?
> Завязывай уже с унылой демагоги^WСогласен. Так язык или люди, используя речевые обороты с "we", "our", "by virtue of typing"?
Или безапелляционно, как раст, как язык гарантирует компилятором?
И заметь, эти заявления на сторонних сайтах.
>> Завязывай уже с унылой демагоги^W
> Согласен. Так язык или люди, используя речевые обороты с "we", "our", "by
> virtue of typing"?И зачем ты продолжаешь, раз "согласен"?
> Или безапелляционно, как раст, как язык гарантирует компилятором?
> И заметь, эти заявления на сторонних сайтах.https://www.fstar-lang.org/#introduction
>> You can learn more about F* by following the online tutorial and reading our papers.https://www.fstar-lang.org/tutorial/
>> Given the implementation of a procedure, F* actually builds a mathematical proof that it is safe and correct with respect to its signature.И заметь, даже усиленный юлеж^W демагогия тебе не помогли.
> https://www.fstar-lang.org
> https://www.fstar-lang.org/tutorial/Это страница какого языка?
> Given the implementation of a procedure, F* actually builds a mathematical proof that it is safe and correct with respect to its signature.
И даже здесь где обещания безопасности _памяти_. Говорится про корректность согласно описанию. Описать можно и опасное поведение, в том числе порчу памяти.
>>>>> https://github.com/FStarLang/kremlin
>>>>> KreMLin is a tool that extracts an F* program
>>>>> ... Low*, a subset of F* ...
>> https://www.fstar-lang.org
>> https://www.fstar-lang.org/tutorial/
> Это страница какого языка?"Папа, где море?"
> Аноним (71) Заметь, ни одного абзаца обещаний безопасности.
>>> any Low∗ program is memory safe.
> Аноним (71) <Нищитаица!>
>>> F* actually builds a mathematical proof that it is safe and correct
> Аноним (71) И даже здесь где обещания безопасности _памяти_. Говорится про корректность согласно описанию.Опять унылый юлеж и переобувание в прыжке.
>>>>>> ... Low*, a subset of F* ...Это один и тот же язык?
>>>>> KreMLin is a tool that extracts an F* program
Вот именно, этот инструмент может вытащить только то, что может вытащить, из более общего/мощного языка. При этом KreMLin даже из подмножества (Low*) не всё вытаскивает.
>>> any Low∗ program is memory safe.
>>> F* actually builds a mathematical proof that it is safe and correctБессистемная художественная аппликация из цитат.
Ты не понимаешь разницы между F*, Low* и KreMLin, и библиотек в составе других проектов. Дергаешь цитаты из разных языков. И даже там, все эти "безопасности" сказаны с использованием речевых оборотов "в силу сказанного".
>>> We present Low∗, a language for low-level programming and verification, optimized cryptographic libraries. Low∗ is a shallow embedding of a smal
>>> ... By virtue of typing, any Low∗ program is memory safe. In addition, the programmer "
> Это один и тот же язык?Память как у рыбки?
> Бессистемная художественная аппликация из цитат.
> Ты не понимаешь разницы между F*, Low* и KreMLin, и библиотек в
> составе других проектов. Дергаешь цитаты из разных языков. И даже там,
> все эти "безопасности" сказаны с использованием речевых оборотов "в силу сказанного".Юли Балаб^W Емеля, твоя неделя.
>>> By virtue of typing...Цитата из стороннего сайта про Low*. Еще раз повторить "Память как у рыбки?"
> Балаб^W
Если что, то компилятор F* компилирует/транслирует в ocaml, который с менеджером памяти и GC. Причем тут "безопасность памяти"?
Low* это подмножество F*, для которого можно написать компилятор/транслятор на Си (без использования менеджера памяти и gc).
HACL* - это библиотека из другого проекта с _примитивами_, которые "что-то там гарантируют".
KreMLin (про который весь сыр-бор) не полностью поддерживает Low*, не может транслировать в человеко-читаемый Си-код.
>>>> By virtue of typing...
> Цитата из стороннего сайта про Low*. Еще раз повторить "Память как у рыбки?"Рыбка, пересмотри еще раз сайт и авторов.
Цитата из работы, представленняющей KreMLin-Low на ICFP (International Conference on Functional Programming), на которую ссылаются с гитхабостраницы проекта
>>> This work has been formalized on paper. We state that the compilation of such F* programs to C preserves semantics. We start from Low*, a subset of F*, and relate its semantics to CompCert's Clight.
>>> the ICFP 2017 Paper [ссылка] provides an overview of KreMLin as well as a paper formalization of our compilation toolchain"и в которой (работе) в списке авторов без особого труда можно увидеть самых активных коммитеров
https://github.com/FStarLang/kremlin/graphs/contributors...
> прочий унылый юлеж поскипан
>
Ты еще путаешь людей, (одних и тех же) участвующих в разных проектах, которые высказываются применительно к проекту. И то, что написано про проект hacl*, применяешь к kremlin, и то что написано про F*.Привет, аноним с проблемами с абстракциями!
Пытаюсь через tor зайти на заблокированный вчера https://echo.msk.ru/. "Основной клиент" не может подключиться. Ошибка "... connections died in state connect()ing with SSL state (No SSL object)"
Это блокировка РосКомПОЗОРА?! Как обойти? Провайдер TTK.
ну если в зоне .ru и хостинг в РФ, то никак
> ну если в зоне .ru и хостинг в РФ, то никакДля этого эху надо сняться с тормоза и СДЕЛАТЬ ВЕРСИЮ ВНЕ .RU И СЕРВЕРОВ РФ. Желательно еще hidden сервис нарулить для нимусов. Его размочить труднее.
Через самый простой браузерный впн (который на самом деле обычный прокси, кто бы чего не говорил)
С сайтом понятно. Вопрос в том как обойти блокировку TOR?
Подключись к иностранной выходной ноде, у которой не залочено эхо.
Я наверно неудачно сформулировал вопрос. Проблема не с подключением к сайту эха. "Основной клиент" не может подключиться к сети TOR. Попытка подключения к различным релеям заканчивается ошибкой. Для каждой по пытки в логе клиента что-то вроде
Problem bootstrapping. Stuck at 5% (conn): Connecting to a relay. (Connection timed out; TIMEOUT; count 34; recommendation warn; host 9695DFC35FFEB861329B9F1AB04C46397020CE31 at 128.31.0.39:9101).
См в строну бриджей и снежинки
> Problem bootstrapping. Stuck at 5% (conn): Connecting to a relay.Бриджи пропищи. Видишь ли сетевые освободители могут немного побустать список релеев, скачав ... только подумай, консенсус тора, самим тором.
>Бриджи пропищиНайденные мной манулы в один голос утверждали, что это можно сделать для специального тор-браузера. А возможно ли приучить к такому "простой" тор-клиент, который демон в линуксе? Заранее спасибо, если кто подскажет (манул или хотя бы откуда копать).
/etc/tor/torrcПишешь BridgeRelay 1 и прописываешь остальное вручную
Зайдите на телеграм @GetBridgesBot
Только что проверил - работает.
Установи снежинку
Кинь ссылкой, пжлст
https://snowflake.torproject.org
https://support.torproject.org/ru/censorship/what-is-snowflake/
https://community.torproject.org/relay/setup/snowflake/browser/
https://www.comss.ru/page.php?id=9166
Спасибо, но пробовал - не помогает. Помогает только Request a bridge from torproject.org, но увы и то не всегда(
РКН периодически блокирует мосты, до которых дотягивается.
К счастью, всё время появляютсян новые. Можно просто писать команде Tor Bridges на мыло - они выдадут адрес моста.
Возможно с другой стороны Эхо Москвы тоже заблокировали так как оно принадлежит Газпром Медиа.
Почему эта ветка до сих пор не отмодерирована, в отличии от безобидных сообщений анонимов с отшибленной памятью?
>>минимум половина всех отслеживаемых проектом уязвимостей будет исключена в реализации на Rust, если в коде не используются блоки "unsafe"А почему только половина? Судя по уровню безопасности языка, должно быть исключено 100% уязвимостей.
По статистике Гугл хром и проектов Майкрософт всего 70% уязвимостей покроет safe Rust.
Овчинка, выделка.
Медведь, шкура."Актуальная статистика" по несуществующему расту в хроме.
Хром написан на современном С++ и там 70% уязвимостей того типа, что полностью покрывает safr Rust.
> 70% уязвимостей того типа, что полностью покрывает safr RustКак всегда, обещания на 3 абзаца.
Давай искать уязвимости на _актуальном_ Firefox.
> Давай искать уязвимости на _актуальном_ Firefox.Ищи, кто же тебе мешает. Раста в кодовой базе что-то около 10% сейчас. Можешь с облегчением не ковырять код на нём, а ломать сяшку и плюсы, как вы это умеете.
> ИщиНе я художественно пересказывал "актуальную статистику". Почему я должен искать?
> Раста в кодовой базе что-то около 10% сейчас.
Значит ли это, что уязвимостей стало на 10% меньше?
> Значит ли это, что уязвимостей стало на 10% меньше?Нет. У тебя с арифметикой плохо. В тех 10% кода исключили не 100%, а 70% ошибок. Ну и еще, уже без вангования по процентам - там есть необходимость взаимодействовать с 90% ансейф кода. Вот в точках этого взаимодействия и могут еще ошибок накинуть.
> Нет. У тебя с арифметикой плохо. В тех 10% кода исключили не 100%, а 70% ошибок.И отсюда следует? Продолжай, интересно посмотреть на твою математику по "актуальной статистике по обещаниям.
> И отсюда следует? Продолжай, интересно посмотреть на твою математикуНу, тут тебе не кружок математики для детей начальных классов. Никто за тебя жевать не будет. Всё тебе "отвечено". Ты ошибся форумом. Не умеешь читать/считать - иди, полыхай где-то в другом месте.
> Ну, тут тебе не кружок математики для детей начальных классов.Покажи "высшую математику", посчитай, сколько процентов ошибок обещает rust.
> иди, полыхай где-то в другом месте
Ты так замерз, аж, так гулко потрескиваешь.
> Ищи, кто же тебе мешает. Раста в кодовой базе что-то около 10%
> сейчас. Можешь с облегчением не ковырять код на нём, а ломать
> сяшку и плюсы, как вы это умеете.Только билдить это месиво стало почти невозможно если ты не мегакорп. Надо половину интернета скачивать, и это уже не шутка а банальность. И какая разница что хруста 10%, в build deps оно в результате есть. С кучей барахла.
В результате таких сложностей - в мозилле вообще разработчиков не осталось! Они теперь только фичи удаляют и интерфейсик переделывают. Еще пара лет и мозиллы корп просто не останется, с*ка мичел сольет остатки каким-нибудь китайцам, как оперу.
Эти обещание гарантируются компилятором. Единственное, что можно найти запутанные, искусственные примеры получения unsafe в safe-коде. Но это трактуется как баги компилятора и исправляется.
> Эти обещание гарантируются компилятором.Любая противоречивая аксиома делает теорию противоречивой (а "обещания" - бессмысленными). Unsafe - это способ ввести свою аксиому. Дальнейшие выводы делай сам.
Множество вариантов UB конечно. А значит ревьюинг кода под unsafe будет проще и выгодней чем ревьюить всю программу на С/С++.
> Множество вариантов UB конечно.Продолжай, "Эксперт" с болшой буквы!
Да, ошибся. Видов UB конечно же.
> Да, ошибся. Видов UB конечно же.Продолжай считать неопределенное.
Конечное количество - определенных (документированных) UB.
> Хром написан на современном С++ и там 70% уязвимостей того типа, что
> полностью покрывает safr Rust.Тока эти 70% никто переписывать не будет. Потому что дорого.
А зачем? Серьёзно, ведь работает зачем переделывать? Лучше искать уязвимости в существующем проекте, а то перепишут всякие SJWшные лица (именно они толкают пидоРАСТ в массы) тор на раст и будут потом банить в торе всех кто через тор будут их ущемлять
Кто искать будет, ты? Много нашёл?
А раст нашел как он помог?
Почитай статью внимательно!!
Там написано что раст — дерьмо.
Почитай статью внимательно!!
> А зачем? Серьёзно, ведь работает зачем переделывать? Лучше искать уязвимости в существующемИ как обычно, на опеннете всегда готовы выдать ЦУ и поучить разработчиков "как нужно правильно" (правда, не личным примером).
Прочитай весь текс. Там про модульность, встраиваемость, да про возможность использования другими приложениями.. Прочти внимательно, а ни как всегда
>будут потом банить в торе всех кто через тор будут их ущемлятьНу расскажи, как. Тор ведь анонимная сеть. Специально для Анонимов Опеннета, чтобы всякую чушь нести, и чтобы никто не узнал, кто же так опозорился.
Ну остальныхз то ты знаешь? Ну тех кто неп из сети tor )))
> А зачем?В новости написана только одна осмысленная причина:
> при разработке нового проекта учитывается весь прошлый опыт разработки Tor, что позволит избежать известных архитектурных проблем, сделать проект более модульным и эффективным
Изменение архитектуры в сторону модульности.
(Мои домыслы: а rust тут притом, что это модно-молодежно и безопасно, убещаю!)
> Лучше искать уязвимости в существующем проектеНаверное уже задолбались, потому что много находят. А еще сильнее задолбались исправлять. Тебе же написали: "Rust также даст возможность добиться более высокой скорости разработки, чем при использовании Си, за счёт выразительности языка и строгих гарантий, позволяющих не тратить время на двойные проверки и написание лишнего кода."
Разработчикам виднее. Ведь это они со своим кодом бодаются, не ты. Если тебе виднее - форкай и тяни ношу, ищи уязвимости. Но только еще и исправляй, ладно? Вас там много растохейтеров наберется - целое расто-желчное коммьюнити создашь и пастором станешь!
>как минимум половина всех отслеживаемых проектом уязвимостей будет исключенаА сколько логических (в том числе side channelы) будет добавлено?
Для этого на расте и пишут. Старички туда не полезут (у них мозг в сях закостенел), а молодые не будут напрягаться проводить аудит.
> Для этого на расте и пишут.Это утверждение, что на расте пишут для увеличения или уменьшения логических ошибок?
Для непредставления о том, что ошибки бывают ещё и логические оказывается.
> ошибки бывают ещё и логические оказывается.Не знал, что бывают нелогичные, ой, нелогические ошибки.
надо посмотреть сколько там будет уязвимостей
и сравнить с сишной реализацией тора
В Сишной реализации всего 4 уязвимости по работе с памятью из 30. И ни одной с классом критичней чем DoS. Если они так написали что у них там все на assert'ах падает и самодельные сейф-поинтеры вместо прямых буферов, можно было и не переписывать в принципе. Разве что они заявили что хотят модульность, да и threading на Rust в мильен раз проще.
Помимо проверки работы с памятью, раст ещё обладает мощной системой типов, что помогает писать корректный код, а также использование всяких Option<> и Result<> *заставляет* программиста проверять возвращаемые ошибки, а не кодировать только "happy case". Это улучшает корректность программы на логическом уровне.
> обладает мощной системой типовЗапрыгну в тему. Почему не Haskell?
>> обладает мощной системой типов
> Запрыгну в тему. Почему не Haskell?Так и быть, разрешаю - пиши! Только не забудь о "паритета с основной реализацией на языке Си в таких областях, как сетевая производительность, нагрузка на CPU".
> Так и быть, разрешаю - пиши!А мульён баксов?! Любой (почти) каприз за ваши деньги.
>> Так и быть, разрешаю - пиши!
> А мульён баксов?! Любой (почти) каприз за ваши деньги.Может еще и написать за тебя?
Не-а, на понт не возьмешь. Деньги вперёд!
> Запрыгну в тему. Почему не Haskell?
> А мульён баксов?! Любой (почти) каприз за ваши деньги.
> Не-а, на понт не возьмешь. Деньги вперёд!Очередной опеннетный советчик "как нужно правильно" не хочет демонстрировать личным примером, лишь раздавать ЦУ? И почему я не удивлен.
> не хочет демонстрировать личным примеромДавай, продемонстрируй личным примером и профинансируй разработку тор на хаскель.
Или как "очередной опеннетчик" "лишь раздавать ЦУ"?
> Аноним (71) Запрыгну в тему. Почему не Haskell?
> Аноним (71) А мульён баксов?! Любой (почти) каприз за ваши деньги.
> Аноним (71) Не-а, на понт не возьмешь. Деньги вперёд!
> Аноним (71) Давай, продемонстрируй личным примером и профинансируй разработку тор на хаскель.Какой унылый перевод стрелок.
> Так и быть, разрешаю - пиши!
> Какой унылый перевод стрелок.Какая эффектная самокритика
>>> Аноним (71) Запрыгну в тему. Почему не Haskell?
>>> Аноним (71) Давай, продемонстрируй личным примером и профинансируй разработку тор на хаскель.
>> <рандомная цитата>
>> <рандомная цитата>.
> Аноним (71) <нет ты! ТЫ! Я СКОЗАЛ! *Пук!*>Дорогой любитель раздавать с умным видмом ЦУ и сразу сваливать на реактивной тяге в закат: твое громкое попукивание никак не заменяет аргументацию. Увы.
> А мульён баксов?! Любой (почти) каприз за ваши деньги.А вот спонсоров ты себе ищи сам.
Если доделают, это будет первый реальный вин у растофилов
Если это станет "единственно верным" тором, то тогда, скорее всего, тор - всё.
Как Redox
> Как RedoxЧё там с Hurd?
Что там с линковкой с libc?
> Что там с линковкой с libc?Вижу, что со спрыгами с темы у вас все нормально, но интересовал таки вопрос по Hurd.
> со спрыгами с темыТы-то эффектно запрыгнул в тему. Двумя ногами в перед.
>>> Сообщение от Аноним (71),
>>> Если это станет "единственно верным" тором, то тогда, скорее всего, тор - всё.
>>> Что там с линковкой с libc?
> Ты-то эффектно запрыгнул в тему. Двумя ногами в перед.Продолжай отмазываться.
> Продолжай отмазываться.Где спрыгнул с темы про тор в первом сообщении? Отвечай без эффектного запрыгивания в тему
А придирки к второму принимаются только после твоей отмазки твоего запрыгивания про hurd
> Что там с линковкой с libc?
> Где спрыгнул с темы про тор в первом сообщении? Отвечай без эффектного запрыгивания в тему/0
>>> Если это станет "единственно верным" тором, то тогда, скорее всего, тор - всё.
>> Как Redox
> А придирки к второму принимаются только после твоей отмазки твоего запрыгивания про hurdОтмазки - это к тебе и прочим "Военам Супротив Раста".
> /0Привет, тот самый аноним с проблемами с памятью!
Это действие, которое ты применил к своей памяти?
>> /0
> Привет, тот самый аноним с проблемами с памятью!Привет, очередной балабол, не владеющий предметом и умеющий только кривляться.
И до свидания.
> очередной
> не владеющий предметомСперва лечи память, чтобы говорить про "очередность" и "владение предметом".
Пишу через outproxy в i2p. Пора переходить на i2p ребят.
> outproxy в i2pСмысл, если можно писать проксей?
Прокси легче заблокировать чем i2p
outproxy не заблокируют?
> Прокси легче заблокировать чем i2pПрокси так то тоже разные бывают.
Как только добавите в репозиторий Fedora — сразу перейду.
"Возьмём на два глюка больше"." За одного битого -- двух небитых дают" "Старый друг -- лучше новых двух".
Точно не русский.
> планируется добиться паритетаЧСХ планируется уже лет 6. Если не 7. Интересно, там как с токсом - 1 пилит, и толпа "растовиков, типа" оказывают моральную поддержку этому залету под корпов?
> ЧСХ планируется уже лет 6. Если не 7.https://www.opennet.dev/opennews/art.shtml?num=55461
> 08.07.2021 21:40Разупорись.
Примени к себе и посмотри на даты первых коммитов вокруг хруста в торе.
> git clone https://gitlab.torproject.org/tpo/core/arti.git
> cd arti && git log --reverse | grep -m 1 "Date"
> Date: Thu May 7 19:58:10 2020 -0400Nuff said. Всё равно не 6-7 лет.
Во ты жесткий рак. Куски хруста сначала валялись прямо в дереве сишной версии.
Но CoC-то, надеюсь, уже приняли?!Result is RESULT!
Идеи сего языка хороши, синтаксисъ же переусложнёнъ безъ мѣры
А как попроще сделать есть идеи? Тоже есть ощущение от этих::<слово> синтаксических::<слово> структур ощущение перегруженности
Вариант суть легче, но не идельно: используй го.
Идеально: используй Оберон. За использование модуля SYSTEM (ансейф -- жалкий аналог в расте и го) у оберонщиков принято больно бить по почкам. Даже если это драйвер (не всегда SYSTEM нужен -- часто это признак отвратительной архитектуры).
Вот это http://www.projectoberon.com/ ?
Вообще почитал выглядит как обычное развитие Pascal-я
Может тогда уж просто на FPC писать там хотя бы GC нет как я понимаю
C Go тоже проблема а именно своя выпендрежная среда выполнения с потоками каналами (чуть более чем полностью неэффективными) и гарбедж коллектором - уровень языка чуть более прошаренный Python или JavaScript
> Вот это http://www.projectoberon.com/ ?
> Вообще почитал выглядит как обычное развитие Pascal-я
> Может тогда уж просто на FPC писать там хотя бы GC нет
> как я понимаю
> C Go тоже проблема а именно своя выпендрежная среда выполнения с потоками
> каналами (чуть более чем полностью неэффективными) и гарбедж коллектором - уровень
> языка чуть более прошаренный Python или JavaScriptВъ Go мнѣ не очень нравится топорность системы типовъ и, напримѣръ, отсутствіе функцій навродѣ map или reduce. Съ другой стороны, по синтаксису и по многимъ такимъ прикладнымъ элементамъ языкъ весьма пріятный
> отсутствіе функцій навродѣ map или reduceПравильно писать "rѣduce".
Да мнѣ, если честно, послѣ Хаскеля привычнѣе эту функцію вообще называть filter. Но я такъ понимаю, въ самыхъ популярныхъ языкахъ (Java, JS) таки reduce
> Да мнѣ, если честно, послѣ Хаскеля привычнѣе эту функцію вообще
> называть filter. Но я такъ понимаю, въ самыхъ популярныхъ языкахъ (Java,
> JS) таки reduceНе, я плохо помню Haskell, то ты помнишь его хуже меня. rѣduce и filter -- это разные вещи, не надо их путать. Первая делает из последовательности элементов множества X новый элемент множества X, используя редуцирующую функцию (X,X)->X. (На практике чуть сложнее -- (Y,X)->Y, и редукция последовательности из X в одно значение из Y -- но не будем вдаваться в тонкости, чтоб не переусложнять) Вторая делает из одной последовательности другую последовательность, отфильтровывая элементы не соответствующие предикату.
Например, функция odd может использоваться для фильтрования последовательности целых чисел, чтобы получить только нечётные. А функция + может использоваться для того, чтобы просуммировать все элементы последовательности, то есть выполнить rѣduce всей последовательности в одно число.
И я отмечу, что в хаскелле то же самое:
filter :: (a -> Bool) -> [a] -> [a]
Функция filter принимает функцию преобразующую a в Bool, при помощи которой она фильтрует список [a], чтобы получить другой список [a]. Это именно что фильтрация.
А rѣduce в хаскелле называется fold. Или что-то типа того, я уж не помню точно за давностью лет. Я поначалу в rust'е спотыкался о reduce, потому что каждый раз искал fold и не находил.
Тьфу ты блинъ, fold конечно же, да. Въ двухъ вариаціяхъ ещё, foldl и foldr. Совсѣмъ попуталъ, оба на f
Как в анекдоте: да слышал я вашего Баха. Вчера по телефону Изя мне напел.
> А как попроще сделать есть идеи? Тоже есть ощущение от этих::<слово> синтаксических::<слово>
> структур ощущение перегруженностиНу вот я думаю, что проблема языка Растъ - въ слишкомъ большомъ количествѣ символовъ, такихъ какъ <> , ::, &, *, причёмъ последніе два, какъ и в Си, имѣютъ нѣсколько различныхъ значеній въ разныхъ контекстахъ. Лучше ужъ Паскалеподобный синтаксисъ, чѣмъ такое нагроможденіе разныхъ скобокъ и спецсимволовъ
> <>В паскале так же выражаются дженерики. Предложите свой вариант.
> ::"X::" - статическое обращение, а "y." - динамическое, и зависит от значения объекта за "y".
Также используется при
% let foo = Foo;
% foo.bar(); // вызов метода `bar` из `Foo`
% Bar::bar(&foo); // вызов метода `bar` из реализации типажа `Bar` для `Foo`
>&Что-то я сходу не могу вспомнить где этот символ имеет значение отличное от ссылки. Каюсь, растом только интересовался. Напомните.
>*Тут нужно упомянуть что в раст присутствует возможность перегрузки операторов, это значит что не только оператор "*" будет иметь множество различных значений в разных контекстах. https://doc.rust-lang.org/std/ops/index.html
Без этого невозможно было бы, например, удобно складывать два типа Vector (в математическом смысле). Хорошо это или плохо не знаю, но вот решили такое реализовать в языке.Подробнее можно тут прочитать https://habr.com/ru/post/532660/
Кмк создатели решили (совместно с сообществом) использовать символы вместо слов где это только возможно чтобы на экран поместилось как можно больше значимой информации. В надежде что те, кто решит изучать раст, к ним привыкнут и перестанут замечать синтаксис, а только смотреть на значение. Как это обычно и происходит при изучении ЯПов.
Одна из причин турбофиша в синтаксической валидности подобных конструкций
> let (oh, woe, is, me) = ("the", "Turbofish", "remains", "undefeated");
> let _: (bool, bool) = (oh<woe, is>(me));
Твоя мысль правильная. Но твоя грамматика "переусложнёнъ-а безъ мѣры".
> Твоя мысль правильная. Но твоя грамматика "переусложнёнъ-а безъ мѣры".Грамматика моя такая же, какая у всѣхъ. Орѳографія моя, да, можетъ чуточку сложнѣе, но тѣшу себя надеждой, что вы прекрасно понимаете написанное мной.
И всё-таки, пожалуйста: не надо. Даже с учётом ваших вполне здравых рассуждений.