Быстрая установка Telegram MTProto Proxy на Debian 9

Описывается установка более устойчивого и надежного, чем обычные прокси типа Dante, официального прокси для Telegram Messenger от самого Телеграма.

Установите OpenSSL, если еще не установлен.

sudo apt install libssl-dev

Скачайте и скомпилируйте MTProxy.

cd ~
git clone https://github.com/TelegramMessenger/MTProxy.git
cd MTProxy/
make

Разместите рабочие файлы по своим местам.

sudo cp objs/bin/mtproto-proxy /usr/bin/
sudo chmod 775 /usr/bin/mtproto-proxy
cd /etc
sudo mkdir mtproto-proxy
cd mtproto-proxy
sudo curl -s https://core.telegram.org/getProxySecret -o proxy-secret
sudo curl -s https://core.telegram.org/getProxyConfig -o proxy-multi.conf

Сгенерите секретный ключ

head -c 16 /dev/urandom | xxd -ps

Настройте автозапуск и управление прокси-сервером. Создайте конфигурационный файл

sudo nano /etc/systemd/system/mtproto-proxy.service

и скопируйте в него это содержимое

[Unit]
Description=MTProxy
After=network.target
[Service]
ExecStart=/usr/bin/mtproto-proxy -u nobody -p 8888 -H 443 -S <SECRET_KEY> —aes-pwd /etc/mtproto-proxy/proxy-secret /etc/mtproto-proxy/proxy-multi.conf -M 1
[Install]
WantedBy=multi-user.target

<SECRET_KEY> замените на секретный ключ из п.4
Если сервер находится за NAT, нужно добавить в ExecStart параметр:
‘—nat-info :’

Последовательно запустите команды (потребуется несколько раз ввести пароль вашей учетной записи)

systemctl daemon-reload
systemctl enable mtproto-proxy
systemctl start mtproto-proxy

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

tg://proxy?server=<SERVER_NAME_OR_IP>&port=443&secret=<SECRET_KEY>

Посмотреть статистику работы прокси можно, скачав файл stats

curl localhost:8888/stats

Для того чтобы наш прокси периодически получал список новых адресов серверов тележеньки:

sudo EDITOR=nano crontab -e

0 * * * * systemctl restart mtproto-proxy

Для тех кому лень обновлять (когда/если будут обновления)

sudo mkdir /opt/mtproxy

sudo nano /opt/mtproxy/upd.sh

rm -rf /root/MTProxy
cd /root
git clone https://github.com/TelegramMessenger/MTProxy.git
cd /root/MTProxy
make
systemctl stop mtproto-proxy
rm /usr/bin/mtproto-proxy
cp /root/MTProxy/objs/bin/mtproto-proxy /usr/bin/
systemctl daemon-reload
systemctl start mtproto-proxy

EDITOR=nano crontab -e

0 * * * * bash /opt/mtproxy/upd.sh

 

 

Установка qTox на Linux Mint 18

Для начала нужно установить Git:

sudo apt install git

После этого откройте новый терминал, перейдите в каталог по вашему выбору (можно сделать в домашнем каталоге отдельную папку для подобного софта, например) и клонируйте репозиторий:

cd /home/$USER/qTox
git clone https://github.com/qTox/qTox.git qTox

Теперь установим пакеты GCC, Qt, FFmpeg, OpenAL Soft and qrencode:

sudo apt install \
build-essential \
cmake \
libavcodec-dev \
libavdevice-dev \
libavfilter-dev \
libavutil-dev \
libexif-dev \
libgdk-pixbuf2.0-dev \
libglib2.0-dev \
libgtk2.0-dev \
libopenal-dev \
libqrencode-dev \
libqt5opengl5-dev \
libqt5svg5-dev \
libsqlcipher-dev \
libswresample-dev \
libswscale-dev \
libxss-dev \
qrencode \
qt5-default \
qttools5-dev-tools \
qttools5-dev

Установим необходимые зависимости для toxcore:

sudo apt install libtool autotools-dev automake checkinstall check \
libopus-dev libvpx-dev libsodium-dev

Собираем toxcore:

git clone https://github.com/toktok/c-toxcore.git toxcore
cd toxcore
git checkout v0.2.2
cmake .
make -j$(nproc)
sudo make install
echo ‘/usr/local/lib/’ | sudo tee -a /etc/ld.so.conf.d/locallib.conf
sudo ldconfig

Собираем qTox:

