Забавные утилиты под DOS

CALENDER.EXE — Универсальный календарь на любой год.
Я проверял с 0001 г. н.э до 6666 г. н.э.


Read more…

CLOCK.EXE — большие красивые часы на весь экран
(с будильником), есть защита от копирования
Но вроде она снята. Есличо, запустить с параметром
/Hide и ввести пароль polkol

HELP401.EXE — Небольшая утилита для помощи в Pascal
— Таблица предела переменных
— Цветовая палитра (подбор цвета текста на фоне)
— Работа с файлами баз данных (разрезать или
слить файл)
— Нумерация строк текстового файла
— Кодировка текстового файла
(сдвигает все символы в тексте на какое-то
число байт)
— Кодировка по заданному коду
(делает то же самое, только по заданному
коду)
-Таблица ASCII



Read more…

PEREVOD.EXE — Конвертер из WIN 1251 в DOS 866 и
обратно.

TIMER.EXE, TIMER401.EXE — предыдущая версия часов.
Как-то можно менять название организации
(сохраняется в экзешнике), но как — я не разобрался.
Имеется защита от копирования, по умолчанию неактивна.
Чтобы активировать надо запустить часы с параметром
install (без слэшей и строчными буквами) и ввести
любое слово
Чтобы деактивировать — то же самое, но ввести
пароль Кононов (фамилия разработчика).

Скачать архив с программами с Mega.NZ

Установка и настройка I2P в Slackware Linux

Преамбула

I2P это такая скрытая пиринговая сеть, подробнее можно узнать в Википедии или на официальном сайте. В отличии от TOR, она обеспечивает не анонимный доступ в Интернет, а доступ к собственным ресурсам (сайтам, файлообменникам и т.д.), скрытым из обычной сети. Гейты в «большой» Интернет в ней есть, но они кривые, косые и пользоваться ими не рекомендуется. Расскажу, как ее установить и настроить на Slackware, заодно разрешив пользователям из локальной сети также получать к ней доступ.

Установка Java

