for passwords no way, as you noted it is for calendars and contacts
XMPP/Jabber: fireshell[at]linux[dot]monster
OTR fingerprints: C47CFCDC D9F67D17 4C08AA1A C2500250 AB361153
Matrix/Element: [at]fireshell:matrix[dot]hostux[dot]net
IRC: fireshell on Libera Chat
OTR fingerprints: 1A66175C 7E713B1E 6D15079 87FB1952 C6866E05
for passwords no way, as you noted it is for calendars and contacts
as another option this KeePassXC(PC)+radicale+DAVx5 The same for KeepassDX
besides everything else, the end of support for syncthing-android, yes, that’s a real blow to the gut.
The GnuPG implementation for Android is called OpenKeychain. To configure it, just go to the “key management” menu and import the previously created secret key. The only drawback of OpenKeychain for me personally is that there is no fingerprint unlocking.
The pass implementation for Android is called android-password-store, or simply APS.
Install and launch APS. Before synchronizing the password store, go to the “Settings” menu. There we will need the following items:
Git server settings
. The resulting URL should be the same as that specified on the repository page on github. Authorization type - OpenKeychain
.
Git utils
. In this section, specify the username and email from the gpg key.
OpenPGP provider
. Select OpenKeychain
.
Autofill
.
Now you can clone. Select “clone from server” on the main screen, specify the desired location of the repository, check the git settings.
Of course, pass is not that easy to set up. However, this price buys confidence that the tools we use will not one day be declared obsolete, will not change their data format, and will not be left without support.
A small script for entering passwords into various windows via rofi, I take passwords from pass.
Example script:
#!/bin/bash
# Sample file rofi_pass.sh
passwords=$(find /home/fireshell/.password-store/ -type f -name *.gpg)
selected_pass=$(echo -e "$passwords" | awk -F "/" '{printf "%s > %s\n", $5, $6}' | rofi -dmenu -p Pass)
item=$(echo "$selected_pass" | awk '{printf "%s/%s", $1, $3}' | sed 's/\.gpg//g')
data=$(pass show $item)
pass=$(echo -e "$data" | head -n1)
login=$(echo -e "$data" | grep -e "^login: " | sed 's/^login: //g')
xdotool type "$login"
xdotool key Tab
xdotool type "$pass"
In awesome wm
I bound a key that calls it like this:
awful.key({ modkey}, "p", function () awful.spawn.with_shell("/home/fireshell/Scripts/rofi_pass.sh") end ,
{description = "rofi pass", group = "launcher"}),
I turn on the computer, press the key combination and the script works, or I run this script from the terminal (~/Scripts/rofi_pass.sh
), select the password - it works (if necessary, pinentry is called to enter the main password), after that I press the key combination, select the desired entry
passmenu: extremely useful and wonderful dmenu script.
pass is enough (+ xdotool + rofi + pass-menu). Synchronization via git or Syncthing.
Example of a Bash script that performs the following tasks
Example script:
#!/bin/bash
# Settings
WEB_SERVER="https://example.com"
BACKUP_DIR="/backup"
TARGET_DIRS="/var/www /etc"
DISK_USAGE_THRESHOLD=90
ADMIN_EMAIL="admin@example.com"
DATE=$(date +"%Y-%m-%d")
BACKUP_FILE="$BACKUP_DIR/backup-$DATE.tar.gz"
# Checking web server availability
echo "Checking web server availability..."
if curl -s --head $WEB_SERVER | grep "200 OK" > /dev/null; then
echo "Web server is available."
else
echo "Warning: Web server is unavailable!" | mail -s "Problem with web server" $ADMIN_EMAIL
fi
# Checking disk space
echo "Checking disk space..."
DISK_USAGE=$(df / | grep / | awk '{ print $5 }' | sed 's/%//g')
if [ $DISK_USAGE -gt $DISK_USAGE_THRESHOLD ]; then
echo "Warning: Disk space usage exceeded $DISK_USAGE_THRESHOLD%!" | mail -s "Problem with disk space" $ADMIN_EMAIL
else
echo "There is enough disk space."
fi
# Creating backup
echo "Creating backup..."
tar -czf $BACKUP_FILE $TARGET_DIRS
if [ $? -eq 0 ]; then
echo "Backup created successfully: $BACKUP_FILE"
else
echo "Error creating backup!" | mail -s "Error creating backup" $ADMIN_EMAIL
fi
# Sending report
echo "Sending report to $ADMIN_EMAIL..."
REPORT="Report for $DATE\n\n"
REPORT+="Web server status: $(curl -s --head $WEB_SERVER | head -n 1)\n"
REPORT+="Disk space usage: $DISK_USAGE%\n"
REPORT+="Backup location: $BACKUP_FILE\n"
echo -e $REPORT | mail -s "Daily system report" $ADMIN_EMAIL
echo "Done."
Description:
curl
command to check if the site is available.df
and awk
to check disk usage. If the threshold (90%) is exceeded, a notification is sent.tar
command archives and compresses the directories specified in the TARGET_DIRS
variable.mail
.How to use:
chmod +x /path/to/your/script.sh
cron
to run on a regular basis:crontab -e
Example to run every day at 00:00:
0 0 * * * /path/to/your/script.sh
I do it externally with this script
#!/bin/bash
# Sample file backup-documents.sh
cd ${HOME}/documents
tar -cJpf /run/media/fireshell/EAGET/mybackups/documents-$(date '+%Y-%m-%d').tar.xz .
sync
#!/bin/bash
# Sample file restore-documents.sh
backup_dir="/run/media/fireshell/EAGET/mybackups/"
mkdir -p ~/documents
last_documents="$(ls -1t ${backup_dir}/documents-*.tar.xz | head -n1)"
cd ~/documents && \
tar -xpf ${last_documents}
deleted by creator
it’s a pity that politics is penetrating more and more into open source and FOSS.
recently support for Russian cloud providers was cut out of opentofu. https://github.com/opentofu/registry/pull/824
now this. this is, of course, natural the core and many components of modern distributions have not been free in terms of decision-making for a long time and are under the influence of large companies, which in turn are under the influence of the USA.