37c3D3E1
Als dritte und letzte Specialfolge vom #37c3 schnacke ich (so sagt man im Norden) mit meinem Erstie-Companion Flooo ohne Social Media über sein erstes Mal. Eine gemütliche Stunde post Peak-Congress.
Als dritte und letzte Specialfolge vom #37c3 schnacke ich (so sagt man im Norden) mit meinem Erstie-Companion Flooo ohne Social Media über sein erstes Mal. Eine gemütliche Stunde post Peak-Congress.
Vom @sendezentrum@chaos.social an Tag 2 des #37c3 berichten hier @mailonator@chaos.social, @macsnider@chaos.social und @holm@social.saarland erst von lange vergessenen Emailwars als auch von tagesaktuellen Eindrücken in #Hamburg.
@macsnider@chaos.social, @Eric_S@chaos.social und @holm@social.saarland machen #Mikrofoncheck im @sendezentrum@chaos.social auf dem #37c3. Es geht um fliegen und um Teppiche. Tausendundeine Nacht sozusagen.
Christoph und holm rekapitulieren noch einmal den Podcast Adventskalender und gehen auf Feedback ein.
Heute wird WLAN gebastelt fürs Zuhause und das Vereinshaus. https://de.wikipedia.org/wiki/MikroTik
Tür 22: Holm gibt wieder mit seinem Desktop an. Wer ihn kennt, weiss auch wie häufig er drüber schimpft. Heute aber nur Lobhudelei. Links zu den Projekten folgen Stück für Stück als Fediversekommentar. Fürs erste nur der Berkeley Font: https://berkeleygraphics.com/typefaces/berkeley-mono/
Das Terminal für Deine Hosentasche. Termux ist eine vollständige Arbeitsumgebung für Keyboard-Lovers auf Android.
Alternativer Serviervorschlag, wie man vorhandene Systeme mit geringer Downtime auf neue Virtualisierer migriert, auch über die Grenzen des eigenen Netzwerkes hinweg. Proxmox
holm mag alte Zöpfe abschneiden und Labelsoftware durch ein Konstrukt aus Opensource Standardsoftware ersetzen und mit einem zentralen Server zur Generierung der Etiketten ersetzen. Hierfür sucht er Mitstreiter. Zint Barcode Generator Inkscape
Auch wenn holm GrapheneOS nutzt und das darin enthaltene SeedVault anwendet, ist es eine Zumutung, welchen Aufwand man betreiben muss, wenn man zwischen Android Installationen wechseln mag. Kein Backup, kein Mitleid -> zählt für alle Android Geräte. Leider.
After Work Hörspiele und so… @sbrt@social.saarland und @holm@social.saarland lesen das Internet vor. Aus geplanten 30 Minuten wurden aus Versehen zwei Stunden. Lohnende. Von und für Hörspielbegeisterte. After Work Hörspiele und sowas… ARD Audiothek Mia Insomnia Professor van Dusen Der letzte Detektiv Timothy Truckle ermittelt | SciFi-Krimi-Serie mit Matthias Matschke Marlov ermittelt: I Killed Kirov - Hardboiled-Krimi in der UdSSR Morland Liebe im All - Eine Punk-Musik-Fantasie “Spatial Jitter” - Binauraler 3D-Sound von mouse on mars (mit Kopfhörern hören) Speicher - Tonspuren aus dem Siemens-Studio für elektronische Musik von Michaela Melián Sirius FM - Expedition an den Bandtellerrand Tim Pritlove: Diskordische Bibelstunde - Nonsense as salvation “Alexander Kluge “ - Ein Portrait Der nette Herr Heinlein und die Leichen im Keller | Krimigroteske nach dem Roman von Stephan Ludwig Der sich langsam wirklich etwas seltsam entwickelnde Kongress der Thanatologen (2013) «Die Andouillette» von Gion Mathias Cavelty «Die letztesten Dinge» von Gion Mathias Cavelty «Der Tag, an dem es 449 Franz Klammers regnete» von Gion Mathias Cavelty Alpakakaka - Kiffen, Kot und Klöße Mission to Mars Der kleine Major Tom Das war morgen Neues von Dickie Dick Dickens! Die Triffids | SciFi-Klassiker Ray Bradbury: Meister des Mysteriösen Ich hörte vom Ende der Welt - Paranoia führt zu Mystery-Horror Korridore - Mystery-Horror-Serie The Cruise - Hörspiel-Podcast Außergewöhnliche Belastung - Krimi-Hörspiel: Tumult im Finanzamt 1LIVE Caiman Club End of Time This Is Nature Sleepbot Environmental Broadcast, the online radio station of Ambience for the Masses Antikammer (1/4) Die Van-Berg-Konstante - Ein aufgetauter Forscher wird zur Sensation «Quantenmüll» von Andreas Eschbach Greul Audible Kohlrabenschwarz Ghostbox Sieben Siegel Monster 1983 Der schwarze Berg Ansonsten Das Lufer-Haus Pavor Richard Diamond Die schwarze Stadt Flüsterwelt Mark Brandis Heliosphere 2265 Planet Eden Oliver Döring Phantastische Geschichten Fraktal Das war morgen - Die Geister, die er rief (1972) Das war morgen - Computer argumentieren nicht (1971)
Christoph und holm berichten über ihre Versuche, zuhause und unterwegs ihre gekaufte Mediensammlung zu hören… pyradio audiobookshelf radiotray-ng
Tür 15: Das geht schnell. 10 Minuten über Ansible… oder eine Stunde über alles. Mit @cuba@social.saarland Allgemein https://www.ansible.com https://de.wikipedia.org/wiki/Ansible Dokumentation https://docs.ansible.com/ansible/latest/index.html Galaxy Collections https://galaxy.ansible.com/ui/ Ansible Tower / Automatisation Platform https://www.redhat.com/en/technologies/management/ansible UI (nicht getestet) https://github.com/ansible-semaphore/semaphore Ansible for DevOps https://www.ansiblefordevops.com https://leanpub.com/ansible-for-devops Proxy Jump https://www.redhat.com/sysadmin/ssh-proxy-bastion-proxyjump Focus OnLinux #63 https://focusonlinux.podigee.io/63-interview-mit-jan-wildeboer # vim: syntax=sshconfig # Gateway und Proxyjump Host rz1_gw # Gateway im RZ User cm Hostname 115.116.117.118 Port 222 IdentityFile ~/.ssh/id_rsa_rz1 LocalForward 35144 10.1.2.3:443 # pverz231 iLO LocalForward 35244 10.1.2.3:443 # pverz232 iLO LocalForward 31004 10.1.2.3:8006 # pverz231 Proxmox https LocalForward 31014 10.1.2.3:8006 # pverz232 Proxmox https ForwardAgent yes # =================================================== # ProxyJumpHosts Host rz1_pverz231 # pverz231 in rz1 sw Hostname 10.1.2.100 User root Port 22 IdentityFile ~/.ssh/id_rsa_rz1 ProxyJump rz1_gw Host rz1_pverz232 # pverz232 in rz1 sw Hostname 10.1.2.101 User root Port 22 IdentityFile ~/.ssh/id_rsa_rz1 ProxyJump rz1_gw
Aus dem Werkzeugkoffer rausgefallen, weil zu schwer: rsync. https://de.wikipedia.org/wiki/Rsync rsync -aHAXxv --info=progress2 -e "ssh -T -c aes128-ctr -o Compression=no -x" ./ holm@10.1.2.3:~/ --exclude .cache --exclude .local/share/gnome-boxes --exclude ISO --exclude 'vm*.raw
Christoph und holm nudeln heute mal die Liste an Standardwaffen, als auch an Spezialwerkzeug durch, manches davon sehr spezial! Viel Spaß! Top (https://de.wikipedia.org/wiki/Top_(Unix)) htop (https://de.wikipedia.org/wiki/Htop) bashtop (https://github.com/aristocratos/bashtop) btop (https://github.com/aristocratos/btop) bpytop (https://github.com/aristocratos/bpytop) atop (https://www.digitalocean.com/community/tutorials/atop-command-in-linux) iftop (https://wiki.ubuntuusers.de/iftop/) powertop (https://wiki.ubuntuusers.de/PowerTOP/) ripgrep (https://github.com/BurntSushi/ripgrep) diff (https://www.gnu.org/software/diffutils/manual/html_node/diff-Options.html) comm (https://learnbyexample.github.io/cli_text_processing_coreutils/comm.html) nushell (https://www.nushell.sh/) findmnt (https://manpages.ubuntu.com/manpages/focal/de/man8/findmnt.8.html)
Tür 12: Alles anders machen. Auch beim Storage. Ein alternativer Serviervorschlag. Hier der Aufbau des Shares: tree . ├── ----- PRIMARY ----- └── share └── pve ├── dump ├── images │ └── 10001 │ ├── disk-0 │ │ └── vm-10001-disk-0.raw │ ├── disk-1 │ │ └── vm-10001-disk-1.raw │ ├── disk-2 │ │ └── vm-10001-disk-2.raw │ ├── disk-3 │ ├── vm-10001-disk-0.raw -> disk-0/vm-10001-disk-0.raw │ ├── vm-10001-disk-1.raw -> disk-1/vm-10001-disk-1.raw │ ├── vm-10001-disk-2.raw -> disk-2/vm-10001-disk-2.raw │ └── vm-10001-disk-3.raw -> disk-3/vm-10001-disk-3.raw ├── private ├── snippets └── template ├── cache └── iso ├── kali-linux-2023.1-live-amd64.iso └── manjaro-xfce-22.0.5-230316-linux61.iso 15 directories, 9 files
Die Shownotes mit allen Beispielen, gut formatiert als Joplin Freigabe, inkl. möglichen Ergänzungen gibts auch hier: https://joplin.cloud.nerdraum.de/shares/g4it2GmYmuOIpmSvdtMTXw Bei der täglichen Arbeit hilft mir seit einiger Zeit Task (https://taskfile.dev). In dieser Folge erkläre ich anhand eines auf beliebige Projekte portierbaren Konstrukts, wie ich Task nutze um faul und schnell zu sein. Democonfig Dateistruktur # tree . ├── Arbeit │ ├── DockerHostEins │ │ ├── StackEins │ │ │ └── docker-compose.yml │ │ └── Taskfile.yml │ ├── DockerHostZwei │ │ ├── StackEins │ │ │ └── docker-compose.yml │ │ └── Taskfile.yml │ └── Taskfile.yml -> ../Taskfile.yml ├── Privat │ ├── DockerHostEins │ │ ├── StackEins │ │ │ └── docker-compose.yml │ │ └── Taskfile.yml │ ├── DockerHostZwei │ │ ├── StackEins │ │ │ └── docker-compose.yml │ │ └── Taskfile.yml │ └── Taskfile.yml -> ../Taskfile.yml └── Taskfile.yml 10 directories, 11 files Aliases alias doc="task template:doc --" alias xdoc="task template:docker --" alias swarm="xdoc swarm " Main Taskfile Taskfile.yml (Nicht ändern!) version: '3' env: DOCKER_HOST: MAIN::No HOST Defined DOCKER_HOST_NAME: MAIN::No NAME Defined DIR: '{{.USER_WORKING_DIR}}' tasks: doc: preconditions: - test -f {{.DIR}}/docker-compose.yml cmds: - echo -e \\n \ DOCKER_HOST = {{.DOCKER_HOST_NAME}}$reset_color - {{.DOCKER_HOST}} \\n \ ============================================================== \\n \ - cd {{.DIR}}; DOCKER_HOST={{.DOCKER_HOST}} docker-compose {{.CLI_ARGS}} - pwd silent: true docker: cmds: - echo -e \\n \ DOCKER_HOST = {{.DOCKER_HOST_NAME}} - {{.DOCKER_HOST}} \\n \ ============================================================== \\n \ - cd {{.DIR}}; DOCKER_HOST={{.DOCKER_HOST}} docker {{.CLI_ARGS}} silent: true Host-Taskfile Privat/DockerHostEins/Taskfile.yml: (Für jeden Remote Dockerhost die beiden Variablen in env: anpassen.) version: '3' env: DOCKER_HOST_LOCAL: ssh://root@127.0.0.1 DOCKER_HOST_LOCAL_NAME: PrivatDockerHostEins includes: template: taskfile: ../Taskfile.yml vars: DOCKER_HOST: $DOCKER_HOST_LOCAL DOCKER_HOST_NAME: $DOCKER_HOST_LOCAL_NAME Anwendungsbeispiele Was geht? Zeig mir mal was der Stack grad tut Originalbefehl: DOCKER_HOST = ssh://root@127.0.0.1 docker-compose ps Abkürzung: doc ps Ausgabe: DOCKER_HOST = PrivatDockerHostEins - ssh://root@127.0.0.1 ============================================================== NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS synapse-admin awesometechnologies/synapse-admin "/docker-entrypoint.…" synapse-admin 3 months ago Up 4 days 0.0.0.0:5001->80/tcp, :::5001->80/tcp /taskfileDemo/Privat/PrivatDockerHostEins Was geht Teil2? Zeig mir mal was der gesamte Docker Host grad tut Originalbefehl: DOCKER_HOST = ssh://root@127.0.0.1 docker ps Abkürzung: xdoc ps Ausgabe: DOCKER_HOST = PrivatDockerHostEins - ssh://root@127.0.0.1 ============================================================== CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3a0e74734c36 awesometechnologies/synapse-admin "/docker-entrypoint.…" 21 min ago Up 21 minutes :::5001->80/tcp synapse-admin 887e255f0007 postgres:13 "docker-entrypoint.s…" 6 days ago Up 4 days 5432/tcp koel-database-1 8fecd8ec7b1c nodered/node-red:3.1-debian "./entrypoint.sh" 8 weeks ago Up 4 days (healthy) :::1880->1880/tcp nodered … Führe einen Befehl im Stack/Container aus (hier ps aux, gerne auch /bin/bash oder sonstwas) Originalbefehl: DOCKER_HOST = ssh://root@127.0.0.1 docker-compose exec -it synapse-admin ps aux Abkürzung: doc exec -it synapse-admin ps aux Ausgabe: DOCKER_HOST = PrivatDockerHostEins - ssh://root@127.0.0.1 ============================================================== PID USER TIME COMMAND 1 root 0:00 nginx: master process nginx -g daemon off; 22 nginx 0:00 nginx: worker process 23 nginx 0:00 nginx: worker process 24 nginx 0:00 nginx: worker process 25 nginx 0:00 nginx: worker process 26 nginx 0:00 nginx: worker process 27 nginx 0:00 nginx: worker process 28 nginx 0:00 nginx: worker process 29 nginx 0:00 nginx: worker process 30 nginx 0:00 nginx: worker process 31 nginx 0:00 nginx: worker process 32 nginx 0:00 nginx: worker process 33 nginx 0:00 nginx: worker process 40 root 0:00 ps aux /taskfileDemo/Privat/PrivatDockerHostEins Gib mir Informationen über den Container Originalbefehl: DOCKER_HOST = ssh://root@127.0.0.1 docker inspect synapse-admin | head Abkürzung: xdoc inspect synapse-admin | head Ausgabe: DOCKER_HOST = PrivatDockerHostEins - ssh://root@127.0.0.1 ============================================================== [ { "Id": "ölfksjdlfkjsdölfkjsdölfkj", "Created": "2023-08-23T18:59:49.187636146Z", "Path": "/docker-entrypoint.sh", "Args": [ task: Failed to run task "template:docker": exit status 141 task: Failed to run task "template:docker": exit status 141 … Hier kämen je nach Container noch trölfzig Zeilen Information Zeig mir die letzten paar Zeilen Log des Stacks Originalbefehl: DOCKER_HOST = ssh://root@127.0.0.1 docker-compose logs | tail Abkürzung: doc logs | tail Ausgabe: synapse-admin | 2023/12/06 11:44:36 [notice] 1#1: start worker process 26 synapse-admin | 2023/12/06 11:44:36 [notice] 1#1: start worker process 27 synapse-admin | 2023/12/06 11:44:36 [notice] 1#1: start worker process 28 synapse-admin | 2023/12/06 11:44:36 [notice] 1#1: start worker process 29 synapse-admin | 2023/12/06 11:44:36 [notice] 1#1: start worker process 30 synapse-admin | 2023/12/06 11:44:36 [notice] 1#1: start worker process 31 synapse-admin | 2023/12/06 11:44:36 [notice] 1#1: start worker process 32 synapse-admin | 2023/12/06 11:44:36 [notice] 1#1: start worker process 33 synapse-admin | 10.250.42.1 - - [08/Dec/2023:02:21:34 +0000] "GET / HTTP/1.1" 200 941 "-" "Mozilla/5.0 (compatible; NetcraftSurveyAgent/1.0; +info@netcraft.com)" "3.249.5.61" /taskfileDemo/Privat/PrivatDockerHostEins Beherzter Neustart des gesamten Stacks mit Ausgabe der Logs Originalbefehl: DOCKER_HOST = ssh://root@127.0.0.1 docker-compose down; DOCKER_HOST = ssh://root@127.0.0.1 docker-compose up -d; DOCKER_HOST = ssh://root@127.0.0.1 docker-compose logs -f; Abkürzung: doc down; doc up -d; doc logs -f Ausgabe: DOCKER_HOST = PrivatDockerHostEins - ssh://root@127.0.0.1 ============================================================== [+] Running 2/2 ✔ Container synapse-admin Removed 0.6s ✔ Network adminmatrixlocalhost_default Removed 0.6s /taskfileDemo/Privat/PrivatDockerHostEins DOCKER_HOST = PrivatDockerHostEins - ssh://root@127.0.0.1 ============================================================== [+] Building 0.0s (0/0) [+] Running 2/2 ✔ Network adminmatrixlocalhost_default Created 0.2s ✔ Container synapse-admin Started 0.7s /taskfileDemo/Privat/PrivatDockerHostEins DOCKER_HOST = PrivatDockerHostEins - ssh://root@127.0.0.1 ============================================================== synapse-admin | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration synapse-admin | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ synapse-admin | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh synapse-admin | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf synapse-admin | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf synapse-admin | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh synapse-admin | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh synapse-admin | /docker-entrypoint.sh: Configuration complete; ready for start up synapse-admin | 2023/12/10 20:23:12 [notice] 1#1: using the "epoll" event method synapse-admin | 2023/12/10 20:23:12 [notice] 1#1: nginx/1.23.3 synapse-admin | 2023/12/10 20:23:12 [notice] 1#1: built by gcc 12.2.1 20220924 (Alpine 12.2.1_git20220924-r4) synapse-admin | 2023/12/10 20:23:12 [notice] 1#1: OS: Linux 6.1.0-1008-oem synapse-admin | 2023/12/10 20:23:12 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576 synapse-admin | 2023/12/10 20:23:12 [notice] 1#1: start worker processes synapse-admin | 2023/12/10 20:23:12 [notice] 1#1: start worker process 30 synapse-admin | 2023/12/10 20:23:12 [notice] 1#1: start worker process 31 synapse-admin | 2023/12/10 20:23:12 [notice] 1#1: start worker process 32 synapse-admin | 2023/12/10 20:23:12 [notice] 1#1: start worker process 33 synapse-admin | 2023/12/10 20:23:12 [notice] 1#1: start worker process 34 synapse-admin | 2023/12/10 20:23:12 [notice] 1#1: start worker process 35 synapse-admin | 2023/12/10 20:23:12 [notice] 1#1: start worker process 36 synapse-admin | 2023/12/10 20:23:12 [notice] 1#1: start worker process 37 synapse-admin | 2023/12/10 20:23:12 [notice] 1#1: start worker process 38 synapse-admin | 2023/12/10 20:23:12 [notice] 1#1: start worker process 39 synapse-admin | 2023/12/10 20:23:12 [notice] 1#1: start worker process 40 synapse-admin | 2023/12/10 20:23:12 [notice] 1#1: start worker process 41 … Hier scrollt das Log weiter bis CTRL-C oder der Stack stirbt.
Tür 10: Christoph und holm teilen ihre Begeisterung über PiKVM und dessen Derivate https://pikvm.org/ https://geekworm.com/collections/pikvm https://hyperion-project.org/forum/
Christoph und holm reden über SSH. SSH (https://de.wikipedia.org/wiki/Secure_Shell#Geschichte) Tunnel (https://de.wikipedia.org/wiki/Tunnel_(Rechnernetz)) SShuttle (https://github.com/sshuttle/sshuttle) AutoSSH (https://www.linux-magazin.de/ausgaben/2018/08/einfuehrung-2-5/) AutoSSH (https://www.freeshell.de/~pcfreak/mdwiki/#!content/autossh/autossh-overview.md) Der Leyrer (https://media.ccc.de/search?p=leyrer)
Tür 8: Warum es Holm in den allermeisten Fällen egal sein kann, wenn ihm ein Cloudhost oder ne VM um die Ohren fliegt, die seine Docker Container betreibt.
Tür 7: Kein Backup, kein Mitleid. Darum schaltet sich täglich irgendwo auf der Welt ein Computer ein und zieht sich dann das Delta an Daten seit gestern aus Holms Keller durch ein DSL. Georedundant und stabil. (Bashclub)[https://github.com/bashclub] (zsync)[https://github.com/bashclub/zsync] (thorstens Spendenseite)[https://ko-fi.com/thorakel] (ZFS rocks bei Youtube)[https://www.youtube.com/channel/UCC0WuyODhqPuROasZV878Yw]
Tür 6: Heute öffnet die Tür zugleich auch ein Sinkhole für Freizeit. Es geht um Bridges die zwischen verschiedenen Messenger Diensten vermitteln können, so dass man z.B. wie ich die Familiennachrichten aus Whatsapp im angenehmen Element Matrix Client lesen und ignorieren kann. (Matrix Messenger/Protokoll)[https://matrix.org/] (Mautrix Bridges)[https://github.com/mautrix] (Matterbridge)[https://github.com/42wim/matterbridge/blob/master/README.md]
Tür 5: Holms Toolbox wurde vor kurzem um Blender erweitert. Noch absolut blutiger Anfänger, konnte aber nach nem Tutorial in nem Kinderbuch eine Vase zum zerspringen gebracht werden. Holm ist ein wenig begeistert von https://www.wiley-vch.de/de/fachgebiete/computer-und-informatik/3d-grafiken-designen-und-animieren-fuer-dummies-junior-978-3-527-71769-9 und https://www.rheinwerk-verlag.de/blender-das-umfassende-handbuch/
Tür 4: Aktion Internet ausdrucken, Vorbereitung auf die Apokalypse. Holm erzählt ein wenig davon, wie er sich vor Depublizierung und Nichtwiederauffindbarkeit von Inhalten im Internet schützt. https://about.gitea.com/
Tür 3: Christoph und holm tauschen sich über ihre täglich genutzten Tools auf dem Desktop aus. Und über längst vergessene Dinge und welche die wir beide noch nicht kannten. Eine etwas längere Sonntagsfolge. https://wiki.ubuntuusers.de/Caja/ https://vifm.info/ https://alacritty.org/ https://sw.kovidgoyal.net/kitty/ https://github.com/Swordfish90/cool-retro-term
Tür 2: Heute stelle ich ein tolles Einsteigertutorial in die Programmierung der Fantasy 8-Bit Konsole TIC-80 vor. Viel Spaß! tic80.com Die Seite zum Tutorial mit Infos zu einem Workshot - jugendhackt.de Die Playlist der Videos bei Youtube Revision Demo Party Lovebyte Demo Party
Neues Jahr, neues Glück! Ob wir dieses Jahr die 24 Türchen vollbekommen? vorletztes Jahr gings auf podcast.zentonic.org bis Tür 16, 2020 machten wir auf digitalsurvivor.de/ds/show die 24 voll.