Переходим в каталог с qTox (если вы заметили toxcore у нас собирался в подкаталоге т.е. сейчас мы в cd /home/$USER/qTox/toxcore, а нам нужно вернуться назад)

cd /home/$USER/qTox/qTox
cmake .
make -j$(nproc)

Для запуска выполняем:

./qtox

Ну, а дальше можно и ссылку для запуска в меню создать.

 

 

Linux: MDF -> ISO как конвертировать?

Возникла необходимость сконвертировать mdf-образы, сделанные программой Alcohol 120% во что-то более приемлемое, т.е. в iso. Погуглив мною была найдена программка iat, которая умеет конвертировать практически все известные образы (mdf, nrg, bin & etc).

Установка:

sudo apt install iat

Конвертация:

iat in.mdf out.iso

Отключить возможность Mozilla устанавливать дополнения в Firefox без согласия пользователя

В СПО-комьюнити разразился скандал насчет добавления в Firefox адд-она Mr. Robot — маркетинговый ход от Mozilla и NBC Studios. Адд-он скрытно добавляет хедеры когда пользователь посещает определенные сайты, выполняя функции слежки в рекламных целях, а также модифицирует посещаемые страницы.

В общем теперь к делу: как это отключить, т.е. как запретить мозиле самостоятельно ставить обновления:

Все, кто не хочет подобной фигни в будущем, отключите SHIELD в about:config.
extensions.shield-recipe-client.enabled — в false
extensions.shield-recipe-client.api_url — оставить пустым

Как поменять user agent в Mozilla Firefox

Как и в Хроме, не во всех версиях Firefox можно легко изменить рассматриваемый нами параметр. Приведенная инструкция действует для версий, начиная с 34. В адресной строке введите about:config и в появившейся странице создайте параметр general.useragent.override.

Выберите тип создаваемого параметра «Строка» и в новом окне впишите нужное значение user agent.

Список различных user-agent’ов:

  • Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
  • Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible ; Googlebot/2.1 ; +http://www.google.com/bot.html)
  • Mozilla/0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36
  • Mozilla/5.0 (Windows NT 6.1; Win64; x86) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36
  • Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; Media Center PC 6.0; CMNTDFJS; F9J; InfoPath.3; rv:11.0) like Gecko
  • Opera 12.17 (Win 8 x64): Opera/9.80 (Windows NT 6.2; WOW64) Presto/2.12.388 Version/12.17
  • Internet Explorer 11 (Win 8.1 x64): Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; ASU2JS; rv:11.0) like Gecko

Установка и настройка transmission + web интерфейс в Debian

Устанавливаем консольный transmission и web интерфейс к нему:

sudo apt-get install transmission-cli transmission-daemon

Редактируем настройки:

sudo nano /var/lib/transmission-daemon/info/settings.json

  • "peer-port": 51413 — порт входящих соединений. Если вы за NAT’ом то позаботьтесь о пробросе этого порта;
  • "download-dir": "/home/sambauser/sambashare/Share/Downloads" — папка в которой будут находиться загрузки;
  • "incomplete-dir": "/home/sambauser/sambashare/Share/Downloads/incomplete" — папка в которой будут находиться еще не законченные загрузки. После завершения они будут перемещены по пути, указанному в опции «download-dir«. Так же убедитесь что пользователь transmission имеет право на запись по этому пути;
  • "incomplete-dir-enabled": true — включение предыдущей опции;
  • "rpc-enabled": true — включение удаленного управления. Сюда же относится и управление через web-интерфейс;
  • "rpc-whitelist-enabled": true — включение так называемого «белого списка» IP-адресов, с которых возможно удаленное управление Transmission. Сюда же относится и удаленное управление через web-интерфейс;
  • "rpc-whitelist": "127.0.0.1,192.168.*.*" — «белый список». Можно задавать не только локальные, но и реальные внешние IP адреса;
  • "rpc-authentication-required": true — требовать аутентификацию для удаленного управления;
  • "rpc-username": "логин" — логин для удаленного управления;
  • "rpc-password": "пароль" — пароль;
  • «rpc-port»: 9091 — порт для доступа к удаленному управлению.

Обращаю внимание, если вы не выполните следующий шаг, то transmission при первом же стандартном перезапуске сотрет все настройки, которые вы сделали.

Релоадим transmission

invoke-rc.d transmission-daemon reload

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

Конфиг minidlna лежит в /etc/minidlna.conf .

