23 заметки с тегом

linux

Обновление таймзоны в Java

В настоящее время инструмент TZUpdater совместим только с форматом данных «арьергарда», который больше не имеет встроенных двоичных файлов. IANA никогда не публиковала их, и при попытке обновлении таймзоны появится следующая ошибка.

Failed: java.lang.Exception: Failed while parsing file '/tmp/ziupdater21715634709704541231626652501292559/srcdir/asia' on line 1865 'Rule	Japan	1948	1951	-	Sep	Sat>=8	25:00	0	S'

Для создания двоичный файлов необходимо проделать следующую процедуру

yum install lzip
mkdir ./tmp ; cd ./tmp
wget https://cdn.azul.com/tools/ziupdater1.0.2.2-jse8+7-any_jvm.tar.gz
tar -xzvf ziupdater1.0.2.2-jse8+7-any_jvm.tar.gz
wget https://data.iana.org/time-zones/releases/tzdb-2019b.tar.lz
lzip -d tzdb-2019b.tar.lz && tar xvf tzdb-2019b.tar && cd tzdb-2019b
make rearguard_tarballs
/usr/java/java8/bin/java -jar ../ziupdater-1.0.2.2.jar -v -l file:./tzdata2019b-rearguard.tar.gz

http://qaru.site/questions/18068758/update-to-tzdata2019b-is-failing

25 июля   java   linux

MTProto Proxy на CentOS7

Решил попробовать использовать вместо 3proxy вышедшей не так давно MTProto Proxy, собрал пакет для 7 CentOS. Из зависимостей требует zlib, openssl и curl. В процессе установки автоматически генерируется секретный ключ авторизации, загружаются список серверов и ключ для доступа.
Установка сводится к следующим действиям

yum localinstall mtproto-proxy-20824f5-1.el7.x86_64.rpm
systemctl enable mtproto-proxy
systemctl start mtproto-proxy
firewall-cmd --permanent --zone=external --add-service=mtproto-proxy

По умолчанию сервер запускается на порту 8443. Если это необходимо изменить, то основные настройки вынесены в /etc/sysconfig/mtproto-proxy. Так же придется отредактировать и /etc/firewalld/services/mtproto-proxy.xml.

Теперь для подключения, в приложении, необходимо перейти по ссылке.

https://t.me/proxy?server=<SERVER_IP>&port=<PORT>&secret=<SECRET_KEY>

где:

SERVER_IP - ip адрес сервера mtproto-proxy
PORT - порт на котором запущен mtproto-proxy
SECRET_KEY - секретный ключ, который был создан в процессе установки

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

2018   centos   linux   web
2018   bash   linux

Настройка SOCKS5 прокси на CentOS7

В свете последних событий, понадобился SOCKS5 прокси с авторизацией.
Поискав в интернете остановил свой выбор на 3proxy от z3APA3A, как наиболее легковесном, функциональном и активно развивающемся, последний релиз которого состоялся 18.04.2018.
К сожалению актуальной версии пакета в репозиториях CentOS не нашлось, поэтому пришлось переписать spec-файл для текущей версии 0.8.12.

Для начала необходимо скачать 3proxy, после чего можно приступать к его установки.

yum localinstall 3proxy-0.8.12-1.el7.centos.x86_64.rpm

Так как меня интересует именно SOCKS-прокси, то конфигурационный файл будет иметь следующий вид. Если нужен дополнительный функционал, то можно почитать 3proxy.cfg.example или wiki проекта на github.com

vim /etc/3proxy/3proxy.cfg
daemon
setgid 99
setuid 99

nscache 65536
nserver 127.0.0.1

timeouts 1 5 30 60 180 1800 15 60

external 0.0.0.0
internal 0.0.0.0

config /etc/3proxy/3proxy.cfg
monitor /etc/3proxy/3proxy.cfg
monitor /etc/3proxy/counters
monitor /etc/3proxy/passwd
monitor /etc/3proxy/bandlimiters

log /var/log/3proxy/3proxy.log
logformat "L%o %d %H:%M:%S      %U | %C | %R:%r | %O | %I | %n"
archiver gz /bin/gzip %F
rotate 7

users $/etc/3proxy/passwd

include /etc/3proxy/counters
include /etc/3proxy/bandlimiters

auth strong
flush
socks -p81080

Теперь добавляем пользователей, для этого выполним скрипт add3proxyuser.sh

/etc/3proxy/add3proxyuser.sh username password day_limit bandwidth

где:
username — имя пользователя
password — пароль
day_limit — лимит трафика в Мегабайтах в день
bandwidth — полоса пропускания в битах в секунду

Для примера заведем пользователя с логином и паролем admin, лимитом трафика в 100 Мегабайт в день и полосой пропускания в 1 Мегабит.

/etc/3proxy/add3proxyuser.sh admin admin 100 1048576

Теперь в файле, /etc/3proxy/passwd, появилась запись с логином и MD5-хешем пароля

admin:CR:$1$10216$EvIj9vLnQi/zydUXJXYa60

Активируем и запускаем сервис

systemctl enable 3proxy
systemctl start 3proxy

Добавляем правило в Firewall разрешающее внешнее подключение к прокси

firewall-cmd --permanent --zone=external --add-port=81080/tcp

Теперь можно применять настройки прокси перейдя по ссылке следующего содержания:

https://t.me/socks?server=my.server.org&port=81080&user=admin&pass=admin

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

2018   centos   linux

Конвертация из ASCII в HEX и обратно

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

echo 'Привет мир!' | xxd -ps
echo 'd09fd180d0b8d0b2d0b5d18220d0bcd0b8d18021' | xxd -p -r
2018   bash   linux
Ранее Ctrl + ↓