Установка прокси сервера SOCKS5 и Shadowsocks

Рассмотрим автоматическую установку прокси серверов SOCKS5 и Shadowsocks в Ubuntu 16.04, Ubuntu 18.04, Debian 7/10 и CentOS 7.

SOCKS – сетевой протокол, с помощью которого можно пересылать данные от клиента к серверу. По сравнению с HTTP-прокси-серверами, SOCKS5 передает все пакеты от клиента, не добавляя ничего от себя.

Shadowsocks – прокси-проект с открытым исходным кодом. Весьма популярен в Китае для обхода государственной цензуры.

Автоматическая установка сервера SOCKS5

Скрипт поддерживает автоматическую установку и настройку в операционных системах Ubuntu 16.04, 18.04, CentOS 7 и Oracle Linux 7.5.

Для SOCKS5 используется улучшенная система безопасности с использованием PAM файлов для авторизации.

Предварительно установим инструмент curl:

sudo apt install curl

Скрипт:

curl https://selivan.github.io/socks.txt | sudo bash

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

Если вы хотите предварительно вручную внести свой пароль и порт, то выполните следующие действия:

export PORT=8080; export PASSWORD=mypass

Затем продолжим установку:

curl https://selivan.github.io/socks.txt | sudo --preserve-env bash

Где mypass является вашим паролем.

mypass

По окончанию работы скрипт отобразит созданные данные для подключения по протоколу SOCKS5.

Автоматическая установка сервера Shadowsocks в Debian 7/10, Ubuntu 14.04/18.04

Скачиваем скрипт

wget https://raw.githubusercontent.com/Vndroid/shadowsocks-install/master/shadowsocks.sh

Делаем его исполняемым:

chmod +x shadowsocks.sh

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

./shadowsocks.sh install 2>&1 | tee shadowsocks.log

Во время установки будет предложено добавить свой пароль.

shadowsocks.sh

А также предложат выбрать тип шифрования и включить протокол TCP.

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

shadowsocks

Приложения-клиенты для подключения по протоколу Shadowsocks: shadowsocks clients.

Простая настройка OpenVPN Linux

OpenVPN часто используется для создания виртуальных безопасных сетей между компьютерами, которые находятся на очень большом расстоянии, но при этом между ними нужно получить шифрованное безопасное соединение, которое невозможно перехватить и прослушать.

В этой инструкции мы рассмотрим как выполняется настройка OpenVPN linux с помощью скрипта openvpn-install, который упрощает процесс установки и настройки в несколько раз. С его помощью вы получите работающий сервер в течение нескольких минут.

Настройка OpenVPN сервера в Linux

В этой статье, в качестве системы для примера мы будем использовать операционную систему CentOS, но операции не будут отличаться в других дистрибутивах. Сначала скачайте сам скрипт:

 wget https://git.io/vpn -O openvpn-install.sh

Затем запустите скрипт от имени суперпользователя с помощью такой команды:

bash openvpn-install.sh

Дальше скрипт задаст несколько вопросов по настройкам OpenVPN. Сначала нужно указать точный ip адрес VPS, на котором будет запущен OpenVPN, именно на этом адресе программа будет слушать соединения:

Затем выберите протокол, который вы хотите использовать. Например, если я хочу использовать TCP то нужно выбрать 2.

Затем введите номер порта, на котором будет слушать программа, можно оставить значение по умолчанию.

Выберите сервера DNS, которые нужно использовать, мне, например, нравятся сервера от Google.

Введите имя клиента, для которого будут подписаны сертификаты на доступ.

Дальше нажмите Enter, и подтвердите установку OpenVPN. Программа сама установит нужные пакеты в вашем дистрибутиве, а затем подпишет все необходимые сертификаты, запустит сервер openvpn и даже добавит его в автозагрузку systemd.

Последний шаг, это утилита спросит есть ли у вашего сервера дополнительный внешний ip адрес. Это может быть полезно, если вы используете NAT, и для доступа к серверу применяете какой-либо туннель. В других случаях этот пункт можно пропустить, для VPS точно пропускаем.

Теперь установка и настройка OpenVPN сервера Linux завершена. Конфигурационный файл для клиента сохранен по адресу /root/sergiy-pc.ovpn, может иметь и другое имя, в зависимости от того, какое имя вы дали клиенту. Самое интересное, что для того чтобы добавить новых клиентов, вам просто достаточно запустить скрипт еще раз. Осталось только скопировать полученный файл клиенту, для этого можно на клиентском компьютере выполнить scp:

scp root@адрес_сервера:/root/sergiy-pc.ovpn /etc/openvpn/

Удаление EXIF Данных из Изображений и Фотографий в Linux

Большинство цифровых фотоаппаратов и мобильных телефонов добавляют EXIF метаданные в изображения.

EXIF метаданные могут содержать характеристики камеры, ее настройки, местоположение (координаты GPS) и многое другое.

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

В этой небольшой заметке, я покажу как извлечь и затем удалить все EXIF метаданные из Ваших фотографий и изображений, с помощью командной строки в Linux и программы ExifTool.
Устанока ExifTool

Для Arch:

sudo pacman -S perl-image-exiftool

Извлечение EXIF Метаданных из Изображения

Извлечь и прочитать все EXIF метаданные из изображения или фотографии:

exiftool image.jpeg

Удаление EXIF Метаданных из Изображения

Удалить все EXIF метаданные из изображения или фотографии:

exiftool -all= image.jpeg

Удаление EXIF Данных из Множества Файлов

Следующие команды также сохраняют копии оригинальных файлов, добавляя к их именам префикс «_original».

Переместитесь в папку с изображениями.

Выполните следующую команду, чтобы удалить EXIF метаданные из всех файлов в текущей папке:

exiftool -all= *

Удалить EXIF метаданные из изображений с расширением «.jpeg«:

exiftool -all= *.jpeg

Склеиваем mp4 файлы с помощью ffmpeg

Сначала необходимо подготовить файл list.txt. Он должен иметь следующий вид:

file ‘имя файла.mp4’
file ‘имя файла.mp4’

file ‘имя файла.mp4’

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

ffmpeg -f concat -i list.txt -c copy output.mp4

Изменение размера swap-файла

В LinuxMint 19 если нет раздела swap то создается файл /swapfile. Но он создается размером 2 гига.
Чтоб изменить размер этого файла:

Отключим его

sudo swapoff /swapfile

Изменим его размер

sudo fallocate -l 6G /swapfile (вместо 6G подставить нужное знаечение).

Эта команда создает файл /swapfile, т.е. старый файл будет перезаписан, либо будет создан новый если его не было.

Проверим права на файле

ls -lh /swapfile

Должно быть

-rw——- 1 root root 6,0G июн 28 12:12 /swapfile

Если иначе то

sudo chown root:root /swapfile
sudo chmod 0600 /swapfile

И снова проверить, а то мало ли.

Создать swap-простарнство

sudo mkswap /swapfile

Включаем swap

sudo swapon /swapfile.

Ну и на всякий случай проверим

cat /etc/fstab

Сточка со swap должна выгядеть так

/swapfile none swap sw 0 0

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

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

Установка:

sudo apt install iat

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

iat in.mdf out.iso

Этические рекомендации по технически сложным подаркам от FSF

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

В этом выпуске объясняется (со ссылками и картинками), что если дарить смартфон, то лучше Galaxy Note 2 with Replicant, если ноутбук, то T400 with GNU/Linux, X200 with GNU/Linux или X200t with GNU/Linux, десктоп — D16 Workstation with GNU/Linux, 3D Printers — LulzBot Mini и многое другое…

Установка и настройка 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 папка