Два связанных и осознанных сна про космические приключения.

Приснилось два замечательных сна один за другим, второй был осознанным. Сначала меня с моей дачи похитили инопланетяне, причем вместе с дачей, летом, куском земли и котом, т.е. тупо вырезали дачу вроде навесили какой-то купол, забрали кота на корабль, а дачу пристегнули «энергетическим шлейфом» и унесли вместе со мной.
Потом привели меня на лекцию по матану (кота отдали). После лекции я сдал экзамен по инопланетному матану на тройку (по нашей системе оценок), мне сказали, что я не «аналитик», а что-то типа ППС-ника и предложили работу. Я согласился и мне дали аж целый космический корабль, который я облетел весь на какой-то «технологии перемещения сознания», т.е. физически я не летал вокруг корабля, а вроде как и облетел. Корабль красивый, большой, напоминает нечто высеченное из целой скалы. Стоял и заправлялся от нейтронной звезды (вроде), поэтому «на улицу» было нельзя физически выйти.

Потом сказали, что я «варкаранай-контрактор», обратно забрали кота и дали сожрать что-то типа «чайного гриба», типа это устройство «экстренного возврата и копирования сознания», мол, работа опасная, можно и помереть, а «варкаранаям» (я так понял, что это главенствующая цивилизация в нескольких Галактиках, которая сделала кучу матана и транслокацию). И меня выкинуло. А следующий сон был осознанный, и я там реально кораблем рулил. Проснулся. Кот дома. Правда сожрал приползшего от соседки ракотана, не знаю, звонить ветеринару или обойдется…

Простая инструкция по установке Tinyproxy

Небольшое введение

Tinyproxy это такой маленький http/https прокси-сервер, на мой взгляд, очень простой в использовании и конфигурировании, вполне подходящий для несложных задач пропускания http(s) трафика. Например в офисе или дома. Лично я использую его, чтоб можно было посещать статистику и личный кабинет собственного провайдера в обход VPN.

Конфигурация network namespace.

Если у вас есть специальный network namespace для прокси, перед установкой сервера настраиваем его (добавляем нужные файлы hosts и resolv.conf, как это описано здесь Копия)

Рестартируем систему (или сетевой менеджер/демон, тут уж зависит от вашей ОС).

Устанавливаем tinyproxy

Для Sclackware можно скачать пакет с исходниками с помощью sbopkg, взять готовый и откомпилированный здесь (Для Slackware 12-14.2), или собрать из исходников на GitHub и готовый пакет установить с помощью installpkg.

Создаем пользователя и группу

1. Создаем группу для proxy-сервера, например proxy:

groupadd proxy

2. Создаем отдельного пользователя для запуска прокси-сервера:
Можно сделать это с помощью скрипта-обертки adduser над программой useradd.
— На первый вопрос вводим имя пользователя, например, provproxy.
— Далее пропускаем (нажимаем enter)
— В ответ на initial group, вводим имя ранее созданной группы для прокси-сервера, в данном случае proxy (в вашем — ту группу, которую создали вы).
— Далее, на вопрос о дополнительных группах, нельзя устанавливать что-либо, нажимаем Enter
— Home directory нужна, там будет лежать PID-файл, логи (если нужно) и конфигурационный файл. По умолчанию директория совпадает с именем пользователя и располагается в подкаталоге /home.
— Shell должна быть установлена строго в /bin/false, поскольку это не интерактивный пользователь. Если скрипт ответил вам: - Warning: /bin/false is not in /etc/shells (potential problem using FTP)
Do you wish to change the shell ? (Y/n)