Клиент сети написан на Java, потому ее надо сначала установить. На официальном сайте есть рекомендации о необходимой версии:
Java Runtime Version 7 or higher. (Oracle, OpenJDK, or IcedTea Java Version 7 or 8 recommended.
Сама установка довольно проста:
1. Идем, например сюда
2. Скачиваем jdk-8u162-i586-2gds.txz
3. Устанавливаем стандартным образом:

installpkg jdk-8u162-i586-2gds.txz

4. Добавляем в автозагрузку (если вы не сделали отдельного скрипта для запуска сервера, то /etc/rc.d/rc.local) пути к java:

echo "Add JAVA paths..."
export JAVA_HOME=/usr/lib/java
export MANPATH="${MANPATH}:${JAVA_HOME}/man"
export PATH="${PATH}:${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin"

5. Перезагружаем машину.
6. Вводим в консоли команду java без параметров. Если все было сделано правильно, то вы должны увидеть вывод краткой справки по параметрам java.

Создание пользователя для I2P

Понятно, что операции с пользователями надо делать под root или с sudo.

1. Создаем отдельную группу для I2P:

groupadd i2pgrp

2. Создаем интерактивного (пока, потом мы вырубим ему всю интерактивность) пользователя, например i2psrv:

useradd -g i2pgrp -m -d /home/i2psrv -s /bin/bash i2psrv

где:
-g i2pgrp — группа пользователя (i2pgrp)
-m — создать домашний каталог
-d /home/i2psrv — путь к домашнему каталогу (/home/i2psrv)
-s /bin/bash — установить пользователю оболочку, в данном случае фиктивную (/bin/bash)
i2psrv — имя пользователя

3. Задаем ему пароль:

passwd i2psrv

В интерактивном режиме повторяем пароль 2 раза, о сложности можно не беспокоиться — все равно потом отключим.

Установка

1. Скачиваем установщик для Linux с официального сайта
2. Копируем в директорию пользователя (/home/i2psrv) и меняем владельца файла:

chown i2psrv:i2pgrp i2pinstall_0.9.44.jar

3. Логинимся под новым пользователем.
4. Запускаем установку (через консоль):

java -jar i2pinstall_0.9.44.jar -console

5. Приводят возможность выбрать язык:

Select your language
0 [x] eng
1 [ ] bra
2 [ ] cat
3 [ ] ces
...

Оставляем английский (нажимая ENTER).

6. Далее предлагают продолжить установку:
Нажимаем 1 [ENTER]

7. Опять лицензия и всякая хрень:
Нажимаем 1 [ENTER]

8. Выбор пути для установки. Поскольку устанавливаем в каталоге нового пользователя, пусть так и делает — нажимаем [ENTER]

9. Далее нажимаем O и [ENTER] (в прошлых версиях было меньше гемора и подтверждений, а сейчас словно анкету в ментовку работать заполняешь 🙂

10. Еще раз предлагают подтвердить, что все ОК (1 и [ENTER])
11. Наконец, тебе говорят, что все ОК:

====================
Installation started
Framework: 5.1.3-84aaf (IzPack)
Platform: linux,version=4.4.14-smp,arch=x86,symbolicName=null,javaVersion=1.8.0_232
[ Starting to unpack ]
[ Processing package: Base (1/1) ]
[ Unpacking finished ]
Installation finished
On most systems, I2P can be started with:

/home/i2psrv/i2p/i2prouter start

If I2P does not start, please try:

/home/i2psrv/i2p/runplain.sh

12. Тебе говорят, что все совсем ОК:

Installation was successful
Application installed on /home/i2psrv/i2p
[ Writing the uninstaller data ... ]
[ Console installation done ]

Расшаривание I2P-сервисов в локальной сети.

Если вы намерены использовать I2P только на локальном компьютере, этот шаг можно пропустить.

1. Идем в файл /home/i2psrv/i2p/i2ptunnel.config, предварительно его куда-нибудь скопировав, и меняем в нем все 127.0.0.1 на адрес нашего компьютера в локальной сети (например на 192.168.0.20, см. адрес вашего компьютера), таким образом все сервисы I2P будут доступны с любой машины в локальной сети.
2. В том же файле смотрим порты, если где-то у нас какой-то порт для чего-то занят, например на том же порту уже висит HTTP или TOR-proxy, смело меняем порт.

Переключение пользователя

I2P — порядочный сервис, и сам умеет переключать пользователя, под которым запускается. Некоторые даже рекомендуют завести двух пользователей, одного для запуска, другого для установки I2P, но мы, ради экономии времени, делать этого не будем — и запуск и установка будут под одним пользователем. Тем не менее, необходимо отредактировать скрипт i2prouter/home/ip2srv/i2p):

1. Ищем строку, содержащую RUN_AS_USER=
2. Раскомментируем ее (удаляем # в начале строки).
3. Дописываем после знака = имя пользователя (в этом примере «i2psrv").

Расшаривание Web-консоли

Отслеживание статуса соединения с сетью I2P, ошибки и основные настройки доступны через Web-интерфейс, который запускается на локальной машине на порту 7657, но если физического доступа к той машине, на которой установлен I2P нет (или лень), то можно управлять ей и с любого компьютера локальной сети.

Внимание! Это не очень одобряется официальными инструкциями. По идее можно сделать безопасный SSL-туннель, как это описывалось в одной из старых инструкций. Но я опишу самый простой вариант, просто поменяю конфиг.

Заходим в clients.config (/home/i2psrv/i2p), предварительно сделав бэкап.
И опять меняем 127.0.0.1 на 192.168.0.20, т.е. меняем адрес машины, по которому должна появиться консоль.
Далее меняем clientApp.4.startOnLoad=true на clientApp.4.startOnLoad=false, т.к. на сервере нет смысла открывать панель управления после старта I2P.

Дальнейшая настройка под катом

Проверка

Переходим по адресу http://i2p-projekt.i2p

I2P довольно медленная сеть и работает с некоторыми перебоями, так что если вместо сайта вы увидите надпись «Сайт недоступен. Возможно, сайт отключен, сеть перегружена или ваш маршрутизатор недостаточно интегрирован с другими пирами. Вы можете повторить операцию.«, то действительно, скорее всего, операцию нужно повторить.

Отключаем интерактив пользователю i2psrv

На самом деле интерактивный доступ к системе для пользователя i2psrv был нужен только на этапе установки сервиса I2P, и я оставлял его до конца настройки на случай, если I2P понадобится переустановить. Теперь консоль пользователю i2psrv более не нужна. Отключаем:

Редактируем (под root‘ом) файл /etc/passwd.
Находим в этом файле строку, начинающуюся с имени пользователя (i2psrv) и в конце строки меняем /bin/bash на /bin/false.
Сохраняем файл.

Что дальше?

Остались нераскрытыми темы подписок (как добавлять I2P-сайты неизвестные вашему маршрутизатору I2P), интересные I2P-сайты, другие сервисы I2P, кроме WWW. Может быть когда-нибудь вернусь к этому вопросу, а пока рекомендую детально ознакомиться с документацией на сайте https://geti2p.net/, http://i2p-projekt.i2p и в консоли I2P.

Настройка времени через консоль Linux

Делается с помощью команды

date --set "<строка>"

Например:

date --set "Dec 12 5:08:00 2019"

Сохранение:

hwclock -w

Эту команду надо выполнить после установки времени командой date.

Просмотр времени и даты — команда date без параметров.

Пример вывода:

Wed Dec 18 16:53:28 AKST 2019

Источник, копия статьи в PDF, там еще есть и другие способы настройки.

Словарик компьютерного слэнга.

Офигенная штука, сделана еще в то время, когда Луркморья не было даже в проекте. Интерактивный словарик компьютерного и фидошного сленга.

Не буду расписывать, просто оставлю скриншоты и ссылку на скачивание.

Основной словарик:

На самом деле словарик очень прикольный и сделан по всем канонам демосцены. Меню, которое вы можете видеть слева — «глазками» смотрит за курсором мыши. В комплекте есть заставка (заскриншотить не получилось).

Словарик смайликов:

Словарик сокращений (акронимов):

Помощь:

About:

Скачать оригинальный словарик

Установка и настройка tor-ноды

Установка tor

1. Загружаем исходники tor отсюда я взял версию 0.4.2.4-rc посвежее.

2. Собираем пакет:
— Распаковываем из архива каталог tor-0.4.2.4-rc со всеми подкаталогами
— Переходим в этот каталог и выполняем последовательно:

./configure
make
checkinstall

checkinstall нас спросит, какой пакет хотим создать (Slackware [S], RPM [R] or Debian [D]?), отвечаем s, далее вводим описание пакета, например tor и нажимаем два раза ENTER, после чего подтверждаем, что все верно (нажав ENTER еще раз) и checkinstall создаст пакет.

3. Можно сразу его установить:

installpkg tor-0.4.2.4-rc-i386-1.tgz

Создаем пользователя для tor

Негоже запускать tor под обычным пользователем, а тем более под root‘ом, потому создадим для него отдельного пользователя. Пользователь будет неинтерактивный, т.е. войти в систему с терминала он не сможет.

1. Добавляем группу, например torgroup:

groupadd torgroup

2. Смотрим файл /etc/shells и проверяем, чтоб в файле была строка /bin/false, если ее нет — смело дописываем.

3. Создаем пользователя с именем, например, torusr:

useradd -g torgroup -m -d /home/torusr -s /bin/false torusr

где:
-g torgroup — группа пользователя (torgroup)
-m — создать домашний каталог
-d /home/torusr — путь к домашнему каталогу (/home/torusr)
-s /bin/false — установить пользователю оболочку, в данном случае фиктивную (/bin/false)
torusr — имя пользователя

4. Создаем каталог для данных tor:

cd /home/torusr
mkdir .tordata

и изменяем владельца созданного каталога на torusr

chown torusr:torgroup .tordata

Настройка tor-ноды

В каталоге /home/torusr создаем файл torrc и записываем в него следующие строки:

SocksPort 9050 — порт на localhost, где будет висеть tor, и принимать на него запросы. Проще говоря, это порт прокси-сервера, который надо будет прописать, чтоб соединиться с сетью tor с локальной машины. Порт 9050 является портом по умолчанию, и назначается на localhost (127.0.0.1), если строки SocksPort будут отсутствовать в конфигурации.

SocksPort 192.168.0.20:9660 — то же самое, только внутри локальной сети. Клиенты из локальной сети должны будут подключаться по адресу 192.168.0.20 и порту 9666, чтобы использовать сеть tor.

Tor организует только SOCKS5 прокси, как быть с браузерами, которым нужен HTTP, рассмотрим далее.

SocksPolicy accept 192.168.0.0/24
SocksPolicy accept 127.0.0.1
SocksPolicy reject *

Принимать запросы только из локальной сети и localhost’а.

Log notice file /home/torusr/notices.log — файл, куда будет писаться лог tor’а

RunAsDaemon 1 — запуск tor в режиме демона.

DataDirectory /home/torusr/.tordata — путь для данных tor

ORPort 9001 — порт, используемый для пересылки пакетов с других узлов.

DirPort 9030 — порт, используемый для сервиса каталогов, т.е узел будет позволять получать информацию о других узлах tor, а не только транслировать трафик.

Конечно, стоило бы облегчить жизнь пользователям, сидящим за сетевыми экранами и пустить трафик по портам 80 (8080) или 443, но я пока не стал. Впрочем, если вам будет надо — смотрите статью на Хабре (копия)

RelayBandwidthRate 1000 MB
RelayBandwidthBurst 2000 MB
— ограничение пропускной способности. Чем больше, тем лучше. Но настраивайте эти числа под свой канал, чтоб не загадить его трафиком tor совсем.

Nickname PersonalChaosRelay — имя вашего релея (ноды) в базе tor. Можете придумать любое, но советую сначала проверить придуманное имя здесь, введя его в поиске. Если ничего не найдется, проздрабляю, ваш релей будет уникальным.

ExitPolicy reject *:*
ExitPolicy reject6 *:*
— запрет использовать tor-ноду в качестве выходной. Для ГОРФ параметр строго обязательный.
Примечание: в /usr/local/etc/tor находится файл torrc.sample с подробным описанием конфигурации.
Пример файла конфигурации на PasteBin

Устанавливаем файлу правильного владельца:

chown torusr:torgroup torrc

Запуск ноды

Запуск осуществляется следующей командой:

sudo -u torusr tor -f /home/torusr/torrc

Если помещать запуск в автозагрузку, то желательно указать полный путь к файлу tor:

sudo -u torusr /usr/local/bin/tor -f /home/torusr/torrc

Запуск в отдельном network namespace (копия):

ip netns exec provns sudo -u torusr /usr/local/bin/tor -f /home/torusr/torrc

provns — имя network namespace

Проверка работоспособности

Минут через 15-20 после запуска можно заглянуть в /home/torusr/notices.log, если в последних строках файла написано что-то типа:

Self-testing indicates your ORPort is reachable from the outside. Excellent. Publishing server descriptor.
Tor has successfully opened a circuit. Looks like client functionality is working.
Self-testing indicates your DirPort is reachable from the outside. Excellent.
Performing bandwidth self-test...done.

значит порты ORPort и DirPort доступны извне, и нода нормально функционирует.

Если же в логе что-то типа:

Your server (x.x.x.x:9001) has not managed to confirm that its ORPort is reachable. Relays do not publish descriptors until their ORPort and DirPort are reachable. Please check your firewalls, ports, address, /etc/hosts file, etc.
Your server (x.x.x.x:9030) has not managed to confirm that its DirPort is reachable. Relays do not publish descriptors until their ORPort and DirPort are reachable. Please check your firewalls, ports, address, /etc/hosts file, etc.

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

Если все в порядке, то через несколько часов нода появится в базе данных, и можно будет проверить ее наличие здесь введя в поисковой строке на странице Nickname, который указали в конфиге.

Настройка для клиентов под катом