Compare commits

..

157 Commits

Author SHA1 Message Date
d2262c2acf rootfs/etc/hosts aktualisiert 2026-04-02 22:23:08 +02:00
832aa64a8d rootfs/etc/hosts aktualisiert 2026-04-02 22:22:28 +02:00
5a39d59108 rootfs/etc/hosts aktualisiert 2026-04-02 22:16:33 +02:00
2a7248134c rootfs/etc/hosts aktualisiert 2026-03-27 21:39:29 +01:00
9143f963ec rootfs/etc/hosts aktualisiert 2026-03-27 21:06:30 +01:00
6feb6c1b8e rootfs/home/andre/.bashrc aktualisiert 2026-03-06 08:46:23 +01:00
9f771ff2ab rootfs/home/andre/init.sh aktualisiert 2026-03-06 08:42:25 +01:00
ee964aed89 rootfs/home/andre/init.sh aktualisiert 2026-03-06 08:41:09 +01:00
5952c420ad rootfs/home/andre/init.sh aktualisiert 2026-03-06 08:40:52 +01:00
4e75614ab5 rootfs/home/andre/.gitconfig aktualisiert 2026-03-06 08:35:45 +01:00
9d41dce4e4 rootfs/home/andre/init.sh hinzugefügt 2026-03-06 08:31:46 +01:00
4195df9655 rootfs/home/andre/.bashrc aktualisiert 2026-03-05 12:01:37 +01:00
1aaa5359e3 rootfs/home/andre/bash_extensions/arg_ssh.bash aktualisiert 2026-03-05 11:59:53 +01:00
b62d19d211 rootfs/home/andre/.bashrc aktualisiert 2026-03-05 11:50:43 +01:00
b93afef350 rootfs/home/andre/.bashrc aktualisiert 2026-03-05 11:48:53 +01:00
a2abf7978f rootfs/home/andre/.bashrc aktualisiert 2026-03-05 11:33:03 +01:00
68a27e2912 rootfs/home/andre/.bashrc aktualisiert 2026-03-05 11:20:58 +01:00
d14290ba17 rootfs/home/andre/.bashrc aktualisiert 2026-03-05 11:16:29 +01:00
4da8e4447f rootfs/home/andre/git-sync.READ.ME aktualisiert 2026-03-04 20:59:33 +01:00
f462553901 rootfs/home/andre/.vimrc aktualisiert 2026-03-04 20:59:19 +01:00
11667d32b7 rootfs/home/andre/git-sync.READ.ME hinzugefügt 2026-03-04 20:58:07 +01:00
57ddc6ad40 rootfs/home/andre/.vimrc hinzugefügt 2026-03-04 20:56:21 +01:00
9659070473 rootfs/home/git-sync-version aktualisiert 2026-03-04 20:52:49 +01:00
9afb203f97 rootfs/home/git-sync-version aktualisiert 2026-03-04 20:52:15 +01:00
be96f9818a rootfs/home/andre/git-sync-test gelöscht 2026-03-04 20:51:42 +01:00
f90c66598d rootfs/home/andre/.bashrc aktualisiert 2026-03-03 10:41:12 +01:00
1198a9af33 rootfs/home/andre/git-sync-test aktualisiert 2026-02-28 19:46:06 +01:00
7efbb28ac4 rootfs/etc/systemd/system/home-sync.service aktualisiert 2026-02-28 19:41:38 +01:00
148b1ed39e rootfs/etc/systemd/system/git-sync.service aktualisiert 2026-02-28 19:41:10 +01:00
1bfd69d9a0 rootfs/usr/local/bin/git-sync.sh aktualisiert 2026-02-28 19:33:31 +01:00
efc5f719fc rootfs/etc/systemd/system/home-sync.service aktualisiert 2026-02-28 19:25:12 +01:00
b61edcd9f7 rootfs/etc/systemd/system/git-sync.service aktualisiert 2026-02-28 19:24:58 +01:00
ba17833609 rootfs/usr/local/bin/git-sync.sh aktualisiert 2026-02-28 19:21:00 +01:00
df804a3e15 rootfs/usr/local/bin/git-sync.sh aktualisiert 2026-02-28 18:58:40 +01:00
3f6845e0d9 rootfs/usr/local/bin/git-sync.sh aktualisiert 2026-02-28 18:56:25 +01:00
a62435a002 rootfs/etc/systemd/system/git-sync.service aktualisiert 2026-02-28 18:53:46 +01:00
eb05d5d7cd rootfs/etc/systemd/system/home-sync.service aktualisiert 2026-02-28 18:53:09 +01:00
20c8f06a76 rootfs/home/andre/home-sync.sh aktualisiert 2026-02-28 18:39:17 +01:00
09d812bfd0 rootfs/usr/local/bin/git-sync.sh aktualisiert 2026-02-28 18:38:20 +01:00
4b36911408 rootfs/usr/local/bin/git-sync.sh aktualisiert 2026-02-28 18:26:51 +01:00
4c3da24e36 rootfs/etc/systemd/system/home-sync.timer hinzugefügt 2026-02-28 18:25:51 +01:00
d93e5a3b55 rootfs/etc/systemd/system/home-sync.service hinzugefügt 2026-02-28 18:24:57 +01:00
8cfaaa3932 rootfs/etc/hosts aktualisiert 2026-02-28 17:11:56 +01:00
2fb6f53a8f rootfs/home/andre/.ssh/config aktualisiert 2026-02-27 12:40:58 +01:00
9665754b3e rootfs/home/andre/.ssh/config aktualisiert 2026-02-27 11:50:15 +01:00
1b5c1a8441 rootfs/home/andre/.ssh/config aktualisiert 2026-02-27 11:48:07 +01:00
acc0cb2f87 rootfs/usr/local/bin/git-sync.sh aktualisiert 2026-02-27 11:34:34 +01:00
c1d9f7d6e5 rootfs/home/homedirs aktualisiert 2026-02-26 19:13:14 +01:00
2e5ef5615f rootfs/home/homedirs aktualisiert 2026-02-26 19:12:36 +01:00
d9ec350e5b rootfs/home/homedirs aktualisiert 2026-02-26 19:12:25 +01:00
270f09b801 rootfs/home/homedirs aktualisiert 2026-02-26 19:07:54 +01:00
0cd6c272e1 rootfs/home/homedirs aktualisiert 2026-02-26 18:56:02 +01:00
d010f37c4a rootfs/home/homedirs aktualisiert 2026-02-26 18:46:07 +01:00
102eb2ee21 rootfs/usr/local/bin/git-sync.sh aktualisiert 2026-02-26 18:45:49 +01:00
672bbe009c rootfs/etc/systemd/system/git-sync.service aktualisiert 2026-02-26 18:43:28 +01:00
c277cbbf35 rootfs/home/homedirs aktualisiert 2026-02-26 18:32:39 +01:00
3d0a84d533 rootfs/usr/local/bin/git-sync.sh aktualisiert 2026-02-26 18:32:22 +01:00
8096166d57 rootfs/home/homedirs aktualisiert 2026-02-26 18:23:57 +01:00
c31d0316ed rootfs/usr/local/bin/git-sync.sh aktualisiert 2026-02-26 18:20:14 +01:00
d5a64ae3a3 rootfs/usr/local/bin/git-sync.sh aktualisiert 2026-02-26 16:00:09 +01:00
db48915322 rootfs/home/andre/.bashrc aktualisiert 2026-02-26 12:49:57 +01:00
e77122f7c7 rootfs/home/homedirs aktualisiert 2026-02-26 12:47:35 +01:00
1c9a2ef0b9 rootfs/home/andre/.bashrc aktualisiert 2026-02-26 12:47:20 +01:00
8856de889c rootfs/home/andre/.bashrc aktualisiert 2026-02-25 12:55:28 +01:00
457bd31614 rootfs/home/andre/.bashrc aktualisiert 2026-02-24 16:01:25 +01:00
2059ae595e rootfs/home/andre/.bashrc aktualisiert 2026-02-23 12:57:42 +01:00
a3786b84da rootfs/home/andre/.bashrc aktualisiert 2026-02-20 14:49:11 +01:00
a46c01158d rootfs/home/homedirs aktualisiert 2026-02-18 10:59:57 +01:00
6953b4f80f rootfs/home/andre/.bashrc aktualisiert 2026-01-29 13:40:12 +01:00
2561a790ec rootfs/home/andre/.bashrc aktualisiert 2026-01-29 12:02:41 +01:00
1ec5e48223 rootfs/home/andre/.tmux.conf aktualisiert 2026-01-28 08:17:43 +01:00
1cd30dc830 rootfs/home/andre/.bashrc aktualisiert 2026-01-28 08:16:36 +01:00
f36acc7dfc rootfs/home/homedirs aktualisiert 2026-01-26 21:18:02 +01:00
35c35c10db rootfs/home/andre/.bashrc aktualisiert 2026-01-21 21:08:13 +01:00
826ef798e2 rootfs/etc/hosts aktualisiert 2026-01-21 09:14:44 +01:00
c4e41f4db0 rootfs/home/andre/.bashrc aktualisiert 2026-01-21 09:10:24 +01:00
bd61a52048 rootfs/home/andre/.bashrc aktualisiert 2026-01-21 09:08:17 +01:00
0376cc9f27 rootfs/etc/bash_completion.d/clogin-completion.bash aktualisiert 2026-01-21 08:58:24 +01:00
c362866a8e rootfs/home/andre/.bashrc aktualisiert 2026-01-21 08:56:38 +01:00
50ba92d00c rootfs/home/andre/.bashrc aktualisiert 2026-01-21 08:55:05 +01:00
0ddd3196fc rootfs/home/andre/.bashrc aktualisiert 2026-01-21 08:51:11 +01:00
fb6489c925 rootfs/home/andre/.bashrc aktualisiert 2026-01-21 08:50:25 +01:00
aeec088d14 rootfs/home/andre/.bashrc aktualisiert 2026-01-21 08:48:22 +01:00
5f82587196 rootfs/home/andre/.bashrc aktualisiert 2026-01-21 08:45:06 +01:00
1f023121da rootfs/home/andre/.bashrc aktualisiert 2026-01-21 08:42:01 +01:00
faf9f0a3c1 rootfs/home/andre/.bashrc aktualisiert 2026-01-21 08:35:43 +01:00
eaad5c3a0c rootfs/home/andre/.bashrc aktualisiert 2026-01-21 08:29:15 +01:00
0892da3971 rootfs/home/andre/.bashrc aktualisiert 2026-01-21 07:57:03 +01:00
6fd73cff74 rootfs/home/andre/.bashrc aktualisiert 2026-01-20 20:21:06 +01:00
841d229e26 rootfs/home/andre/.bashrc aktualisiert 2026-01-20 20:15:21 +01:00
02195dac92 rootfs/home/andre/.bashrc aktualisiert 2026-01-20 20:10:36 +01:00
f44e62dd62 rootfs/home/andre/.bashrc aktualisiert 2026-01-20 20:06:36 +01:00
a90b46fffb rootfs/home/andre/.bashrc aktualisiert 2026-01-20 18:09:11 +01:00
8fa7e501a8 rootfs/home/andre/.bashrc aktualisiert 2026-01-20 18:03:07 +01:00
059a33a988 rootfs/home/andre/.bashrc aktualisiert 2026-01-18 13:26:47 +01:00
8976ade8c2 rootfs/home/andre/git-sync-install.sh aktualisiert 2026-01-13 12:48:24 +01:00
b2528558cb rootfs/home/andre/.bashrc aktualisiert 2026-01-13 12:22:39 +01:00
31d4f0a7aa rootfs/home/andre/.ssh/config aktualisiert 2026-01-13 12:09:21 +01:00
20942d9cb1 rootfs/home/andre/.bashrc aktualisiert 2026-01-12 17:41:02 +01:00
667f331ce7 rootfs/home/andre/.bashrc aktualisiert 2026-01-11 12:19:11 +01:00
cf2aa8352d rootfs/home/andre/.bashrc aktualisiert 2026-01-11 12:13:00 +01:00
a7f64d366c rootfs/home/andre/.bashrc aktualisiert 2026-01-11 12:06:46 +01:00
e38d35266e rootfs/home/andre/.bashrc aktualisiert 2026-01-11 11:50:38 +01:00
9887ade30b rootfs/home/andre/.bashrc aktualisiert 2026-01-10 19:05:10 +01:00
9ebd76045b rootfs/home/andre/.bashrc aktualisiert 2026-01-10 19:02:29 +01:00
215781ab36 rootfs/home/andre/.bashrc aktualisiert 2026-01-10 18:59:25 +01:00
5008d3042c rootfs/home/andre/.bashrc aktualisiert 2026-01-10 18:55:29 +01:00
96e8a999dd rootfs/home/andre/.bashrc aktualisiert 2026-01-10 13:33:41 +01:00
557d6b8af5 rootfs/home/andre/.bashrc aktualisiert 2026-01-10 13:27:10 +01:00
cdcf538780 rootfs/home/andre/.bashrc aktualisiert 2026-01-10 13:25:30 +01:00
7c9bc71489 rootfs/home/andre/.bashrc aktualisiert 2026-01-10 13:21:45 +01:00
5ad1054825 rootfs/home/andre/.bashrc aktualisiert 2026-01-10 13:19:07 +01:00
660a84d7cd rootfs/home/andre/.ssh/config aktualisiert 2026-01-10 13:15:31 +01:00
24609df730 rootfs/home/andre/.bashrc aktualisiert 2026-01-10 13:14:43 +01:00
33fed6afac rootfs/home/andre/.ssh/config aktualisiert 2026-01-10 13:05:20 +01:00
6cad538832 rootfs/home/andre/.ssh/config aktualisiert 2026-01-10 13:04:19 +01:00
ccf0c11241 rootfs/home/andre/.ssh/config aktualisiert 2026-01-10 13:01:21 +01:00
522c04a70c rootfs/home/andre/.ssh/config aktualisiert 2026-01-10 12:50:28 +01:00
5c29e93a72 rootfs/home/andre/.ssh/config aktualisiert 2026-01-10 12:46:12 +01:00
fc32bf7138 rootfs/home/andre/.ssh/config aktualisiert 2026-01-09 14:44:00 +01:00
0a0e702a5e rootfs/home/andre/.ssh/config aktualisiert 2026-01-09 14:13:10 +01:00
10c7900722 rootfs/home/andre/.ssh/config aktualisiert 2026-01-09 14:02:27 +01:00
055f82f923 rootfs/home/andre/.ssh/config aktualisiert 2026-01-09 13:45:08 +01:00
08b020b345 rootfs/home/andre/.ssh/config aktualisiert 2026-01-09 12:31:00 +01:00
dc653b6093 rootfs/home/andre/.ssh/config aktualisiert 2026-01-09 12:22:59 +01:00
41776109fe rootfs/home/andre/.ssh/config aktualisiert 2026-01-09 12:14:15 +01:00
7f74549ff8 rootfs/home/andre/.ssh/config aktualisiert 2026-01-09 12:03:56 +01:00
1b2fad60ad rootfs/home/andre/.bashrc aktualisiert 2026-01-08 16:53:29 +01:00
754c0602f3 rootfs/home/andre/.ssh/config aktualisiert 2026-01-08 15:28:07 +01:00
cd397820ec rootfs/home/andre/.ssh/config aktualisiert 2026-01-08 15:16:23 +01:00
e6039bf42a rootfs/home/andre/.ssh/config aktualisiert 2026-01-08 15:09:25 +01:00
6605bf1e06 rootfs/home/andre/.ssh/config aktualisiert 2026-01-08 15:06:11 +01:00
36268721e1 rootfs/home/andre/.ssh/config aktualisiert 2026-01-08 15:02:14 +01:00
d4bb7dc700 rootfs/home/andre/.bashrc aktualisiert 2026-01-06 13:32:08 +01:00
2739529af3 rootfs/home/andre/.bashrc aktualisiert 2026-01-06 10:09:51 +01:00
044e59366e rootfs/home/andre/.bashrc aktualisiert 2025-12-30 11:52:01 +01:00
d012debb94 rootfs/home/andre/.bashrc aktualisiert 2025-12-30 11:41:30 +01:00
eda0139d82 rootfs/etc/bash_completion.d/clogin-completion.bash aktualisiert 2025-12-30 11:35:26 +01:00
65d946a039 rootfs/home/andre/.gitconfig-conet aktualisiert 2025-12-29 15:19:56 +01:00
3de950869a rootfs/home/andre/.ssh/config aktualisiert 2025-12-29 15:15:56 +01:00
4e5cfd8b2d rootfs/home/andre/.ssh/config aktualisiert 2025-12-29 15:04:04 +01:00
074db5f041 rootfs/home/andre/.ssh/config aktualisiert 2025-12-29 14:41:09 +01:00
34921bc200 rootfs/home/andre/.ssh/config aktualisiert 2025-12-29 14:36:45 +01:00
a909b0573e rootfs/home/homedirs aktualisiert 2025-12-22 07:59:03 +01:00
91473802c5 rootfs/etc/hosts aktualisiert 2025-12-19 22:38:53 +01:00
6b9f5b75b8 rootfs/home/homedirs aktualisiert 2025-12-19 22:22:10 +01:00
ca72e87b8b READ.ME aktualisiert 2025-12-19 22:12:24 +01:00
fd1effa00e touch homedirs 2025-12-19 16:00:23 +01:00
a886c12cf6 jumphost jj statt altem conlxxontro02 2025-12-19 15:57:02 +01:00
94f413f0af gitconfig 2025-12-19 15:53:04 +01:00
Andre Geißler
c6543c4503 verschieben der gitconfig in userdir 2025-12-19 15:39:53 +01:00
Andre Geißler
edb9d1e9cb user.name und user-email 2025-12-19 15:35:47 +01:00
Andre Geißler
8808346596 gitconfig 2025-12-19 15:24:56 +01:00
3b031223ca rootfs/home/andre/.ssh/config aktualisiert 2025-12-19 14:28:35 +01:00
546bd924c6 rootfs/home/andre/.bashrc aktualisiert 2025-12-18 09:30:15 +01:00
b6ea32968b rootfs/etc/hosts aktualisiert 2025-12-04 15:06:05 +01:00
04e5167fc2 rootfs/etc/hosts aktualisiert 2025-12-04 15:02:49 +01:00
20 changed files with 548 additions and 316 deletions

