Позднее Ctrl + ↑

Частоты цифровых каналов DVB-T2

Понадобился список несущих частот цифровых ТВ каналов.
В интернет нашел следующие частоты.

• 21-ый телевизионный канал — частота приема 474 МГц;
• 22-ой телевизионный канал — частота приема 482 МГц;
• 23-ий телевизионный канал — частота приема 490 МГц;
• 24-ый телевизионный канал — частота приема 498 МГц;
• 25-ый телевизионный канал — частота приема 506 МГц;
• 26-ой телевизионный канал — частота приема 514 МГц;
• 27-ой телевизионный канал — частота приема 522 МГц;
• 28-ой телевизионный канал — частота приема 530 МГц;
• 29-ый телевизионный канал — частота приема 538 МГц;
• 30-ый телевизионный канал — частота приема 546 МГц;
• 31-ый телевизионный канал — частота приема 554 МГц;
• 32-ой телевизионный канал — частота приема 562 МГц;
• 33-ий телевизионный канал — частота приема 570 МГц;
• 34-ый телевизионный канал — частота приема 578 МГц;
• 35-ый телевизионный канал — частота приема 586 МГц;
• 36-ой телевизионный канал — частота приема 594 МГц;
• 37-ой телевизионный канал — частота приема 602 МГц;
• 38-ой телевизионный канал — частота приема 610 МГц;
• 39-ый телевизионный канал — частота приема 618 МГц;
• 40-ой телевизионный канал — частота приема 626 МГц;
• 41-ый телевизионный канал — частота приема 634 МГц;
• 42-ой телевизионный канал — частота приема 642 МГц;
• 43-ий телевизионный канал — частота приема 650 МГц;
• 44-ый телевизионный канал — частота приема 658 МГц;
• 45-ый телевизионный канал — частота приема 666 МГц;
• 46-ой телевизионный канал — частота приема 674 МГц;
• 47-ой телевизионный канал — частота приема 682 МГц;
• 48-ой телевизионный канал — частота приема 690 МГц;
• 49-ый телевизионный канал — частота приема 698 МГц;
• 50-ый телевизионный канал — частота приема 706 МГц;
• 51-ый телевизионный канал — частота приема 714 МГц;
• 52-ой телевизионный канал — частота приема 722 МГц;
• 53-ий телевизионный канал — частота приема 730 МГц;
• 54-ый телевизионный канал — частота приема 738 МГц;
• 55-ый телевизионный канал — частота приема 746 МГц;
• 56-ой телевизионный канал — частота приема 754 МГц;
• 57-ой телевизионный канал — частота приема 762 МГц;
• 58-ой телевизионный канал — частота приема 770 МГц;
• 59-ый телевизионный канал — частота приема 778 МГц;
• 60-ый телевизионный канал — частота приема 786 МГц;
• 61-ый телевизионный канал — частота приема 794 МГц;
• 62-ой телевизионный канал — частота приема 802 МГц;
• 63-ий телевизионный канал — частота приема 810 МГц;
• 64-ый телевизионный канал — частота приема 818 МГц;
• 65-ый телевизионный канал — частота приема 826 МГц;
• 66-ой телевизионный канал — частота приема 834 МГц;
• 67-ой телевизионный канал — частота приема 842 МГц;
• 68-ой телевизионный канал — частота приема 850 МГц;
• 69-ый телевизионный канал — частота приема 858 МГц.

Настройка 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 пакет, для самостоятельной сборки, можно скачать здесь.

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

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

echo 'Привет мир!' | xxd -ps
echo 'd09fd180d0b8d0b2d0b5d18220d0bcd0b8d18021' | xxd -p -r

HTTP/2.0 в Nginx на CentOS 7

UPD
Вышло обновление openssl-1.0.2k и даное руководство больше не актуально.
_____________________________________________________________________

Решил включить HTTP/2.0 в Nginx. В процессе тестирование, при прохождении теста выяснилось, что не активно ALPN (Application-Layer Protocol Negotiation).

Для полноценной работы HTTP/2.0, Nginx должен быть собран с OpenSSL версии не ниже чем 1.0.2. В репах CentOS есть только OpenSSL версии 1.0.1.
Решить эту проблему можно двумя способами: собрать Nginx с флагом —with-openssl или собрать OpenSSL 1.0.2 для CentOS.
Первый вариант у меня не взлетел, сборка пакета завершалась неудачно, поэтому я остановился на втором варианте.
В интернет нашел сайт, где автор предлагает пачтить сорцы OpenSSL, но недавно в CentOS прилетело обновление glibc-2.17.

