diff --git a/content/posts/2021-02-19-viktoriapark.md b/content/posts/2021-02-19-viktoriapark.md new file mode 100644 index 0000000..a882e5a --- /dev/null +++ b/content/posts/2021-02-19-viktoriapark.md @@ -0,0 +1,13 @@ +--- +title: "Viktoriapark" +date: 2021-02-19T00:00:01+00:00 +draft: false +categories: ["Images"] +description: "Viktoriapark" +startpage: false +lang: img +gallery: "/img/2021/02/viktoriapark/DSC08970.jpg" +cc: "by-nc-sa" +--- +# Gallery +{{< gallery dir="/img/2021/02/viktoriapark" caption-position="none" caption-effect="fade" />}} {{< load-photoswipe >}} diff --git a/content/posts/2021-02-24-oranienburg-lehnitz-kanal.md b/content/posts/2021-02-24-oranienburg-lehnitz-kanal.md new file mode 100644 index 0000000..e1f30e6 --- /dev/null +++ b/content/posts/2021-02-24-oranienburg-lehnitz-kanal.md @@ -0,0 +1,13 @@ +--- +title: "Oranienburg Lehnitz-Kanal" +date: 2021-02-24T00:00:01+00:00 +draft: false +categories: ["Images"] +description: "Oranienburg Lehnitz-Kanal" +startpage: false +lang: img +gallery: "/img/2021/02/oranienburg-lehnitz-kanal/DSC09082.jpg" +cc: "by-nc-sa" +--- +# Gallery +{{< gallery dir="/img/2021/02/oranienburg-lehnitz-kanal" caption-position="none" caption-effect="fade" />}} {{< load-photoswipe >}} diff --git a/content/posts/2021-02-24-ss-brotfabrik-oranienburg.md b/content/posts/2021-02-24-ss-brotfabrik-oranienburg.md new file mode 100644 index 0000000..15a57bb --- /dev/null +++ b/content/posts/2021-02-24-ss-brotfabrik-oranienburg.md @@ -0,0 +1,14 @@ +--- +title: "SS-Brotfabrik Oranienburg" +date: 2021-02-24T00:00:01+00:00 +draft: false +categories: ["Images"] +description: "SS-Brotfabrik Oranienburg" +startpage: false +lang: img +gallery: "/img/2021/02/ss-brotfabrik-oranienburg/DSC09147.jpg" +cc: "by-nc-sa" +--- +In der 1939 geplanten und bis März 1941 gebaute Brotfabrik wurden bis zu 80 Häftlingen aus dem Hauptlager Sachsenhausen ab 1943 aus dem Klinkerwerk zur arbeit gezwungen. Das Gelände war von dem "Außenlager Klinkerwerk" durch einen Schießstand getrennt. Die Waren wurden für den Einsatz im Militär gebacken, eine versorgung der Zivilbevölkerung war nicht vorgesehen. Ab 1944 wurden auch andere Konzentrationslager mit Brot versorgt. Nach Kriegsende wurden die Maschienen demontiert und das Gelände von der Roten Arme zur medizinischen Versorgung der ehemaligen Häftlinge genutzt. Ab 1946 wurde der Backbetrieb als VEG wieder aufgenomme. Bis 1991 wurde in diesem Gebäude gebacken, danach wurde das Gelände verlassen. +# Gallery +{{< gallery dir="/img/2021/02/ss-brotfabrik-oranienburg" caption-position="none" caption-effect="fade" />}} {{< load-photoswipe >}} diff --git a/content/posts/2021-02-27-von-der-schulenburg-park.md b/content/posts/2021-02-27-von-der-schulenburg-park.md new file mode 100644 index 0000000..cc43906 --- /dev/null +++ b/content/posts/2021-02-27-von-der-schulenburg-park.md @@ -0,0 +1,13 @@ +--- +title: "Von-der-Schulenburg-Park" +date: 2021-02-27T00:00:01+00:00 +draft: false +categories: ["Images"] +description: "Von-der-Schulenburg-Park" +startpage: false +lang: img +gallery: "/img/2021/02/von-der-schulenburg-park/DSC09185.jpg" +cc: "by-nc-sa" +--- +# Gallery +{{< gallery dir="/img/2021/02/von-der-schulenburg-park" caption-position="none" caption-effect="fade" />}} {{< load-photoswipe >}} diff --git a/content/posts/2021-03-07-dorfkirche-tempelhof.md b/content/posts/2021-03-07-dorfkirche-tempelhof.md new file mode 100644 index 0000000..16a6c51 --- /dev/null +++ b/content/posts/2021-03-07-dorfkirche-tempelhof.md @@ -0,0 +1,13 @@ +--- +title: "Dorfkirche Tempelhof" +date: 2021-03-07T00:00:01+00:00 +draft: false +categories: ["Images"] +description: "Dorfkirche Tempelhof" +startpage: false +lang: img +gallery: "/img/2021/03/dorfkirche-tempelhof/DSC09214.jpg" +cc: "by-nc-sa" +--- +# Gallery +{{< gallery dir="/img/2021/03/dorfkirche-tempelhof" caption-position="none" caption-effect="fade" />}} {{< load-photoswipe >}} diff --git a/content/posts/2021-03-07-signal-dbus-golang.md b/content/posts/2021-03-07-signal-dbus-golang.md new file mode 100644 index 0000000..ed39008 --- /dev/null +++ b/content/posts/2021-03-07-signal-dbus-golang.md @@ -0,0 +1,227 @@ +--- +title: "Using the signal-cli dbus interface in golang" +date: 2021-03-07T10:25:53+02:00 +draft: false +description: "Using the signal-cli dbus interface in golang" +tags: ["Blog", "Go"] +categories: ["Programming"] +startpage: true +lang: en +--- + +The [signal-cli](https://github.com/AsamK/signal-cli) tool profieds a dbus interface to get and send messages from other programms. The Documentation for that is avalible in the [signal-cli wiki](https://github.com/AsamK/signal-cli/wiki/DBus-service) but that not so easy to understand if you never work with dbus before. + +# Setup signal-cli +To setup signal-cli and pair it as secound device to an existing account you first need to install signal-cli, that steps based on your os. After you install it you can create a new "Pairing-Code" by runnuning `signal-cli link -n "mybot"`. The given code can used on the webpage [goqr.me](http://goqr.me/) to create an qr code, which you can scann with the signal app on your mobile device. + +After that you can start signal-cli as deamon, for example with the following command with also print all incomming events as json on your cli: + +``` +signal-cli -u +49176XXXXXXX -o json daemon +``` + +# Getting Messages +First we need to connect to the DBus system, thats possible with the [godbus/dbus](https://github.com/godbus/dbus) package. The connection based on the example from the package is really easy: +``` +conn, err := dbus.ConnectSessionBus() +if err != nil { + fmt.Fprintln(os.Stderr, "Failed to connect to session bus:", err) + return err +} +defer conn.Close() +``` + +After that we need to told the dbus package which messages we want to recive and create a channel where we can revice all signales. To got the signal messages the follwoing code works for me: + +``` +if err = conn.AddMatchSignal( + dbus.WithMatchInterface("org.asamk.Signal"), +); err != nil { + return err +} +c := make(chan *dbus.Signal, 10) +conn.Signal(c) +``` +than we can "listen" to the channel and got the messages the signal-cli deamon sends: + +``` +for v := range c { + fmt.Println(v) +} +``` + +That will create mainly two signales im interested in, first getting a message from another conversation partner: + +``` +&{:1.34 /org/asamk/Signal org.asamk.Signal.MessageReceived [1615064176455 +49176XXXXXXXX [] Durchgefallen []] 11} +``` + +and secound getting a Sync Message, it will be send if yourself send a message from another device to a conversation partner: + +``` +&{:1.34 /org/asamk/Signal org.asamk.Signal.SyncMessageReceived [1615064055775 +49176XXXXXXXXX +49176XXXXXXX [] Ich bin ein test []] 8} +``` + + +# Parsing Messages +If i just focus on 1:1 chats i could parse both kinds of events. Here two examples without error handling. First on the "Incomming Messages" : + +``` +type IncommingMessage struct { + Timestamp int64 + Source string + Message string + Attachments []string +} + +func parseMessageReceived(v *dbus.Signal) IncommingMessage { + msg := IncommingMessage{} + msg.Timestamp, _ = v.Body[0].(int64) + msg.Source = v.Body[1].(string) + msg.Message = v.Body[3].(string) + msg.Attachments = v.Body[4].([]string) + return msg +} +``` + +and for the Snyc Events: + +``` +type SyncMessage struct { + Timestamp int64 + Source string + Destination string + Message string + Attachments []string +} + +func parseSyncMessageReceived(v *dbus.Signal) SyncMessage { + msg := SyncMessage{} + msg.Timestamp, _ = v.Body[0].(int64) + msg.Source = v.Body[1].(string) + msg.Destination = v.Body[2].(string) + msg.Message = v.Body[4].(string) + msg.Attachments = v.Body[5].([]string) + return msg +} +``` + + + +That functions will return strucs you can easy use for your application. + +# Sending Messages + +For the sending we also need a dbus connection, but unlike in the receving message part we don't subscribe to the events we produse one which will be consumed by the signal-cli deamon and send as chat messages to the conversation. All other devices (like your mobile phone) will get a SyncMessage event and show that "new" message too. + +First you need to create the connection like before: + +``` +conn, err := dbus.ConnectSessionBus() +if err != nil { + fmt.Fprintln(os.Stderr, "Failed to connect to session bus:", err) + os.Exit(1) +} +defer conn.Close() +``` + +after that just send a call like this: + +``` +obj := conn.Object("org.asamk.Signal", "/org/asamk/Signal") +call := obj.Call("org.asamk.Signal.sendMessage",0, "Your really cool message", []string{}, "+49176XXXXXXX") +if call.Err != nil { + panic(call.Err) +} +``` + + +# Example + +Here an "full" example of getting messages (without error handling) + +``` +func listenToDbus() error { + conn, err := dbus.ConnectSessionBus() + if err != nil { + fmt.Fprintln(os.Stderr, "Failed to connect to session bus:", err) + return err + } + defer conn.Close() + + if err = conn.AddMatchSignal( + dbus.WithMatchInterface("org.asamk.Signal"), + ); err != nil { + return err + } + + c := make(chan *dbus.Signal, 10) + conn.Signal(c) + for v := range c { + if v.Name == "org.asamk.Signal.SyncMessageReceived" { + msg := parseSyncMessageReceived(v) + // do something with msg like a callback + } + if v.Name == "org.asamk.Signal.MessageReceived" { + msg := parseMessageReceived(v) + // do something with msg like a callback + } + } + + return nil +} + +type SyncMessage struct { + Timestamp int64 + Source string + Destination string + Message string + Attachments []string +} + +func parseSyncMessageReceived(v *dbus.Signal) SyncMessage { + msg := SyncMessage{} + msg.Timestamp, _ = v.Body[0].(int64) + msg.Source = v.Body[1].(string) + msg.Destination = v.Body[2].(string) + msg.Message = v.Body[4].(string) + msg.Attachments = v.Body[5].([]string) + return msg +} + +type IncommingMessage struct { + Timestamp int64 + Source string + Message string + Attachments []string +} + +func parseMessageReceived(v *dbus.Signal) IncommingMessage { + msg := IncommingMessage{} + msg.Timestamp, _ = v.Body[0].(int64) + msg.Source = v.Body[1].(string) + msg.Message = v.Body[3].(string) + msg.Attachments = v.Body[4].([]string) + return msg +} +``` + +and another one to sending messages: + +``` +func SendMessage(to string, msg string) { + conn, err := dbus.ConnectSessionBus() + if err != nil { + fmt.Fprintln(os.Stderr, "Failed to connect to session bus:", err) + os.Exit(1) + } + defer conn.Close() + + obj := conn.Object("org.asamk.Signal", "/org/asamk/Signal") + call := obj.Call("org.asamk.Signal.sendMessage",0, msg, []string{}, to) + if call.Err != nil { + panic(call.Err) + } +} + +``` \ No newline at end of file diff --git a/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09071.jpg b/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09071.jpg new file mode 100644 index 0000000..9d83a3c Binary files /dev/null and b/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09071.jpg differ diff --git a/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09076.jpg b/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09076.jpg new file mode 100644 index 0000000..492bc46 Binary files /dev/null and b/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09076.jpg differ diff --git a/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09079.jpg b/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09079.jpg new file mode 100644 index 0000000..5e2a25d Binary files /dev/null and b/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09079.jpg differ diff --git a/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09082.jpg b/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09082.jpg new file mode 100644 index 0000000..412c8c0 Binary files /dev/null and b/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09082.jpg differ diff --git a/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09084.jpg b/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09084.jpg new file mode 100644 index 0000000..33b73d0 Binary files /dev/null and b/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09084.jpg differ diff --git a/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09087.jpg b/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09087.jpg new file mode 100644 index 0000000..1cc9cb2 Binary files /dev/null and b/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09087.jpg differ diff --git a/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09090.jpg b/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09090.jpg new file mode 100644 index 0000000..b8154eb Binary files /dev/null and b/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09090.jpg differ diff --git a/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09094.jpg b/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09094.jpg new file mode 100644 index 0000000..a35f65d Binary files /dev/null and b/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09094.jpg differ diff --git a/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09099.jpg b/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09099.jpg new file mode 100644 index 0000000..a7d7b2a Binary files /dev/null and b/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09099.jpg differ diff --git a/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09105.jpg b/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09105.jpg new file mode 100644 index 0000000..7f6d410 Binary files /dev/null and b/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09105.jpg differ diff --git a/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09111.jpg b/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09111.jpg new file mode 100644 index 0000000..4a2292e Binary files /dev/null and b/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09111.jpg differ diff --git a/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09116.jpg b/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09116.jpg new file mode 100644 index 0000000..20c8e8f Binary files /dev/null and b/static/img/2021/02/oranienburg-lehnitz-kanal/DSC09116.jpg differ diff --git a/static/img/2021/02/ss-brotfabrik-oranienburg/20210224_140527.jpg b/static/img/2021/02/ss-brotfabrik-oranienburg/20210224_140527.jpg new file mode 100644 index 0000000..d03a46e Binary files /dev/null and b/static/img/2021/02/ss-brotfabrik-oranienburg/20210224_140527.jpg differ diff --git a/static/img/2021/02/ss-brotfabrik-oranienburg/20210224_140609.jpg b/static/img/2021/02/ss-brotfabrik-oranienburg/20210224_140609.jpg new file mode 100644 index 0000000..81dcb30 Binary files /dev/null and b/static/img/2021/02/ss-brotfabrik-oranienburg/20210224_140609.jpg differ diff --git a/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09120.jpg b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09120.jpg new file mode 100644 index 0000000..68d8b01 Binary files /dev/null and b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09120.jpg differ diff --git a/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09122.jpg b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09122.jpg new file mode 100644 index 0000000..18a5938 Binary files /dev/null and b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09122.jpg differ diff --git a/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09123.jpg b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09123.jpg new file mode 100644 index 0000000..c092f49 Binary files /dev/null and b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09123.jpg differ diff --git a/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09126.jpg b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09126.jpg new file mode 100644 index 0000000..73ae85b Binary files /dev/null and b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09126.jpg differ diff --git a/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09127.jpg b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09127.jpg new file mode 100644 index 0000000..df4d900 Binary files /dev/null and b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09127.jpg differ diff --git a/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09129.jpg b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09129.jpg new file mode 100644 index 0000000..cdcd22a Binary files /dev/null and b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09129.jpg differ diff --git a/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09132.jpg b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09132.jpg new file mode 100644 index 0000000..5f6f2ed Binary files /dev/null and b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09132.jpg differ diff --git a/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09135.jpg b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09135.jpg new file mode 100644 index 0000000..737f72a Binary files /dev/null and b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09135.jpg differ diff --git a/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09140.jpg b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09140.jpg new file mode 100644 index 0000000..0f8120a Binary files /dev/null and b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09140.jpg differ diff --git a/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09146.jpg b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09146.jpg new file mode 100644 index 0000000..d918605 Binary files /dev/null and b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09146.jpg differ diff --git a/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09147.jpg b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09147.jpg new file mode 100644 index 0000000..4ccb0de Binary files /dev/null and b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09147.jpg differ diff --git a/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09149.jpg b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09149.jpg new file mode 100644 index 0000000..0c453ed Binary files /dev/null and b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09149.jpg differ diff --git a/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09151.jpg b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09151.jpg new file mode 100644 index 0000000..89ede4f Binary files /dev/null and b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09151.jpg differ diff --git a/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09153.jpg b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09153.jpg new file mode 100644 index 0000000..2b487ba Binary files /dev/null and b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09153.jpg differ diff --git a/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09154.jpg b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09154.jpg new file mode 100644 index 0000000..a801291 Binary files /dev/null and b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09154.jpg differ diff --git a/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09156.jpg b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09156.jpg new file mode 100644 index 0000000..224515f Binary files /dev/null and b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09156.jpg differ diff --git a/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09157.jpg b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09157.jpg new file mode 100644 index 0000000..456fed4 Binary files /dev/null and b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09157.jpg differ diff --git a/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09161.jpg b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09161.jpg new file mode 100644 index 0000000..ff1be79 Binary files /dev/null and b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09161.jpg differ diff --git a/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09164.jpg b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09164.jpg new file mode 100644 index 0000000..a7556a4 Binary files /dev/null and b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09164.jpg differ diff --git a/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09169.jpg b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09169.jpg new file mode 100644 index 0000000..74c13d2 Binary files /dev/null and b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09169.jpg differ diff --git a/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09172.jpg b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09172.jpg new file mode 100644 index 0000000..3b6bf16 Binary files /dev/null and b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09172.jpg differ diff --git a/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09178.jpg b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09178.jpg new file mode 100644 index 0000000..b5b6d4d Binary files /dev/null and b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09178.jpg differ diff --git a/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09180.jpg b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09180.jpg new file mode 100644 index 0000000..4182064 Binary files /dev/null and b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09180.jpg differ diff --git a/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09183.jpg b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09183.jpg new file mode 100644 index 0000000..320594c Binary files /dev/null and b/static/img/2021/02/ss-brotfabrik-oranienburg/DSC09183.jpg differ diff --git a/static/img/2021/02/viktoriapark/DSC08968.jpg b/static/img/2021/02/viktoriapark/DSC08968.jpg new file mode 100644 index 0000000..963e6ca Binary files /dev/null and b/static/img/2021/02/viktoriapark/DSC08968.jpg differ diff --git a/static/img/2021/02/viktoriapark/DSC08970.jpg b/static/img/2021/02/viktoriapark/DSC08970.jpg new file mode 100644 index 0000000..880be74 Binary files /dev/null and b/static/img/2021/02/viktoriapark/DSC08970.jpg differ diff --git a/static/img/2021/02/viktoriapark/DSC08973.jpg b/static/img/2021/02/viktoriapark/DSC08973.jpg new file mode 100644 index 0000000..d12e2a7 Binary files /dev/null and b/static/img/2021/02/viktoriapark/DSC08973.jpg differ diff --git a/static/img/2021/02/viktoriapark/DSC08976.jpg b/static/img/2021/02/viktoriapark/DSC08976.jpg new file mode 100644 index 0000000..6bca74e Binary files /dev/null and b/static/img/2021/02/viktoriapark/DSC08976.jpg differ diff --git a/static/img/2021/02/viktoriapark/DSC08988.jpg b/static/img/2021/02/viktoriapark/DSC08988.jpg new file mode 100644 index 0000000..a503830 Binary files /dev/null and b/static/img/2021/02/viktoriapark/DSC08988.jpg differ diff --git a/static/img/2021/02/von-der-schulenburg-park/DSC09185.jpg b/static/img/2021/02/von-der-schulenburg-park/DSC09185.jpg new file mode 100644 index 0000000..11d79c9 Binary files /dev/null and b/static/img/2021/02/von-der-schulenburg-park/DSC09185.jpg differ diff --git a/static/img/2021/02/von-der-schulenburg-park/DSC09195.jpg b/static/img/2021/02/von-der-schulenburg-park/DSC09195.jpg new file mode 100644 index 0000000..4634e65 Binary files /dev/null and b/static/img/2021/02/von-der-schulenburg-park/DSC09195.jpg differ diff --git a/static/img/2021/02/von-der-schulenburg-park/DSC09198.jpg b/static/img/2021/02/von-der-schulenburg-park/DSC09198.jpg new file mode 100644 index 0000000..5649885 Binary files /dev/null and b/static/img/2021/02/von-der-schulenburg-park/DSC09198.jpg differ diff --git a/static/img/2021/02/von-der-schulenburg-park/DSC09199.jpg b/static/img/2021/02/von-der-schulenburg-park/DSC09199.jpg new file mode 100644 index 0000000..7166c9f Binary files /dev/null and b/static/img/2021/02/von-der-schulenburg-park/DSC09199.jpg differ diff --git a/static/img/2021/02/von-der-schulenburg-park/DSC09204.jpg b/static/img/2021/02/von-der-schulenburg-park/DSC09204.jpg new file mode 100644 index 0000000..beed67a Binary files /dev/null and b/static/img/2021/02/von-der-schulenburg-park/DSC09204.jpg differ diff --git a/static/img/2021/03/dorfkirche-tempelhof/DSC09214.jpg b/static/img/2021/03/dorfkirche-tempelhof/DSC09214.jpg new file mode 100644 index 0000000..d0c3d39 Binary files /dev/null and b/static/img/2021/03/dorfkirche-tempelhof/DSC09214.jpg differ diff --git a/static/img/2021/03/dorfkirche-tempelhof/DSC09216.jpg b/static/img/2021/03/dorfkirche-tempelhof/DSC09216.jpg new file mode 100644 index 0000000..fc7559c Binary files /dev/null and b/static/img/2021/03/dorfkirche-tempelhof/DSC09216.jpg differ diff --git a/static/img/2021/03/dorfkirche-tempelhof/DSC09224.jpg b/static/img/2021/03/dorfkirche-tempelhof/DSC09224.jpg new file mode 100644 index 0000000..7bada82 Binary files /dev/null and b/static/img/2021/03/dorfkirche-tempelhof/DSC09224.jpg differ diff --git a/static/img/2021/03/dorfkirche-tempelhof/DSC09259.jpg b/static/img/2021/03/dorfkirche-tempelhof/DSC09259.jpg new file mode 100644 index 0000000..1ce4d3d Binary files /dev/null and b/static/img/2021/03/dorfkirche-tempelhof/DSC09259.jpg differ diff --git a/static/img/2021/03/dorfkirche-tempelhof/DSC09271.jpg b/static/img/2021/03/dorfkirche-tempelhof/DSC09271.jpg new file mode 100644 index 0000000..65cd5db Binary files /dev/null and b/static/img/2021/03/dorfkirche-tempelhof/DSC09271.jpg differ diff --git a/static/img/2021/03/dorfkirche-tempelhof/DSC09280.jpg b/static/img/2021/03/dorfkirche-tempelhof/DSC09280.jpg new file mode 100644 index 0000000..974b220 Binary files /dev/null and b/static/img/2021/03/dorfkirche-tempelhof/DSC09280.jpg differ