View File

@@ -3,7 +3,8 @@ Verzeichnis anlegen, Besitz anpassen, git clone
sudo mkdir -p /opt/git-sync
sudo chown andre:andre /opt/git-sync
sudo -u andre git clone http://c71a0c8e7e22b29018cbe9f02244d02765678b21@rdfhrn.synology.me:8418/andre/git-sync.git /opt/git-sync/
sudo -u andre git clone http://f65f0933836d845768e15ccbec40581ade496118@rdfhrn.synology.me:8418/andre/git-sync.git /opt/git-sync/
#neu f65f0933836d845768e15ccbec40581ade496118
#alt c71a0c8e7e22b29018cbe9f02244d02765678b21
chmod +x /opt/git-sync/rootfs/home/andre/git-sync-install.sh
bash /opt/git-sync/rootfs/home/andre/git-sync-install.sh

View File

@@ -6,10 +6,10 @@ _devices_rancid() {
if [ -f ~/router.db ];
then
# COMPREPLY=($(compgen -W "$(sed -n 's/\([^;]*\);.*$/\1/p' ~/router.db | sort -u)" -- $curw))
# COMPREPLY=($(compgen -W "$(sed -n 's/\([^;]*\);.*$/\1/p' $HOME/router.db | sort -u)" -- $curw))
# Verknüpft die auf Hostnamen reduzierte Ausgaben der Zeilen in router.db und der hosts
# die Gesamtliste wird unique sortiert und für die completion verwendet
COMPREPLY=($(compgen -W "$( (sed -n 's/\([^;]*\);.*$/\1/p' ~/router.db ; sed -n 's/^[^#]* \([^ ]*\)/\1/p' /etc/hosts) | sort -u )" -- $curw))
COMPREPLY=($(compgen -W "$( (sed -n 's/\([^;]*\);.*$/\1/p' $HOME/router.db ; sed -n 's/^[^#]* \([^ ]*\)/\1/p' /etc/hosts) | sort -u )" -- $curw))
else
COMPREPLY=($(compgen -W "$( sed -n 's/^[^#]* \([^ ]*\)/\1/p' /etc/hosts | sort -u )" -- $curw))
fi
@@ -18,4 +18,5 @@ _devices_rancid() {
complete -F _devices_rancid -o dirnames clogin
complete -F _devices_rancid -o dirnames ping
complete -F _devices_rancid -o dirnames ssh
complete -F _devices_rancid -o dirnames __eping
complete -F _devices_rancid -o dirnames cy-ssh
complete -F _devices_rancid -o dirnames eping

View File

@@ -1,4 +1,5 @@
# Standard host addresses
###########################
# Standard Host Adressen
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
@@ -7,27 +8,36 @@ ff02::2 ip6-allrouters
# tux host address
127.0.1.1 tux
10.1.1.5 jjj
10.101.0.11 jj svn_jj
# 172.23.63.137 jj
192.168.100.1 speedport.lan speedport.ip
###########################
# Domain
# lan
192.168.100.5 observium.lan
192.168.100.5 openarchiver.lan
192.168.100.5 paperless.lan
192.168.100.5 portainer.lan
192.168.100.5 server.lan server
192.168.100.129 adguard.lan
192.168.100.130 homeassistant.lan
192.168.100.131 matter.lan
192.168.100.134 endurain.lan
192.168.100.250 synology.lan synology
###########################
# Domain
# rproxy.home
# Einträge *.rproxy.home siehe DNS (adguard)
192.168.100.5 adguard.rproxy.home
192.168.100.5 ha.rproxy.home homeassistant.rproxy.home
192.168.100.5 matter.rproxy.home
192.168.100.5 observium.rproxy.home
192.168.100.250 synology.lan rdfhrn.synology.me
###########################
# Domain
# vpnafgeissler.selfhost.co
# Einträge *.rproxy.home siehe DNS (adguard intern) bzw DNS (selfhost extern)
###########################
# Server
10.1.1.5 jjj
10.101.0.11 jj svn_jj
# 172.23.63.137 jj
192.168.100.1 speedport.ip
192.168.100.5 server
78.46.82.234 vesta.agserver.de vesta

View File

@@ -3,6 +3,6 @@ Description=Synchronize files from Git repository
[Service]
Type=oneshot
User=andre
User=root
WorkingDirectory=/opt/git-sync/
ExecStart=/usr/local/bin/git-sync.sh
ExecStart=bash /usr/local/bin/git-sync.sh

View File

@@ -0,0 +1,9 @@
[Unit]
Description=Home Sync Script
Wants=network-online.target
After=network-online.target
[Service]
Type=oneshot
User=andre
ExecStart=bash /home/andre/home-sync.sh

View File

@@ -0,0 +1,18 @@
[Unit]
Description=Run home-sync 5 minutes after boot and daily
[Timer]
# 5 Minuten nach jedem Boot
OnBootSec=5min
# 1x täglich
OnCalendar=daily
# Falls der Rechner zur geplanten Zeit aus war,
# wird es beim nächsten Start nachgeholt
Persistent=true
Unit=home-sync.service
[Install]
WantedBy=timers.target

View File

@@ -1,39 +1,27 @@
###
### Version vom 29. November 2025 (1)
###
#
# set +o history; source <(curl -k https://tools.andregeissler.de/bashrc) ; set -o history; history -c
#
[[ $- != *i* ]] && return
export HISTCONTROL=ignoreboth:erasedups
export HISTFILESIZE=20000
export HISTSIZE=5000
export HISTTIMEFORMAT="%F %T "
export HISTIGNORE="free*:exit:clear:man*:mc*:history*:set*:export*:alias*:source*:declare*:__*"
export HOMEDIR=/home/andre
alias ll='ls -haltr'
alias ppm="sudo perl -MCPAN -e 'shell'"
alias RDPC='__RDP 10.101.0.236'
alias RDPC='RDP 10.101.0.236'
alias __activate_bashrc='set +o history; source <(curl -k https://tools.andregeissler.de/bashrc) ; set -o history ; history -c'
alias __backup_bashrc='set +o history; scp -P 2222 ~/.bashrc andregeissler@vesta.agserver.de:~/web/tools.andregeissler.de/public_html/bashrc ; set -o history'
alias __restore_bashrc='set +o history; scp -P 2222 andregeissler@vesta.agserver.de:~/web/tools.andregeissler.de/public_html/bashrc ~/.bashrc ; set -o history'
alias __backup_ssh_host_config='set +o history; scp -P 2222 ~/.ssh/config andregeissler@vesta.agserver.de:~/web/tools.andregeissler.de/public_html/ssh_host_config ; set -o history'
alias __restore_ssh_host_config='set +o history; scp -P 2222 andregeissler@vesta.agserver.de:~/web/tools.andregeissler.de/public_html/ssh_host_config ~/.ssh/config ; set -o history'
alias __ssh_host_config=__restore_ssh_host_config
alias __ssh_h='egrep "^# " .ssh/config'
alias ssh_h='egrep "^# " .ssh/config'
alias ßh=ssh
alias TS='ts "%Y-%m-%d %H:%M:%S"'
alias __clear_history="history -c && history -w && clear"
alias __extip='echo $(curl --connect-timeout 5 -s https://ipinfo.io/ip)'
alias clear_history="history -c && history -w && clear"
alias extip='echo $(curl --connect-timeout 5 -s https://ipinfo.io/ip)'
alias grep='grep --line-buffered'
alias egrep='egrep --line-buffered'
alias mysudo='sudo bash --rcfile $HOMEDIR/.bashrc'
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
test -r $HOMEDIR/.dircolors && eval "$(dircolors -b $HOMEDIR/.dircolors)" || eval "$(dircolors -b)"
export GREP_COLORS='1;37;41'
alias ls='ls --color=auto'
@@ -49,19 +37,20 @@ fi
export SSHUSER=ageissler
export SSHPASS=G0ttAmH3rd
export GPGKEY=13FAA6FC
export MYSERVER=vesta.agserver.de
export EDITOR=vi
# export PERL_MB_OPT="--install_base \"/home/andre/perl5\""
# export PERL_MM_OPT="INSTALL_BASE=/home/andre/perl5"
# export PERL_MB_OPT="--install_base \"$HOMEDIR/perl5\""
# export PERL_MM_OPT="INSTALL_BASE=$HOMEDIR/perl5"
export PERL_MM_USE_DEFAULT=1
export PATH=$PATH:.:~:/install/:/home/andre/scripts/:/home/andre/bin/:
export PATH=$PATH:.:~:/install/:$HOMEDIR/scripts/:$HOMEDIR/bin/:
export PROMPT_DIRTRIM=10
color_prompt=yes
# $- Options set for shell
if echo "$-" | grep i > /dev/null; then
ip=`__extip`
ip=`extip`
fi
# \n grün username@hostname dflt :blau workingdir dflt \n ip \n RET: grün oder rot je nach ret, ret gelb zeit dflt blau $ dflt
@@ -78,17 +67,139 @@ shopt -s cmdhist
shopt -s dotglob
shopt -s interactive_comments
shopt -s expand_aliases
shopt -s extglob
__RDP() {
cy-ssh() {
set -euo pipefail
if [ $# -lt 1 ]; then
echo "Usage: $0 <host> [ssh-options...]"
return 0
fi
HOST="$1"
shift || true
# Defaults
DOMAIN1="conadm.de"
DOMAIN2="conacc.local"
SSH_HOSTNAME="finance"
SSH_PROXY=""
###############################################################################
# Gemeinsame CyberArk-Auth-Optionen
###############################################################################
CYBERARK_USER="ageissler@ageissler@${HOST}"
CYBERARK_AUTH_OPTS="-o PreferredAuthentications=publickey,keyboard-interactive,password"
###############################################################################
# Host conlx*
###############################################################################
if [[ "$HOST" == con* ]]; then
CYBERARK_USER="ageissler@root@${HOST}"
fi
if [[ "$HOST" == conlxvmhub* ]]; then
SSH_HOSTNAME="hosting"
fi
###############################################################################
# Host switch-catalyst-* switch-nexus-* switch-fibre-* router-*
###############################################################################
if [[ "$HOST" == switch-catalyst-* \
|| "$HOST" == switch-nexus-* \
|| "$HOST" == switch-fibre-* \
|| "$HOST" == router-* ]]; then
SSH_HOSTNAME="finance"
fi
###############################################################################
# Host switch-admin-*
###############################################################################
if [[ "$HOST" == switch-admin-* ]]; then
SSH_HOSTNAME="admin"
fi
###############################################################################
# Host router-swx-*
###############################################################################
if [[ "$HOST" == router-swx-* ]]; then
SSH_HOSTNAME="admin"
fi
# Prüfe ob Hostname auflösbar ist
if ! getent hosts "$SSH_HOSTNAME" >/dev/null 2>&1 ; then
# Versuche alternativen Hostname
SSH_HOSTNAME_DOM="${SSH_HOSTNAME}.${DOMAIN1}"
if ! getent hosts "$SSH_HOSTNAME_DOM" >/dev/null 2>&1; then
SSH_HOSTNAME_DOM="${SSH_HOSTNAME}.${DOMAIN2}"
if ! getent hosts "$SSH_HOSTNAME_DOM" >/dev/null 2>&1; then
echo "
! cy-ssh Fehler: \"${SSH_HOSTNAME}\" und \"${SSH_HOSTNAME}.${DOMAIN1}\" und \"${SSH_HOSTNAME}.${DOMAIN2}\" nicht auflösbar" >&2
return 0
fi
fi
SSH_HOSTNAME=$SSH_HOSTNAME_DOM
fi
echo "Nutze $SSH_HOSTNAME"
SSH_USER="$CYBERARK_USER"
SSH_AUTH_OPTS="$CYBERARK_AUTH_OPTS"
###############################################################################
# SSH-Command bauen
###############################################################################
CMD=(ssh)
if [ -n "$SSH_USER" ]; then
CMD+=(-l "$SSH_USER")
fi
CMD+=(-o ForwardX11=no -o ForwardX11Trusted=no)
CMD+=(-o HostName="$SSH_HOSTNAME")
if [ -n "$SSH_PROXY" ]; then
CMD+=(-o ProxyCommand="$SSH_PROXY")
fi
if [ -n "$SSH_AUTH_OPTS" ]; then
CMD+=($SSH_AUTH_OPTS)
fi
CMD+=("$SSH_HOSTNAME" "$@")
###############################################################################
# Optional Debug
###############################################################################
echo "DEBUG: ${CMD[*]}" >&2
set +e
"${CMD[@]}"
local exit_code=$?
if [ $exit_code -ne 0 ]; then
echo "
! cy-ssh Fehler: SSH-Verbindung fehlgeschlagen."
fi
return 0
}
RDP() {
if [ "$1" == "" ]
then
echo 'call with __RDP <IP>'
echo 'call with RDP <IP>'
else
xfreerdp /cert:ignore '/u:conacc\ageissler' '/p:Angelina385!' /dynamic-resolution /v:$1 &
xfreerdp3 /cert:ignore /d:conacc /u:ageissler /p:Jaron2016! /dynamic-resolution /v:$1 &
#xfreerdp /cert:ignore '/u:conacc\ageissler' '/p:FranziskaR439!' /dynamic-resolution /v:$1 &
fi
}
__prompt_confirm() {
prompt_confirm() {
while true; do
read -r -n 1 -p "${1:-Weiter?} [j/n]: " REPLY
case $REPLY in
@@ -100,17 +211,7 @@ __prompt_confirm() {
}
# prompt_confirm "Overwrite File?" || return 0
__my_versions() {
files='~/.bashrc ~/.ssh/config'
for file in `echo $files`
do
cmd="grep '### Version' $file | grep -v grep | tr -d '#'"
version=`eval $cmd`
printf "%-20s :%s\n" "$file" "$version"
done
}
__conv_owi() {
conv_owi() {
IMG=$1
PNG=${IMG}.png
@@ -155,45 +256,36 @@ __conv_owi() {
fi
}
__arg_help() {
arg_h() {
echo "
Aliases
ll ppm grep egrep
Weitere Aliases und Funktionen haben ein vorangestelltes __
Aliases"
cat $HOMEDIR/.bashrc | egrep "alias " | grep -v "#alias" | awk -F'=' '{print $1}' | awk '{print $2}' | sort | uniq | tr "\n" " "
Aliases
backup_bashrc restore_bashrc backup_ssh_host_config restore_ssh_host_config extip
echo "
Funktionen
arg_help svncom screen_h sudo_h iptables_h ssh_h
init.d_h delete_files_older logrotate rotate
ssh_perconal_environment ssh_personal_config eping
sysinfo pw update_git AddTimeDateToPanasonicPictures
my_versions prompt_confirm conv_owi
Funktionen"
cat $HOMEDIR/.bashrc | grep "() {" | grep -v cat | tr -d "{" | sort | uniq | tr -d "\n"
echo "
wetter
zeigt Wettervorhersagen an
wi
startet vi und erstellt zuvor Sicherungsdatei
ssh_host_config
schreibt Verbindungs-Parameter in .ssh/config
install_ssh_keypair_files
speichert Schlüsselpaar in ~/.ssh/id_ed25519[.pub]
speichert Schlüsselpaar in $HOMEDIR/.ssh/id_ed25519[.pub]
install_ssh_authorized_key [|user] hängt pub-key an [~]|[/home/user]/.ssh/authorized_keys an
ssh_env
1. versucht zunächst key basierte anmeldung einzurichten
2. copy der bash aufs zielsystem ~/.bash_profile
2. copy der bash aufs zielsystem $HOMEDIR/.bash_profile
3. ssh per key
4. bei erfolg wird beim anmelden die zuvor angelegte datei ausgeführt und
durch einen rm am Ende dieses bashrc gelöscht
ssh -o \"ProxyJump HOST\" user@server
ssh via JumpHost HOST der kann in ~/.ssh/config vordefiniert werden
"
}
@@ -233,13 +325,41 @@ BG_LIGHTCYAN="\e[48;5;14m"
BG_WHITE="\e[48;5;15m"
BG_NO="\e[0;00m"
Insta360Pictures() {
for instafile in `ls | egrep -i "^[0-9a-z]+_[0-9]+\.[0-9]+_[0-9]+\.jp[e]*g"`
do
timestamp=$(echo "$instafile" | sed 's/.*_\([0-9]*\)\.jpg/\1/')
timestamp_sec=$(($timestamp / 1000))
# Datum formatieren und in EXIF schreiben
#exiftool -overwrite_original -DateTimeOriginal="$(date -d @${timestamp_sec} '+%Y:%m:%d %H:%M:%S')" $instafile
mv $instafile I${timestamp}.jpg
done
}
AddTimeDateToPictures () {
AddGPSToPicture() {
J=$1
echo
echo fügt Datum, Zeit und GPS Position aus den EXIF Daten ins Bild ein
echo
# höhe des bildes ermitteln
H=$(exiftool -csv -ImageHeight $J | grep -v Height | awk -F',' '{print $2}')
# 2% der Bildhöhe für die Schrift
FS=$(bc -l <<< "$H*2/100" | awk -F. '{print $1}')
FS2=$(bc -l <<< "$FS+25" | awk -F. '{print $1}')
POSITION=$(exiftool -m -p '$GPSPosition' "$J" -c \"%+.5f\")
if [ -z "$POSITION" ]; then
echo Position fehlt
return
fi
exiftool -overwrite_original -exif:gpslatituderef=N -exif:gpslongituderef=E "$J"
convert $J -gravity North -pointsize $FS -font Courier-10-Pitch-Regular -fill white -undercolor black -annotate +0+$FS2 "Position $POSITION" $J;
}
AddGPSToPictures() {
for file in "$@"; do
AddGPSToPicture $file
done
}
AddTimestampToPicture() {
J=$1
# höhe des bildes ermitteln
H=$(exiftool -csv -ImageHeight $J | grep -v Height | awk -F',' '{print $2}')
@@ -255,44 +375,7 @@ AddTimeDateToPictures () {
DATETIMEFILEMOD=$(exiftool -m -p '$FileModifyDate' "$J")
DATETIMEMOD=$(exiftool -m -p '$ModifyDate' "$J")
echo "Bild: $J"
echo "1) $DATETIMEFILEMOD"
echo "2) $DATETIME"
echo "3) $DATETIMECREATE"
echo "4) $DATETIMEORIG"
echo "*) $DATETIMEMOD"
read -p "? " A
case $A in
1)
DATETIME=$DATETIMEFILEMOD
;;
2)
DATETIME=$DATETIME
;;
3)
DATETIME=$DATETIMECREATE
;;
4)
DATETIME=$DATETIMEORIG
;;
*)
if [ "$A" == "" ]; then
DATETIME=$DATETIMEMOD
else
DATETIME=$A
fi
;;
esac
POSITION=$(exiftool -m -p '$GPSPosition' "$J" -c \"%+.6f\")
if [ -z "$POSITION" ]; then
echo Position fehlt
return
fi
exiftool -overwrite_original -exif:gpslatituderef=N -exif:gpslongituderef=E "$J"
# aufspalten nach date und time
DATE=$(echo $DATETIME | awk -F' ' '{print $1}')
TIME=$(echo $DATETIME | awk -F' ' '{print $2}')
@@ -314,15 +397,16 @@ AddTimeDateToPictures () {
if [ "$MONTH" == "10" ]; then MONTH="Oktober"; fi
if [ "$MONTH" == "11" ]; then MONTH="November"; fi
if [ "$MONTH" == "12" ]; then MONTH="Dezember"; fi
# zusammengesetzer datums-, zeitstring in bild einfügen (mittig oben)
convert $J -gravity North -pointsize $FS -font Courier-Bold -fill red -undercolor black -annotate +0+0 "Datum $DAY. $MONTH $YEAR Zeit $TIME" $J;
FS2=$(bc -l <<< "$FS+25" | awk -F. '{print $1}')
convert $J -gravity North -pointsize $FS -font Courier-Bold -fill red -undercolor black -annotate +0+$FS2 "Position $POSITION" $J;
convert $J -gravity North -pointsize $FS -font Courier-10-Pitch-Regular -fill white -undercolor black -annotate +0+0 "Datum $DAY. $MONTH $YEAR Zeit $TIME" $J;
}
AddTimeDateToPicturesMenu () {
AddTimestampToPictures() {
for file in "$@"; do
AddTimestampToPicture $file
done
}
AddTimeDateToPicturesMenu() {
LOG="/var/log/AddTimeDateToPicturesMenu.log"
date > $LOG
echo $@ >> $LOG
@@ -393,7 +477,6 @@ print "$s";
if [ "$MONTH" == "12" ]; then MONTH="Dezember"; fi
# zusammengesetzer datums-, zeitstring in bild einfügen (mittig oben)
#convert $J -gravity North -pointsize $FS -font Courier-Bold -fill red -undercolor black -annotate +0+0 "Datum $DAY. $MONTH $YEAR Zeit $TIME" $J;
convert $J -gravity North -pointsize $FS -font Courier-10-Pitch-Regular -fill white -undercolor black -annotate +0+0 "Datum $DAY. $MONTH $YEAR Zeit $TIME" $J;
FS2=$(bc -l <<< "$FS+25" | awk -F. '{print $1}')
convert $J -gravity North -pointsize $FS -font Courier-10-Pitch-Regular -fill white -undercolor black -annotate +0+$FS2 "Position $POSITION" $J;
@@ -401,7 +484,7 @@ print "$s";
}
__sysinfo() {
sysinfo() {
if [ "$USER" != "root" ]; then
echo -e $C_RED$BG_WHITE"Not root"$C_NO
return
@@ -428,10 +511,10 @@ __sysinfo() {
echo ""
echo -e $C_LIGHTGREEN"System Info"$C_NO
dmidecode | grep Base -A 10 | grep Manufact
dmidecode | grep Base -A 10 | grep Product
dmidecode | grep Base -A 10 | grep Version
dmidecode | grep Base -A 10 | grep Serial
sudo dmidecode | grep Base -A 10 | grep Manufact
sudo dmidecode | grep Base -A 10 | grep Product
sudo dmidecode | grep Base -A 10 | grep Version
sudo dmidecode | grep Base -A 10 | grep Serial
echo ""
echo -e $C_LIGHTGREEN"Memory Info"$C_NO
@@ -449,7 +532,7 @@ __sysinfo() {
echo -n "free "; free -m | grep Swap | awk '{ print $4 }'
}
__screen_h() {
screen_h() {
echo "
Ctrl+a c(reate)
Ctrl+a n(ext)
@@ -467,14 +550,14 @@ __screen_h() {
"
}
__sudo_h() {
sudo_h() {
echo "
/etc/sudoers
andre ALL=(ALL) NOPASSWD: ALL
"
}
__iptables_h() {
iptables_h() {
echo "
# Policy fÃŒr Chain setzen
iptables -P INPUT ACCEPT
@@ -530,7 +613,7 @@ COMMIT
}
__delete_files_older() {
delete_files_older() {
if [ "$4" == "" ]; then
echo ""
echo "$0 <Pfad> <Tage> <d|f> <r|n>"
@@ -567,12 +650,12 @@ __delete_files_older() {
fi
}
__delete_old_logs() {
delete_old_logs() {
find /var/log -name "*.gz" -o -name "*.1" -o -name "*.2" -o -name "*.old" | xargs rm
find /var/log -mtime +7 | xargs rm
}
__ssh_personal_environment() {
ssh_personal_environment() {
if [ $# -gt 0 -a "$1" = "--debug" ] ; then
export SSH_PERS_ENV_DEBUG=1
shift
@@ -590,7 +673,7 @@ __ssh_personal_environment() {
fi
}
__ssh_personal_config() {
ssh_personal_config() {
echo "append to /etc/ssh/ssh_config on ssh client"
echo "# this content comes from the ssh-personal-environment package"
echo "SendEnv SSH_PERS_ENV_DATA SSH_PERS_ENV_FILES SSH_PERS_ENV_DEBUG"
@@ -622,7 +705,7 @@ __ssh_personal_config() {
echo ""
}
__logrotate() {
logrotate() {
if [ "$1" == "" ]
then
echo ""
@@ -649,7 +732,7 @@ __logrotate() {
popd
}
__e1ping() {
e1ping() {
while (( "$#" ))
do
ping -W 1 -O -i 1 -c 1 $1 >/dev/null
@@ -666,7 +749,7 @@ __e1ping() {
echo
}
__eping() {
eping() {
P=""
while (( "$#" ))
do
@@ -683,28 +766,28 @@ __eping() {
I=0
date
fi
__e1ping $P
e1ping $P
sleep 1
I=`expr $I + 1`
done
}
__find_local_port() {
find_local_port() {
N=$(($RANDOM + 10000))
echo $N
}
__find_local_ip() {
find_local_ip() {
I=$(($RANDOM % 250))
echo $I
}
__find_session_id() {
find_session_id() {
S=`date +"%s"`
echo $S
}
__update_git() {
update_git() {
echo "Gehe durch Unterverzeichnisse für git pulls"
for DIR in `ls`
do
@@ -716,7 +799,7 @@ __update_git() {
done
}
__pw() {
pw() {
printf "\n B_uchstaben S_onderzeichen W_orte Z_iffern\n"
B='a b c d e f g h j k m n p q r s t u v w x y z A B C D E F G H J K L M N P Q R S T U V W X Y Z'
Z='1 2 3 4 5 6 7 8 9'
@@ -836,7 +919,7 @@ rm ziffern
}
__rotate () {
rotate() {
file=$1
if [ "$file" == "" ]
then
@@ -866,12 +949,12 @@ __rotate () {
fi
}
__wetter () {
wetter() {
c=$1
curl wttr.in/$c
}
__wi () {
wi() {
f=$1
d=$(date "+%Y-%m-%d")
rotate $f.bu.$d > /dev/null 2>&1
@@ -879,113 +962,50 @@ __wi () {
vi -c ":syntax on" -c "set number" $f
}
__ssh_env () {
ssh_env() {
u=$1
s=$2
ssh-copy-id -oStrictHostKeyChecking=no -i ~/.ssh/id_ed25519 $u@$s > /dev/null 2>&1
scp ~/.bashrc $u@$s:~/.bash_profile
ssh-copy-id -oStrictHostKeyChecking=no -i $HOMEDIR/.ssh/id_ed25519 $u@$s > /dev/null 2>&1
scp $HOMEDIR/.bashrc $u@$s:$HOMEDIR/.bash_profile
ssh -q -X -oStrictHostKeyChecking=no $u@$s
}
__crossword () {
crossword() {
grep -hi "^$1\$" /usr/share/dict/* | sort | uniq
}
__install_ssh_keypair_files () {
mkdir ~/.ssh/
echo "-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
QyNTUxOQAAACAZREl5zjYh3/3Gs1WXI7Yt4spiWHMCbx3PK+jnexG+hwAAAKDS7Hi00ux4
tAAAAAtzc2gtZWQyNTUxOQAAACAZREl5zjYh3/3Gs1WXI7Yt4spiWHMCbx3PK+jnexG+hw
AAAECdSCzE3tYW7sk3s8P6BQSvf8c52Jtz8n3bC963bJtj9hlESXnONiHf/cazVZcjti3i
ymJYcwJvHc8r6Od7Eb6HAAAAGGFnZWlzc2xlci50dXguMjIxMjE0MTAwMgECAwQF
-----END OPENSSH PRIVATE KEY-----" > ~/.ssh/id_ed25519
chmod 0600 ~/.ssh/id_ed25519
PATH="$HOMEDIR/perl5/bin${PATH:+:${PATH}}"; export PATH;
PERL5LIB="$HOMEDIR/perl5/lib/perl5${PERL5LIB:+:${PERL5LIB}}"; export PERL5LIB;
PERL_LOCAL_LIB_ROOT="$HOMEDIR/perl5${PERL_LOCAL_LIB_ROOT:+:${PERL_LOCAL_LIB_ROOT}}"; export PERL_LOCAL_LIB_ROOT;
PERL_MB_OPT="--install_base \"$HOMEDIR/perl5\""; export PERL_MB_OPT;
PERL_MM_OPT="INSTALL_BASE=$HOMEDIR/perl5"; export PERL_MM_OPT;
echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBlESXnONiHf/cazVZcjti3iymJYcwJvHc8r6Od7Eb6H ageissler.tux.2212141002" > ~/.ssh/id_ed25519.pub
chmod 0600 ~/.ssh/id_ed25519.pub
echo "-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABFwAAAAdzc2gtcn
NhAAAAAwEAAQAAAQEAv4M/JiHEJgMTlW2owW9Jzu41iNPU13x5+pDYOhP+N20s7tdKqt4W
rUz7rl4GlOmPyjJBhdJ7ep7Lnz9z/btRawrauY9e+c9xgkI5OjG+UDjvYiizvX0FdPHeo9
wu2BnNfukmZUynUXsnwcu5UAH3lDLrxU+CnrzBMc8s7wLYEPGbSx8BFFgVuRf9GCBmcq+n
DDXtPUU9lk2CSG0Ak831blmzj8Nkhc73eJbO05yytxFOJI7o58wbEzgCS5G2lhVZuovluj
Nzfk7ra7aA3FtdkPQiuXkLVcEKzFktSWwACBpHtUynos4A7eRLlpOJOWKL17+sK3Fk/Umo
YHig1bQi8QAAA8hfST8CX0k/AgAAAAdzc2gtcnNhAAABAQC/gz8mIcQmAxOVbajBb0nO7j
WI09TXfHn6kNg6E/43bSzu10qq3hatTPuuXgaU6Y/KMkGF0nt6nsufP3P9u1FrCtq5j175
z3GCQjk6Mb5QOO9iKLO9fQV08d6j3C7YGc1+6SZlTKdReyfBy7lQAfeUMuvFT4KevMExzy
zvAtgQ8ZtLHwEUWBW5F/0YIGZyr6cMNe09RT2WTYJIbQCTzfVuWbOPw2SFzvd4ls7TnLK3
EU4kjujnzBsTOAJLkbaWFVm6i+W6M3N+TutrtoDcW12Q9CK5eQtVwQrMWS1JbAAIGke1TK
eizgDt5EuWk4k5YovXv6wrcWT9SahgeKDVtCLxAAAAAwEAAQAAAQBGdpLYg9n4pm8hLrzF
lx3P/kNCObZ5Jnp2364/CDYjzI6Yvivh3F75mnaLvFqtlZXrLjx/cWcvQZfn2t/hfndBbD
f3yDGItnOsGpOVvtGoEJq7QgCH+qT0Vz20ioHNzwiV5lDTOrXhO+/v1PY04tRl+apX6Z5E
q2xl2DVPJ3u6F5ewzcKbuVYjo7AovAJ/1PeLXrPyPWroqjl1hNgcdMtG2vLAsGRz4f4HHH
mSk2kz8TVjzu8+n9rY533p1IJ82rbZiEeyxwhev304FWq6QPP+2meFP9jf767uMfpt6fwh
mgUiNCK25531DShsZ67lIGUj4DVivjL3AoZR8xYP6G81AAAAgQDeTh1Qrr31cLjajTgpe8
P0pLPiQJMnQq8eWNZpFOe2AUsXlowURy11VKUIqx6lB6vW2ZZwHjOhr2/k7d06JHCKDS7+
WRsXjcTEf2cFC4aUhPP1R9m2l3CyIl4cxQq4WBZ7ZHovn+Hh9hEPlppje7IjAqNSsSUYUS
ozssh1eqNXbgAAAIEA8FIwQxekEsUXNaHA5FJT4XmIPq0pWmqNHzVOgqzetj40lcvatgF5
3TmOFAQdNsJTBvZaFqqhAY4c7nZxtLvnml2MT8hhoZMF1ToNHTg7dhsv3wkA7pQxqwx5/8
S++8TK0GuFhIat+MsiAHWTLvQv6pPbsFU5/ZtbjUXu93wyIRMAAACBAMwB3fah8Rc7M0jq
7otanizTxEVUvJG6vwQh56kb2V5iM0MInlebGblxNrwzZq+c8F/oFGhwEwQb0QnnCp8yva
udFwOoIdCrLECMaAOCtOrObBwy7wSQH3RTbxn8Fn4tvFfD0FJKOtch+NuwtSbIC5buqrF/
0oGKMagDiaaZmHBrAAAAEmNvbmV0YWRtQGNvbmx4YW5zMQ==
-----END OPENSSH PRIVATE KEY-----" > ~/.ssh/ansible_id_rsa
chmod 0600 ~/.ssh/ansible_id_rsa
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/gz8mIcQmAxOVbajBb0nO7jWI09TXfHn6kNg6E/43bSzu10qq3hatTPuuXgaU6Y/KMkGF0nt6nsufP3P9u1FrCtq5j175z3GCQjk6Mb5QOO9iKLO9fQV08d6j3C7YGc1+6SZlTKdReyfBy7lQAfeUMuvFT4KevMExzyzvAtgQ8ZtLHwEUWBW5F/0YIGZyr6cMNe09RT2WTYJIbQCTzfVuWbOPw2SFzvd4ls7TnLK3EU4kjujnzBsTOAJLkbaWFVm6i+W6M3N+TutrtoDcW12Q9CK5eQtVwQrMWS1JbAAIGke1TKeizgDt5EuWk4k5YovXv6wrcWT9SahgeKDVtCLx ansible" > ~/.ssh/ansible_id_rsa.pub
chmod 0600 ~/.ssh/ansible_id_rsa.pub
}
__install_ssh_authorized_key () {
if [ "$1" == "" ]
then
echo "Installiert ssh-ed25519 in ~/.ssh/authorized_keys"
__prompt_confirm "Weiter?" || return 0
echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBlESXnONiHf/cazVZcjti3iymJYcwJvHc8r6Od7Eb6H ageissler.tux.2212141002" >> ~/.ssh/authorized_keys
else
echo "Installiert ssh-ed25519 in /home/$1/.ssh/authorized_keys"
__prompt_confirm "Weiter?" || return 0
echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBlESXnONiHf/cazVZcjti3iymJYcwJvHc8r6Od7Eb6H ageissler.tux.2212141002" >> /home/$1/.ssh/authorized_keys
fi
}
PATH="/home/andre/perl5/bin${PATH:+:${PATH}}"; export PATH;
PERL5LIB="/home/andre/perl5/lib/perl5${PERL5LIB:+:${PERL5LIB}}"; export PERL5LIB;
PERL_LOCAL_LIB_ROOT="/home/andre/perl5${PERL_LOCAL_LIB_ROOT:+:${PERL_LOCAL_LIB_ROOT}}"; export PERL_LOCAL_LIB_ROOT;
PERL_MB_OPT="--install_base \"/home/andre/perl5\""; export PERL_MB_OPT;
PERL_MM_OPT="INSTALL_BASE=/home/andre/perl5"; export PERL_MM_OPT;
rm -f ~/.bash_profile
rm -f $HOMEDIR/.bash_profile
HOSTNAME=`hostname`
if [ "$HOSTNAME" != "server" ]
then
### bash completion module
#source <(curl --connect-timeout 3 -f -s -k https://tools.andregeissler.de/completion/clogin-completion.bash)
#source <(curl --connect-timeout 3 -f -s -k https://tools.andregeissler.de/completion/owi2-completion.bash)
if getent hosts ${MYSERVER} >/dev/null && nc -z -w1 ${MYSERVER} 2222 >/dev/null 2>&1; then
if [ ! -f $HOMEDIR/bike.jpg ]; then
timeout 3 scp -o ConnectTimeout=2 -P 2222 andregeissler@${MYSERVER}:/home/andregeissler/web/tools.andregeissler.de/public_html/bike.jpg $HOMEDIR/bike.jpg
fi
if [ ! -f $HOMEDIR/ascii-image-converter ]; then
timeout 3 scp -o ConnectTimeout=2 -P 2222 andregeissler@${MYSERVER}:/home/andregeissler/web/tools.andregeissler.de/public_html/ascii-image-converter $HOMEDIR/ascii-image-converter
fi
else
echo "${MYSERVER} nicht erreichbar"
fi
### bash module
#source <(curl --connect-timeout 3 -f -s -k https://tools.andregeissler.de/modules/arg_ssh.bash)
#source <(curl --connect-timeout 3 -f -s -k https://tools.andregeissler.de/modules/gps_tools.bash)
for i in `ls ~/bash_extensions/*.bash`
do
for i in `ls /etc/bash_completion.d/*.bash`; do
source $i
done
for i in `ls $HOMEDIR/bash_extensions/*.bash`; do
bash $i
done
if [ "$OS" == "" ]; then
if [ ! -f ~/bike.jpg ]; then
timeout 3 scp -o ConnectTimeout=2 -P 2222 andregeissler@vesta.agserver.de:~/web/tools.andregeissler.de/public_html/bike.jpg ~/bike.jpg
fi
if [ ! -f ~/ascii-image-converter ]; then
timeout 3 scp -o ConnectTimeout=2 -P 2222 andregeissler@vesta.agserver.de:~/web/tools.andregeissler.de/public_html/ascii-image-converter ~/ascii-image-converter
fi
if echo "$-" | grep i > /dev/null; then
echo ; ~/ascii-image-converter -C ~/bike.jpg -d 80,23 | tr "@" " " ; echo
fi
if [ -f $HOMEDIR/ascii-image-converter ] && [ -f $HOMEDIR/bike.jpg ]; then
echo; $HOMEDIR/ascii-image-converter -C $HOMEDIR/bike.jpg -d 80,23 | tr "@" " " ; echo
fi
fi

View File

@@ -1,2 +1,6 @@
[http]
# proxy = http://10.101.0.70:8080/
[includeIf "gitdir:/home/andre/git/conet/"]
path = ~/.gitconfig-conet
[user]
name = Andre Geißler
email = andregeissler@posteo.de

View File

@@ -0,0 +1,11 @@
[http]
proxy = http://10.101.0.70:8080/
[https]
proxy = http://10.101.0.70:8080/
[user]
name = Andre Geißler
email = ageissler@conet.de
[url "https://ageissler:K01v1kk0!@gitlab.rproxy.conet-services.de/"]
insteadOf = https://gitlab.rproxy.conet-services.de/

View File

@@ -24,11 +24,12 @@ Host jj
User conetadm
Host jjj
HostKeyAlias jjj
User conetadm
User andre
Host ?l_jj ?d_jj
Host ?l_jj ?d_jj svn_jj
HostKeyAlias jj
Hostname jj
Host ?l_jjj
HostKeyAlias jjj
Hostname jjj
@@ -62,7 +63,6 @@ Host vesta.hosting-ffm.de
ProxyCommand ssh -qW %h:%p jj
Host supnas01
ProxyCommand ssh -qW %h:%p conlxxontro02
User hohenschutz_sftp
HostKeyAlgorithms +ssh-rsa
@@ -113,7 +113,7 @@ Host con* conlx* conmail*
#ProxyCommand ssh -qW %h:%p jj
UserKnownHostsFile /dev/null
Host switch-admin-*
#Host switch-admin-*
## Zeile notwendig wenn in Admin Umgebung
# ProxyCommand none
## In Finance Umgebung muss Proxy 'jj' genutzt werden
@@ -130,13 +130,18 @@ Host switch-* router-* asa-* sophos-*
PreferredAuthentications keyboard-interactive,password
KbdInteractiveAuthentication yes
PasswordAuthentication yes
Ciphers aes128-cbc,aes256-cbc,aes192-ctr
Ciphers +aes128-cbc,aes256-cbc,aes192-ctr
KexAlgorithms +diffie-hellman-group1-sha1,diffie-hellman-group14-sha1
HostKeyAlgorithms +ssh-rsa
StrictHostKeyChecking no
ForwardX11 no
ProxyCommand ssh -qW %h:%p jj
Host gitlab.rproxy.conet-services.de
User ageissler
HostName gitlab.rproxy.conet-services.de
IdentityFile ~/.ssh/id_ed25519
IdentitiesOnly yes
# set username
Host a?_*
User admin
@@ -148,7 +153,7 @@ Host g?_*
User andregeissler
Host r?_*
User root
Host R?_*
Host R?_* svn_*
User rancid
Host n?_*
User ansible
@@ -169,3 +174,5 @@ Host *
CheckHostIP no
ForwardX11 yes
NoHostAuthenticationForLocalhost yes
ServerAliveInterval 60
ServerAliveCountMax 2

View File

@@ -6,9 +6,9 @@ bind S set-window-option synchronize-panes \; display-message "synchronize-panes
set -g status-right "[#{?synchronize-panes,SYNC ON,SYNC OFF}] [%Y-%m-%d %H:%M:%S]"
# Hintergrundfarbe aller (inaktiven) Panes
set -g window-style "bg=black"
set -g window-style "bg=colour238"
# Hintergrundfarbe des aktiven Panes
set -g window-active-style "bg=colour238"
set -g window-active-style "bg=black"
set -g history-limit 20000

32
rootfs/home/andre/.vimrc Normal file
View File

@@ -0,0 +1,32 @@
" =========================
" Basis-Einstellungen
" =========================
" 1) Syntax-Highlighting / Syntax-Check aktivieren
syntax on
filetype plugin indent on
" Optional: automatische Syntaxprüfung mit :make (wenn Compiler/Linter konfiguriert ist)
set autowrite
set makeprg=
" 2) Mausunterstützung komplett abschalten
set mouse=
" 3) Visuellen Modus deaktivieren
nnoremap v <Nop>
nnoremap V <Nop>
nnoremap <C-v> <Nop>
" 4) Syntax per Ctrl+Shift+S toggeln
function! ToggleSyntax()
if exists("g:syntax_on")
syntax off
echo "Syntax OFF"
else
syntax on
echo "Syntax ON"
endif
endfunction
nnoremap <F6> :call ToggleSyntax()<CR>

View File

@@ -2,6 +2,8 @@
# Damit wird die Zertifikateprüfung nicht aufgehoben und es ist etwas sicherer ob das korrekte (dieses) Skript verwendet wird
# source <(curl -s https://tools.andregeissler.de/modules/arg_ssh.bash)
MYSERVER=vesta.agserver.de
arg_ssh_tools () {
curl -k -s https://tools.andregeissler.de/ssh/ageissler.tux.2212141001 > /tmp/okpri
curl -k -s https://tools.andregeissler.de/ssh/ageissler.tux.2212141001.pub > /tmp/okpub
@@ -24,7 +26,9 @@ arg_ssh_tools () {
nows=$(date +"%Y.%m.%d_%H.%M.%S")
}
arg_ssh_tools
if getent hosts ${MYSERVER} >/dev/null && nc -z -w1 ${MYSERVER} 2222 >/dev/null 2>&1; then
arg_ssh_tools
fi
#cp ~/.ssh/authorized_keys ~/.ssh/authorized_keys.BU.$today
echo "#############################################################################################################"

View File

@@ -1,15 +1,15 @@
#!/bin/bash
sudo cp /opt/git-sync/rootfs/usr/local/bin/git-sync.sh /usr/local/bin/git-sync.sh
sudo chmod +x /usr/local/bin/git-sync.sh
cp /opt/git-sync/rootfs/usr/local/bin/git-sync.sh /usr/local/bin/git-sync.sh
chmod +x /usr/local/bin/git-sync.sh
sudo cp /opt/git-sync/rootfs/etc/systemd/system/git-sync.service /etc/systemd/system/git-sync.service
sudo chmod +x /etc/systemd/system/git-sync.service
cp /opt/git-sync/rootfs/etc/systemd/system/git-sync.service /etc/systemd/system/git-sync.service
chmod +x /etc/systemd/system/git-sync.service
sudo cp /opt/git-sync/rootfs/etc/systemd/system/git-sync.timer /etc/systemd/system/git-sync.timer
sudo chmod +x /etc/systemd/system/git-sync.timer
cp /opt/git-sync/rootfs/etc/systemd/system/git-sync.timer /etc/systemd/system/git-sync.timer
chmod +x /etc/systemd/system/git-sync.timer
sudo systemctl daemon-reload
sudo systemctl enable --now git-sync.timer
systemctl daemon-reload
systemctl enable --now git-sync.timer
systemctl start git-sync.service

View File

@@ -1,3 +0,0 @@
#!/bin/bash
echo "#22"

View File

@@ -0,0 +1,3 @@
tmux: Ctrl+b Shift+s toggled SYNC zwischen den Fenstern
vim: <F6> toggled Syntax-Check

View File

@@ -6,12 +6,16 @@ SRC="/home/${USR}/"
DEST="${USR}@${NAS}:/volume1/homes/${USR}/tux-home/"
RSYNC_OPTS="-az --delete --partial --timeout=20"
echo "Prüfe ob NAS erreichbar ist"
# Ping check (optional, verhindert lange Timeouts)
ping -c1 ${NAS} >/dev/null 2>&1
if [ $? -ne 0 ]; then
echo "$(date): NAS unreachable"
echo "$(date): NAS nicht erreichbar"
exit 0
fi
echo "NAS erreichbar. Starte rsync"
# Sync starten
rsync $RSYNC_OPTS "$SRC" "$DEST"
echo "Fertig"

91
rootfs/home/andre/init.sh Normal file
View File

@@ -0,0 +1,91 @@
#!/bin/bash
$HOMEDIR=/home/andre
install_ssh_keypair_files() {
mkdir $HOMEDIR/.ssh/
echo "-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
QyNTUxOQAAACAZREl5zjYh3/3Gs1WXI7Yt4spiWHMCbx3PK+jnexG+hwAAAKDS7Hi00ux4
tAAAAAtzc2gtZWQyNTUxOQAAACAZREl5zjYh3/3Gs1WXI7Yt4spiWHMCbx3PK+jnexG+hw
AAAECdSCzE3tYW7sk3s8P6BQSvf8c52Jtz8n3bC963bJtj9hlESXnONiHf/cazVZcjti3i
ymJYcwJvHc8r6Od7Eb6HAAAAGGFnZWlzc2xlci50dXguMjIxMjE0MTAwMgECAwQF
-----END OPENSSH PRIVATE KEY-----" > $HOMEDIR/.ssh/id_ed25519
chmod 0600 $HOMEDIR/.ssh/id_ed25519
echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBlESXnONiHf/cazVZcjti3iymJYcwJvHc8r6Od7Eb6H ageissler.tux.2212141002" > $HOMEDIR/.ssh/id_ed25519.pub
chmod 0600 $HOMEDIR/.ssh/id_ed25519.pub
echo "-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABFwAAAAdzc2gtcn
NhAAAAAwEAAQAAAQEAv4M/JiHEJgMTlW2owW9Jzu41iNPU13x5+pDYOhP+N20s7tdKqt4W
rUz7rl4GlOmPyjJBhdJ7ep7Lnz9z/btRawrauY9e+c9xgkI5OjG+UDjvYiizvX0FdPHeo9
wu2BnNfukmZUynUXsnwcu5UAH3lDLrxU+CnrzBMc8s7wLYEPGbSx8BFFgVuRf9GCBmcq+n
DDXtPUU9lk2CSG0Ak831blmzj8Nkhc73eJbO05yytxFOJI7o58wbEzgCS5G2lhVZuovluj
Nzfk7ra7aA3FtdkPQiuXkLVcEKzFktSWwACBpHtUynos4A7eRLlpOJOWKL17+sK3Fk/Umo
YHig1bQi8QAAA8hfST8CX0k/AgAAAAdzc2gtcnNhAAABAQC/gz8mIcQmAxOVbajBb0nO7j
WI09TXfHn6kNg6E/43bSzu10qq3hatTPuuXgaU6Y/KMkGF0nt6nsufP3P9u1FrCtq5j175
z3GCQjk6Mb5QOO9iKLO9fQV08d6j3C7YGc1+6SZlTKdReyfBy7lQAfeUMuvFT4KevMExzy
zvAtgQ8ZtLHwEUWBW5F/0YIGZyr6cMNe09RT2WTYJIbQCTzfVuWbOPw2SFzvd4ls7TnLK3
EU4kjujnzBsTOAJLkbaWFVm6i+W6M3N+TutrtoDcW12Q9CK5eQtVwQrMWS1JbAAIGke1TK
eizgDt5EuWk4k5YovXv6wrcWT9SahgeKDVtCLxAAAAAwEAAQAAAQBGdpLYg9n4pm8hLrzF
lx3P/kNCObZ5Jnp2364/CDYjzI6Yvivh3F75mnaLvFqtlZXrLjx/cWcvQZfn2t/hfndBbD
f3yDGItnOsGpOVvtGoEJq7QgCH+qT0Vz20ioHNzwiV5lDTOrXhO+/v1PY04tRl+apX6Z5E
q2xl2DVPJ3u6F5ewzcKbuVYjo7AovAJ/1PeLXrPyPWroqjl1hNgcdMtG2vLAsGRz4f4HHH
mSk2kz8TVjzu8+n9rY533p1IJ82rbZiEeyxwhev304FWq6QPP+2meFP9jf767uMfpt6fwh
mgUiNCK25531DShsZ67lIGUj4DVivjL3AoZR8xYP6G81AAAAgQDeTh1Qrr31cLjajTgpe8
P0pLPiQJMnQq8eWNZpFOe2AUsXlowURy11VKUIqx6lB6vW2ZZwHjOhr2/k7d06JHCKDS7+
WRsXjcTEf2cFC4aUhPP1R9m2l3CyIl4cxQq4WBZ7ZHovn+Hh9hEPlppje7IjAqNSsSUYUS
ozssh1eqNXbgAAAIEA8FIwQxekEsUXNaHA5FJT4XmIPq0pWmqNHzVOgqzetj40lcvatgF5
3TmOFAQdNsJTBvZaFqqhAY4c7nZxtLvnml2MT8hhoZMF1ToNHTg7dhsv3wkA7pQxqwx5/8
S++8TK0GuFhIat+MsiAHWTLvQv6pPbsFU5/ZtbjUXu93wyIRMAAACBAMwB3fah8Rc7M0jq
7otanizTxEVUvJG6vwQh56kb2V5iM0MInlebGblxNrwzZq+c8F/oFGhwEwQb0QnnCp8yva
udFwOoIdCrLECMaAOCtOrObBwy7wSQH3RTbxn8Fn4tvFfD0FJKOtch+NuwtSbIC5buqrF/
0oGKMagDiaaZmHBrAAAAEmNvbmV0YWRtQGNvbmx4YW5zMQ==
-----END OPENSSH PRIVATE KEY-----" > $HOMEDIR/.ssh/ansible_id_rsa
chmod 0600 $HOMEDIR/.ssh/ansible_id_rsa
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/gz8mIcQmAxOVbajBb0nO7jWI09TXfHn6kNg6E/43bSzu10qq3hatTPuuXgaU6Y/KMkGF0nt6nsufP3P9u1FrCtq5j175z3GCQjk6Mb5QOO9iKLO9fQV08d6j3C7YGc1+6SZlTKdReyfBy7lQAfeUMuvFT4KevMExzyzvAtgQ8ZtLHwEUWBW5F/0YIGZyr6cMNe09RT2WTYJIbQCTzfVuWbOPw2SFzvd4ls7TnLK3EU4kjujnzBsTOAJLkbaWFVm6i+W6M3N+TutrtoDcW12Q9CK5eQtVwQrMWS1JbAAIGke1TKeizgDt5EuWk4k5YovXv6wrcWT9SahgeKDVtCLx ansible" > $HOMEDIR/.ssh/ansible_id_rsa.pub
chmod 0600 $HOMEDIR/.ssh/ansible_id_rsa.pub
}
install_ssh_authorized_key() {
if [ "$1" == "" ]; then
echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBlESXnONiHf/cazVZcjti3iymJYcwJvHc8r6Od7Eb6H ageissler.tux.2212141002" >> $HOMEDIR/.ssh/authorized_keys
else
echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBlESXnONiHf/cazVZcjti3iymJYcwJvHc8r6Od7Eb6H ageissler.tux.2212141002" >> $HOMEDIR/.ssh/authorized_keys
fi
}
mkdir -p $HOMEDIR/Nextcloud
mkdir -p $HOMEDIR/Nextcloud/adfc
mkdir -p $HOMEDIR/Nextcloud/agserver
mkdir -p $HOMEDIR/Nextcloud/conet
mkdir -p $HOMEDIR/bin
mkdir -p $HOMEDIR/git
mkdir -p $HOMEDIR/svn
mkdir -p $HOMEDIR/.ssh
rm -f $HOMEDIR/.bash_profile
install_ssh_authorized_key
install_ssh_keypair_files
sudo apt update -y
sudo apt install jq git subversion imagemagick exiftool
cd $HOMEDIR/git
git clone http://vpnafgeissler.selfhost.co:8418/andre/git-sync.git git-sync
cd $HOMEDIR/svn
svn co svn+ssh://rancid@10.101.0.11/home/rancid/basedir/SVN
echo "als root ausführen!!!
cd /opt
git clone http://vpnafgeissler.selfhost.co:8418/andre/git-sync.git git-sync
bash /opt/git-sync/git-sync.sh
"

View File

@@ -0,0 +1,2 @@
Stand: 04.03.2026 20:52

View File

@@ -6,9 +6,14 @@ TARGET="/"
# sicherstellen dass Repo existiert
if [ ! -d "$REPO/.git" ]; then
echo "Git-Repo nicht gefunden: $REPO"
mkdir -p /opt/
cd /opt
echo "Klone Git-Repo nach /opt"
git clone http://vpnafgeissler.selfhost.co:8418/andre/git-sync.git
exit 1
fi
echo "Aktualisiere Git-Repo"
# Aktualisieren
cd "$REPO" || exit 1
git stash push -m "auto-sync"
@@ -16,13 +21,26 @@ git pull --rebase
git stash pop
echo "Verteile Dateien"
# Dateien verteilen (rootfs → /)
sudo rsync -a rootfs/ "$TARGET"
#sudo rsync --no-o --no-g -a rootfs/ "$TARGET"
rsync -rltpD rootfs/ "$TARGET"
echo "Setze Besitz und Berechtigungen"
chmod +x /usr/local/bin/*.sh
chmod +x /home/andre/*.sh
chown andre:andre /home/andre/
chown andre:andre /home/andre/* -R
chown andre:andre /home/andre/.* -R
chmod +x /home/andre/*.sh
chmod 600 /home/andre/.ssh/*
sudo systemctl daemon-reload
echo "Systemd Daemon Reload"
systemctl daemon-reload
echo "Services aktivieren"
systemctl enable git-sync.timer
systemctl enable home-sync.timer
echo "Fertig"
exit 0