Архив заметок

Vladimir

Wayland на FreeBSD с Hyprland

Просмотров: 10286Комментарии: 0
FreeBSD

Всем привет! Оставлю небольшую заметку по установке и настройке нового протокола для организации графического сервера, как замена Xorg. Что говорит рукокнига на официальном сайте FreeBSD о Wayland:

Wayland - это всего лишь протокол, который действует как посредник между клиентами, использующими другой механизм, который устраняет зависимость от X-сервера. Xorg включает в себя как протокол X11, используемый для запуска удаленных дисплеев, так и сервер X, который будет принимать подключения и отображать окна. В Wayland композитор или оконный менеджер предоставляет сервер отображения вместо традиционного X-сервера.

Так как у меня на железке стоит видео карта nvidia, то тут не обошлось с дополнительным геморроем по настройке. Благо все решилось через установку модуля drm, об этом напишу чуть позже.

Устанавливал на 13.1 версию FreeBSD из пакетов. Можно установить из портов, но учтите, что при установке Wayland, он тянет llvm и сборка этого добра займет очень много времени даже на мощном железе.

Так же учтите, что пакеты берутся из квартального репозитария с протухшими версиями софта. Если вы не копировали /etc/pkg/FreeBSD.conf в /usr/local/etc/pkg/repos/FreeBSD.conf и не меняли настройки, то стоит проверить:

