Compare commits

..

58 Commits

Author SHA1 Message Date
5773295f2d UPD btrfs-snapshot script 2025-06-13 12:51:35 +02:00
3430a5c0da Merge branch 'master' of ssh://kuschel.at:21861/public/scripts 2025-06-02 09:59:09 +02:00
09ca2670c1 ADD eduroam arch linux installation 2025-06-02 09:58:50 +02:00
6ffa952c66 ADD eduroam-arch-linux-install info, 2025-05-19 03:54:37 +08:00
dfedf9ff1d UPD wifi-menu doesn't work? 2025-02-09 16:28:45 +01:00
11343252ef Merge branch 'master' of ssh://kuschel.at:21861/public/scripts 2025-01-22 12:44:13 +01:00
3358f3ad91 ADD installation md file from sk0x1234 @github.com for Arch Linux 2025-01-22 12:43:50 +01:00
2bdefb32be ADD installation md file from sk0x1234 @github.com for Arch Linux 2025-01-22 12:43:01 +01:00
8671e5a014 FIX typo in readme 2024-08-26 22:21:00 +02:00
4942e9382e ADD manual for Creating a Bootable Win10 USB drive 2024-08-26 20:03:55 +02:00
3a7dd11a04 FIX addresses 2024-07-25 22:22:04 +02:00
86c5c0e5e7 FIX @Innsbruck,Rum 2024-07-25 00:27:50 +02:00
686dee9536 FIX Schloßteichweg in Klagenfurt, etc. 2024-07-24 22:05:40 +02:00
c484e74f9a DEL unused temp_file 2024-07-24 02:05:14 +02:00
c2f0f9002b FIX deleting temporary gitea file 2024-07-24 01:53:38 +02:00
1838e272f4 FIX creation of temp folder 2024-07-24 01:49:34 +02:00
9bf5b636b9 FIX with temp dir 2024-07-24 01:44:45 +02:00
8f9c0a3ed4 FIX gitea update, problem when there is a directory named gitea exists. 2024-07-24 01:21:59 +02:00
88072138d4 FIX Gussriegelstraße, Laaer-Berg-Straße, Roßauer Lände 2024-07-22 15:35:09 +02:00
a3b2e0cd12 Fix Langenlois PLZ 2024-07-22 14:29:30 +02:00
5f2b03ba83 UPD all post_code and street+city 2024-07-22 05:38:41 +02:00
6a6d48ed40 UPD v.a. Oberösterreich Update 2024-07-20 02:30:12 +02:00
18291ac287 UPD 20240718 2024-07-19 03:18:46 +02:00
178bee4c92 UPD Burgenland komplett 2024-07-19 02:59:49 +02:00
e86e2e4e4c UPD v.a. street, city Burgenland, Stmk. 2024-07-19 02:36:27 +02:00
b8e5904fa7 UPD city, address 2024-07-18 23:31:22 +02:00
78c70459d3 UPD spelling city and street 2024-07-18 03:54:09 +02:00
f772d1d30b UPD city,street corr 2024-07-18 02:42:43 +02:00
5aa276344f UPD street, city replacement, post codes 2024-07-18 00:33:06 +02:00
1ce2f886e1 Describe mariadb database create user and database 2024-07-14 23:53:32 +02:00
3f223b399e ADD .typo_call e.g. OE-7RLJ instead of OE7RLJ 2024-07-04 22:37:08 +02:00
301e80afa7 ADD drop table at start 2024-07-02 00:04:43 +02:00
f435f32bba ADD corr_street 2024-06-30 22:35:54 +02:00
e77006bf76 CHG callbook_address SQL table 2024-06-30 14:05:55 +02:00
7dfbeb3b79 ADD Mürzzuschlag to .post_code 2024-06-25 10:08:11 +02:00
d9a97b8e66 ADD Postal Code, TODO 2024-06-24 01:33:22 +02:00
e0bc13d092 ADD create database (when enough privileges) 2024-06-23 20:47:05 +02:00
3a8032b787 ADD Rufzeichenliste for testing purposes 2024-06-23 19:49:35 +02:00
545f4db35f UPD configuration file config.ini 2024-06-23 19:48:59 +02:00
73a989e4a4 Merge branch 'master' of ssh://kuschel.at:21861/public/scripts 2024-06-23 15:24:03 +02:00
b0f2833662 ADD abspath to the default path for testing 2024-06-23 15:23:57 +02:00
234a896278 ADD config.ini and parser 2024-06-23 15:21:15 +02:00
7278cb6883 FIX firstname 2024-06-20 03:27:45 +02:00
c060763356 ADD new firstnames 2024-06-20 00:18:04 +02:00
611be92c29 FIX gender function 2024-06-19 22:45:21 +02:00
438cccc474 ADD mariadb database import, no addresses yet 2024-06-19 19:51:08 +02:00
5682220486 CHG to /bin/bash 2024-06-17 21:07:51 +02:00
ce67b2f5ba Improve language 2024-06-17 20:59:16 +02:00
fab3edc45a CHG verbose > 0 printing call found, using typo file, print typo file 2024-06-17 20:01:16 +02:00
5814cb1cfe ADD typo fixing file 2024-06-17 19:16:28 +02:00
ad1a7c4507 ADD .callbook_club file to expand clubstation names 2024-06-16 17:00:46 +02:00
23bd746108 Add parser, still work in progress 2024-06-16 07:38:30 +02:00
503abb86a6 Add more time when interactive 2024-06-15 23:44:41 +02:00
a479e1586f ADD get fileattribute, file basename 2024-06-15 23:40:34 +02:00
656ed78288 ADD callbook.py init release 1.0.0 2024-06-14 00:20:26 +02:00
99912ce78c UPD README.md and README.ARCH.md 2024-06-13 03:03:39 +02:00
7d9cf9d7e6 ADD Readme for Arch Linux Installation 2024-06-13 01:23:09 +02:00
5733f5808b UPD Readme 2024-06-12 19:41:16 +02:00
24 changed files with 3788 additions and 22 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
.vscode
*.pdf

18
afu/.callbook_club Normal file
View File

@ -0,0 +1,18 @@
Landesverband Wien im Österreichischen Versuchssenderverband
Amateurfunkverein des Österreichischen Bundesheeres - Austrian Military Radio Society
Radio-Amateur-Klub der Technischen Universität Wien - Radio Amateur Club of the TU Wien
Landesverband Tirol des Österreichischen Versuchssenderverbands
Kulturverein der österreichischen Eisenbahner, Sektion Amateurfunk
Höhere Technische Bundeslehr- und Versuchsanstalt Innsbruck Anichstraße
Österreichisches Rotes Kreuz, Landesverband Tirol
Österreichisches Rotes Kreuz, Landesverband Vorarlberg
Österreichisches Rotes Kreuz, Landesverband Steiermark
Johanniter Tirol Rettungs- und Einsatzdienste mildtätige GmbH
Österreichischer Versuchssenderverband - Dachverband
Landesverband Niederösterreich des Österreichischen Versuchssenderverbands
Amateurfunkverband Salzburg - Landesverband des Österreichischen Versuchssenderverbandes
"OAFV" des ÖVSV, Ortsgruppe Ried - Grieskirchen
OÖ Amateurfunkverband, Ortsgruppe Ried-Grieskirchen
OE3XHT - Amateurfunkverein an der HTL St. Pölten
Stadtgemeinde Feldkirch Risiko- und Katastrophen-Schutz
IPA,LANDESGRUPPE VBG., z.Hd.Herrn Longhi Harald OE9HLH

736
afu/.gender Normal file
View File

