Newsraft 0.23
Состоялся выпуск Newsraft 0.23, консольной программы для просмотра RSS-лент. Проект во многом вдохновлён Newsboat и пытается быть его облегчённым аналогом.
( читать дальше... )
>>> Подробности
Состоялся выпуск Newsraft 0.23, консольной программы для просмотра RSS-лент. Проект во многом вдохновлён Newsboat и пытается быть его облегчённым аналогом.
( читать дальше... )
>>> Подробности
Время от времени хотелось чтоб был некий дамп схемы использования физических накопителей разными файловыми системами, чтобы не лазить отдельно по camcontrol devlist, gmirror/gmultipath/gpart, спискам монтирования и иногда sysctl. И чтобы этот дамп был пригоден для обычного diff между «было» и «теперь». Написал в итоге такую прогу, может кому пригодится или кто даст совет как поудобнее сделать её вывод чтобы было нагляднее кто за что отвечает. (только не так как geom -t который дублирует на каждого члена mirror/multipath всю вышележащую топологию)
Компилировать с -lgeom -lfcl
update 2023-12-05
как скомпилировать с нуля с черновой поддержкой zfs:
cd /tmp/
fetch https://dev.m1089.ru/fcl/files/fcl-20231205.tar.gz
tar xf fcl-20231205.tar.gz
cd fcl-20231205/DEV/src
./build.sh fcl
fetch https://dev.m1089.ru/freebsd-misc/files/storage-summary/storage-summary.c
cc storage-summary.c -DWITH_LIBZFS -DLIBZFS_HACK -I../include -L../lib -lgeom -lfcl -lzfs -lnvpair -o storage-summary
Записи в таблице где месяцы написаны текстом: «январь» и т.д. Как выбрать из нескольких записей с одинаковыми другими столбцами ту которая будет самой поздней?
Нужен совет как правильно настроить права доступа для каталога, который нужно расшарить в сеть по NFS и SMB протоколу, подключить его к Windows и Linux, так чтобы права на чтение и запись были и там и там...
Допустим у меня есть база данных программы для заметок obsidian мне нужно расположить ее в каталоге на NAS и иметь к ней доступ из Windows и Linux. На сервере установлен truenas scale в нем расшариваю каталог /data
по протоколу SMB с дополнительными параметрами
force user=apps
force group=apps
На Linux машине примонтировал шару протоколом NFS прописав в файл /etc/fstab
192.168.1.226:/mnt/torrent/torrent/data /tank/torrent/ nfs rw,user,noauto 0 0
Создал группу apps с guid 568
sudo groupadd -g 568 apps
Добавил пользователя в группу apps
sudo usermod -aG apps user
И при создании каталога из Windows он создается с правами
drwxrwxr-x 3 568 apps 3 окт 21 21:58 windows
А при создании каталога из Linux он создается с правами
drwxr-xr-x 3 user apps 3 окт 21 21:58 linux
При этом из Windows, я не имею прав на запись к каталогам которые созданы на Linux
А из Linux права на запись есть ко всем каталогам…
Добавил себе Option "VirtualHeads" "2"
, перелогинился, выполнил
$ xrandr --addmode VIRTUAL1 1920x1080
$ xrandr --addmode VIRTUAL2 1920x1080
$ xrandr --output VIRTUAL1 --right-of eDP1
$ xrandr --output VIRTUAL2 --left-of eDP1
Ок, дисплеи появились, пользоваться можно, но на каждый addmode выскакивал вопрос что делать с новым монитором.
Что мне теперь в Xorg.conf накрутить чтобы не надо было каждый раз выполнять команды руками?
Я пробовал «наугад около навскидку нагугленного» вот так
Section "Monitor"
Identifier "VIRTUAL1"
Option "LeftOf" "eDP1"
# Modeline "1920x1080_60.0" 148.35 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
# UseModes "1920x1080"
# Modeline "1920x1080" +hsync -vsync
EndSection
И вот так
Section "Screen"
# Monitor "VIRTUAL1"
Identifier "VIRTUAL1"
SubSection "Display"
Modes "1920x1080"
EndSubSection
EndSection
В том числе комбинации параметров из заремаренного. Увы вообще ничего не происходит(не считая syntax error, которые пояснять не надо)
Привет. В качестве задачки для лучшего понимания iptables, route я сделал вот такое
https://github.com/3DRaven/pi-hole2vpn
Но хочется даже тех кто шибко умный победить. Сейчас все кто пытается пойти куда-то на 53 порт попадают на резак даже если отправляют запрос прямой к 8.8.8.8, но есть DoH и особо хитрые могут напрямую сходить на сервис и резолвить все через него. Хочется как-то либо DoH зарезать целиком, либо определять и редиректить на себя, реализуя DoH. Может у кого есть толковые идеи как это сделать?
Кстати, в итоге время автономной работы телефона выросло более чем в три раза :)
Панки хой, дамы и господа!
Вопрос по сабжу пользователям Thinkpad X230: В каком состоянии ваш лептоп, когда последний раз его ремонтировали и что именно вышло из строя?
Моему экземпляру 10 лет (3 из которых он у меня), вот не так давно вышла из строя система охлаждения - кулер Toshiba заревел как трактор и помер. Ему на замену с Алика пришел Delta Fan (за десяток баксов), но я нашел новый AVC на Ebay. Как придёт буду ставить вместе с новомодной фишкой, термопрокладками с фазовым переходом Honeywell PTM 7950.
Короче говоря, с какими проблемами в процессе эксплуатации X230 вы столкнулись за последнее время и как их решили?
Если да, то какие? На форуме как будто о таких не знают — мало упоминаний.
Здравствуйте всем. Если Вы пользуете тарпит endlessh. Боты давно его игнорируют. Ждут 10-20 сек и отваливают. Но, я усмотрел интересную вещь. Боты нападают сразу 20-30 конектов. Тупые писатели этих ботов проперлись. Если сделать так:
iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 1 -j REJECT
Хой всем! Есть мысль вместо ИБП поставить аккумулятор 12В в корпус компа. Это удобно, нет лишнего железа и преобразования, красиво и лаконично. Но как бы смущает надо ли современной материнке -12В (-5 не надо), как это узнать. И больше хотелось бы поставить литий-ион. Понятно, контроллер заряда, все дела. Ардуинка скажет компу, что свет пропал/появился.
Мощность 300 Вт, но как свет упадет, прожорливый софт резко поставится на паузу, sync, flush cache, гибернация. Монитор питается от БП компа.
Может есть у форумчан примеры, как это выглядит?)
Добрый день, лор. Установил и настроил ikev2 впн, Debian 11, strongSwan U5.9.1/K5.10.0-21-amd64, сертификаты сгенерировал самоподписанные так, адрес сервер впн - 100.100.100.1 ( там публичный ip, это для примера )
pki --gen --type rsa --size 4096 --outform pem > ca-key.pem
pki --self --ca --lifetime 3650 --in ~/pki/private/ca-key.pem \
--type rsa --dn "CN=VPN root CA" --outform pem > ca-cert.pem
pki --gen --type rsa --size 4096 --outform pem > server-key.pem
pki --pub --in server-key.pem --type rsa | pki --issue --lifetime 1825 --cacert ~/pki/cacerts/ca-cert.pem --cakey ca-key.pem --dn "CN=100.100.100.1" --san @100.100.100.1 --san 100.100.100.1 --flag serverAuth --flag ikeIntermediate --outform pem > server-cert.pem
Конфиг выглядит так
config setup
charondebug="ike 1, knl 1, cfg 1"
uniqueids=no
conn ikev2-vpn
auto=add
compress=no
type=tunnel
keyexchange=ikev2
fragmentation=yes
forceencaps=yes
conn ikev2-vpn
dpdaction=clear
dpddelay=300s
rekey=no
left=%any
leftid=100.100.100.1
leftcert=server-cert.pem
leftsendcert=always
leftsubnet=0.0.0.0/0
right=%any
rightid=%any
rightauth=eap-mschapv2
rightsourceip=10.10.10.0/24
rightdns=8.8.8.8,8.8.4.4
rightsendcert=never
eap_identity=%identity
ike=aes256-sha256-modp2048,aes128-sha256-modp2048,aes256-sha1-modp2048,aes128-sha1-modp2048!
esp=aes256-sha256-modp2048,aes128-sha256-modp2048,aes256-sha1-modp2048,aes128-sha1-modp2048!
Юзеры положены в ipsec.secrets. Тут-то и начинается интересное, я ожидаю, что при попытке подключения macOs ventura пошлет меня, не сумев проверить самоподписанный сертификат, а во факту успешно подключается, мне не пришлось добавлять корневой к себе на машину. Вопрос - почему так, может я что-то не так настроил? На что обратить внимание в логах?
Jun 11 05:36:00 charon: 09[IKE] EAP method EAP_MSCHAPV2 succeeded, MSK established
Jun 11 05:36:00 ipsec[9332]: 09[IKE] EAP method EAP_MSCHAPV2 succeeded, MSK established
Jun 11 05:36:00 charon: 09[ENC] generating IKE_AUTH response 4 [ EAP/SUCC ]
Jun 11 05:36:00 charon: 09[NET] sending packet: from 100.100.100.1[4500] to 212.124.28.17[16992] (80 bytes)
Jun 11 05:36:00 charon: 12[NET] received packet: from 212.124.28.17[16992] to 100.100.100.1[4500] (112 bytes)
Jun 11 05:36:00 charon: 12[ENC] parsed IKE_AUTH request 5 [ AUTH ]
Jun 11 05:36:00 charon: 12[IKE] authentication of '192.168.0.104' with EAP successful
Jun 11 05:36:00 charon: 12[IKE] authentication of '100.100.100.1' (myself) with EAP
Jun 11 05:36:00 charon: 12[IKE] IKE_SA ikev2-vpn[17] established between 100.100.100.1[100.100.100.1]...212.124.28.17[192.168.0.104]
Jun 11 05:36:00 charon: 12[IKE] peer requested virtual IP %any
Jun 11 05:36:00 charon: 12[CFG] reassigning offline lease to 'vpnusernnn'
Jun 11 05:36:00 charon: 12[IKE] assigning virtual IP 10.10.10.1 to peer 'vpnusernnn'
Jun 11 05:36:00 charon: 12[IKE] peer requested virtual IP %any6
Jun 11 05:36:00 charon: 12[IKE] no virtual IP found for %any6 requested by 'vpnusernnn'
Jun 11 05:36:00 charon: 12[CFG] selected proposal: ESP:AES_CBC_256/HMAC_SHA2_256_128/NO_EXT_SEQ
Jun 11 05:36:00 charon: 12[IKE] CHILD_SA ikev2-vpn{2} established with SPIs c315596a_i 05a05f74_o and TS 0.0.0.0/0 === 10.10.10.1/32
Jun 11 05:36:00 charon: 12[ENC] generating IKE_AUTH response 5 [ AUTH CPRP(ADDR DNS DNS) SA TSi TSr N(MOBIKE_SUP) N(ADD_6_ADDR) ]
Jun 11 05:36:00 charon: 12[NET] sending packet: from 100.100.100.1[4500] to 212.124.28.17[16992] (272 bytes)
После более двух месяцев разработки состоялся выпуск 1.17.0 кроссплатформенной (Linux, MacOS, Windows) консольной утилиты hyperfine, написанной на языке Rust и распространяемой по лицензиям Apache-2.0 и MIT.
Утилита предназначена для сравнения производительности других консольных утилит.
Список изменений:
--sort
, используемый для сортировки результатов сравнения относительной скорости и экспорте;scripts/plot_histogram.py
вывода результатов в виде гистограмм добавлена опция --log-count
;stdout
при использовании -
в качестве имени файла;>>> Подробности
Хочу сделать Calculated Item prototypes. Теги и препроцессинг не задан. Задаю тип: Calculated. Использую в роли ключа такой же ключ, как и в прототипе элемента RabbitMQ: Queue [{#VHOST}][{#QUEUE}]: Messages ready, а именно rabbitmq.queue.messages_ready[«{#VHOST}/{#QUEUE}»].
Далее Type of information: Numeric (unsigned) и формулу:
trendavg(rabbitmq.queue.messages_ready[«{#VHOST}/{#QUEUE}»],1h:now/h).
Это пока упрощение. Но полное выражение состоит только из этой функции и этих данных. Пробую Test, где задаю #VHOST и #QUEUE - не работает. Пишет: Cannot parse formula: invalid token starting with «rabbitmq.queue.messages_ready[«{#VHOST}/{#QUEUE}»])»
Пробовал уже по-разному и так: trendavg(/RabbitMQ node by HTTP/rabbitmq.queue.messages_ready[«{#VHOST}/{#QUEUE}»],1h:now/h) и кавычки брал выражение и как только не пробовал - не работает. В Тесте выдает ошибку. Как можно решить вопрос?
Есть tty-терминал, пусть это будет /dev/pts/25. В нем запущен xterm.
Находясь в другой консоли, можно выполнить команду так, что результат ее работы отразится в /dev/pts/25. Например, для получения списка файлов можно выполнить:
(ls) </dev/pts/25 >/dev/pts/25 2> /dev/pts/25
Здравствуйте. Решил настроить монитор баз данных в zabbix через ODBC. БД крутится на postgresql. Установил на сервере zabbix драйвер postgresql-odbc через
sudo yum install postgresql-odbc
Тип: Монитор БД
Ключ:
db.odbc.get[raw.table.data,,"Driver={$PGSQL.ODBD.DRIVER};Database={$PGSQL.DATABASE}"]
Имя пользователя: {$DB.USER} (нужного пользователя указал в макросах)
Пароль: {$DB.PASS} (нужный пароль указал в макросах)
В поле запроса указал нужный запрос
$ sudo cat /etc/odbcinst.ini
# Example driver definitions
# Driver from the postgresql-odbc package
# Setup from the unixODBC package
[PostgreSQL]
Description = ODBC for PostgreSQL
Driver = /usr/lib/psqlodbcw.so
Setup = /usr/lib/libodbcpsqlS.so
Driver64 = /usr/lib64/psqlodbcw.so
Setup64 = /usr/lib64/libodbcpsqlS.so
FileUsage = 1
# Driver from the mysql-connector-odbc package
# Setup from the unixODBC package
[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/libmyodbc5.so
Setup = /usr/lib/libodbcmyS.so
Driver64 = /usr/lib64/libmyodbc5.so
Setup64 = /usr/lib64/libodbcmyS.so
FileUsage = 1
Подключение к БД осуществляется через md5 и поэтому zabbix выдает сообщение
Cannot connect to ODBC DSN: [SQL_ERROR]:[28000][210][[unixODBC]FATAL: Peer authentication failed for user "postgres"]
У меня вопрос можно ли настроить что бы zabbix+ODBC подключался через md5, а не через peer и если можно, то как? Спасибо.
Делюсь реализацией одной идеи. В библиотеках типа SDL2 своих встроенных шрифтов обычно нет. Для этого предусмотрены дополнительные библиотеки, зависеть от которых не хочется, да и придётся цеплять файл со шрифтом. Поэтому в Allegro, например, предусмотрели альтернативу: простейший растровый шрифт 8x8. Но там нет кириллицы.
У шрифтов 8x8 есть ещё такие недостатки: буквы маленькие и широкие, что особенно заметно на строчных. Это усугубляется тем, что некоторые буквы выступают вниз (например, «Д», «Щ») или вверх (Ё), из-за чего приходится оставлять пустое место сверху и снизу для остальных букв.
Шрифт 7x9 по битам занимает почти столько же, но выше и уже, что выглядит приятнее. Кроме того, лишний 64 бит можно использовать для признака сдвига вниз. Тогда не надо будет оставлять пустое место снизу. То есть строчка будет высотой даже не 9, а 10.
Коды для символов можно посмотреть тут. В отличие от Allegro я использовал не 8 uint8_t на символ, а одну uint64_t.
Исходный файл для правки тут. В качестве исходника используется не растровое изображение, а текстовое (ASCII art), для удобства трансляции. Приведу пример таких исходных символов:
В
.
.......
.#####.
.#....#
.#....#
.#####.
.#....#
.#....#
.#....#
.#####.
Г
.
.......
.#####.
.#.....
.#.....
.#.....
.#.....
.#.....
.#.....
.#.....
Д
#
...###.
..#..#.
.#...#.
.#...#.
.#...#.
.#...#.
.#...#.
#######
#.....#
Перед каждым изображением буквы оставил признак сдвига: точка если сдвига нет, # - если сдвиг на 1 вниз.
/etc/dnsmasq.d# grep -v ^# custom-master-dnsmasq-conf
server=8.8.8.8
server=8.8.4.4
listen-address=127.0.0.1
не запускается, упорно лезет слушать
0.0.0.0:53
Что я упускаю?
Когда Dovecot и Rspamd установлены на одном сервере, то используется такая текущая конфигурация плагинов в dovecot.conf
plugin {
sieve_plugins = sieve_imapsieve sieve_extprograms
sieve_before = /var/vmail/sieve/global/spam-global.sieve
sieve = file:/var/vmail/sieve/%d/%n/scripts;active=/var/vmail/sieve/%d/%n/active-script.sieve
###
### Spam learning
###
# From elsewhere to Spam folder
imapsieve_mailbox1_name = Spam
imapsieve_mailbox1_causes = COPY
imapsieve_mailbox1_before = file:/var/vmail/sieve/global/learn-spam.sieve
# From Spam folder to elsewhere
imapsieve_mailbox2_name = *
imapsieve_mailbox2_from = Spam
imapsieve_mailbox2_causes = COPY
imapsieve_mailbox2_before = file:/var/vmail/sieve/global/learn-ham.sieve
sieve_pipe_bin_dir = /usr/bin
sieve_global_extensions = +vnd.dovecot.pipe
quota = maildir:User quota
quota_exceeded_message = User %u has exhausted allowed storage space.
}
Содержимое sieve скрипта для обучения спама learn-spam.sieve
require ["vnd.dovecot.pipe", "copy", "imapsieve"];
pipe :copy "rspamc" ["learn_spam"];
А как быть в случае если Rspamd установлен на отдельном сервере, а Dovecot c подмонтированным по NFS mail storage на другом сервере? т.е. Dovecot должен передавать данные rspamc для обучения удаленно…
Всем привет!
В скором времени хочу взять по дешевке второй Thinkpad X230 для опытов и, в качестве опыта, прошить туда Coreboot.
Вопросы к обладателям Thinkpad X230 с корбутом (есть тут такие?):
какие главные минусы по сравнению с оригинальным BIOS?
ЕМНИП, без интеловского видео блоба не работал офтопик, не работало eGPU, что еще?
Это как продолжение темы: Распределенная файловая система для картинок. Желательно что бы в системе монтировалась как обычная. (комментарий)
Идея в том что в очередь на обработку будут загружаться файлы в некоторое временное хранилище - скажем NFS или возможно glusterFS или что то в этом роде.
И тут одна особенноть - что файлы нужно будет потом удалять через некоторое время. Например потому что консюмер по какой то причине сломался и не смог удалить внутри логики.
Какой есть самый разумный способ поставить TTL на файлы средствами Linux/NFS скажем в несоколько часов. Если файлы старше то он удаляется.
И какие в этом плане представлют возможности MinIO, glusterFS, Ceph?
следующие → |