FreeBSD: { url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest" }

Это вариант с самыми свежими версиями. Далее запускаем

# pkg update -f
# pkg upgrade

Установим следующие пакеты

# pkg install wayland seatd waybar hyprland hyprpaper
  • seatd это сервис, который помогает управлять доступом к общим системным устройствам для обычных пользователей в композиторах(оконных менеджерах) для Wayland.
  • waybar это бар для окошек
  • hyprland тот самый композитор, есть еще другие, но я выбрал этот из-за возможной простоты конфигурации
  • hyprpaper помощник по обоям

Если у вас видюха не nvidia, то смело можно ставить пакет drm-kmod.

И, конечно, если nvidia, то идем на гитхаб за исходниками drm-kmod. Я скачивал drm для нее в домашнюю папку юзера. Загрузим исходники в папку drm-kmod.

# git clone -b 5.10-lts --depth 1 https://github.com/freebsd/drm-kmod.git

Лучше использовать определенную версию для вашей системы, автор про это сообщает:

For 14.0-CURRENT use master

For 13.1-* use 5.10-lts

Для сборки дров понадобятся сорцы, загрузим и их рядом:

# https://github.com/amshafer/nvidia-driver.git

Теперь можно устанавливать. Переходим в папку и устанавливам

# cd ~/nvidia-driver/nvidia && make && make install

Далее грузим через kldload nvidia-drm, теперь почти все готово для запуска.

Отредактируем /etc/rc.conf

kld_list="linux nvidia nvidia-modeset fusefs nvidia-kmod"
senmail_enable="NONE"
seatd_enable="YES"
linux_enable="YES"
dbus_enable="YES"

Теперь необходимо скопировать дефолтные конфиги в домашнюю папку юзера. Для начал найдем конфиги hyprland и waybar

$ find /usr -name hypland.conf
/usr/local/share/hypr/hypland.conf

Создаем папки в домашней директории и копируем конфиг.

$ mkdir -p ~/.config/hypr
$ mkdir ~/.config/waybar

Копируем найденные конфиги в папки. Для бара будет 2 конфига: первый это сам конфиг config и второй это стили style.css.

Потом идем на вики https://wiki.hyprland.org/Getting-Started/Quick-start/ и вкуриваем мануал по конфигу.

И, наконец, добавим для автостарта окошек несколько строк в файл .profile.

if [ -z "$XDG_RUNTIME_DIR" ]; then
    export XDG_RUNTIME_DIR=/tmp/xdg
    if [ ! -d  "$XDG_RUNTIME_DIR" ]; then
        mkdir "$XDG_RUNTIME_DIR"
        chmod 0700 "$XDG_RUNTIME_DIR"
    fi
fi
if $(hyprctl monitors) == "HYPRLAND_INSTANCE_SIGNATURE was not set! (Is Hyprland running?)"; then
Hyprland -c ~/.config/hypr/hyprland.conf
fi

На счет HYPRLAND_INSTANCE_SIGNATURE не уверен, так как это не помогло. При проверке hyprctl monitor до сих пор выводит сообщение, что инстанция не задана. Если знаете как победить, напишите.

Еще один косяк с мышкой, точнее с курсором. Он не появляется, пробовал лечить следующей темой

# setenv WLR_NO_HARDWARE_CURSORS 1

Но не помогло, курсор появлялся и исчезал через какое-то время.

Итак, можно запускать сразу через команду Hyprland или после авторизации, он автоматом запуститься.

Я дальше первого запуска детально не настраивал тайлы, бинды для команд и другие украшательства из-за проблем с видюхой. Скорее всего кривизна рук виновата.

Не авторизован. У вас нет доступа к этому серверу

Просмотров: 4721Комментарии: 0

Всем привет!

Такая ошибка появилась после установки Plex Media Server на новую ОС. Раньше Plex работал на другой системе с той же админской учеткой.

При попытке произвести первичную настройку появилось такое сообщение.

Если потом перейти на главную страницу, то возможности добавить видео или другой контент в настройках нет. В них доступна только настройка плеера и учетной записи. Поискав на просторах инета нашел решение тут.

В этой публикации просто опишу это на своем опыте. Я пользуюсь OpenSUSE Tumbleweed и пока не особо освоился в этой ОС. Для начала нам надо найти файлик Preferences.xml. В нем хранится идентификатор сервера. Если его удалить(файликsmile), то при старте PMS он создается вновь с новым ID, так что аккуратнее с ним.

Теперь идем как в статье по шагам:

1. Останавливаем PMS. В разных системах по разному, например в FreeBSD это будет

# service plexmediaserver stop

Для OpenSUSE через snap:

# systemctl stop snap.plexmediaserver.plexmediaserver.service

2. Логинимся по ssh на сервер. Мы уже в нем, т.к. останов PMS производили из консоли. Далее находим файлик Preferences.xml через команду

find /var -name Preferences.xml

В принципе поисковая команда будет похожа для разных дистрибутивов и синтаксис по поиску файла должен быть похожим. Я искали в каталоге /var, так как там лежат файлы по PMS. Можете искать в корне /, это дольше, зато точно найдете. После того как найдете, удаляйте данный файл.

# rm /var/snap/plexmediaserver/common/Library/'Application Support'/'Plex Media Server'/Preferences.xml

3. Запускаем PMS и не покидаем консоль.

# systemctl start snap.plexmediaserver.plexmediaserver.service

В соседней вкладке браузера заходите на сайте https://plex.tv/claim и копируете идентификатор. Срок жизни 5 минут, так, что перед копированием подготовьте ссылку из 4 пункта для консоли заранее.

4. Команда со ссылкой будет следующая

# curl -X POST 'http://127.0.0.1:32400/myplex/claim?token=сюда_вставляем_токен'

Ip адрес именно тот, который указан в ссылке. Я пробовал с доменным именем, не сработало. После того как нажмете Enter, в зависимости от скорости инета примерно 15-20 секунд PMS и Plex.TV будут обмениваться данными. На выходе должно появиться такая шляпа из флагов.

message.png

После этого заходите на стартовую страницу и вас встречает установщик. Там уже просто smile

InnboxE80 и пароль для superadmin

Просмотров: 5709Комментарии: 0
Новости

Всем привет!

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

На авторство этого мануала я не претендую, забрал отсюда. Полезная ветка на форуме 4pda по этому устройству.

Для начала перейдем в веб интерфейс и скачаем текущий конфиг

config.png

Конфиг скачается с именем config.bin. На сколько я знаю, раньше можно было разархивировать файл с помощью 7-zip или любого другого, но теперь так сделать не получится. Это кстати касается и моделей InnboxE70.

Теперь откроем файл в Hex редакторе, я скачал триал версию редактора Neo. Удаляем значения в файле до слова Salted, то есть первое слово должно быть именно оно.

До редактирования:

before.png

Кликаете мышкой на первом слове и с помощью клавиши Delete/Del удаляете текст до слова Salted.

После редактирования:

after.png

Сохраняем изменения.

Следующим шагом нам потребуется OpenSSL, я следующие шаги сделал в системе Linux OpenSUSE. Для Windows есть руководства установки в интернете, не составит труда найти и установить.

Для этой команды я опустил описание шагов по доступу к консоли windows/unix подобных систем

Исполняем команду:

# openssl enc -d -aes-256-cbc -md md5 -in ./config.bin -out config.gz -pass pass:InnboxE80

Где мы собственно указываем наш конфиг и пароль для него. Пароль это наименование устройства из веб интерфейса, требуется указать точно как в интерфейсе.

После этой операции появится файл config.gz. Его можно спокойно распаковать архиватором, я использовал 7-zip.

Далее открываем файл конфига в текстовом редакторе, я использовал notepad++ и ищем по имени superadmin.

after.png

Теперь можете заходить в веб морду с учетной записью суперадмина.

Установка SAP ABAP Platform 1909 Developer Edition на openSUSE 15.2 Leap

Просмотров: 2567Комментарии: 4
SAP

Приветствую, комрад! Не так давно компания SAP выпустила мини версию системы для начинающих разработчиков и профессионалов SAP ABAP Platform 1909 Developer Edition.

В принципе ничего сложного в установке нет. Для начала надо поставить docker engine:

# zypper install docker python3-docker-compose
# systemctl enable docker
# usermod -G docker -a $USER
# systemctl restart docker

Далее надо создать учетку в docker hub, если она есть, то пропускаем этот шаг. Заходим в хаб на сайте и ищем нашу систему:

Читать далее...

Расширение раздела на VPS во FreeBSD 12

Просмотров: 3405Комментарии: 0
FreeBSD

Всем привет!

По традиции публикую заметку на будущее, если возникнет проблема с расширением раздела при смене тарифа. Я столкнулся с этими буквально вчера. Хостер добавил пространства в 10Gb, по наивности я думал, что диск расширится при вмешательстве службы поддержки, но так как я использую на VPS операционку FreeBSD, которую провайдер не поддерживает, пришлось самостоятельно заниматься этим вопросом.

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

Для начала дисклеймер, ибо это надо делать всегда!

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

Данные операции проходили в ОС FreeBSD 12.0

Читать далее...

VPN на базе WireGuard и FreeBSD

Просмотров: 8044Комментарии: 0
FreeBSD

Привет, работяги!

Поделюсь своим скромным опытом по настройке зашифрованного vpn туннеля с помощью wireguard. Что же это за зверь?

WireGuard® - это чрезвычайно простой, но быстрый и современный VPN, который использует современную криптографию. Он стремится быть быстрее, проще, компактнее и более полезным, чем IPsec, избегая при этом массивной головной боли. Он намерен быть значительно более производительным, чем OpenVPN. Wire Guard разработан как VPN общего назначения для работы на встроенных интерфейсах и суперкомпьютерах, пригодных для многих различных обстоятельств. Первоначально выпущенный для ядра Linux, он теперь кросс-платформенный (Windows, macOS, BSD, iOS, Android) и широко развертывается. В настоящее время он находится в стадии интенсивного развития, но уже его можно рассматривать как самое безопасное, простое в использовании и самое простое решение VPN в отрасли.

Если интересуют подробности возможностей, то вам сюда. Поехали!

Читать далее...

SQUID в качестве обычного прокси

Просмотров: 2462Комментарии: 0
FreeBSD

Всем привет!

Данная запись не преследует цели описать конфигурацию кэширующего и прозрачного squid сервера с файрволлом или интеграцией с AD. Родилась идея настроить на VPS прокси сервачок для личных нужд с жирным каналом. Для этого я взял за основу систему FreeBSD 12. Начнем:

# uname -srm
FreeBSD 12.0-RELEASE-p8 amd64

Конфиг squid(на эту дату версия 4.8)

http_port ваш_ip:3128
auth_param basic program /usr/local/libexec/squid/basic_ncsa_auth /usr/local/etc/squid/passwd
auth_param basic children 5
auth_param basic realm please sug min den
auth_param basic credentialsttl 2 hours
visible_hostname "proxy"
acl ncsa_users proxy_auth REQUIRED
acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny to_localhost
http_access allow ncsa_users
http_access deny all
access_log /var/log/squid/access.log squid
logfile_rotate 0
via off
forwarded_for off
follow_x_forwarded_for deny all
request_header_access X-Forwarded-For deny all
#logformat squid %tl %6tr %>a %Ss/Hs %<st %rm %ru %un %Sh/%<A %mt
client_db on
dns_defnames on
httpd_suppress_version_string on
retry_on_error on
uri_whitespace strip
strip_query_terms off
cache deny all
#cache_dir null /tmp
ident_lookup_access deny all
#deny_info [URL]http://proxy/blocked.html[/URL] adsites
acl ads dstdom_regex "/usr/local/etc/squid/ad_block.txt"
http_access deny ads

Для создания файла с учетками нужна программка htpasswd, а ставить apache из-за одной проги не комильфо. В портах есть такая штука security/py-htpasswd или можно установить из пакетов, кому как удобнее.

Далее организовать ссылочку:

# ln -s /usr/local/bin/htpasswd.py /usr/local/bin/htpasswd
# rehash

Делаем учетку с паролем:

#htpasswd -cb /usr/local/etc/squid/passwd user password

Почти готово. Теперь надо в файлик ad_block.txt закачать ссылки по рекламе для блокировки. Взял данную фишку отсюда.

Создаем скрипт:

curl -sS -L --compressed "http://pgl.yoyo.org/adservers/serverlist.php?hostformat=nohtml&showintro=0&mimetype=plaintext" > /usr/local/etc/squid/ad_block.txt
## refresh squid
/usr/local/sbin/squid -k reconfigure

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

# chmod +x ad_servers_newlist.sh

И в cron его(я использую рутовый):

# crontab -e
35   5    *   *   */3 /root/ad_servers_newlist.sh >> /dev/null 2>&1