Самое интересное в нем это:

# If you want to restrict a media_dir to a specific content type, you can
# prepend the directory name with a letter representing the type (A, P or V),
# followed by a comma, as so:
# * «A» for audio (eg. media_dir=A,/var/lib/minidlna/music)
# * «P» for pictures (eg. media_dir=P,/var/lib/minidlna/pictures)
# * «V» for video (eg. media_dir=V,/var/lib/minidlna/videos)
# * «PV» for pictures and video (eg. media_dir=PV,/var/lib/minidlna/digital_camera)
media_dir=/var/lib/minidlna

Сделаем сначала его бакап:

sudo cp /etc/minidlna.conf /etc/minidlna.conf.backup

Откроем его:

sudo nano /etc/minidlna.conf

Теперь приведем его к следующему виду:

# If you want to restrict a media_dir to a specific content type, you can
# prepend the directory name with a letter representing the type (A, P or V),
# followed by a comma, as so:
№ * «A» for audio (eg. media_dir=A,/var/lib/minidlna/Music)
# * «P» for pictures (eg. media_dir=P,/var/lib/minidlna/pictures)
№ * «V» for video (eg. media_dir=V,/var/lib/minidlna/Video)
# * «PV» for pictures and video (eg. media_dir=PV,/var/lib/minidlna/digital_camera)
media_dir=A,/home/user/sambashare/Music
media_dir=V,/home/user/sambashare/Video

Суть в том что я прописал в данном случае пути для музыки и видео, при этом раскомментировав нужные строки конфига.

Еще я раскомментировал:

log_dir=/var/log

Назначел имя для медиасервера

friendly_name=NAS

Включил автоматическое обнаружение новых файлов в каталогах:

inotify=yes

Проверяем доступность каждой папки командой:

sudo -u minidlna ls -l папка

 

 

 

 

 

 

Flac album to flac — разбиение альбома во FLAC по композициям

Собственно понадобятся такие пакеты (работаем на Archlinux):

  • cuetools
  • shntool

Далее собственно скрипт, который мы сохраняем и выполняем командой # sh script_name.sh :

# Далее мы просто конвертируем кодировку, для чего используем iconv.
iconv -f CP1251 -t UTF8 *.cue > album.utf8.cue

# Итого мы получили CUE-sheet в кодировке UTF-8. Далее разбиваем, сначала
# определим метки времени:

cuebreakpoints album.utf8.cue
#Должны получить список меток времени, по которым будет идти разделение.
#Нам не принципиально какие именно метки мы получим, важен тот факт, что
#мы их получили. Используя shnsplit и полученные метки времени делаем
#разбивку на треки:

cuebreakpoints album.utf8.cue | shnsplit -o flac -f album.utf8.cue -t «%n — %t» *.flac
# Получим набор треков с названием split-trackXX.flac, где XX — номер
# трека. Остаётся навесить на треки теги, указанные в CUE-sheet. Делаем с
# помощью скрипта cuetag:
rm *pregap.flac
cuetag.sh album.utf8.cue «%n — %t» *.flac
# Теперь теги добавлены в файлы. Конечно записанные теги могут не совсем
# соответствовать тем, которые приняты в вашей музыкальной библоитеке. На
# такой случай пригодятся руки и программа easytag.

# Вот впринципе и всё по поводу разбивки FLAC+CUE на FLAC-треки.

rm album.utf8.cue

Черный список сайтов облачного майнинга

Решил протестить сайты облачного майнинга во благо общественности 🙂 . Список буду периодически обновлять.

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

Вроде не плохая схема, но весьма спорная. Но если вы в течении пары недель или месяца им ВООБЩЕ ничего не заносите, приближаясь к минимальной сумме для вывода средств, то они вас быстренько банят, чтобы вы не получили халявки. Банят они вас собственно в любом случае, если вы начинаете выводить деньги.

Такие сервисы сделаны вообще, чтобы вы им только заносили средства.

И так приступим:

Сервис MineCloud.io  — начал банить мои аккаунты уже на 11 день. К этому времени на счете было чуть больше 0,3 USD.

Обновление сертификатов LetsEncrypt

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

Переходим в директорию LetsEncrypt:

cd letsencrypt

Скачиваем обновления репозитория:

git pull

Проверяем, что все нормально:

./letsencrypt-auto —help

Обновляем сертификаты:

./letsencrypt-auto renew

Перезапускаем Apache:

sudo systemctl restart apache2.service