@ -0,0 +1,736 @@
m Abdul
m Abdull
m Achaz
m Achim
m Adalbert
m Adalberto
m Adam
m Adem
m Adolf
m Adrian
m Alan
m Alastair
m Albert
m Albin
m Albrecht
m Aleksandar
m Aleksander
m Aleksey
m Alex
m Alexander
m Alfger
m Alfons
m Alfred
m Aljoscha
m Aljosha
m Allan
m Alois
m Alvaro
m Amel
m András
m Andràs
m Andre
m Andreas
m Andrej
m Ansgar
m Anton
m Archibald
m Arkadiusz
m Armin
m Arne
m Arno
m Arnold
m Arnulf
m Arpad
m Arthur
m Artur
m Attila
m August
m Augustin
m Augustinus
m Avdija
m Axel
m Baldur
m Bartlmä
m Benedict
m Benedikt
m Benjamin
m Benno
m Bernard
m Bernhard
m Berthold
m Bertram
m Bernd
m Bevan
m Bo
m Bogoljub
m Boguslaw
m Bohumil
m Boris
m Branko
m Brenden
m Bruno
m Burghard
m Burkhard
m Burkhart
m Calin
m Camillo
m Carl
m Carlo
m Carlos
m Caslav
m Cezar-Iuliu
m Charles
m Chris
m Christian
m Christian-Erich
m Christof
m Christoph
m Christopher
m Chungil
m Cedric
m Claudio
m Claus
m Clemens
m Corneliu
m Cornelius
m Craig
m Cristian-Andrei
m Cyrill
m Daniel
m Darko
m David
m Dejan
m Denis
m Detlef
m Dieter
m Dietmar
m Dirk
m Domenik
m Dominic
m Dominik
m Dominique
m Donko
m Dorian
m Dragan
m Dustin
m Guenter
m Eberhard
m Eckart
m Edgar
m Edin
m Edmund
m Eduard
m Edward
m Edwin
m Egidius
m Egon
m Elias
m Elmar
m Emanuel
m Emil
m Emir
m Emmerich
m Engelbert
m Enrico
m Erhard
m Eric
m Erich
m Erik
m Ernest
m Ernst
m Erwin
m Eugen
m Ewald
m Fabian
m Fabio
m Felix
m Ferdinand
m Fery
m Filip-Jan
m Florian
m Folker
m Franc
m Francesco
m Frank
m Franz
m Franz-Joseph
m Fred
m Frederic
m Frederick
m Frederikus
m Fredy
m Friedmann
m Friedrich
m Fridolin
m Fritz
m Frohwald
m Gabor
m Gabriel
m Gasti
m Gavril
m Gebhard
m Geert
m Georg
m Gerald
m Gerd
m Gerfried
m Gerhard
m Gernod
m Gernot
m Gerold
m Gert
m Gerwin
m Gilbert
m Giulio
m Gisbert
m Gottfried
m Gottlieb
m Gregor
m Gregor-Emanuel
m Guenther
m Guido
m Gunar
m Gunnar
m Gunter
m Günter
m Gunther
m Günther
m Guntram
m Gustav
m Gustav-Josef
m Hagen
m Hannes
m Hanno
m Hanns
m Hanns-Michael
m Hans
m Hans-Christian
m Hans-Christoph
m Hans-Ewald
m Hans-Joachim
m Hans-Jörg
m Hans-Jürgen
m Hans-Otto
m Hans-Peter
m Hans-Werner
m Hansjoerg
m Hansjörg
m Harald
m Harald-Thomas
m Harry
m Hartmut
m Hartwig
m Hartwin
m Heiko
m Heimo
m Heiner-Anton
m Heinrich
m Heinz
m Helfried
m Helge
m Hellmut
m Hellmuth
m Helmut
m Helmuth
m Henning
m Henryk
m Herbert
m Heribert
m Hermann
m Herolind
m Herwig
m Holger
m Horia
m Horst
m Hubert
m Hugo
m Ilie
m Immanuel
m Ingmar
m Ingo
m Ingulf
m Ivan
m Ivaylo
m Ivo
m Izudin
m Jacob
m Jakob
m Jan
m Jann-Steffen
m Jaroslav
m Jens
m Jerzy
m Joachim
m Jochen
m Joerg
m Jonas
m Jonathan
m Jörg
m Jörn
m Josef
m Josef-Manfred
m Joseph-Maria
m Jozef
m Josip
m Johann
m Johannes
m Julian
m Julius
m Junichi
m Jürgen
m Juri
m Jurij
m Karl
m Karl-Heinz
m Karl-Otto
m Karl-Thomas
m Karlheinz
m Katarina
m Kersten
m Kevin
m Kilian
m Klaus
m Klaus-Dieter
m Klaus-Jürgen
m Klemens
m Knut
m Konrad
m Konstantin
m Krzysztof
m Kuno
m Kurt
m Lars
m Laszlo
m Laurence
m Laurenz
m Laurin
m Leander
m Leo
m Leon
m Leonel
m Leonhard
m Leopold
m Less
m Liam
m Lorenz
m Lothar
m Luca
m Lucas
m Luciano
m Ludwig
m Luis
m Lukas
m Manfred
m Manhart
m Manuel
m Marc
m Marcel
m Marcin
m Marco
m Marcus
m Marijan
m Mario
m Mario-Rafael
m Marius
m Mark
m Marko
m Markus
m Martin
m Marzell
m Mathias
m Matija
m Matteo
m Matteo-Alessandro
m Matthäus
m Matthew
m Matthias
m Max
m Maxim
m Maximilian
m Meinhard
m Meinrad
m Meletios
m Michael
m Mihaly
m Mike
m Mikhail
m Mirian
m Mirijan
m Mirijan
m Miroslav
m Monty
m Moritz
m Muhammed
m Murat
m Nail
m Nanak
m Nicolai
m Nicolas
m Nigel
m Niklas
m Nikolas
m Nikolaus
m Nils-Henrik
m Noah
m Norbert
m Norman
m Ole
m Ole-Christian
m Oliver
m Oliver-Helmut
m Ortwin
m Oskar
m Oswald
m Oswin
m Othmar
m Otmar
m Oto
m Otto
m Otwin
m Ovidiu
m Ovidiu-Dan
m Ozren
m Patrick
m Patrik
m Paul
m Paulino
m Petar
m Peter
m Peter-Ernst
m Peter-Holger
m Peter-Philipp
m Petr
m Petros
m Philemon
m Philip
m Philipp
m Pieter
m Piotr
m Primoz
m Radovan
m Raimund
m Rainer
m Rafael
m Raffael
m Raffi
m Ramon
m Raoul
m Raphael
m Ralf
m Ralph
m Reinald
m Reiner
m Reinhard
m Reinhart
m Rembert
m Rene
m Riccardo
m Richard
m Reinhold
m René
m René-Lysander
m Reto
m Robert
m Robin
m Roger
m Roland
m Rolf-Dieter
m Rolf-Dietrich
m Romain
m Roman
m Ronald
m Rüdiger
m Rudolf
m Rupert
m Samir
m Samuel
m Sándor
m Sandro
m Santiago
m Sasa
m Sascha
m Sebastian
m Seong
m Sepp
m Severin
m Siegfried
m Siegmar
m Simon
m Stefan
m Stefano
m Steffen
m Stelian-Gabriel
m Stelio
m Stephan
m Stephen
m Subagio-Rasidi
m Suad
m Sven
m Sven-Erik
m Tadej
m Tamer
m Tamim
m Theodor
m Thomas
m Thomas-Michael
m Thorsten
m Tibor
m Tillmann
m Tim
m Timm
m Timo
m Tobias
m Tomislav
m Tommaso
m Tonny
m Torsten
m Udo
m Ulf
m Ulfried
m Ulrich
m Ümmet
m Urban
m Uwe
m Valentin
m Valerian
m Victor
m Viktor
m Viorel
m Vjekoslav
m Vladimir
m Volker
m Waldemar
m Walter
m Werfried
m Werner
m Wieland
m Wigbert
m Willibald
m Wilfried
m Wilfrid
m Wilhelm
m Wolf
m Wolf-Dieter
m Wolfred
m Winfried
m Wolfgang
m Wolfram
m Yannic
m Zeljko
m Zlatko
m Zoran
m Zvonko
f Adelheid
f Alexandra
f Alice
f Alina
f Andrea
f Angela
f Angelika
f Anita
f Anja
f Anna
f Anna-Maria
f Anneliese
f Annemarie
f Astrid
f Auguste
f Barbara
f Beate
f Beatrice
f Beatrix
f Bernadette
f Bernardine
f Berta
f Bettina
f Bianca
f Birgit
f Brigitte
f Brita
f Britta
f Carina
f Carmen
f Chiara
f Christa
f Christine
f Christl
f Claudia
f Cornelia
f Dagmar
f Doris
f Durdica
f Edda
f Edeltraud
f Edith
f Elfriede
f Elisabeth
f Elke
f Ella
f Erdmuthe
f Erika
f Ernestine
f Esther
f Eva
f Eva-Maria
f Eveline
f Evelyn
f Flora
f Franziska
f Frederike
f Frieda
f Friederike
f Gabi
f Gabriela
f Gabriella
f Gabriele
f Gerda
f Gerlinde
f Gertraud
f Gertraude
f Gertrud
f Gertrude
f Gisela
f Gitta
f Gudrun
f Gunhild
f Gustav
f Hanna
f Hannelore
f Heidelinde
f Heidi
f Heidrun
f Helga
f Hemma
f Hera
f Hermine
f Herta
f Hertha
f Hilde
f Hildegard
f Ida-Maria
f Ilse
f Inge
f Ingeborg
f Ingeburg
f Ingrid
f Irene
f Iris
f Isabel
f Isabella
f Isolde
f Ivonne
f Jana
f Janet
f Jasmin
f Jemilla-Katalin
f Jessica
f Johanna
f Josefine
f Julia
f Juliana
f Jutta
f Karen
f Karin
f Karolina
f Karoline
f Katharina
f Kathrin
f Katja
f Katrin
f Kerstin
f Kirsti
f Klaudia
f Kornelia
f Krista
f Laila
f Larissa
f Leia
f Leonie
f Lieselotte
f Ligia
f Lisbeth
f Lydia
f Lygia
f Luisa
f Luiza
f Magdalena
f Manfreda
f Manuela
f Margareta
f Margarethe
f Margit
f Margot
f Margret
f Maria
f Marianne
f Marie
f Marie-Luise
f Marina
f Marion
f Marlene
f Martha
f Martina
f Mathilde
f Mechthild
f Melanie
f Michaela
f Monika
f Nadine
f Natasa
f Natascha
f Nicole
f Nikolitsa
f Nina
f Noriko
f Olivia
f Patrizia
f Paulina
f Pauline
f Petra
f Phaedra
f Pia
f Regina
f Reinhilde
f Renate
f Renee
f Rhea
f Rosa
f Rosina
f Roswitha
f Ruth
f Sabine
f Sandra
f Senada
f Ricarda
f Sieglinde
f Silvia
f Simone
f Solveig
f Sonja
f Sophia
f Sophie
f Stefanie
f Steffi
f Stephanie
f Susanne
f Sveta
f Sybille
f Sylvia
f Tadeja
f Tamara
f Tanja
f Tatjana
f Theresia
f Tina
f Ulrike
f Ursula
f Ute
f Valerie
f Valery
f Veronika
f Victoria
f Waldtraud
f Waltraud
f Yuri
f Yvonne

1
afu/.gitattributes vendored Normal file
View File

@ -0,0 +1 @@
*.pdf filter=lfs diff=lfs merge=lfs -text

5
afu/.gitignore vendored Normal file
View File

@ -0,0 +1,5 @@
# Ignore the following files
# Configuration File of callbook, config.ini is created automatically after starting the script
config.ini
# For testing purposes, store this PDF as lfs (large file storage), pls install git-lfs.
!Rufzeichenliste_AT_Stand_20240601.pdf

665
afu/.post_code Normal file
View File

