Спасибо, начинаю понимать. Но как в такой ситуации определить знак числа? Если я понял верно, то для этого может потребоваться пройтись по всем разрядам. В двоичной системе для этого достаточно пощупать первый разряд.
Пригодилась бы табличка перевода в троичную чисел от -100 до 100. Посмотрел в википедии, там всё обозначают по-другому.
Как в троичной системе хранят числа из многих разрядов? Будет ли при этом знак содержаться только в одном из разрядов, то есть будет ли один из разрядов интерпретироваться отлично от остальных? Если ответ «да», то в чем принципиальное отличие от двоичного кода?
Большинство PTY используют ANSI для control sequences, но я бы все же не полагался на это, и доверял terminfo.
В ROTE заявлена эмуляция VT100, который использует ANSI, так что пока остается жить с этим. Надо посмотреть, как обстоят дела в libvterm.
Вот, например, как писать в терминал без всяких библиотек, just for fun.
Насколько я понимаю, ROTE примерно так и делает и обрабатывает то, что поступает в файл терминала, применяя это к своим структурам данных, в которых хранится состояние терминала. Хочется по (x, y) ячейки получать её символ, цвет текста, цвет фона, это в тестах и используется.
Ещё есть тонкий клиент Electrum, в котором все адреса генерируются из seed, что облегчает задачу изготовления бекапа (точнее, освобождает от необходимости обновлять бекап после каждой операции с кошельком).
Так вы отвечали на первую часть комментария, а не на вторую. То есть, обосновывали некорректность make prefix=… install. Достаточно одного взгляда на Makefile, чтобы понять, что кроме prefix ничего менять не надо. Сколько времени занимает прийти к такому умозаключению, не влияет на корректность. Таким образом, некорректность метода make install prefix=/usr не доказана.
К слову, лично у меня от файлов configure волосы на голове дыбом и разбираться с ними и тем более помнить, какие у них опции, заняло бы куда больше времени, чем заглянуть в Makefile и увидеть там prefix=/usr/local.
Лучше ставить в виртуалке, если есть обоснованные подозрения на malware. В данном случае их нет, так как пакет 10 лет лежит на SF. Разумеется, сверку контрольных сумм никто не отменял.
До ROTE я довольно долго пробовал другие решения. Моё внимание также привлёк expect с virterm, но видимо у меня и у expect шарики в мозгах крутятся в разных направлениях.
По крайней мере, я не нашел других библиотек, кроме ROTE и libvterm, которые одновременно удовлетворяли бы следующим требованиям:
умели запускать дочерний процесс,
умели получать содержимое терминала,
умели передавать данные в дочерний процесс, имитируя нажатия клавиш,
самое главное: были бы достаточно просты в использовании.
Можете обосновать, почему make install prefix=/usr не является корректным вариантом? Я понимаю, что можно указать на уровне configure, но это не делает автоматически первый вариант некорректным.
Дополнил инструкцию упоминанием про checkinstall. Впрочем, пока всё происходит на компьютере разработчика, вряд ли кому-то навредит файл /usr/lib/librote.so, а в серьёзном месте должен быть строгий сисадмин, который следит, чтобы такого не было.
Без скриптов и кук не пойдёт! В Tor Browser скрипты как раз включены. Без них многими сайтами пользоваться невозможно. Куки надо не просто отключать, а сбрасывать и изолировать между сайтами, иначе многие сайты тоже не будут работать.
User Agent из Tor Browser «Mozilla/5.0 (Windows NT 6.1; rv:31.0) Gecko/20100101 Firefox/31.0» использует действительно много людей (как минимум, все пользователи Tor Browser), а какой-нибудь «Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0 Iceweasel/31.5.0» уже на порядки меньше людей.
Допустим, вы отключите скрипты и куки, превратив полноценный браузер в lynx. Поборете утечку User Agent — для этого расширение не нужно, есть опция командной строки. А есть ещё утечка заголовка HTTP Accept! Так и придётся по крупицам переделывать то, что уже сделали разработчики Tor Browser, пройдётесь по старым граблям. Не вижу смысла. Это называется «Немножко анонимен».
Это бы не спасло от побочных способов идентификации браузера, которые прикрыты в Tor Browser. Примеры я приводил в начале статьи. К ним относится User Agent, часовой пояс, разрешение экрана, canvas и пр. Есть сервис panopticlick.eff.org который показывает часть утечек. Обычный браузер даже с «New Private Window» набирает намного больше баллов, чем кастрированный Tor Browser.
а вот блэклистить вообще быстрее всего на уровне iptables, как мне кажется, если уж такой целью задаваться.
На уровне Nginx можно завести такое правило: «показывать капчу в случае POST-запросов с таких-то айпишников». При этом GET-запросы или запросы с других айпишников идут напрямую. По моему мнению, это несложно сделать и работать будет эффективно. Собственно, в клаудфлеере так и делают, но не только с POST. Не думаю, что это возможно на уровне iptables.
На VPSке на уровне nginx слишком ресурсоёмко получится.
Nginx наверняка более эффективно работает, чем MediaWiki. Что касается поиска айпишника в черном списке, то Nginx это делает за константное время, пользуясь хеш-таблицей.
Этичность — это хорошо, поэтому я закрыл только редактирование редактирование. Полезных правок с Тора за полтора или два года пришло штуки три или четыре.
Чтобы оценить, много это или мало, надо разделить эти 3-4 правки на число тех, кто смотрел сайт через Tor и сравнить это с таким же отношением полезных правок к пользователям для всей выборки. Думаю, первое число будет сильно больше второго, что говорит о том, что от пользователя Tor вероятность получить полезную правку намного больше, чем от случайного пользователя.
А можно в веб-сервере запретить все POST-запросы с адресов exit-нод. Но я призываю не блокировать Tor-пользователей, а показывать им капчу, это более этично. Капчу тоже просто сделать на уровне веб-сервера, а можно встать за клаудфлеер, который делает это автоматически.
Это хорошие новости для Tor. Если бы 90% составлял трафик преступников, то у общества рано или поздно возникло бы желание закрыть Tor или сажать за факт использования Tor. На самом деле, так и работает анонимность по принципу толпы: чтобы спрятать запрещённую информацию преступников, её смешивают с избыточным количеством обычной информации обычных людей. Если кто-то из обычных людей вдруг решит совершить преступление, это не скажется на его трафике. Следующий логичный шаг: перестать считать их преступниками и отменить наказания за компьютерные преступления, но боюсь, что не дождёмся.
Пригодилась бы табличка перевода в троичную чисел от -100 до 100. Посмотрел в википедии, там всё обозначают по-другому.
Насколько я понимаю, ROTE примерно так и делает и обрабатывает то, что поступает в файл терминала, применяя это к своим структурам данных, в которых хранится состояние терминала. Хочется по (x, y) ячейки получать её символ, цвет текста, цвет фона, это в тестах и используется.
К слову, лично у меня от файлов configure волосы на голове дыбом и разбираться с ними и тем более помнить, какие у них опции, заняло бы куда больше времени, чем заглянуть в Makefile и увидеть там prefix=/usr/local.
По крайней мере, я не нашел других библиотек, кроме ROTE и libvterm, которые одновременно удовлетворяли бы следующим требованиям:
Дополнил инструкцию упоминанием про checkinstall. Впрочем, пока всё происходит на компьютере разработчика, вряд ли кому-то навредит файл /usr/lib/librote.so, а в серьёзном месте должен быть строгий сисадмин, который следит, чтобы такого не было.
User Agent из Tor Browser «Mozilla/5.0 (Windows NT 6.1; rv:31.0) Gecko/20100101 Firefox/31.0» использует действительно много людей (как минимум, все пользователи Tor Browser), а какой-нибудь «Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0 Iceweasel/31.5.0» уже на порядки меньше людей.
Допустим, вы отключите скрипты и куки, превратив полноценный браузер в lynx. Поборете утечку User Agent — для этого расширение не нужно, есть опция командной строки. А есть ещё утечка заголовка HTTP Accept! Так и придётся по крупицам переделывать то, что уже сделали разработчики Tor Browser, пройдётесь по старым граблям. Не вижу смысла. Это называется «Немножко анонимен».
Не советую бороться с утечками по одной. Есть хороший пост на тему «Немножко анонимен».
Чтобы оценить, много это или мало, надо разделить эти 3-4 правки на число тех, кто смотрел сайт через Tor и сравнить это с таким же отношением полезных правок к пользователям для всей выборки. Думаю, первое число будет сильно больше второго, что говорит о том, что от пользователя Tor вероятность получить полезную правку намного больше, чем от случайного пользователя.