rpm -qa | grep glibc
glibc-common-2.17-157.el7_3.4.x86_64
glibc-2.17-157.el7_3.4.x86_64
glibc-devel-2.17-157.el7_3.4.x86_64
glibc-headers-2.17-157.el7_3.4.x86_64
readelf -s /usr/lib64/libc.so.6 | grep secure_getenv
614: 0000000000038950    27 FUNC    WEAK   DEFAULT   12 __libc_secure_getenv@@GLIBC_PRIVATE
857: 0000000000038950    27 FUNC    WEAK   DEFAULT   12 __secure_getenv@GLIBC_2.2.5
1715: 0000000000038950    27 FUNC    WEAK   DEFAULT   12 secure_getenv@@GLIBC_2.17
5228: 0000000000038950    27 FUNC    LOCAL  DEFAULT   12 __GI___libc_secure_getenv
6506: 0000000000038950    27 FUNC    WEAK   DEFAULT   12 __secure_getenv@GLIBC_2.2
6529: 0000000000038950    27 FUNC    WEAK   DEFAULT   12 secure_getenv
6918: 0000000000038950    27 FUNC    WEAK   DEFAULT   12 __libc_secure_getenv

Так что ничего патчить не нужно, а просто собираем openssl из FC23. Дополнительно потребуется пересобрать еще один пакет из FC23 crypto-policies.

yum install epel-release && yum update && yum install mock
mkdir -p ~/rpmbuild/{SPECS,SOURCES,SRPMS}
wget http://nginx.org/packages/centos/7/SRPMS/nginx-1.12.1-1.el7.ngx.src.rpm
rpm -ivh ~/nginx-1.12.1-1.el7.ngx.src.rpm
grep 'Requires: openssl >= 1.0.1' -P -R -I -l ~/rpmbuild/SPECS/nginx.spec | xargs sed -i 's/Requires: openssl >= 1.0.1/Requires: openssl >= 1.0.2/g'
grep 'BuildRequires: openssl-devel >= 1.0.1' -P -R -I -l ~/rpmbuild/SPECS/nginx.spec | xargs sed -i 's/BuildRequires: openssl-devel >= 1.0.1/BuildRequires: openssl-devel >= 1.0.2/g'
grep 'define main_release 1' -P -R -I -l  ~/rpmbuild/SPECS/nginx.spec | xargs sed -i 's/define main_release 1/define main_release 2/g'
grep '%changelog' -P -R -I -l  /root/rpmbuild/SPECS/nginx.spec | xargs sed -i 's/%changelog/%changelog\n* Wed Jul 12 2017 Aleksandr Chernyshev <mail@aschernyshev.ru>\n- 1.12.1 \n- Rebuild with openssl-1.0.2d\n/g'
/usr/bin/mock -r epel-7-x86_64 --spec=~/rpmbuild/SPECS/nginx.spec --sources=~/rpmbuild/SOURCES/ --resultdir=~/rpmbuild/SRPMS/ --no-clean --buildsrpm
wget https://aschernyshev.ru/repository/rhel/7/noarch/crypto-policies-20150518-3.gitffe885e.el7.centos.noarch.rpm
wget https://aschernyshev.ru/repository/rhel/7/x86_64/openssl-libs-1.0.2d-2.el7.centos.x86_64.rpm
wget https://aschernyshev.ru/repository/rhel/7/x86_64/openssl-1.0.2d-2.el7.centos.x86_64.rpm
wget https://aschernyshev.ru/repository/rhel/7/x86_64/openssl-devel-1.0.2d-2.el7.centos.x86_64.rpm
/usr/bin/mock -r epel-7-x86_64 --init
/usr/bin/mock -r epel-7-x86_64 --install ~/crypto-policies-20150518-3.gitffe885e.el7.centos.noarch.rpm
/usr/bin/mock -r epel-7-x86_64 --install ~/openssl-libs-1.0.2d-2.el7.centos.x86_64.rpm
/usr/bin/mock -r epel-7-x86_64 --install ~/openssl-1.0.2d-2.el7.centos.x86_64.rpm
/usr/bin/mock -r epel-7-x86_64 --install ~/openssl-devel-1.0.2d-2.el7.centos.x86_64.rpm
/usr/bin/mock -r epel-7-x86_64 --no-clean ~/rpmbuild/SRPMS/nginx-1.12.1-2.el7.centos.ngx.src.rpm

Устанавливаем получившиеся crypto-policies, openssl, openssl-libs , nginx.

Ранее Ctrl + ↓