@ -0,0 +1,665 @@
2000 Stockerau|Grillparzerstraße#Stockerau#Grillparzergasse
2000 Stockerau|Grillparzergasse
2000 Stockerau
2102 Bisamberg|Am Kronawett 15/Hagenbr#Hagenbrunn#Am Kronawett 15
2103 Langenzersdorf|Tutzg#Langenzersdorf#Tutzgasse
2103 Langenzersdorf
2123 Unterolberndf.|Sdlg.Rosenbergen#Unterolberndorf#Siedlung Rosenbergen
2130 Mistelbach|Dr-Hoellrigl-Straße#Mistelbach#Doktor-Höllrigl-Straße
2136 Laa/Thaya|Teichgasse#Laa an der Thaya
2136 Laa/Thaya#Laa an der Thaya
2154 Unterstinkenbr#Unterstinkenbrunn
2185 Prinzendorf/Z.|Ebersd/Zaya Erdoelstraße 8#Ebersdorf an der Zaya#Erdölstraße 8
2185 Prinzendorf|Scheibenbergstraße#Rannersdorf an der Zaya#Scheibenbergstraße
2193 Wilfersdorf|Augasse 13,Bullendorf#Bullendorf#Augasse 13
2201 Gerasdorf/Wien|Bahnstraße 38,Seyring,#Seyring#Bahnstraße 38
2201 Gerasdorf/Wien|Seyring,#Seyring#
2201 Gerasdorf/Wien|Schanzenweg#Gerasdorf
2201 Gerasdorf/Wien|Bahnstraße#Gerasdorf
2214 Deutsch Wagram|Mozartstraße#Auersthal
2221 Groß Schweinbarth|Matzner Straße#Groß-Schweinbarth#Matznerstraße
2231 Strasshof/Nbhn#Strasshof an der Nordbahn
2231 Strasshof/Nb#Strasshof an der Nordbahn
2232 Deutsch/Wagram|Fr Hegel-Gasse#Deutsch-Wagram#Friedrich Hegel-Gasse
2285 Leopoldsdorf/M#Leopoldsdorf im Marchfelde
2301 Grossenzersd.#Groß-Enzersdorf
2301 Grossenzersdf|Wittau,#Wittau#
2304 Orth/Donau#Orth an der Donau
2320 Schwechat-Rann|Gerschlagerg#Schwechat-Rannersdorf#Geschlagergasse
2325 Himberg|Teichgasse#Pellendorf#Teichgasse
2325 Himberg B.Wien#Himberg bei Wien
2326 Ma Lanzendorf#Maria Lanzendorf
2331 Vösendorf
2344 Ma.Enzersdorf/G#Maria Enzersdorf
2344 Ma.Enzersdorf|Giesshueblerstraße#Maria Enzersdorf#Gießhüblerstraße
2345 Brunn/Gebirge#Brunn am Gebirge
2345 Brunn/Geb#Brunn am Gebirge
2351 Wiener Neudorf|Reisenbauerring#Wiener Neudorf#Reisenbauer-Ring
2351 Wr.Neudorf|Reisenbauerring#Wiener Neudorf#Reisenbauer-Ring
2351 Wr.Neudorf#Wiener Neudorf
2352 Gumpoldskirch.#Gumpoldskirchen
2352 Gumpoldskirchn#Gumpoldskirchen
2353 Guntramsdorf
2361 Laxenburg
2362 Biedermannsd.#Biedermannsdorf
2384 Breitenfurt#Breitenfurt bei Wien
2392 Sulz/Wienerwd#Sulz im Wienerwald
2401 Fischamend
2431 Kleinneusiedl|Enzerdf/F,Birkenweg#Enzersdorf an der Fischa#Birkenweg
2431 Kleinneusiedl
2442 Unterwaltersdorf
2442 Unterwaltersdf#Unterwaltersdorf
2443 Dtsch Brodersd#Deutsch-Brodersdorf
2460 Bruck/L|Parndfstraße 34,Bruckneudf#Bruckneudorf#Parndorfer Straße 34
2475 Neudorf-Parndf#Neudorf
2475 Neudorf/Parndf#Neudorf
2491 Neufeld/Leitha#Neufeld an der Leitha
2493 Lichtenwörth
2500 Baden Bei Wien|Braitnerstraße#Baden#Braitner Straße
2500 Baden B Wien|Braitnerstraße#Baden#Braitner Straße
2500 Baden B.Wien#Baden
2533 Klausen-Leopdf#Klausen-Leopoldsdorf
2551 Enzesfeld
2560 Berndorf
2563 Pottenstein
2630 Ternitz
2632 Wimpassing#Wimpassing im Schwarzatale
2662 Schwarzau/Geb.#Schwarzau im Gebirge
2700 Wr.Neustadt|Piestinger Weg#Wiener Neustadt
2700 Wr.Neustadt|Schuetzengasse#Wiener Neustadt#Schützengasse
2700 Wr Neustadt|Mittere G#Wiener Neustadt#Mittere Gasse
2700 Wr.Neustadt|Ezilingasse#Wiener Neustadt
2734 Puchberg|Ziehrerweg#Puchberg am Schneeberg#Ziehrerweg
2751 Steinabrückl|Dr M Jung-St 9,Matzendf#Matzendorf-Hölles#Dr.-Max-Jung-Straße 9
2752 Wöllersdorf
2753 Piesting
2761 Miesenbach
2801 Katzelsdorf
2822 Erlach/Pitten|Linsberg#Bad Erlach an der Pitten#Linsberg
3004 Ried/Riederberg|Weinzierl,Gartenstraße#Weinzierl#Gartenstraße
3004 Ried/Riederberg#Ried am Riederberg
3011 Untertullnerb#Untertullnerbach
3011 Purkersdorf|Tullnerbachstraße 87/
3012 Wolfsgraben
3013 Tullnerbach-Lw#Tullnerbach-Lawies
3031 Rekawinkel
3034 Ma Anzbach#Maria Anzbach
3062 Kirchstetten
3100 St Pölten-Spr|Völtendorferstraße#St. Pölten#Völtendorfer Straße
3100 St Pölten-Wag|Altmanng#St. Pölten#Altmanngasse
3100 St Pölten|Bozenerstraße#St. Pölten#Bozener Straße
3100 St Pölten-Spratzern|Harter-Straße 22#St. Pölten#Harter Straße 22
3100 St Pölten|Widerinstraße#St. Pölten
3100 St Pölten|Wienerstraße#St. Pölten#Wiener Straße
3100 St Pölten#St. Pölten
3104 St Pölten-Har|Meerskrautgasse#St. Pölten
3143 Pyhra, St Pölten|Racking#Gattring-Raking
3151 St Georgen/Stf#St. Georgen am Steinfelde
3161 St Veit/Göls#St. Veit an der Gölsen
3192 Hohenberg
3203 Rabenstein|Tradigist#Tradigist
3251 Purgstall/Erl.#Purgstall an der Erlauf
3321 Ardagger|Stefanshart#Ardagger#Stephanshart
3332 Rosenau#Rosenau am Sonntagberg
3335 Weyer|Mühlein
3335 Weyer,Ooe|Neudorf#Neudorf
3340 Waidhofen/Ybbs|Tuerkenweg#Waidhofen an der Ybbs#Türkenweg
3340 Waidhofen/Ybbs#Waidhofen an der Ybbs
3362 Mauer-Öhling#Mauer bei Amstetten
3364 Neuhofen/Ybbs#Neuhofen an der Ybbs
3372 Blindenmarkt
3390 Melk
3430 Tulln#Tulln an der Donau
3434 Tulbing
3470 Kirchberg/Wagr|Ottenthal#Kirchberg am Wagram
3473 Muehlbach/Mtbg|Nr.51#Mühlbach am Manhartsberg#Hauptstraße 5
3500 Krems
3500 Krems/Donau#Krems
3511 Furth/Goettwg#Furth bei Göttweig
3511 Furth/Göttweig#Furth bei Göttweig
3512 Mautern#Mautern an der Donau
3550 Langenlois|Krumpoeckallee#Langenlois#Krumpöck-Allee
3550 Langenlois
3620 Spitz/Donau|Gaertnerweg#Spitz an der Donau#Gärtnerweg
3714 Sitzendorf/Sch#Sitzendorf an der Schmida
3751 Sigmundsherbg#Sigmundsherberg
3812 Gr.Siegharts#Groß-Siegharts
3812 Groß Siegharts#Groß-Siegharts
3812 Gr Siegharts#Groß-Siegharts
3813 Dietmanns
3830 Waidhofen/Thay|Pelletstraße#Waidhofen an der Thaya#Anton-Pellet-Straße
3830 Waidhofen/Thay|Dr.Schoenbauerstraße#Waidhofen an der Thaya#Dr.-Leopold-Schönbauer-Straße
3830 Waidhofen/Th|Frauenstaffel/Evn#Waidhofen an der Thaya#Frauenstaffel/EVN
3843 Dobersberg|Merkengersch
3860 Heidenreichst.#Heidenreichstein
3871 Nagelberg|Alt-Nagelberg#Alt-Nagelberg
3871 Nagelberg|Hinterpocherst 227#Nagelberg#Hinterpocherstraße 227
3871 Nagelberg|Steinbach#Nagelberg#Steinbach
3910 Zwettl
3920 Grossgerungs#Groß Gerungs
3943 Schrems|Budweiserstraße#Schrems#Budweiser Straße
3943 Schrems
3950 Gmuend|Siedlungsstr2 Dietmanns#Dietmanns#Siedlungsstraße 2
3950 Gmuend|Dietmanns#Dietmanns
3950 Gmünd|Sempersdlg 7,Ehrendorf#Ehrendorf#Sempersiedlung 7
4020 Linz|Blumauerstraße
4020 Linz|Breitwiesergutstraße
4020 Linz|Eichendorffstraße
4020 Linz|Glimpfingerstraße
4020 Linz|Greilstraße
4020 Linz|Grundbachweg
4020 Linz|Hugo-Wolf-Straße
4020 Linz|Humboldtstraße
4020 Linz|Kaisergasse
4020 Linz|Kopernikusstraße
4020 Linz|Körnerstraße
4020 Linz|Maidwiesertrasse#Linz#Maidwieserstraße
4020 Linz|Meggauerstraße
4020 Linz|Strnadweg#Linz#Strnadtweg
4030 Linz-Ebelsberg|Kastweg 197A
4030 Linz-Ebelsberg|Traundorfer
4030 Linz|Auwiesenstraße
4030 Linz|Franzosenhausweg
4030 Linz|Hochwangerstraße
4030 Linz|Karl-Steiger-Straße
4030 Linz|Klettfischerweg
4030 Linz|Lunzerstraße
4030 Linz|Meindlstraße
4030 Linz|Seidelbastweg
4030 Linz|Sommerstraße
4030 Linzding|Traunauweg#Linz#Traunauweg# typo / mix of Linz Leonding :-)
4030 Linz|Traunaweg
4030 Linz|Tunnerweg
4030 Linz|Volkenstorferweg
4040 Linz|Altenberger
4040 Linz|Aubrunnerweg
4040 Linz|Breinbauerweg
4040 Linz|Freistädter Straße
4040 Linz|Galvanistraße
4040 Linz|Hauserstraße
4040 Linz|Hazodstraße
4040 Linz|Johann-Wilhelm-Klein-Straße
4040 Linz|Lackerwiesen#Linz#In der Lackerwiesen
4040 Linz|Marienberg
4040 Linz|Pfeifferstraße
4040 Linz|Riesenwiese
4040 Linz|Sperlstraße
4040 Linz|Voltastraße
4048 Linz-Puchenau|Kürnbergblick
4050 Traun
4053 Haid/Ansfelden#Haid bei Ansfelden
4055 Haid|Pucking.Paris-Straße#Pucking#Parisstraße
4060 Linz|Rembrandtstraße#Leonding
4060 Linz/Hart|Martinistraße#Leonding
4061 Pasching
4076 St.Marienkrch.|Polsenztal#St. Marienkirchen an der Polsenz
4082 Aschach/Donau#Aschach an der Donau
4084 St.Agatha|Gmein#St. Agatha
4113 St.Martin/M|Oberhart#St. Martin im Mühlkreis
4150 Rohrbach#Rohrbach-Berg
4150 C/O G.Klein Rohrbach#Rohrbach-Berg
4161 Ulrichsberg
4170 Haslach/Muehl#Haslach an der Mühl
4171 St Peter|Marbach#Auberg
4174 Niederwdkirch|Zeissendorf#Niederwaldkirchen#Zeißendorf
4183 Traberg|Unterbrunwald#Traberg#Unterbrunnwald
4191 Vorderweissenb#Vorderweißenbach
4212 Neumarkt/Muehl#Neumarkt im Mühlkreis
4273 Unterweißenbach
4300 St Valentin#Sankt Valentin
4400 Steyr
4407 Dietach
4421 Aschach/Steyr#Aschach an der Steyr
4451 Garsten|Roman-Rauscher-Straße#Garsten#Roman-Rauscher-Straße 2#OE5GL via qrz.com
4451 Garsten
4481 Asten
4490 St Florian#St. Florian
4502 St.Marien/Neuh|Austraße#St. Marien
4502 St.Marien|Schulstraße#St. Marien
4533 Piberbach
4552 Wartberg/Krems#Wartberg an der Krems
4600 Wels
4600 Wels-Thalheim#Thalheim bei Wels
4643 Pettenbach
4650 Lambach
4651 Stadl-Paura
4673 Hairedt 1|Gaspoltshofen#Gaspoltshofen#Hairedt 1
4701 B.Schallerbach#Bad Schallerbach
4720 Neumarkt|Kirchbach#Kallham#Kirchbach#OE5URM from qrz.com, Neumarkt im Hausruckkreis
4720 Neumarkt/Hsrk.|Kallham#Kallham
4724 Neukirchen Am Wald|Nr#Neukirchen am Walde
4741 Wendling#Wendling bei Haag
4751 Dorf/Pram#Dorf an der Pram
4762 St.Willibald|Aichet#Aichet
4775 Taufkirchen#Taufkirchen an der Pram
4780 Schaerding#Schärding
4782 Schaerding-St Floria#St. Florian am Inn
4800 Attnang-Puchheim
4800 Attnang-Puchhm#Attnang-Puchheim
4813 Altmuenster|Stuecklbachstraße#Altmünster#Stücklbachstraße
4816 Gschwandt B.Gd#Gschwandt
4822 Bad Goisern#Bad Goisern am Hallstättersee
4822 Steeg|Reitern#Bad Goisern am Hallstättersee
4822 Steeg Hallst|Reitern#Bad Goisern am Hallstättersee
4823 Steeg,Hallstaetters.|St.Agatha#Bad Goisern am Hallstättersee#St. Agatha
4861 Schörfling A.A.#Schörfling am Attersee
4863 Seewalchen/Att#Seewalchen am Attersee
4871 Pfaffing|Tiefenbach
4873 Frankenburg|Badsiedlung#Frankenburg am Hausruck
4873 Frankenburg|Zachleiten#Frankenburg am Hausruck
4880 St.Georgen Im Atterg|Brandham#Berg im Attergau
4902 Wolfsegg A.H.|Rossmarkt#Wolfsegg am Hausruck#Roßmarkt
4910 Ried/Innkreis#Ried im Innkreis
4910 Ried|Schwanthalergasse#Ried im Innkreis
4910 Ried Im Ikrs.#Ried im Innkreis
4932 Kirchheim I.I.#Kirchheim im Innkreis
4932 Kirchheim/Ikr.#Kirchheim im Innkreis
4950 Altheim
4975 Roszbach|Nr#Suben#Roßbach#
4982 Obernberg/Inn#Obernberg am Inn
## https://www.statistik.at/verzeichnis/strassenliste/gemplzstr_5.pdf
## https://www.statistik.at/verzeichnis/strassenliste/gemplzstr_5.xls
5020 Salzburg|Alexander Girardistraße#Salzburg#Alexander-Girardi-Straße
5020 Salzburg|Alpenstraße 83
5020 Salzburg|Berchtesgadnerstraße#Salzburg#Berchtesgadner Straße
5020 Salzburg|Bergstraße
5020 Salzburg|Bruendlweg#Salzburg#Bründlweg
5020 Salzburg|Duerlingerstraße#Salzburg#Dürlingerstraße
5020 Salzburg|Elisabethstraße
5020 Salzburg|Erich-Fried-Straße
5020 Salzburg|Erlenstraße
5020 Salzburg|Goethestraße
5020 Salzburg|Haunspergstraße
5020 Salzburg|Innsbrucker Bundesstraße
5020 Salzburg|Julius-Haagn-Straße
5020 Salzburg|Kaiserschützenstraße
5020 Salzburg|Kendlerstaße#Salzburg#Kendlerstraße
5020 Salzburg|Kuno-Brandauer-Straße
5020 Salzburg|Landsturmstraße
5020 Salzburg|Linzer Bundesstraße 11
5020 Salzburg|Moosstraße 86B
5020 Salzburg|Neutorstraße
5020 Salzburg|Peter-Pfenninger-Straße
5020 Salzburg|Pfeifferhofstraße
5020 Salzburg|Prinzingerstraße#Salzburg#Prinzingerstraße
5020 Salzburg|Roseggerstraße
5020 Salzburg|Scherzhauserfeldstraße 36
5020 Salzburg|Scherzhauserfeldstr#Salzburg#Scherzhauserfeldstraße 36
5020 Salzburg|Schieszstattstraße#Salzburg#Schießstattstraße
5020 Salzburg|Schumacherstraße
5020 Salzburg|Sigmund-Haffner-Gasse
5020 Salzburg|Strubergasse
5020 Salzburg|Tenglinggasse
5020 Salzburg|Tiefenbachhofstraße
5020 Salzburg.|Pillweinstraße#Salzburg
5023 Salzburg|Langmoosweg 5
5023 Salzburg|Parscherstraße#Salzburg#Parscher Straße
5026 Salzburg-Aigen|Glaserstraße#Salzburg
5026 Salzburg|Ziegelstadelstraße
5026 Salzburg|Habeggutstraße#Salzburg#Habeggut-Straße
5061 Elsbethen
5071 Wals B.Salzbg.#Wals bei Salzburg
5071 Wals Bei Salzburg|Walser Straße#Wals bei Salzburg#Walserstraße
5082 Groedig#Grödig
5101 Bergheim
5110 Oberndorf Sbg.|#Oberndorf bei Salzburg
5201 Seekirchen|Moedlham#Seekirchen am Wallersee#Mödlham
5201 Seekirchen#Seekirchen am Wallersee
5202 Neumarkt A W|Sighartsteinerstraße#Neumarkt am Wallersee#Sighartsteiner Straße
5203 Koestendorf#Köstendorf
5211 Wetterkreuzstraße 19|Lengau#Lengau#Wetterkreuzstraße 19
5221 Scherschham 32|Lochen#Lochen am See#Scherschham 32
5222 Munderfing
5242 St.Johann Am Walde|Schnaid#St. Johann am Walde#Schnaidt
5242 St.Johann Am Walde|Obereck#St. Johann am Walde
5242 St.Johann/W|Obereck#St. Johann am Walde
5261 Uttendorf,O.Oe|Marktplatz#Helpfau-Uttendorf
5271 Moosbach|Hufnagl#Moosbach bei Mauerkirchen
5272 Treubach
5273 Rossbach#Roßbach
5280 Braunau#Braunau am Inn
5282 Ranshofen-Brau#Ranshofen
5300 Hallwang|Bäckerweg#Esch
5300 Hallwang|Bergstraße
5300 Salzburg|Hallwang Zilling 101#Hallwang#Zilling 101
5300 Hallwang|Zweigstraße#Esch
5300 Bergheim B.Sbg.|Bogenstraße#Esch
5302 Henndorf|Peterhauerweg#Henndorf am Wallersee#Peterbauerweg
5302 Henndorf#Henndorf am Wallersee
5321 Koppl|Lerchenweg#Habach
5340 St.Gilgen|Winkl#Winkl#Winkl
5400 Hallein/Rief|Ahornweg#Taxach
5541 Altenmarkt/Pg#Altenmarkt im Pongau
5570 Mauterndorf|Hnr.31#Mauterndorf#Markt 31 (Hubertusheim)
5570 Mauterndorf
5582 St.Michael Lun|Nr.94#Sankt Michael im Lungau#Marktstraße 94
5582 St.Martin|Hnr.142#Sankt Martin im Lungau#Gerlgasse 144
5582 St.Michael/Lg.|Wieden 244#Sankt Michael im Lungau#St. Egidiweg 244
5582 St.Michael Im Lungau#Sankt Michael im Lungau
5600 St.Johann/Pong#St. Johann im Pongau
5621 St.Veit/Pongau#St. Veit im Pongau
5640 Badgastein|Goethehof#Bad Gastein
5640 Badgastein|Koetschachtal#Bad Gastein#Kötschachtal
5661 Hoher Sonnblick|Rauris#Rauris#Hoher Sonnblick
5661 Rauris, Observatoriu|Hoher Sonnblick#Rauris#Hoher Sonnblick, Observatorium
5753 Saalbach
5760 Saalfelden#Saalfelden am Steinernen Meer
5760 Saalfelden S.M#Saalfelden am Steinernen Meer
6060 Hall I.T.|Fassergasse#Hall in Tirol
6060 Hall/Tirol|Schranne#Hall in Tirol
6063 Innsbruck/Rum|Laerchenstraße#Rum#Lärchenstraße
6063 Innsbruck/Rum|Birkengasse#Rum
6068 Hall/Tirol|Sandegg 3 Mils#Mils#Sandegg 3
6071 Aldrans
6080 Innsbruck-Igls
6105 Leutasch
6123 Terfens
6143 Matrei/Brenner|Muehlbachl, #Matrei am Brenner#
6150 Steinach A.Br.#Steinach am Brenner
6170 Zirl
6232 Rofan|Roßkogel
6233 Kramsach
6241 Rattenberg/Inn|Hnr.85#Rattenberg am Inn#Bienerstraße 85# qrz.com OE7HWT 47.439292°, 11.894928°
6262 Bruck A.Ziller#Bruck am Ziller
6283 Hippach|Laimach
6283 Hippach|Schwendau 191#Schwendau#Mühlen 191
6283 Hippach|Mühlbach 293#Schwendau
6284 Hippach|Ramsau 11B#Ramsau im Zillertal#Talstraße 51# aus Hausnummer ALT - NEU.xls
6290 Mayrhofen|Ahornbahn-Bergst.Filzen#Mayrhofen#Ahornbahn-Berstation Filzenboden
6290 Mayrhofen|Hnr.245#Mayrhofen#Dursterstraße 245
6290 Mayrhofen|Nr. 295#Mayrhofen#Breitlahneweg 295
6290 Mayrhofen|Hnr.391#Mayrhofen#Kreuzlau 391# qrz.com OE7KGI
6290 Mayrhofen|Nr 560#Mayrhofen#Peter-Habeler-Straße 560# qrz.com OE7MCH
6290 Mayrhofen|Hnr.719#Mayrhofen#Tuxer Straße 719
6290 Mayrhofen|Brandberg
6290 Mayrhofen|Dorf Haus
6290 Mayrhofen|Dursterstraße
6290 Mayrhofen|Kreuzlau
6290 Mayrhofen|Rauchenwald
6290 Mayrhofen|Stilluppklammhaus
6290 Mayrhofen|Sportplatzstraße
6290 Mayrhofen|Tuxerstraße#Mayrhofen#Tuxer Straße
6290 Mayrhofen|Zillergrundweg
6290 Mayrhofen|Zillergrund
6292 Finkenberg
6293 Lanersbach#Tux#Lanersbach
6293 Tux|Vorderlanersbach
6295 Ginzling
6336 Langkampfen
6352 Ellmau
6372 Oberndorf/Tirol#Oberndorf in Tirol
6373 Jochberg
6393 St Ulrich|Dorfstr#St. Ulrich am Pillersee
6393 St.Ulrich Am Pillers#St. Ulrich am Pillersee
6401 Inzing
6422 Stams
6430 Ötztal-Bahnhof
6430 Oetztal-Bahnhf#Ötztal-Bahnhof
6430 Oetztal Bahnhf#Ötztal-Bahnhof
6444 Längenfeld
6521 Fließ
6521 Fliess#Fließ
6531 Ried/Oberinntl#Ried im Oberinntal
6531 Ried I.O.|Hauptstraße#Ried im Oberinntal#Nr.
6574 Pettneu Arlbg.#Pettneu am Arlberg
6751 Braz#Braz
6767 Warth
6800 Feldkirch-Altenstadt
6800 Feldkirch-Gisingen|Schufla#Feldkirch-Gisingen#Schufla
6800 Feldkirch-Tosters|Hubstraße#Feldkirch-Tosters
6833 Klaus
6835 Sulz-Röthis|Bündt 19, Muntlix#Muntlix#Bündt 19
6840 Götzis|Major Ellensohn Straße#Götzis#Major-Ellensohn-Straße
6840 Goetzis|Schloesslweg#Götzis#Schlößleweg
6840 Goetzis|Sonderberg#Götzis
6855 Berg/Drau#Berg im Drautal
6971 Hard,Vorarlbg.|Muehlestraße#Hard#Mühlestraße
6972 Fußach
7035 Steinbrunn
7035 Steinnbrunn#Steinbrunn
7041 Wulkaprodersdf|Feldgasse#Wulkaprodersdorf#Feldgasse 5
7041 Wulkaprodersdf#Wulkaprodersdorf
7062 St.Margarethen|Semmelweissgasse#St. Margarethen im Burgenland#Semmelweißgasse
7062 St.Margarethen|Hauptstraße#St. Margarethen im Burgenland
7063 Oggau#Oggau am Neusiedler See
7091 Breitenbrunn
7201 Neudörfl/L#Neudörfl an der Leitha
7323 Ritzing
7503 Grosspetersdf#Großpetersdorf
7571 Rudersdorf|Lahnbachweg
8010 Graz|Conrad-von-Hötzendorf-Straße
8010 Graz|Fröhlichgasse
8010 Graz|Grazbachgasse
8010 Graz|Grillparzerstraße
8010 Graz|Hasnerplatz
8010 Graz|Humboldstraße#Graz#Humboldtstraße
8010 Graz|Münzgrabenstraße
8010 Graz|Purgleitnerstraße
8010 Graz|Purleitnerstraße#Graz#Purgleitnerstraße
8010 Graz|Riesstraße 118
8010 Graz|Rungeweg
8010 Graz|Theodor-Körner-Straße
8010 Graz|Untere Teichstraße
8010 Kainbach|Schillingsdorfer#Kainbach bei Graz
8020 Graz|Eckertstraße
8020 Graz|Göstingerstraße 50/#Graz#Göstinger Straße 50/
8020 Graz|Idlhofgasse
8020 Graz|Koloniegasse
8020 Graz|Lazarettgasse
8020 Graz|Lendkai
8020 Graz|Maderspergergasse
8020 Graz|Neubaugasse
8020 Graz|Oeverseegasse
8020 Graz|Reiherstadlgasse
8020 Graz|Remygasse
8020 Graz|Richard-Strauss-Gasse
8020 Graz|Stadlgasse
8020 Graz|Vinzenzgasse
8041 Graz_Liebenau|Eichbachgasse#Graz
8041 Graz-Liebenau|Eichbachgasse#Graz
8041 Graz-Liebenau|Konrad-Hopferwieser-Gasse#Graz
8041 Graz-Liebenau|Neudorfer#Graz
8041 Graz|Porscheweg
8041 Graz|Raiffeisenstraße 147
8041 Graz|Theodor-Storm-Straße 108
8041 Graz-Liebenau|Kasernstraße 81#Graz
8042 Graz|Eichenweg
8042 Graz|Nußbaumerstraße
8042 Graz|Prof-Franz-Spath-R.#Graz#Professor-Franz-Spath-Ring
8042 Graz-St.Peter|Peierlhang 11 F#Graz#Peierlhang 11/f
8042 Graz-St.Peter|Unterer Breitenweg#Graz
8043 Graz|Apothekerweg
8043 Graz|Mariatroster Straße
8044 Graz-Mariatr|Weinitzen,A.Waldgrund#Niederschöckl#Am Waldgrund
8044 Graz-Weinitzen|Am Waldgrund#Niederschöckl
8045 Graz|Emichgasse
8045 Graz-Andritz|Emichgasse
8045 Graz|Lindengasse
8045 Graz|Richard-Zach-Gasse
8045 Graz|Ziegelstraße
8047 Graz|Mosconweg
8051 Graz-Goesting|Augasse 100#Graz
8051 Graz|Weidweg
8051 Graz|Wiener Straße 256/#Graz#Wiener Straße 256/
8051 Graz-Goesting|Wiener Straße 260#Graz#Wiener Straße 260
8051 Graz-Goesting|Thalstraße#Graz
8051 Graz-Goesting|Weixelbaumstraße#Graz
8052 Graz-Wetzelsdf|Faunastraße 49#Graz
8052 Graz-Wetzelsdf|Josef-Bayer-Gasse#Graz
8052 Graz-Wetzelsdf|Plattlstraße#Graz
8052 Graz-Wetzelsdf|Straßganger Straße 194A#Graz
8053 Graz|Grottenhofstraße
8054 Graz|Dr.Lemisch-Straße#Graz#Doktor-Lemisch-Straße
8054 Graz|Mantscha
8054 Graz-Strassgng|Stregengasse
8054 Graz-Strassgng|Trattfelderstraße#Graz
8054 Pirka#Pirka
8054 Seiersberg|Grünlandweg
8055 Graz|Pratogasse
8055 Graz-Puntigam|Gmeinstraße
8055 Graz-Puntigam|Neuseiersbg.Roentgstr#Seiersberg#Röntgenstraße
8063 Eggersdorf|Eggersdorf
8063 Eggersdorf|Waldstraße
8071 Hausmannstaett#Hausmannstätten
8077 Fernitz|Goessendorf,#Gössendorf#
8077 Gössendorf
8082 Kirchbach/Stmk#Kirchbach-Zerlach
8103 Rein|Hörgas#Gratwein-Straßengel#Hörgas
8111 Judendorf|Murfeldsiedlung
8112 Gratwein
8113 St.Oswald/Plankenw.#Sankt Oswald bei Plankenwarth
8141 Hausmannstaetn|Laubweg#Hausmannstätten
8143 Dobl
8184 Anger
8222 St.Johann/Herb#St. Johann bei Herberstein
8225 Poellau/Hartbg|Kirchenackersiedlung#Pöllau bei Hartberg
8225 Poellau/Hartbg|Schoenau 53#Pöllau bei Hartberg|Scheibenweg 53
8225 Poellau/Hartbg|Siedlung#Pöllau bei Hartberg
8225 Poellau/Hartbg|Zeil#Pöllau bei Hartberg
8225 Poellau/Hartbg|Ziegelofengasse#Pöllau bei Hartberg
8230 Hartberg
8232 Grafendorf|Grafendorf 174#Grafendorf bei Hartberg#Augasse 174# Herold, qrz.com
8241 Dechantskirch.#Dechantskirchen
8241 Dechantskirchn#Dechantskirchen
8301 Lassnitzhoehe#Laßnitzhöhe
8323 St.Marein/Graz|Mittergoggitsch#Sankt Marein bei Graz
8330 Feldbach
8352 Unterlamm
8422 St Nikolai|Drassling #Sankt Nikolai ob Drassling#
8423 St. Veit Am Vogau|Nr 11A#St. Veit in der Südsteiermark#Obere Marktstraße 11# qrz.com OE6WSF
8430 Leibnitz|Kittenberg
8430 Leibnitz
8430 Kaindorf/Sulm#Kaindorf an der Sulm
8438 Mayrhofen|Hochsteeg#Mayrhofen#Hochsteg
8442 Kitzeck|Gauitsch
8453 St.Johann I.S.#Sankt Johann im Saggautal
8462 Gamlitz
8463 Leutschach
8511 St Stefan Ob Stainz#St. Stefan ob Stainz
8522 Gr.St.Florian#Groß Sankt Florian
8530 Deutschlandsberg
8543 St.Martin I.S.|Otternitz#Sankt Martin im Sulmtal
8561 Söding|Steinstraße
8570 Voitsberg
8600 Bruck A.D. Mur#Bruck an der Mur
8600 Bruck/Mur#Bruck an der Mur
8600 Oberaich
8605 Kapfenberg
8641 St.Marein/Mzt#Sankt Marein im Mürztal
8642 St.Lorenzen/Mt#Sankt Lorenzen im Mürztal
8643 Allerheiligen
8650 Kindberg-Aumühl|Grazerstraße#Kindberg-Aumühl#Grazer Straße
8662 Mitterdorf|Toni-Schruf-Straße#Sankt Barbara im Mürztal
8662 Mitterdorf/Mzt|Wildgansstraße#Sankt Barbara im Mürztal
8665 Langenwang
8680 Mürzzuschlag|Roseggergasse
8680 Mürzzuschlag|Wiener Straße
8680 Muerzzuschlag|Ob.Waldrandsiedlgsgasse#Mürzzuschlag#Obere Waldrandsiedlungsgasse
8680 Muerzzuschlag|Gruene Insel#Mürzzuschlag#Grüne Insel
8680 Muerzzuschlag|Wiener Straße
8682 Muerzzuschlag|Gutenbrunngasse#Mürzzuschlag
8684 Spital Am Semmering#Spital am Semmering
8700 Leoben
8715 St.Lorenzen/Knittelf|Ugendorf#St. Margarethen bei Knittelfeld
8812 Mariahof
8812 St.Blasen#Sankt Blasen
8812 St. Blasen#Sankt Blasen
8820 Neumarkt Stmk#Neumarkt in der Steiermark
8850 Murau|Schwarzenbergsdlng#Murau#Schwarzenbergsiedlung
8850 Murau|Schwarzenbergsiedlg.#Murau#Schwarzenbergsiedlung
8903 Lassing/Selzt.#Lassing#Trojach
8911 Admont
8940 Weißenbach/L.|Weißenbach/L.#Weißenbach bei Liezen#Weißenbach bei Liezen
8954 S Martin/Grimm|Salza#Mitterberg-Sankt Martin
8972 Ramsau Am Dachstein#Ramsau am Dachstein
8972 Dachstein-|Suedwandbahn,Hunerkogel#Ramsau am Dachstein#Dachstein-Südwandbahn, Hunerkogel
8984 Kainisch#Pichl-Kainisch
9020 Klagenfurt|12.Novemberstraße#Klagenfurt#12.-November-Straße
9020 Klagenfurt|12 Novemberstraße#Klagenfurt#12.-November-Straße
9020 Klagenfurt|Beethoven
9020 Klagenfurt|Carl-Maria-von-Weber-Gasse
9020 Klagenfurt|Feldhofg#Klagenfurt#Feldhofgasse
9020 Klagenfurt|Fledermausgasse
9020 Klagenfurt|Gottesbichl
9020 Klagenfurt|Hochstuhlweg
9020 Klagenfurt|Josef-Ressel-Straße
9020 Klagenfurt|Kohldorferstraße#Klagenfurt#Kohldorfer Straße
9020 Klagenfurt|Laudonstraße
9020 Klagenfurt|Lilienthalstraße
9020 Klagenfurt|Maximilianstraße
9020 Klagenfurt|Niederdorf 23#Klagenfurt#Niederdorfer Straße 211# qrz.com OE8RKK
9020 Klagenfurt|Raupenhofstraße
9020 Klagenfurt|Schlossteichweg#Klagenfurt#Schloßteichweg
9061 Wölfnitz|Dr.-Kucher-Weg#Klagenfurt
9065 Ebenthal#Ebenthal in Kärnten
9073 Klgft/Viktring#Klagenfurt-Viktring
9061 Klgft/Wölfnitz|Felberweg#Klagenfurt-Wölfnitz
9100 Völkermarkt|Kanaltalerstraße#Kanaltaler Straße
9100 Völkermarkt|Nibelungenstraße#Völkermarkt#Nibelungenstraße
9100 Völkermarkt|St Peter/Wallersberg 78#St. Peter am Wallersberg#Schulweg 13
9103 Diex|Haimburgerberg 41
9122 St Kanzian|Panoramaweg#Stein im Jauntal
9122 St Kanzian|Klopeinerstraße#St. Kanzian am Klopeiner See#Klopeiner Straße
9143 St Michael/Blbg|Feistritz#Feistritz ob Bleiburg#St. Michael ob Bleiburg
9220 Velden/Ws#Velden am Wörthersee
9300 St Veit/Glan#St. Veit an der Glan
9322 Micheldorf/Ktn|Ringstraße#Micheldorf
9360 Friesach|St Thomasweg#Friesach#Sankt-Thomas-Weg
9400 Wolfsberg
9413 St Gertraud/Lav#Frantschach-St. Gertraud
9431 St Stefan/Lav#St. Stefan im Lavanttal
9462 Bad St Leonhard#Bad Sankt Leonhard im Lavanttal
9500 Villach|Albrecht Dürer-Straße#Villach#Albrecht-Dürer-Straße
9500 Villach|Bleibergerstraße 50#Villach#Bleiberger Straße 50
9500 Villach|Brandenburgweg 14
9500 Villach|Dr Oswin Moro Straße#Villach#Doktor-Oswin-Moro-Straße
9500 Villach|Ernst Pliwa-Gasse#Villach#Ernst-Pliwa-Gasse
9500 Villach|Farbmuehlenweg#Villach#Farbmühlenweg
9500 Villach|Hans Gasser Platz#Villach#Hans-Gasser-Platz
9500 Villach|Heidenfeldstraße
9500 Villach|J.Ghonallee#Villach#Jakob-Ghon-Allee
9500 Villach|Kiesweg
9500 Villach|Klagenfurterstraße#Villach#Klagenfurter Straße
9500 Villach|Kugelweg
9500 Villach|Lindenweg
9500 Villach|Linsengasse
9500 Villach|Ludwig Walter-Straße#Villach#Ludwig-Walter-Straße
9500 Villach|Magdalenerstraße 14#Villach#Magdalener Straße 14
9500 Villach|Markus Pernhartstraße#Villach#Markus-Pernhart-Straße
9500 Villach|Richtstraße
9500 Villach|St Agathen#Villach#Sankt Agathen
9500 Villach|St Leonhard,Lindenweg#Villach#Lindenweg
9500 Villach|Teichweg
9500 Villach|Tschinowitzerweg
9500 Villach|Ulmenweg
9500 Villach|Vill Schächtestraße 40/#Villach#Villacher Schächtestraße 40/
9500 Villach|Völkendorferstraße#Villach#Völkendorfer Straße
9500 Villach|Widmanng#Villach#Widmanngasse
9523 Landskron
9524 Villach/St Magdalen|Dorfstraße#Villach
9524 St Magdalen|St Ulrich/Dorfstraße#Villach#Dorfstraße
9524 St Magdalen|Rudolfweg#Villach
9524 Villach|Kasernengasse
9552 Steindorf/Osee#Steindorf am Ossiacher See
9560 Feldkirchen
9560 Feldkirchen/Ktn|St Ulrich #Feldkirchen in Kärnten#
9580 Drobollach|Kalcherstraße#Drobollach#Raimund-Kalcher-Straße
9602 Thörl Maglern#Thörl-Maglern
9612 St Georgen/Gail|Labientschach#Labientschach
9623 St Stefan/Gail|St Paul#St. Stefan an der Gail#St. Paul
9651 St Jakob/Les|Podlanig#St. Jakob im Lesachtal
9710 Feistritz/Drau#Feistritz an der Drau
9710 Paternion
9772 Dellach/Drau#Dellach im Drautal
9800 Spittal/Drau|Baldersdorf#Spittal an der Drau
9800 Spittal/Drau#Spittal an der Drau
9811 Lendorf
9815 Kolbnitz
9821 Obervellach
9872 Millstatt/Ktn|Dellach#Dellach am Millstätter See
9900 Lienz,Osttirol|Tristacherstraße#Lienz#Tristacher Straße
9900 Lienz,Osttirol#Lienz
9905 Lienz,Gaimberg|Grafendorf#Gaimberg
9911 Thal-Assling|Burg#Assling
9971 Matrei/Ostt.#Matrei in Osttirol
83457 Bayerisch Gmain