То отвечаем n, а потом в /etc/shells добавляем строчку
/bin/false
— Expiry date пропускаем (Enter)
— Далее пропускаем всю User Information
— На вопрос о пароле придумываем что-нибудь чтоб прошло.
Далее правим /etc/shadow, находим строчку с именем пользователя и удаляем все, что между первым и вторым двоеточием. Было:
provproxy:$5$S8/tp/ap2wF/K$qaYnfHuR8opsWO0WwTaXCjiHjmge7mWuH5WwEd5Kn70:17888:0:99
Стало: provproxy::17888:0:99
Права на каталог надо установить в 700 (полный доступ для пользователя provproxy):
chmod 700 /home/provproxy

Можно не пользоваться интерактивным скриптом, а сделать все с помощью базовых команд:
1. Добавить пользователя
useradd -g proxy -d /home/provproxy -s /bin/false provproxy

где:
-g proxy группа пользователя (ранее созданная proxy)
-d /home/provproxy домашний каталог пользователя
-s /bin/false — оболочка для пользователя. Обычно здесь прописывается /bin/sh, /bin/bash для интерактивных пользователей, или /bin/false для неинтерактивных, что нам и надо в данном случае.
Строчка /bin/false должна быть в файле /etc/shells — если ее нет, дописать.

2. Создаем домашний каталог:
mkdir /home/provproxy
3. Меняем владельца каталога на пользователя provproxy
chown provproxy:proxy /home/provproxy
4. Меняем права доступа на каталог:
chmod 700 /home/provproxy

Инициализационный скрипт tinyproxy

Был подробно описан в этой заметке: Запускающий скрипт для tinyproxy Копия

Сам скрипт:
— На PasteBin
На GitHub
Скачать с Mega.nz

Поскольку сам инициализационный скрипт описан довольно полно, то я остановлюсь лишь на двух важных моментах.

PID-файл: в скрипте необходимо правильно указать путь к PID-файлу, но об этом поговорим ниже. У меня PID-файл создается в домашнем каталоге пользователя provproxy. Местоположение PID-файла задается в этой строке скрипта. Если надо, не забудьте исправить на свое значение:

PIDFILE="/home/provproxy/tinyproxy.pid"

Команда запуска прокси-сервера:
По умолчанию там просто указан путь к исполняемому файлу tinyproxy:

TINYPROXYCMD="/usr/sbin/tinyproxy"

Но я хочу эту команду немного подправить.

Запуск сервера при старте системы.

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

TINYPROXYCMD="sudo -u provproxy /usr/sbin/tinyproxy"

В таком виде, скрипт, запускаемый при старте из-под root‘а вызовет tinyproxy от имени нужного нам пользователя. Справедливости ради, надо заметить, что tinyproxy, как любой уважающий себя сервер, умеет сам себе понижать права до определенного пользователя, указанного в файле конфигурации. Но на этом остановимся ниже. На мой взгляд, одно другому не мешает, зато так виднее и жестко задано, от какого пользователя стартовать.

Альтернативный файл конфигурации.

По умолчанию tinyproxy ищет свой файл конфигурации в /etc/tinyproxy.conf, но можно задать альтернативный, в домашнем каталоге пользователя. Делается это путем добавления ключа и пути к файлу. Объединю этот вариант с предыдущим:

TINYPROXYCMD="sudo -u provproxy /usr/sbin/tinyproxy -c /home/provproxy/tinyproxy.conf"

Альтернативный конфигурационный файл в домашнем каталоге.

Раз уж началось с альтернативного файла конфигурации, так давайте его сделаем (от root). Копируем файл /etc/tinyproxy.conf в /home/provproxy/tinyproxy.conf

cp /etc/tinyproxy.conf /home/provproxy/tinyproxy.conf

Далее устанавливаем ему владельца (можно перейти в директорию /home/provproxy перед этим, я перешел — пути будут неполные):

chown provproxy:proxy tinyproxy.conf

И права — пользователю provproxy на tinyproxy.conf нужны права только на чтение, ничего он не пишет в конфигурационный файл, и тем более не пытается исполнить.

chmod 400 tinyproxy.conf

Конфигурирование.