47
afu/.sql_init Normal file
View File

@ -0,0 +1,47 @@
-- Initialize the tables for the callbook program
DROP TABLE IF EXISTS `callbook_user`;
DROP TABLE IF EXISTS `callbook_address`;
CREATE TABLE IF NOT EXISTS `callbook_user`(
`id` SERIAL,
`user_id` INT(10) UNSIGNED NOT NULL DEFAULT 0,
`call` VARCHAR(10) NOT NULL DEFAULT '' COMMENT 'amateur radio call sign e.g. OE8ABC',
`firstname` VARCHAR(100) NOT NULL DEFAULT '' COMMENT 'forename, given name',
`surname` VARCHAR(100) NOT NULL DEFAULT '' COMMENT 'family name, last name',
`gender` CHAR(1) NOT NULL DEFAULT '' COMMENT 'gender guessed from the first name',
`created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`created_by` INT(10) UNSIGNED NOT NULL DEFAULT 0,
`modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`modified_by` INT(10) UNSIGNED NOT NULL DEFAULT 0,
`active` TINYINT(1) NOT NULL DEFAULT 1 COMMENT 'the user is active',
`inactive` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT 'old inactive call since...',
`address_id` INT(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT 'link to id of callbook_adress',
PRIMARY KEY(`id`)
) AUTO_INCREMENT=0
DEFAULT CHARSET=utf8mb4
COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS `callbook_address`(
`id` SERIAL,
`location` VARCHAR(200) NOT NULL DEFAULT '' COMMENT 'original location from the import',
`address` VARCHAR(200) NOT NULL DEFAULT '' COMMENT 'original address from the import',
`status` INT(1) NOT NULL DEFAULT '0' COMMENT 'Status of the address: 0...invalid, -1...uncertain, -2...in progress, 1...computed (valid)',
`postal_code` VARCHAR(20) NOT NULL DEFAULT '' COMMENT 'also known as Zip code, "Postleitzahl", computed from location',
`city` VARCHAR(200) NOT NULL DEFAULT '' COMMENT 'city, computed from location',
`street` VARCHAR(200) NOT NULL DEFAULT '' COMMENT 'street, computed from address',
`federal_state_code` TINYINT NOT NULL DEFAULT -1
COMMENT 'Austria: 0...outside, 1...Vienna, 2...Salzburg, 3...Lower Austria, 4...Burgenland, 5...Upper Austria, 6...Styria, 7...Tyrol, 8...Carinthia, 9...Vorarlberg',
`lat` DOUBLE NOT NULL DEFAULT 0.0 COMMENT 'latitude',
`long` DOUBLE NOT NULL DEFAULT 0.0 COMMENT 'longitude',
`qth` VARCHAR(20) NOT NULL DEFAULT '' COMMENT 'Maidenhead locator, QTH locator',
`created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`created_by` INT(10) UNSIGNED NOT NULL DEFAULT 0,
`modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`modified_by` INT(10) UNSIGNED NOT NULL DEFAULT 0,
`active` TINYINT(1) NOT NULL DEFAULT 1 COMMENT 'the address is active',
`inactive` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT 'old inactive address, since...',
PRIMARY KEY(`id`)
) AUTO_INCREMENT=0
DEFAULT CHARSET=utf8mb4
COLLATE=utf8mb4_unicode_ci;

2
afu/.typo_call Normal file
View File

@ -0,0 +1,2 @@
# TYPO CALL - 2024-07-04 Version 1.0.0
OE-7RLJ OE7RLJ

9
afu/.typo_callbook Normal file
View File

@ -0,0 +1,9 @@
# TYPO CALLBOOK - 2024-06-17 Version 1.0.0
# X ... Nachname mit Vorname(n) vertauscht
# F ... Vorname(n) <firstname> falsch geschrieben
# N ... Nachname <surname> falsch geschrieben
# You have to write the values exactly under the titles Nachname, Vorname
* Rufz Nachname Vorname(n)
F OE1CGC Gasser Christoph
X OE5ENN Kolmhofer Erich
N OE7DTW Kalteis-Gamerith Reinhold Josef

256
afu/README.ARCH.md Normal file
View File

@ -0,0 +1,256 @@
# Installation of Arch Linux
After creating an ISO and starting the system.
See `archlinux-2024.06.01-x86_64.iso` via https://archlinux.org/download/
### Create a Live USB or DVD or ISO directly in a Virtual Machine
#### USB stick on a Linux machine
# dd bs=4M if=/[path_to_archlinux.iso] of=/dev/[path_to_usb_device] statuts=progress && sync
Replace [path_to_archlinux.iso] with the actual path to your Arch Linux ISO file and [path_to_usb_device] with the correct path to your USB device.
Be careful specifieng the path to the USB device.
Check the path with
# lsblk
A USB stick is usually mounted under /run/media/ e.g.
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 1 111.8G 0 disk
├─sda1 8:1 1 102G 0 part /
└─sda2 8:2 1 9.8G 0 part [SWAP]
sdb 8:16 1 3.6T 0 disk /data
/srv
/raid1
sdc 8:32 1 3.6T 0 disk
sdd 8:48 1 7.6G 0 disk
└─sdd1 8:49 1 7.6G 0 part /run/media/tom/TUEVAUSTRIA
sr0 11:0 1 1024M 0 rom
In this example the USB device partition is `sdd1` and the device itself is `sdd` which should be used as [path_to_usb_device].
### Start the install ISO
Select **Arch Linux install medium (x86_64)** and press **Enter** to start the setup process
### Set the Keyboard Layout
The default keymap is set to US. To list other available layouts run
# ls /usr/share/kbd/keymaps/**/*.map.gz
To change to the German keyboard layout enter
# loadkeys de-latin1
It is a little difficult to find the correct keys on a US keyboard. The **`y`** is swapped with the **`z`**, and the **`-`** is on the **`ß`** key.
### Check the Internet Connection
# ping -c 3 google.com
### Enable Network Time Protocol (NTP)
# timedatectl set-ntp true
To check the NTP service, use:
# timedatectl status
### Partition the Disk
#### BTRF file system without a partition
Just to get an overview of the drives
# lsblk
Create the filesystem with
# mkfs.btrfs /dev/sdX --label arch
Replace X with the drive letter or if it is an nvme drive use /dev/nvmeXX with the correct drive label. `--label` or `-L` defines the Label of the drive, e.g. *arch*.
### Check the Mirror List for an Suitable Mirror
To speed up the download, set up the mirror list so that the fastest mirrors are at the top.
First, sync the Arch repository with `pacman`
# pacman -Syy
Install **reflector** to be able to update the mirrors and sort them by download speed. Add reflector by running:
# pacman -S reflector
Backup the mirror list with:
# cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
The reflector updates the mirror list, run:
# reflector -c "XX" -f 12 -l 10 -n 12 --save /etc/pacman.d/mirrorlist
Replace **"XX"** with the your location country code (e.g. enter "US" if you are
located in the United States, or "AT,DE" if you are located close to Austria and Germany)
## Install Arch Linux
### Mount the **root** partition
Btrfs filesystem has the following options, which are useful to change:
* **noatime**, useful to use by default because atime updates increases metadata writes. relatime is default,
* **commit=300**, default is 30, the interval of periodic transaction commit,
* **compress=zstd:2**, default is no, use zstd compression from [1,15] ratio. Default zstd ratio is 3.
#### Mount the Drive with Label *arch* to /mnt
# mount -o compress=zstd:2,noatime,commit=300 LABEL=arch /mnt
### PACSTRAP installation script for necessary packages to the bootable device
# pacstrap /mnt base linux linux-firmware nano mc btrfs-progs dhcpcd
## Configure Arch Linux
### Generate fstab File
The **fstab** file defines the order in which disks, partitions, block devices, and other data sources are mounted.
Create the **fstab** file by running:
# genfstab -U /mnt >> /mnt/etc/fstab
### Use Arch-Chroot and Enter the Mounted Disk as Root
Change the **root** to the newly installed Arch Linux system with the 'arch-chroot' command:
# arch-chroot /mnt
[root@archiso /]#
### Set the Time Zone
Setting the correct time zone ensures the system clock reflects the accurate local time.
#### List all available time zones
# find /usr/share/zoneinfo -type f | more
Find your timezone and make a note of the name, make an `ln`command to create a symbolic link from the timezone to */etc/localtime*. For *Europe/Vienna* run
# ln -sf /usr/share/zoneinfo/Europe/Vienna /etc/localtime
#### Set the Locale
Open the file *locale.gen* with `nano`, and uncomment the name by removing the leading # of your preferred locale and any other you would like to use.
I uncomment the line with
# nano /etc/locale.gen
I personally like to have an English environment with European setting, so I remove the **#** for *en_DK.UTF-8 UTF-8*.
...
#en_CA ISO-8859-1
en_DK.UTF-8 UTF-8
#en_DK ISO-8859-1
#en_GB.UTF-8 UTF-8
...
Enter **Ctr + X** to exit and type **Y** to save the changes.
Generate a locale configuration file with the following command:
# locale-gen
Create the *locale.conf*, run:
# echo LANG=en_DK.UTF-8 > /etc/locale.conf
# export LANG=en_DK.UTF-8
Set the **console keyboard layout**, make the changes persistent in *vconsole.conf(5):
# echo KEYMAP=de-latin1 > /etc/vconsole.conf
### Set Hostname *archlinux* (or any other name)
# echo archlinux > /etc/hostname
### Enable the DHCP, the Dynamic Host Configuration Protocol
Run
# systemctl enable dhcpcd
### Set the root password with the command **passwd**
# passwd
## Installation of the Grub Bootloader
#### Installation on a Non-UEFI System
# pacman -S grub os-prober
# grub-install /dev/sdX
Replace X with the letter of the drive you want to install GRUB on. For example `grub-install /dev/sda`.
Create a GRUB configuration file with:
# grub-mkconfig -o /boot/grub/grub.cfg
#### Installation on a UEFI System
# pacman -S grub efibootmgr
# mkdir /boot/efi
# mount /dev/sdX1 /boot/efi
Replace X with the drive letter of the disk the partition belongs to.
Install Grub with:
# grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot/efi
Finally create GRUB configuration file:
# grub-mkconfig -o /boot/grub/grub.cfg
## Create a New User and Set Privileges
#### Install `sudo` before adding a new user
# pacman -S sudo
#### Create a New User with:
# useradd -m [username]
Replace [username] with the real username for the system.
#### Create the Password
# passwd [username]
#### Add the User to several groups, granting specific permissions:
# usermod -aG wheel,audio,video,storage [username]
#### sudoers -- Edit the *visudo* File, uncomment the **wheel** group:
# EDITOR=nano visudo
#
...
## Uncomment to allow members of group wheel to execute any command
%wheel ALL=(ALL:ALL) ALL
...
## Exit the Environment of ARCH-Chroot and Reboot
# exit
### Unmount the **root** with:
# umount -l /mnt
Remove the USB or CD/DVD and reboot the system with:
# reboot

View File

@ -6,9 +6,12 @@
## Prerequisites
1. A running Linux system, e.g. Debian, Arch, etc.
0. User has administrative access via sudo
0. Python Version >3
0. Selenium for Python
0. Chromium Web browser (headless)
0. Selenium for Python via Webdriver Manager
0. Optional: User has an ssh key pair
0. Optional: git, ? wget, ? curl
## Installation of Python, Selenium, Chromium
@ -38,15 +41,90 @@ Upgrade your Debian installation if the version is lower than the above value.
$ sudo apt update
$ sudo apt upgrade
If this does not work, then the user \<username\> must be added to the sudo group with :
$ su -
Password:
root@debian:~# usermod -aG sudo <username>
For the group membership to take effect, the user must log out and log in again or the system must be restarted.
#### Python3
Check if Python is already installed in Debian:
$ python3 --version
Python 3.11.2
If it is not already installed, then:
$ sudo apt install python3
#### Chromium Browser
$ sudo apt install chromium
$ sudo apt install chromium-driver
### Arch Linux
#### Manager (selenium)
Afterwards, selenium is installed:
$ sudo apt install python3-selenium
#### SSH key generation
The program `openssh` is preinstalled on Debian systems. But there is no private/public key installed yet. Best practices generating the key pair:
$ ssh-keygen -t ed25519 -C "your_email@example.com"
Personally, I don't use a different name for the keys, I just click through the process.
The same applies to the passphrase.
Now go to the website https://git.kuschel.at and copy the content of the public key from ~/.ssh/id__ed25519.pub to the "Manage SSH keys" -- via "Add Key".
$ cat .ssh/id_ed25519.pub
#### Git installation and clone the scripts from git.kuschel.at
$ sudo apt install git
You have to globally configure your `git` with:
$ git config --global user.name "John Doe"
$ git config --global user.email your_email@example.com
Checking the git configuration with:
$ git config -l
user.name=<your name>
user.email=<your e-mail>
etc.
Now create a folder and cd into it
$ mkdir gitea
$ cd gitea
Clone the repository `script` to your site with:
~/gitea$ git clone ssh://git@kuschel.at:21861/public/scripts.git
### Check and Test a Website
Either go to the directory `~/gitea/scripts/afu/` and run the file `test.py` or create a similar one:
#!/usr/bin/python3
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromiumService
print('We try to connect to https://kuschel.at and get an answer "Family Kuschel and friends"')
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
driver = webdriver.Chrome(options=options)
driver.get("https://kuschel.at")
print(driver.title)
driver.close()
--
### Arch Linux (@todo)
#### Check Version
@ -73,10 +151,105 @@ Because Arch linux is a rolling distribution, simply update the version to the l
$ sudo pacman -Syuv
#### Installing of yay (package manager yet another yogurt)
$ sudo pacman -Sy --needed git base-devel
$ cd
$ git clone https://aur.archlinux.org/yay.git
$ cd yay
$ makepkg -si
#### Python3
Check if Python is already installed in Arch Linux:
$ python --version
Python 3.12.3
If it is not already installed, then:
$ yay -S python
#### Chromium Browser
$ yay -S chromium
#### Manager (selenium)
Afterwards, selenium is installed:
$ yay -S python-selenium
$ yay -S selenium-manager
#### SSH key generation
The program `openssh` is not preinstalled on Arch Linux. Also, there is no private/public key installed yet.
$ yay -S openssh
Best practices generating the key pair:
$ ssh-keygen -t ed25519 -C "your_email@example.com"
Personally, I don't use a different name for the keys, I just click through the process.
The same applies to the passphrase.
Now go to the website https://git.kuschel.at and copy the content of the public key from ~/.ssh/id__ed25519.pub to the "Manage SSH keys" -- via "Add Key".
$ cat .ssh/id_ed25519.pub
#### Git installation and clone the scripts from git.kuschel.at
$ yay -S git less
You have to globally configure your `git` with:
$ git config --global user.name "John Doe"
$ git config --global user.email your_email@example.com
Checking the git configuration with:
$ git config -l
user.name=<your name>
user.email=<your e-mail>
etc.
Now create a folder and cd into it
$ mkdir gitea
$ cd gitea
Clone the repository `script` to your site with:
~/gitea$ git clone ssh://git@kuschel.at:21861/public/scripts.git
sudo pacman -S python
## Connecting to MariaDB database
Alternative when `yay` is installed:
### Install mariadb database
yay -S python
$ yay -S mariadb
Configure the database with e.g.
$ sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
Enable and start the database service with:
$ sudo systemctrl enable mariadb.service
$ sudo systemctrl start mariadb.service
#### Create a user "om" who has only access to the database table
# mariadb
CREATE DATABASE callbook;
GRANT ALL PRIVILEGES ON callbook.* TO 'om'@'localhost' IDENTIFIED BY 'oe3tkt';
FLUSH PRIVILEGES;
QUIT;
## Install python-mariadb
$ yay -S python-mysql-connector
Hint: At the moment the compilation fails. Will be updated soon.
See https://jira.mariadb.org/projects/CONPY/issues/CONPY-284 (2024-06-16)

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e3940ccf3799c50e4dc3325f48d5d03ea27e3f298d5def012cdb49b54e120ccb
size 1878785

1142
afu/callbook.py Executable file

File diff suppressed because it is too large Load Diff

116
afu/mi2.py Executable file
View File

@ -0,0 +1,116 @@
#!/usr/bin/env python3
# Thomas Kuschel, following with more ....
# changes to python-seleniumbase 4.25/4.27.5-1 python-selenium 4.21.0-1 (installed)
# changes:
# #001 The Tab URL at phpmyadmin has changed from server_export to server/export
# #002 The the visibility of the site is critically, so we have to put in the line option.add_argument('window-size=1200x600')
import argparse
#import datetime
import os
import time
#import re
import sys
#import grab
# yay extra/python-pip
# pip install selenium
# ! pip install webdriver-manager
# yay geckodriver (for Firefox browser)
import selenium
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.service import Service
__version__ = '2.0.1'
def call_website(url,username,password,server,verbose=0,interactive=False):
# using Chrome to access web
# driver = webdriver.Firefox(executable_path=r'/usr/bin/geckodriver')
if(interactive):
print('Interactive')
driver = webdriver.Chrome()
else: # do a headless script base work (default)
print('Headless Script')
service = Service(executable_path='/usr/bin/chromedriver')
option = webdriver.ChromeOptions()
option.add_argument('headless')
option.add_argument('window-size=1200x600')
driver = webdriver.Chrome(options=option, service=service)
driver.get(url)
assert "phpMyAdmin" in driver.title
print('Driver-Title: ' + driver.title)
elem = driver.find_element(By.ID, "input_username")
elem.clear()
elem.send_keys(username)
elem = driver.find_element(By.ID, "input_password")
elem.clear()
elem.send_keys(password)
elem = driver.find_element(By.ID, "select_server")
from selenium.webdriver.support.ui import Select
select = Select(driver.find_element(By.ID, 'select_server'))
select.select_by_visible_text(server)
driver.find_element(By.ID, "input_go").click()
time.sleep(1)
#driver.find_element(By.LINK_TEXT, "Export").click()
#driver.find_element_by_xpath('//a[contains(@href,"server_export")]').click()
#print(driver.page_source.encode("utf-8"))
element = driver.find_element(By.XPATH,'//a[contains(@href,"server/export")]')
print("Element is visible? " + str(element.is_displayed()))
element.click()
time.sleep(5)
driver.find_element(By.ID, "buttonGo").click()
time.sleep(1)
print(driver.current_window_handle)
#w = driver.window_handles[1]
#driver.switch_to.window(child)
#driver.fullscreen_window()
try:
# WebDriverWait(browser, 3).until(EC.alert_is_present(),
# 'Timed out waiting for PA creation ' +
# 'confirmation popup to appear.')
alert = driver.switch_to.alert
alert.accept()
print("alert accepted")
except:
print("no alert")
time.sleep(20)
driver.close()
if __name__ == '__main__':
parser = argparse.ArgumentParser(
description='Automates downloading the SQL dump via phpMyAdmin',
epilog='''
Written by Thomas Kuschel,
inspired by Christoph Haunschmidt et al.,
Version {}
'''.format(__version__))
parser.add_argument('--interactive', '-i', action='store_true', default=False)
parser.add_argument('--verbose', '-v', action='count', default=0)
parser.add_argument('--version', action='version', version='{} {}'.format(os.path.split(__file__)[1],__version__))
# parser.parse_args(['--version'])
parser.add_argument('url', metavar='URL', help='phpMyAdmin login page URL')
parser.add_argument('--username', '-u', default='', help='phpMyAdmin login username', required=False)
parser.add_argument('--password', '-p', default='', help='phpMyAdmin login password', required=False)
parser.add_argument('--server', '-s', default='kreios', required=False)
args = parser.parse_args()
try:
print(f'Try calling {args.url}')
filename = call_website(**vars(args))
sys.exit(0)
except Exception as e:
print('Error: {}'.format(e), file=sys.stderr)
sys.exit(1)
print('Verbose level: {}'.format(args.verbose))

40
afu/ols.st.com.md Normal file
View File

@ -0,0 +1,40 @@
Dear Sir,
unfortunately, your advice was not successful.
All downloads do work except the one with "STM32CubeIDE-Lnx","STM32CubeIDE Generic Linux Installer" Version 1.16.0, which I need for Arch Linux.
I tried the following:
FAILS
=====
1. From IP account 195.140.136.89 (provider oja.at) in Austria
1.1. STm account: oe1tkt@gmail.com (Thomas Kuschel):
a) Firefox 128.0 (64-bit) on Arch Linux 6.9.9 kernel, Dell Notebook, STM32CubeIDE-Lnx V1.16.0 download does NOT work,
b) Google Chrome 126.0.6478.182(Official Build)(64-bit) on Arch Linux 6.9.9 kernel, Dell Notebook, STM32CubeIDE-Lnx V1.16.0 download does NOT work,
c) Firefox 128.0.2 (64-bit) on Windows 10 Education Version 22H2, 19045.4651 build, ThinkPad Lenova, STM32CubeIDE-Lnx V1.16.0 download does NOT work,
d) Google Chrome 126.0.6478.182 (Offizieller Build)(64-Bit) on Windows 10 Education Version 22H2, 19045.4651 build, ThinkPad Lenova, STM32CubeIDE-Lnx V1.16.0 download does NOT work,
1.2. STm account: thomas@kuschel.at (Thomas Kuschel), a new registration at ST:
a) Firefox 128.0 (64-bit) on Arch Linux 6.9.9 kernel, Dell Notebook, STM32CubeIDE-Lnx V1.16.0 download does NOT work,
b) Google Chrome 126.0.6478.182(Official Build)(64-bit) on Arch Linux 6.9.9 kernel, Dell Notebook, STM32CubeIDE-Lnx V1.16.0 download does NOT work,
2. From IP account 159.69.109.101 (provider Hetzner) in Germany
2.1. STm account: oe1tkt@gmail.com (Thomas Kuschel):
a) Firefox 128.0 (64-bit) on Arch Linux 6.9.9 kernel, Dell Notebook, STM32CubeIDE-Lnx V1.16.0 download does NOT work,
b) Google Chrome 126.0.6478.182(Official Build)(64-bit) on Arch Linux 6.9.9 kernel, Dell Notebook, STM32CubeIDE-Lnx V1.16.0 download does NOT work,
3. From IP account 195.140.136.89 in Austria via WiFi connection
3.1 STm account: oe1tkt@gmail.com (Thomas Kuschel)
via GalaxyS20 Ultra 5G - smart phone, Android Version 13; SM-G988B Build/TP1A.220624.013 Kernel 4.19.87
a) Google Chrome App Version 126.0.6478.123, STM32CubeIDE-Lnx V1.16.0 download does NOT work,
SUCCESSFUL downloads with other Versions of STM32CubeIDE:
========================================================
1. Firefox 128.0 (64-bit) on Arch Linux 6.9.9 kernel, Dell Notebook, STM32CubeIDE-DEB V1.16.0 work
2. Firefox 128.0 (64-bit) on Arch Linux 6.9.9 kernel, Dell Notebook, STM32CubeIDE-Mac V1.16.0 work
3. Firefox 128.0 (64-bit) on Arch Linux 6.9.9 kernel, Dell Notebook, STM32CubeIDE-RPM V1.16.0 work
4. Firefox 128.0 (64-bit) on Arch Linux 6.9.9 kernel, Dell Notebook, STM32CubeIDE-Win V1.16.0 work
5. Firefox 128.0 (64-bit) on Arch Linux 6.9.9 kernel, Dell Notebook, STM32CubeIDE-Lnx V1.15.1 work
6. Firefox 128.0 (64-bit) on Arch Linux 6.9.9 kernel, Dell Notebook, STM32CubeIDE-Lnx V1.15.0 work

5
afu/todo.md Normal file
View File

@ -0,0 +1,5 @@
# This is a list of TODOs for the callbook script
# 2024-07-01
OE2OL Ing. Johann Hörl, mit der Adresse Hallwang, Zilling 101, unbekannter Adresse, vermutlich frühere Wohnadresse mit Haus Nr. 101
OE2PHO, DI Peter Hauber ist mit einer deutschen Adresse eingetragen: Bayerisch Gmain, Großgmainer Straße 5C -> Postleitzahl: D-83457
OE2WAP Waldauf Alexander Salzburg Scherzhauserfeldstr, vermutlich die Nr. 36 (OE2YMO Waldauf Maria)

View File

@ -0,0 +1,184 @@
# Installation on Dell XPS 9570
# Connect to Internet
# Sync clock
timedatectl set-ntp true
# Create three partitions:
# 1 512MB EFI partition # Hex code ef00
# 2 rest Linux partiton # Hex code 8300
cgdisk /dev/nvme0n1
# Format EFI partition
mkfs.vfat -F 32 -n BOOT /dev/nvme0n1p1
o=compress=lzo,space_cache,noatime,ssd
o_btrfs=$o,defaults,x-mount.mkdir
# mount -t btrfs /dev/nvme0n1p2 /mnt
# Create BTRFS subvolumes + mount directories
btrfs subvolume create root
btrfs subvolume create home
btrfs subvolume create snapshots
btrfs subvolume create tmp
btrfs subvolume create opt
btrfs subvolume create var
umount /mnt
# Mount BTRFS subvolumes
mount -o subvol=root,$o_btrfs /dev/mapper/root /mnt
mount -o subvol=home,$o_btrfs /dev/mapper/root /mnt/home
mount -o subvol=snapshots,$o_btrfs /dev/mapper/root /mnt/.snapshots
mount -o subvol=tmp,$o_btrfs /dev/mapper/root /mnt/tmp
mount -o subvol=opt,$o_btrfs /dev/mapper/root /mnt/opt
mount -o subvol=var,$o_btrfs /dev/mapper/root /mnt/var
# Mount EFI partition
mkdir /mnt/boot
mount /dev/nvme0n1p1 /mnt/boot
# Install the base system plus a few packages
pacstrap /mnt base base-devel btrfs-progs zsh neovim git sudo iwd
genfstab -Up /mnt >>/mnt/etc/fstab
# Verify and adjust /mnt/etc/fstab
# Change relatime on all non-boot partitions to noatime (reduces wear if using an SSD)
arch-chroot /mnt
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
locale-gen
localectl set-locale LANG=en_US.UTF-8
# Setup time
ln -s /usr/share/zoneinfo/America/Newyork etc/localtime
hwclock --systohc --localtime
# Set locale
echo 'LANG=en_US.UTF-8' > /etc/locale.conf
# set hostname
echo xcloud >/etc/hostname
echo '127.0.0.1 xcloud xcloud.localdomain' > /etc/hosts
echo '::1 xcloud xcloud.localdomain' > /etc/hosts
# Set password for root
passwd
# Add real group / user
groupadd -g 1001 <groupname>
useradd -m -g '<groupname>' -G users,wheel,audio,video -s /bin/zsh '<username>'
passwd '<username>'
echo '<username> ALL=(ALL) ALL' > /etc/sudoers.d/<username>
# Configure mkinitcpio with modules needed for the initrd image
vi /etc/mkinitcpio.conf
# remove HOOK "fsck", add "keymap encrypt" before "filesystems":
# HOOKS="base udev autodetect modconf block btrfs keymap encrypt filesystems keyboard"
# Regenerate initrd image
mkinitcpio -p linux
# Setup systemd-boot
bootctl --path=/boot install
# Enable Intel microcode updates
pacman -S intel-ucode
/boot/loader/entries/arch.conf
---
title Arch Linux Encrypted
linux /vmlinuz-linux
initrd /intel-ucode.img
initrd /initramfs-linux.img
options cryptdevice=UUID=<cryptdevice-UUID>:root root=UUID=<root-UUID> rootflags=subvol=@ rw
---
# Set default bootloader entry
---
/boot/loader/loader.conf
---
default arch
timeout 4
editor 0
---
###
### Useful services
###
pacman -S acpid ntp avahi cups cronie
systemctl enable acpid
systemctl enable ntpd
systemctl enable avahi-daemon
systemctl enable org.cups.cupsd.service
systemctl enable cronie
systemctl enable systemd-timesyncd.service
systemctl start systemd-timesyncd.service
pacman -S networkmanager
pacman -S network-manager-applet
systemctl enable NetworkManager
pacman -S bash-completion
vi /etc/modprobe.d/modprobe.conf
# content:
# blacklist psmouse
###
### X11 / Gnome
###
pacman -S xorg-server xorg-xinit
pacman -S xf86-video-intel
pacman -S alsa-utils alsa-tools pulseaudio pavucontrol nm-connection-editor
pacman -S gnome gnome-extra gdm
pacman -S chromium emacs openssh
# exit arch-chroot
exit
# cleanup EFI-bootmanager entries
efibootmgr
efibootmgr -b 0 -B # e.g. remove Boot0000
# unmount all filesystems
umount -R /mnt
reboot
###
### Yaourt
###
# Installation from AUR
# install package-query first:
curl -O https://aur.archlinux.org/cgit/aur.git/snapshot/package-query.tar.gz
tar -xvzf package-query.tar.gz
cd package-query
makepkg -si
# then yaourt itself:
cd ..
curl -O https://aur.archlinux.org/cgit/aur.git/snapshot/yaourt.tar.gz
tar -xvzf yaourt.tar.gz
cd yaourt
makepkg -si
systemctl start gdm