Открываем файл от root‘а и настраиваем параметры прокси-сервера.

Подробно описывается конфингурационный файл

Проверка

Прописываем нужный адрес прокси в браузере:

Проверяем соединение:

Вот тут не показывается, что используется прокси, потому что прокси настроен верно — с отключением via и других заголовков, передающих IP-адрес.

Источники

Tinyproxy, краткая инструкция

Скрипт для автоматического обновления паролей с vpnbook.com не работает.

Старый скрипт для автоматического обновления паролей с бесплатного VPN-сервиса vpnbook.com более не работает. Они весь сайт таки зажабаскриптили и пароль теперь отображается в виде картинки. Но поскольку пока у меня есть хорошие анархисты, милые, предоставляющие доступ к своему сервису нахаляву, я перестал пользоваться vpnbook, и расковыривать этот пиздец мне влом. Расковыряю, конечно, но потом, не сейчас.

Отложенная автозагрузка.

Или автозагрузка нужных программ с подключаемых дисков, внешних носителей и сетевых шар.

Возникла тут производственная задача. Некоторые программы, необходимые для работы, находятся на сетевых шарах (либо подключаемых/шифрованных контейнерах), однако, после загрузки рабочей ОС, они должны автоматически запускаться у пользователя. Для примера, на работе это была программа управления станком.

Решая задачу, перелопатил гору литературы, но ничего готового не нашел. В результате написал свой «Менеджер отложенной автозагрузки».

Принцип работы простой, пользователь в этом самом «Менеджере» указывает путь до нужной программы, лежащей, например, на сетевом диске. «Менеджер» установлен на разделе с ОС, и запускается при ее загрузке. При запуске он проверяет через заданный интервал времени, появился ли нужный «экзешник». Если появился — запускает.

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

В качестве запускаемой задачи можно указать не исполняемый файл (exe, com, bat, cmd), но и документ, тогда он откроется в ассоциированной с ним программе.

Для исполнения задач, необходимо запустить менеджер с параметром командной строки /run

Скриншоты


Основное окно настроек

Опции «Менеджера отложенной автозагрузки»

Окно добавления/редактирования задачи

Cправка по параметрам командной строки

StartupDelayed /help
StartupDelayed [/run] [/d|confdir <путь>]
/help
— эта справка
/run — выполнение задач
/d — запускать в «не-портативном режиме» (конфигурационные файлы в директории %LocalApplicationsData%\StartupDelayed)
/confdir <путь> — указать путь к директории с файлами конфигурации

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

Скачать

Инсталлятор (не портативная версия)
Портативная версия
Исходники на GitHub

DetecTOR v 0.3.0b.

Обновлена утилита DetecTOR, которая определяла, присутствует ли определенный IP в сети Tor.

По многочисленным просьбам зрителей добавлен:

— модуль SxGeoSharp, теперь, даже если IP отсутствует в сети Tor, программа возьмет информацию из базы SxGeo (если вы ее скачаете и подгрузите, она бесплатная), и выдаст вам страну (+город и регион, если есть) для конкретного IP-адреса.
— по умолчанию включен портабельный режим, все настройки программы хранятся в подкаталогах с исполняемым файлом.
— режим пакетной обработки. Если у вас есть огромный лог или просто список IPv4 адресов, (тестировалось на 1000 IP-адресов в специально нагенерированном текстовом файле, где IP были расположены в случайном порядке), то программа найдет все адреса, проверит их по БД SxGeo и БД адресов Tor и выдаст результат в виде файла CSV. Можно включить или отключить выдачу в отчет дополнительных данных Tor.
— добавлены дополнительные аргументы командной строки (см. readme.txt).
— проверено замечание пользователя [info]paperdaemon@ljr. Данная ошибка при работе в Windows 7 и более ранних версиях так и не была выявлена.

readme.txt

Основная статья о DetecTOR Копия
Скачать (портативная версия)
Исходники