View File

@ -0,0 +1,124 @@
## Create a Bootlabe Windows 10 USB Drive using LINUX Arch
A manual from the site [adamsdesk](https://kb.adamsdesk.com/operating_system/create_a_bootable_windows_10_usb_using_linux/), was adapted to my needs.
*Version 1.0*
### Prerequisite
#### Assumptions
* Instructions using Arch Linux
* USB drive with a minimum of 8 GB
* Steps prefixed with "$" represents the CLI prompt with normal user access rights
* Steps prefixed with "#" represents the CLI prompt with root access rights
#### Preparation
Install the following packages from the Arch Linux distribution
```
$ yay -Sy ms-sys ntfs-3g rsync
```
### Instructions
1. Download the latest Windows ISO from Microsoft [here](https://www.microsoft.com/en-us/software-download/windows10ISO),
2. Plug in the USB flash drive,
3. Locate the USB device name:
```
$ lsblk
```
```
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 5,7G 0 loop /mnt/iso
sda 8:0 1 7,5G 0 disk
└─sda1 8:1 1 7,5G 0 part
nvme0n1 259:0 0 1,8T 0 disk /
```
4. Unmount the UB flash drive:
```
# umount /dev/sda1
```
5. Create USB flash drive partition:
```
# fdisk /dev/sda
```
a.) Press `D` then press `<ENTER>` to delete all partitions,
b.) Press `N` then press `<ENTER>` to create a new partition,
c.) Press `<ENTER>` to accept default (p for primary),
d.) Press `<ENTER>` to accept default partition number, 1,
e.) Press `<ENTER>` to accept default first sector,
f.) Press `<ENTER>` to accept default last sector,
```
Note:
Say yes if prompted for "Do you want to remove the signature".
```
g.) Press `T` then press `<ENTER>` to change partition type,
h.) Press `7` then press `<ENTER>` to set partion type to **HPFS/NTFS/exFAT**,
i.) Press `P` to verify:
```
Disk /dev/sda: 7,5 GiB, 8053063680 bytes, 15728640 sectors
Disk model: Flash Disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x8bfaef3a
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 15728639 15726592 7,5G 7 HPFS/NTFS/exFAT
```
j.) Press `W` then press `<ENTER>` to write table to disk and exit,
6. Format partition file system to NTFS:
```
# mkfs.ntfs -L win10 /dev/sda1
```
7. Create mount points:
```
# mkdir /mnt/{iso,usb}
```
8. Mount Windows ISO:
```
# mount ~<username>/Downloads/Win10_22H2_English_x16v1.iso /mnt/iso
```
9. Mount USB drive partition:
```
# mount /dev/sda1 /mnt/usb
```
10. Copy files from Windows ISO to USB flash drive using `rsync`:
```
# rsync -avP /mnt/iso/ /mnt/usb/
```
11. Make USB flash drive bootable with:
```
# ms-sys -7 /dev/sda
```
```
Windows 7 master boot record successfully written to /dev/sda
```
12. Run **sync** to ensure all operations have completet,
```
# sync
```
13. Unmount USB flash drive,
```
# umount /mnt/usb
```
14. Unmount Windows ISO,
```
# umount /mnt/iso
```
15. Remove mount point directories:
```
# rm -r /mnt/{iso,usb}
```

151
btrfs-snapshot/btrfs-snapshot Executable file
View File

@ -0,0 +1,151 @@
#!/bin/bash
# By Thomas KUSCHEL <oe1tkt@gmail.com>
# MIT License 2015
VERSION="v6.15"
set -o errexit # to make script exit when a command fails / a.k.a. set -e
# then add "|| true" to commands that you allow to fail.
set -o nounset # to exit when script tries to use undeclared variables / set -u
# set -o xtrace # to trace when gets executed for debugging / a.k.a. set -x
set -o pipefail
SCRIPTNAME=${0##*/}
SCRIPTPATH=$(dirname "$0")
# echo $SCRIPTNAME
# where the btrfs is found (use command: which btrfs)
WHICH="/usr/bin/which"
BTRFS_ALT="/sbin/btrfs"
BTRFS="/usr/local/bin/btrfs"
# Function to install this script:
installation() {
# you have to switch to administrator
#`${WHICH} ${PATHINSTALL}`
PATHINSTALL="/usr/local/bin"
SNAPSYSTEMDCFG="/etc/systemd/system/"
SCRIPTPATH=$(dirname "$0")
# echo "Installation of ${SCRIPTNAME} to ${PATHINSTALL} and create systemd timer/service examples in ${SNAPSYSTEMDCFG}"
read -n 1 -p "Install ${SCRIPTNAME} to ${PATHINSTALL}? [Y/n] " reply;
if [ "$reply" != "" ]; then echo; fi
if [ "$reply" = "${reply#[Nn]}" ]; then
sudo cp $0 ${PATHINSTALL}/${SCRIPTNAME}
fi
read -n 1 -p "Do you want to create systemd timer/service examples in ${SNAPSYSTEMDCFG}? [Y/n] " reply;
if [ "$reply" != "" ]; then echo; fi
if [ "$reply" = "${reply#[Nn]}" ]; then
sudo cp -a ${SCRIPTPATH}/system/. ${SNAPSYSTEMDCFG}.
path=`$WHICH $SCRIPTNAME`
fi
}
deinstallation() {
PATHINSTALL="/usr/local/bin"
read -n 1 -p "Do you want to remove (deinstallation) of ${SCRIPTNAME} in ${PATHINSTALL}? [Y/n] " reply;
if [ "$reply" != "" ]; then echo; fi
if [ "$reply" = "${reply#[Nn]}" ]; then
sudo rm -f ${PATHINSTALL}/${SCRIPTNAME}
fi
}
# Function to display usage:
usage() {
path=`${WHICH} ${SCRIPTNAME}` || installation
if [ -z "${path}" ] ; then
path="/usr/local/bin/"
echo "Please install $SCRIPTNAME to \"$path\""
path="${path}${SCRIPTNAME}"
fi
cat <<EOF
$SCRIPTNAME: Take and rotate snapshots on a btrfs file system
usage: $SCRIPTNAME [--version] source target snap_name count [-q]
source: path to make snaphots of
target: snapshot directory
snap_name: Base name for snapshots, to be appended to
date "+%F-%H%M"
count: Number of snapshots in the timestamp-@snap_name format to
keep at one time for a given snap_name.
[-q]: Be quiet.
--install: Force a new installation of this script.
--version: Print the version of this script,
additionally the version of btrfs-progs.
Example for crontab:
15,30,45 * * * * root $0 /home /snap quarterly 4 -q
0 * * * * root $0 /home /snap hourly 8 -q
Example for anacrontab:
1 15 daily_snap $0 /home /snap daily 8
7 17 weekly_snap $0 /home /snap weekly 5
@monthly 19 monthly_snap $0 /home /snap monthly 3
NEW: If you are using systemd on your linux system, see http://f0x.at/btrfs
EOF
exit
}
if [ ! -f "$BTRFS" ] ; then
if [ -f "$BTRFS_ALT" ] ; then
# fallback
BTRFS="$BTRFS_ALT"
else
echo "$BTRFS system file not found,"
echo "please install btrfs-progs:"
echo "Arch Linux: # sudo pacman -S btrfs-progs"
echo "Debian/Ubuntu: # sudo apt-get install btrfs-tools"
exit
fi
fi
# Basic argument checks:
if [ $# -gt 0 ] && [ "x$1" == "x--version" ] ; then
echo "$SCRIPTNAME $VERSION"
echo `$BTRFS --version`
exit
fi
if [ $# -gt 0 ] && [ "x$1" == "x--install" ] ; then
installation
exit
fi
if [ $# -gt 0 ] && [ "x$1" == "x--deinstall" ] ; then
deinstallation
exit
fi
# Check count of arguments
if [ "$#" -ge 4 ]; then
SOURCE=$1
TARGET=$2
SNAP=$3
COUNT=$4
QUIET=""
if [ "$#" -gt 4 ]; then
QUIET=$5
fi
else
echo "You need some arguments."
usage
fi
if [ $# -gt 5 ] ; then
echo "Too many parameters."
usage
fi
if [ -n "$QUIET" ] && [ "x$QUIET" != "x-q" ] ; then
echo "Parameter 4 is either -q or empty. Given: \"$QUIET\""
usage
fi
# $max_snap is the highest number of snapshots that will be kept for $SNAP.
max_snap=$(($COUNT -1))
# Check if $TARGET already exists - if NOT then create subdir
[ -d $TARGET ] || mkdir $TARGET
# Clean up older snapshots:
for i in `ls $TARGET|sort |grep @${SNAP}|head -n -${max_snap}`; do
cmd="$BTRFS subvolume delete $TARGET/$i"
if [ -z $QUIET ]; then
echo $cmd
fi
$cmd >/dev/null
done
# Create new snapshot:
cmd="$BTRFS subvolume snapshot -r $SOURCE $TARGET/`date "+%F-%H%M-@${SNAP}"`"
if [ -z $QUIET ]; then
echo $cmd
fi
$cmd >/dev/null

View File

@ -0,0 +1,8 @@
[Unit]
Description=rolling snapshot for /home/user
[Service]
Type=oneshot
Nice=19
IOSchedulingClass=best-effort
IOSchedulingPriority=7
ExecStart=/usr/local/bin/btrfs-snapshot /home/user /home/snap/user daily 4

View File

@ -0,0 +1,9 @@
[Unit]
Description=daily snapshot
[Timer]
# see systemd.time(7) manual page for other scheduling options
OnCalendar=01:00
# run immediately if we missed a backup for some reason
Persistent=true
[Install]
WantedBy=timers.target

7
config.ini Normal file
View File

@ -0,0 +1,7 @@
[MARIADB]
db_user = om
db_password = oe3tkt
db_host = 127.0.0.1
db_port = 3306
db_database = callbook

View File

@ -0,0 +1,59 @@
# Installation on Lenovo Think Pad
# Change keyboard layout to German language
loadkeys de-latin1
# Connect to WLAN (standard)
iwctl
[iwd]# device list
jetzt sollte zumindest ein Device z.B. wlan0
aufscheinen.
[iwd]# station wlan0 scan
... ein bisschen warten ...
[iwd]# station wlan0 get-networks
Wenn z.B. das Netzwerk "Kuscheltier" heißt, dann:
[iwd]# station wlan0 connect Kuscheltier
Passphrase: *******
[iwd]# exit
\# ping orf.at
# Connect to EDUROAM eduroam.8021x
Firstly, you have to create a new file at /var/lib/iwd/eduroam.8021x with:
```
cd /var/lib/iwd
nano -cl eduroam.8021x
```
Content of the file:
```
[Security]
EAP-Method=TTLS
EAP-Identity=holo@technikum-wien.at
EAP-TTLS-Phase2-Method=MSCHAPV2
EAP-TTLS-Phase2-Identity=ma0079
EAP-TTLS-Phase2-Password=Ubdaed8.Dtdpmc!
EAP-TTLS-ServerDomainMask=radius.technikum-wien.at
[Settings]
AutoConnect=true
```
# Start the iwctl wireless connection tool
iwctl
[iwd]# device list
# Check the internet connection
ping orf.at
# Start the arch installation script
archinstall
### Locales
Keyboard layout: de-latin1
Locale language: en_DK
Locale encoding: UTF-8
###

View File

@ -1,14 +1,16 @@
#!/bin/sh
#!/bin/bash
# Script Updating Gitea (c) Thomas Kuschel
# since 2024
echo "Update the Gitea from the website and restart Gitea Service"
echo "Update the Gitea from the website and restart Gitea service"
website_latest="https://github.com/go-gitea/gitea/releases/latest"
website_uri="https://dl.gitea.io/gitea"
file_prefix="gitea"
file_suffix="linux-amd64"
install_dir="/usr/local/bin"
file_gitea="gitea"
temp_folder="temp.gitea.08154711"
# get the latest version with the website_latest uri to github:
website_version_raw=$( curl -Ls -I -o /dev/null -w %{url_effective} ${website_latest} )
@ -24,50 +26,52 @@ fi
version_active_raw=$( gitea --version )
version_active=$( gitea --version | awk '{ print $3; exit }' )
echo "Website Version: ${version}"
echo " Active Version: ${version_active}"
echo "Website version: ${version}"
echo " Active version: ${version_active}"
if [ "${version}" == "${version_active}" ]
then
echo "Both Version Strings are Equal."
echo "Both version strings are the same."
else
echo "Both Version Strings are not Equal."
echo "Start Updating..."
echo "There are differences between the two version strings."
echo "Start updating..."
read -p "Are you sure? (y/N)" -n 1 -r
echo # (optional) move to a new line
if [[ $REPLY =~ ^[YyJj]$ ]]
then
uri=${website_uri}/${version}/${file_prefix}-${version}-${file_suffix}
wget -O gitea --show-progress ${uri}
wget -O gitea.sha256 ${uri}.sha256
mkdir -p ${temp_folder}
cd ${temp_folder}
wget -O ${file_gitea} --show-progress ${uri}
wget -O ${file_gitea}.sha256 ${uri}.sha256
# strip gitea
sha256check=$( echo "$(cat gitea.sha256 | awk '{ print $1 }') gitea" | sha256sum --check )
sha256check=$( echo "$(cat ${file_gitea}.sha256 | awk '{ print $1 }') ${file_gitea}" | sha256sum --check )
echo ${sha256check}
check=$( echo ${sha256check} | awk '{ print $2 }' )
if [ "${check}" == "OK" ]
then
echo "SHA256 was checked and verified OK"
sudo install --owner=git --group=git --mode=755 --strip gitea ${install_dir}
sudo install --owner=git --group=git --mode=755 --strip ${file_gitea} ${install_dir}
else
echo "There was a failure in the SHA256 file check."
fi
# remove local files:
rm gitea gitea.sha256
rm ${file_gitea} ${file_gitea}.sha256
cd ..
rmdir ${temp_folder}
fi
fi
#echo active gitea version:
echo "Print the active gitea full version string:"
echo "Active gitea full version string:"
gitea --version
read -p "Restart the gitea service on the host? (y/N)" -n 1 -r
echo # (optional) move to a new line
if [[ $REPLY =~ ^[YyJj]$ ]]
then
sudo systemctl restart gitea.service
echo "Restarted gitea.service"
echo "gitea.service restarted."
fi