commit 6876522621fc240df704f47433fe8e9b780579a6 Author: xoyxoyxoy <91625208+xoyxoyxoy@users.noreply.github.com> Date: Thu Jan 26 21:58:13 2023 +0100 grundgerüst der neuen homepage, rekonstrukt der alten neuen homepage diff --git a/README.md b/README.md new file mode 100644 index 0000000..ec46004 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# Readme \ No newline at end of file diff --git a/file.go b/file.go new file mode 100644 index 0000000..c5bc322 --- /dev/null +++ b/file.go @@ -0,0 +1,16 @@ +package main + +import ( + "io/ioutil" + "log" +) + +func file_read(src string) string { + content, err := ioutil.ReadFile(src) + + if err != nil { + log.Fatal(err) + } + + return string(content) +} diff --git a/func.go b/func.go new file mode 100644 index 0000000..816e6d1 --- /dev/null +++ b/func.go @@ -0,0 +1,104 @@ +package main + +import ( + "io" + "net/http" + "strconv" + "strings" + "time" +) + +func handler() { + //Pages + http_HandleFunc("home", "./web/pages/home.html", true, "text/html") + http_HandleFunc("treff", "./web/pages/treff.html", false, "text/html") + http_HandleFunc("events", "./web/pages/events.html", false, "text/html") + http_HandleFunc("about", "./web/pages/about.html", false, "text/html") + + http_HandleFunc("kontakt", "./web/pages/kontakt.html", false, "text/html") + http_HandleFunc("kontakt/adresse", "./web/pages/kontakt/adresse.html", false, "text/html") + http_HandleFunc("kontakt/irc", "./web/pages/kontakt/irc.html", false, "text/html") + http_HandleFunc("kontakt/mail", "./web/pages/kontakt/mail.html", false, "text/html") + http_HandleFunc("kontakt/tel", "./web/pages/kontakt/tel.html", false, "text/html") + + http_HandleFunc("verein", "./web/pages/verein.html", false, "text/html") + http_HandleFunc("support", "./web/pages/support.html", false, "text/html") + + http_HandleFunc("impressum", "./web/pages/impressum.html", false, "text/html") + http_HandleFunc("datenschutz", "./web/pages/datenschutz.html", false, "text/html") + + //Styles + http_HandleFunc("style/main.css", "./web/styles/main.css", false, "text/css") + http_HandleFunc("style/kontakt.css", "./web/styles/kontakt.css", false, "text/css") + http_HandleFunc("style/home.css", "./web/styles/home.css", false, "text/css") + + //Images + http_HandleFunc("image/logo_ctdo.svg", "./web/images/logo_ctdo.svg", false, "image/svg+xml") + http_HandleFunc("image/header.jpg", "./web/images/header.jpg", false, "image/jpeg") + http_HandleFunc("image/adresse_knopf.webp", "./web/images/adresse_knopf.webp", false, "image/webp") + http_HandleFunc("image/chat_knopf.webp", "./web/images/chat_knopf.webp", false, "image/webp") + http_HandleFunc("image/mail_knopf.webp", "./web/images/mail_knopf.webp", false, "image/webp") + http_HandleFunc("image/tel_knopf.webp", "./web/images/tel_knopf.webp", false, "image/webp") +} + +func getPages() [][]string { + output := [][]string{} + + output = append(output, []string{"home", "/home"}) + output = append(output, []string{"zeiten & location", "/treff"}) + output = append(output, []string{"events", "/events"}) + output = append(output, []string{"über uns", "/about"}) + output = append(output, []string{"kontakt", "/kontakt"}) + output = append(output, []string{"verein", "/verein"}) + output = append(output, []string{"unterstützung", "/support"}) + + return output +} + +func getFooterPages() [][]string { + output := [][]string{} + + output = append(output, []string{"impressum", "/impressum"}) + output = append(output, []string{"datenschutzerklärung", "/datenschutz"}) + + return output +} + +func getRoomState() status { + c := &http.Client{Timeout: 10 * time.Second} + r, err := c.Get("https://status.ctdo.de/api/simple/v2") + if err != nil { + panic(err) + } + defer r.Body.Close() + + body, _err := io.ReadAll(r.Body) + if _err != nil { + panic(_err) + } + + bodyString := string(body) + + temp := []string{} + + bodyString = strings.ReplaceAll(bodyString, "{", "") + bodyString = strings.ReplaceAll(bodyString, "}", "") + + _temp := strings.Split(bodyString, ",") + + for _, element := range _temp { + __temp := strings.Split(element, ":") + temp = append(temp, __temp[1]) + } + + roomState := new(status) + + roomState.state = temp[0] == "true" + var __err error + roomState.power, __err = strconv.ParseInt(temp[2], 0, 64) + if __err != nil { + panic(__err) + } + + return *roomState +} diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..65e558b --- /dev/null +++ b/go.mod @@ -0,0 +1,3 @@ +module xoy.dev/ctdo + +go 1.19 diff --git a/html.go b/html.go new file mode 100644 index 0000000..f57bc4d --- /dev/null +++ b/html.go @@ -0,0 +1,44 @@ +package main + +import "strings" + +func html_Element(tag string, innerHTML string, args string) string { + return "<" + tag + " " + args + ">" + innerHTML + "" +} + +func html_LinkElement(innerHTML string, destination string, blank bool, args string) string { + b := "" + if blank { + b = "target=\"_blank\"" + } + + return html_Element("a", innerHTML, " href=\""+destination+"\" "+b) +} + +func html_InputElement(name string, _type string, value string, args string) string { + return "" +} + +func html_Nav(pages [][]string) string { + output := "" + + for _, page := range pages { + output += html_Element("li", html_LinkElement(page[0], page[1], false, ""), "") + } + + return html_Element("nav", html_Element("ul", output, ""), "") +} + +func html_replacer(input string) string { + output := strings.ReplaceAll(input, "!NAV", html_Nav(getPages())) + + if getRoomState().state { + output = strings.ReplaceAll(output, "!RAUMSTATUS", "

Raumstatus: offen

") + } else { + output = strings.ReplaceAll(output, "!RAUMSTATUS", "

Raumstatus: geschlossen

") + } + + output = strings.ReplaceAll(output, "!FOOTERNAV", html_Nav(getFooterPages())) + + return output +} diff --git a/http.go b/http.go new file mode 100644 index 0000000..74c8cdf --- /dev/null +++ b/http.go @@ -0,0 +1,46 @@ +package main + +import ( + "errors" + "fmt" + "io" + "net/http" + "os" +) + +func http_HandleFunc(url_path string, filepath string, is_mainpage bool, content_type string) { + if is_mainpage { + http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { + w.Header().Add("Content-Type", content_type) + io.WriteString(w, html_replacer(file_read(filepath))) + }) + } else { + s := new(submit) + s.data = "null" + http.HandleFunc("/"+url_path, func(w http.ResponseWriter, r *http.Request) { + if r.Method == "POST" { + if err := r.ParseForm(); err != nil { + fmt.Fprintf(w, "ParseForm() err: %v", err) + return + } + } + + w.Header().Add("Content-Type", content_type) + + io.WriteString(w, html_replacer(file_read(filepath))) + }) + } +} + +func http_start(address string) { // address could be = ":8080" + handler() + + err := http.ListenAndServe(address, nil) + + if errors.Is(err, http.ErrServerClosed) { + fmt.Printf("server closed\n") + } else if err != nil { + fmt.Printf("error starting server: %s\n", err) + os.Exit(1) + } +} diff --git a/main.go b/main.go new file mode 100644 index 0000000..0faaad6 --- /dev/null +++ b/main.go @@ -0,0 +1,5 @@ +package main + +func main() { + http_start(":80") +} diff --git a/structs.go b/structs.go new file mode 100644 index 0000000..ff1f44b --- /dev/null +++ b/structs.go @@ -0,0 +1,11 @@ +package main + +type submit struct { + data string +} + +type status struct { + state bool + lastchange int64 + power int64 +} diff --git a/web/.DS_Store b/web/.DS_Store new file mode 100644 index 0000000..6d1a987 Binary files /dev/null and b/web/.DS_Store differ diff --git a/web/images/adresse_knopf.webp b/web/images/adresse_knopf.webp new file mode 100644 index 0000000..8d5eaf9 Binary files /dev/null and b/web/images/adresse_knopf.webp differ diff --git a/web/images/chat_knopf.webp b/web/images/chat_knopf.webp new file mode 100644 index 0000000..f77af52 Binary files /dev/null and b/web/images/chat_knopf.webp differ diff --git a/web/images/header.jpg b/web/images/header.jpg new file mode 100644 index 0000000..570600b Binary files /dev/null and b/web/images/header.jpg differ diff --git a/web/images/logo_ctdo.svg b/web/images/logo_ctdo.svg new file mode 100644 index 0000000..350a39b --- /dev/null +++ b/web/images/logo_ctdo.svg @@ -0,0 +1,3 @@ + + +image/svg+xml diff --git a/web/images/mail_knopf.webp b/web/images/mail_knopf.webp new file mode 100644 index 0000000..7ba805c Binary files /dev/null and b/web/images/mail_knopf.webp differ diff --git a/web/images/tel_knopf.webp b/web/images/tel_knopf.webp new file mode 100644 index 0000000..9a8d4af Binary files /dev/null and b/web/images/tel_knopf.webp differ diff --git a/web/pages/about.html b/web/pages/about.html new file mode 100644 index 0000000..1cebf92 --- /dev/null +++ b/web/pages/about.html @@ -0,0 +1,52 @@ + + + + + + + ctdo - über uns + + + +
+ ctdo logo + !NAV +
+
+ !RAUMSTATUS + +

Wer wir sind

+

+ Der Chaostreff Dortmund e.V. ist ein Erfa-Kreis des CCC* und eine bunt gemischte Gruppe aus computer-, technikbegeisterten und kreativen Menschen. Wir sind nicht finanziell orientiert und betreiben den Chaostreff aus Spaß an der Sache und um interessierten Menschen eine Plattform zu bieten, über die man sich austauschen kann. Unser Ziel ist es den Chaostreff fortwährend aus Spenden der einzelnen Teilnehmenden bzw. Mitglieder zu finanzieren. Wenn du dir angucken möchtest, wie das so bei uns in den Räumen aussieht, dann komm doch einfach vorbei. +
+ Wir schließen niemanden aufgrund körperlicher Disposition, Religion, Alter, Weltanschauung, sexueller Ausrichtung oder sonstigen nichtigen Gründen aus! Alle, die interessiert sind, sind auch bei uns willkommen. +
+ *Wir sind ein Teil des Chaos Computer Club (CCC), ein s. g. Erfa Kreis (Erfahrungsaustausch Kreis), da wir seit 2017-04-16¹ den Erfa Status vom Regiotreff zuerkannt bekommen haben. +

+ +

Unsere Ziele

+ + +

Unsere Zielgruppe

+

+ Alle, die sich für Technik, Kunst, Kreativität, OpenSource, Netzpolitik, den Geist in der Maschine oder ähnliches begeistern können; wie bereits oben erwähnt schließen wir niemanden aus irgendwelchen dämlichen/rassistischen/vorurteilsbehafteten Gründen aus. +
+ Wir freuen uns schon auf deinen ersten Besuch bei uns. +

+ +

Wir bieten dir

+ + +

Du gehörst nicht zu uns, wenn…

+ + +

+ ¹ https://en.wikipedia.org/wiki/ISO_8601 + ² Dies ist eine witzige Bemerkung ein s.g. “Running Gag” und ist als sarkastische Bemerkung zu verstehen! +

+
+ + + \ No newline at end of file diff --git a/web/pages/datenschutz.html b/web/pages/datenschutz.html new file mode 100644 index 0000000..0f209c0 --- /dev/null +++ b/web/pages/datenschutz.html @@ -0,0 +1,22 @@ + + + + + + + ctdo - home + + + +
+ ctdo logo + !NAV +
+
+

Datenschutzerklärung

1. Datenschutz auf einen Blick

Allgemeine Hinweise

Die folgenden Hinweise geben einen einfachen Überblick darüber, was mit Ihren personenbezogenen Daten passiert, wenn Sie unsere Website besuchen. Personenbezogene Daten sind alle Daten, mit denen Sie persönlich identifiziert werden können. Ausführliche Informationen zum Thema Datenschutz entnehmen Sie unserer unter diesem Text aufgeführten Datenschutzerklärung.

Datenerfassung auf unserer Website

Wer ist verantwortlich für die Datenerfassung auf dieser Website?

Die Datenverarbeitung auf dieser Website erfolgt durch den Websitebetreiber. Dessen Kontaktdaten können Sie dem Impressum dieser Website entnehmen.

Wie erfassen wir Ihre Daten?

Ihre Daten werden zum einen dadurch erhoben, dass Sie uns diese mitteilen. Hierbei kann es sich z.B. um Daten handeln, die Sie in ein Kontaktformular eingeben.

Andere Daten werden automatisch beim Besuch der Website durch unsere IT-Systeme erfasst. Das sind vor allem technische Daten (z.B. Internetbrowser, Betriebssystem oder Uhrzeit des Seitenaufrufs). Die Erfassung dieser Daten erfolgt automatisch, sobald Sie unsere Website betreten.

Wofür nutzen wir Ihre Daten?

Ein Teil der Daten wird erhoben, um eine fehlerfreie Bereitstellung der Website zu gewährleisten. Andere Daten können zur Analyse Ihres Nutzerverhaltens verwendet werden.

Welche Rechte haben Sie bezüglich Ihrer Daten?

Sie haben jederzeit das Recht unentgeltlich Auskunft über Herkunft, Empfänger und Zweck Ihrer gespeicherten personenbezogenen Daten zu erhalten. Sie haben außerdem ein Recht, die Berichtigung, Sperrung oder Löschung dieser Daten zu verlangen. Hierzu sowie zu weiteren Fragen zum Thema Datenschutz können Sie sich jederzeit unter der im Impressum angegebenen Adresse an uns wenden. Des Weiteren steht Ihnen ein Beschwerderecht bei der zuständigen Aufsichtsbehörde zu.

2. Allgemeine Hinweise und Pflichtinformationen

Datenschutz

Die Betreiber dieser Seiten nehmen den Schutz Ihrer persönlichen Daten sehr ernst. Wir behandeln Ihre personenbezogenen Daten vertraulich und entsprechend der gesetzlichen Datenschutzvorschriften sowie dieser Datenschutzerklärung.

Wenn Sie diese Website benutzen, werden verschiedene personenbezogene Daten erhoben. Personenbezogene Daten sind Daten, mit denen Sie persönlich identifiziert werden können. Die vorliegende Datenschutzerklärung erläutert, welche Daten wir erheben und wofür wir sie nutzen. Sie erläutert auch, wie und zu welchem Zweck das geschieht.

Wir weisen darauf hin, dass die Datenübertragung im Internet (z.B. bei der Kommunikation per E-Mail) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist nicht möglich.

Hinweis zur verantwortlichen Stelle

Die verantwortliche Stelle für die Datenverarbeitung auf dieser Website ist:

Chaostreff Dortmund e.V.
Braunschweiger Str. 22
44145 Dortmund
Deutschland

Vertretungsberechtigter Vorstand

Tim Windelschmidt (1. Vorsitzender)
Stefan Hausschild (2. Vorsitzender)

Telefon: +49 (0)231 8 404 777
E-Mail: vorstand@chaostreff-dortmund.de

Verantwortliche Stelle ist die natürliche oder juristische Person, die allein oder gemeinsam mit anderen über die Zwecke und Mittel der Verarbeitung von personenbezogenen Daten (z.B. Namen, E-Mail-Adressen o. Ä.) entscheidet.

Widerruf Ihrer Einwilligung zur Datenverarbeitung

Viele Datenverarbeitungsvorgänge sind nur mit Ihrer ausdrücklichen Einwilligung möglich. Sie können eine bereits erteilte Einwilligung jederzeit widerrufen. Dazu reicht eine formlose Mitteilung per E-Mail an uns. Die Rechtmäßigkeit der bis zum Widerruf erfolgten Datenverarbeitung bleibt vom Widerruf unberührt.

Beschwerderecht bei der zuständigen Aufsichtsbehörde

Im Falle datenschutzrechtlicher Verstöße steht dem Betroffenen ein Beschwerderecht bei der zuständigen Aufsichtsbehörde zu. Zuständige Aufsichtsbehörde in datenschutzrechtlichen Fragen ist der Landesdatenschutzbeauftragte des Bundeslandes, in dem unser Unternehmen seinen Sitz hat. Eine Liste der Datenschutzbeauftragten sowie deren Kontaktdaten können folgendem Link entnommen werden: https://www.bfdi.bund.de/DE/Infothek/Anschriften_Links/anschriften_links-node.html.

Recht auf Datenübertragbarkeit

Sie haben das Recht, Daten, die wir auf Grundlage Ihrer Einwilligung oder in Erfüllung eines Vertrags automatisiert verarbeiten, an sich oder an einen Dritten in einem gängigen, maschinenlesbaren Format aushändigen zu lassen. Sofern Sie die direkte Übertragung der Daten an einen anderen Verantwortlichen verlangen, erfolgt dies nur, soweit es technisch machbar ist.

SSL- bzw. TLS-Verschlüsselung

Diese Seite nutzt aus Sicherheitsgründen und zum Schutz der Übertragung vertraulicher Inhalte, wie zum Beispiel Bestellungen oder Anfragen, die Sie an uns als Seitenbetreiber senden, eine SSL-bzw. TLS-Verschlüsselung. Eine verschlüsselte Verbindung erkennen Sie daran, dass die Adresszeile des Browsers von “http://” auf “https://” wechselt und an dem Schloss-Symbol in Ihrer Browserzeile.

Wenn die SSL- bzw. TLS-Verschlüsselung aktiviert ist, können die Daten, die Sie an uns übermitteln, nicht von Dritten mitgelesen werden.

Auskunft, Sperrung, Löschung

Sie haben im Rahmen der geltenden gesetzlichen Bestimmungen jederzeit das Recht auf unentgeltliche Auskunft über Ihre gespeicherten personenbezogenen Daten, deren Herkunft und Empfänger und den Zweck der Datenverarbeitung und ggf. ein Recht auf Berichtigung, Sperrung oder Löschung dieser Daten. Hierzu sowie zu weiteren Fragen zum Thema personenbezogene Daten können Sie sich jederzeit unter der im Impressum angegebenen Adresse an uns wenden.

3. Datenerfassung auf unserer Website

Server-Log-Dateien

Der Provider der Seiten erhebt und speichert automatisch Informationen in so genannten Server-Log-Dateien, die Ihr Browser automatisch an uns übermittelt. Dies sind:

Eine Zusammenführung dieser Daten mit anderen Datenquellen wird nicht vorgenommen.

Grundlage für die Datenverarbeitung ist Art. 6 Abs. 1 lit. f DSGVO, der die Verarbeitung von Daten zur Erfüllung eines Vertrags oder vorvertraglicher Maßnahmen gestattet.

4. Plugins und Tools

YouTube

Unsere Website nutzt Plugins der von Google betriebenen Seite YouTube. Betreiber der Seiten ist die YouTube, LLC, 901 Cherry Ave., San Bruno, CA 94066, USA.

Wenn Sie eine unserer mit einem YouTube-Plugin ausgestatteten Seiten besuchen, wird eine Verbindung zu den Servern von YouTube hergestellt. Dabei wird dem YouTube-Server mitgeteilt, welche unserer Seiten Sie besucht haben.

Wenn Sie in Ihrem YouTube-Account eingeloggt sind, ermöglichen Sie YouTube, Ihr Surfverhalten direkt Ihrem persönlichen Profil zuzuordnen. Dies können Sie verhindern, indem Sie sich aus Ihrem YouTube-Account ausloggen.

Die Nutzung von YouTube erfolgt im Interesse einer ansprechenden Darstellung unserer Online-Angebote. Dies stellt ein berechtigtes Interesse im Sinne von Art. 6 Abs. 1 lit. f DSGVO dar.

Weitere Informationen zum Umgang mit Nutzerdaten finden Sie in der Datenschutzerklärung von YouTube unter: https://www.google.de/intl/de/policies/privacy.

Vimeo

Unsere Website nutzt Plugins des Videoportals Vimeo. Anbieter ist die Vimeo Inc., 555 West 18th Street, New York, New York 10011, USA.

Wenn Sie eine unserer mit einem Vimeo-Plugin ausgestatteten Seiten besuchen, wird eine Verbindung zu den Servern von Vimeo hergestellt. Dabei wird dem Vimeo-Server mitgeteilt, welche unserer Seiten Sie besucht haben. Zudem erlangt Vimeo Ihre IP-Adresse. Dies gilt auch dann, wenn Sie nicht bei Vimeo eingeloggt sind oder keinen Account bei Vimeo besitzen. Die von Vimeo erfassten Informationen werden an den Vimeo-Server in den USA übermittelt.

Wenn Sie in Ihrem Vimeo-Account eingeloggt sind, ermöglichen Sie Vimeo, Ihr Surfverhalten direkt Ihrem persönlichen Profil zuzuordnen. Dies können Sie verhindern, indem Sie sich aus Ihrem Vimeo-Account ausloggen.

Weitere Informationen zum Umgang mit Nutzerdaten finden Sie in der Datenschutzerklärung von Vimeo unter: https://vimeo.com/privacy.

Privacy Policy

1. An overview of data protection

General

The following gives a simple overview of what happens to your personal information when you visit our website. Personal information is any data with which you could be personally identified. Detailed information on the subject of data protection can be found in our privacy policy found below.

Data collection on our website

Who is responsible for the data collection on this website?

The data collected on this website are processed by the website operator. The operator’s contact details can be found in the website’s required legal notice.

How do we collect your data?

Some data are collected when you provide it to us. This could, for example, be data you enter on a contact form.

Other data are collected automatically by our IT systems when you visit the website. These data are primarily technical data such as the browser and operating system you are using or when you accessed the page. These data are collected automatically as soon as you enter our website.

What do we use your data for?

Part of the data is collected to ensure the proper functioning of the website. Other data can be used to analyze how visitors use the site.

What rights do you have regarding your data?

You always have the right to request information about your stored data, its origin, its recipients, and the purpose of its collection at no charge. You also have the right to request that it be corrected, blocked, or deleted. You can contact us at any time using the address given in the legal notice if you have further questions about the issue of privacy and data protection. You may also, of course, file a complaint with the competent regulatory authorities.

2. General information and mandatory information

Data protection

The operators of this website take the protection of your personal data very seriously. We treat your personal data as confidential and in accordance with the statutory data protection regulations and this privacy policy.

If you use this website, various pieces of personal data will be collected. Personal information is any data with which you could be personally identified. This privacy policy explains what information we collect and what we use it for. It also explains how and for what purpose this happens.

Please note that data transmitted via the internet (e.g. via email communication) may be subject to security breaches. Complete protection of your data from third-party access is not possible.

Notice concerning the party responsible for this website

The party responsible for processing data on this website is:

Chaostreff Dortmund e.V.
Braunschweiger Str. 22
44145 Dortmund
Deutschland

Vertretungsberechtigter Vorstand

Tim Windelschmidt (1. Vorsitzender)
Stefan Hausschild (2. Vorsitzender)

Telephone: +49 (0)231 8 404 777
Email: vorstand@chaostreff-dortmund.de

The responsible party is the natural or legal person who alone or jointly with others decides on the purposes and means of processing personal data (names, email addresses, etc.).

Revocation of your consent to the processing of your data

Many data processing operations are only possible with your express consent. You may revoke your consent at any time with future effect. An informal email making this request is sufficient. The data processed before we receive your request may still be legally processed.

Right to file complaints with regulatory authorities

If there has been a breach of data protection legislation, the person affected may file a complaint with the competent regulatory authorities. The competent regulatory authority for matters related to data protection legislation is the data protection officer of the German state in which our company is headquartered. A list of data protection officers and their contact details can be found at the following link: https://www.bfdi.bund.de/DE/Infothek/Anschriften_Links/anschriften_links-node.html.

Right to data portability

You have the right to have data which we process based on your consent or in fulfillment of a contract automatically delivered to yourself or to a third party in a standard, machine-readable format. If you require the direct transfer of data to another responsible party, this will only be done to the extent technically feasible.

SSL or TLS encryption

This site uses SSL or TLS encryption for security reasons and for the protection of the transmission of confidential content, such as the inquiries you send to us as the site operator. You can recognize an encrypted connection in your browser’s address line when it changes from „http://“ to „https://“ and the lock icon is displayed in your browser’s address bar.

If SSL or TLS encryption is activated, the data you transfer to us cannot be read by third parties.

Information, blocking, deletion

As permitted by law, you have the right to be provided at any time with information free of charge about any of your personal data that is stored as well as its origin, the recipient and the purpose for which it has been processed. You also have the right to have this data corrected, blocked or deleted. You can contact us at any time using the address given in our legal notice if you have further questions on the topic of personal data.

3. Data collection on our website

Server log files

The website provider automatically collects and stores information that your browser automatically transmits to us in „server log files“. These are:

These data will not be combined with data from other sources.

The basis for data processing is Art. 6 (1) (f) DSGVO, which allows the processing of data to fulfill a contract or for measures preliminary to a contract.

4. Plugins and tools

YouTube

Our website uses plugins from YouTube, which is operated by Google. The operator of the pages is YouTube LLC, 901 Cherry Ave., San Bruno, CA 94066, USA.

If you visit one of our pages featuring a YouTube plugin, a connection to the YouTube servers is established. Here the YouTube server is informed about which of our pages you have visited.

If you’re logged in to your YouTube account, YouTube allows you to associate your browsing behavior directly with your personal profile. You can prevent this by logging out of your YouTube account.

YouTube is used to help make our website appealing. This constitutes a justified interest pursuant to Art. 6 (1) (f) DSGVO.

Further information about handling user data, can be found in the data protection declaration of YouTube under https://www.google.de/intl/de/policies/privacy.

Vimeo

Our website uses features provided by the Vimeo video portal. This service is provided by Vimeo Inc., 555 West 18th Street, New York, New York 10011, USA.

If you visit one of our pages featuring a Vimeo plugin, a connection to the Vimeo servers is established. Here the Vimeo server is informed about which of our pages you have visited. In addition, Vimeo will receive your IP address. This also applies if you are not logged in to Vimeo when you visit our website or do not have a Vimeo account. The information is ransmitted to a Vimeo server in the US, where it is stored.

If you are logged in to your Vimeo account, Vimeo allows you to associate your browsing behavior directly with your personal profile. You can prevent this by logging out of your Vimeo account.

For more information on how to handle user data, please refer to the Vimeo Privacy Policy at https://vimeo.com/privacy.

+
+ + + \ No newline at end of file diff --git a/web/pages/events.html b/web/pages/events.html new file mode 100644 index 0000000..004e130 --- /dev/null +++ b/web/pages/events.html @@ -0,0 +1,26 @@ + + + + + + + ctdo - events + + + +
+ ctdo logo + !NAV +
+
+ !RAUMSTATUS + +

Events

+ !TOPICTREFF + !EVENTS +
+ + + \ No newline at end of file diff --git a/web/pages/home.html b/web/pages/home.html new file mode 100644 index 0000000..50ff308 --- /dev/null +++ b/web/pages/home.html @@ -0,0 +1,39 @@ + + + + + + + ctdo - home + + + + +
+ ctdo logo + !NAV +
+
+ Raum 2 mit gemütlichen Sofas + !RAUMSTATUS + +

Hi

+

+ Wir sind eine bunt gemischte Gruppe aus computer-, technikbegeisterten und kreativen Menschen. Wir betreiben den Chaostreff aus Spaß an der Sache und um interessierten Menschen eine Plattform zu bieten, über die man sich austauschen kann. +
+ Wenn du Lust hast dir das mal anzuschauen, dann komm gerne vorbei. zeiten & location +
+ Egal wer du bist, egal was du machst bei uns sind alle Menschen willkommen. Leider sind unsere Räume aktuell nicht barrierefrei. + Falls du Fragen hast schreibe uns an. kontakt +
+ Wenn du mehr über uns wissen möchtest, schau hier: über uns +

+ +

Die nächsten Events

+

Es sind gerade keine besonderen Veranstaltungen geplant.

+
+ + + \ No newline at end of file diff --git a/web/pages/impressum.html b/web/pages/impressum.html new file mode 100644 index 0000000..1f82dd2 --- /dev/null +++ b/web/pages/impressum.html @@ -0,0 +1,51 @@ + + + + + + + ctdo - impressum + + + +
+ ctdo logo + !NAV +
+
+

Impressum

+

Postanschrift

+

+ Chaostreff Dortmund e.V.
+ Braunschweiger Str. 22
+ 44145 Dortmund
+ Deutschland
+
+ Vertretungsberechtigter Vorstand
+

+

+ +

E-Mail

+ + +

Telefon

+ + +

Kontodaten

+

+ Empfänger: Chaostreff Dortmund e.V.
+ IBAN: DE19 4306 0967 4009 3686 00
+ BIC: GENODEM1GLS +

+ +

Logo

+

Unser Logo für die Verarbeitung in redaktionellen Inhalten und sonstigen Presse-Erzeugnissen findet Ihr hier

+ +

Flyer

+

Unseren Aktuellen Fyler als PDF gibt es hier

+
+ + + \ No newline at end of file diff --git a/web/pages/kontakt.html b/web/pages/kontakt.html new file mode 100644 index 0000000..02317a9 --- /dev/null +++ b/web/pages/kontakt.html @@ -0,0 +1,35 @@ + + + + + + + ctdo - home + + + + +
+ ctdo logo + !NAV +
+
+ + irc + + + email + +
+ + tel + + + adresse + +
+ + + \ No newline at end of file diff --git a/web/pages/kontakt/adresse.html b/web/pages/kontakt/adresse.html new file mode 100644 index 0000000..6042541 --- /dev/null +++ b/web/pages/kontakt/adresse.html @@ -0,0 +1,32 @@ + + + + + + + ctdo - adresse + + + +
+ ctdo logo + !NAV +
+
+ Zurück + +

Adresse

+

+ Chaostreff Dortmund e.V.
+ Braunschweiger Str. 22
+ 44145 Dortmund
+ Deutschland +

+ + +
+ + + \ No newline at end of file diff --git a/web/pages/kontakt/irc.html b/web/pages/kontakt/irc.html new file mode 100644 index 0000000..952a352 --- /dev/null +++ b/web/pages/kontakt/irc.html @@ -0,0 +1,55 @@ + + + + + + + ctdo - irc + + + +
+ ctdo logo + !NAV +
+
+ Zurück + +

IRC

+

+ Wir sind im Hackint IRC-Netzwerk erreichbar, der Server ist irc.hackint.org (SSL Port 6697), Channel #ccc.do. +
+ Um Missverständnisse und böses Blut zu vermeiden, hier mal reinschauen: +
+ RFC-1855, RFC-2811 +

+ +

Warum Hackint

+

Das Hackint-Netzwerk wurde unter anderem vom Chaostreff Dortmund ins Leben gerufen, um eine einfache und trotzdem sichere Kommunikation zu ermöglichen. Um das zu gewährleisten sind alle Server-Verbindungen verschlüsselt und alle Server ermöglichen den Benutzern eine verschlüsselte Verbindung via SSL aufzubauen. Eines der Ziele des Hackints ist es, eine Heimat für Hacker, Haecksen und ähnliche Leute auf der ganzen Welt zu schaffen und einfache Verbindungen zwischen einzelnen Gruppen zu ermöglichen. Damit das klappt, müssen sich möglichst viele chaosnahe Gruppen in diesem Netz anfinden.

+ +

Anleitung für des IRCens Unkundige

+

Einen IRC-Client suchen

+

+ Unix/Linux-nutzende können HexChat benutzen, oder, für das CLI-Feeling weechat oder irssi. +
+ Windows-nutzenden ist ebenfalls HexChat zu empfehlen. +
+ todo: Macs +

+ +

Konfiguration von HexChat

+

+ Als erstes muss du dir einen Nick-(Spitz-)namen ausdenken. Jede Person hat einen einzigartigen Nick, daher nicht wundern wenn gängige Namen schon vergeben sind. Ein Nick darf maximal 15 Buchstaben/Zahlen lang sein. Sonderzeichen funktionieren zwar, sehen aber komisch aus. +
+ Wenn du einen Nick gefunden hast, klick bei den Netzwerken aufs Plus. Dort vergibst du den Namen "hackint" und klickst direkt weiter auf bearbeiten. Statt dem voreingetragenen Server schreib dort irc.hackint.org/6697 hin. Dann wähle den Haken um SSL für alle Server des Netzwerks zu verwenden an. Nur noch die Netzwerkkonfiguration schließen und auf verbinden klicken. +
+ Nach dem Verbinden sollte HexChat fragen welchem Channel du joinen möchtest. Gib dort #ccc.do ein und drücke ok. +
+ \o/ du kannst uns jetzt Nachrichten schreiben. +

+
+ + + \ No newline at end of file diff --git a/web/pages/kontakt/mail.html b/web/pages/kontakt/mail.html new file mode 100644 index 0000000..c80f8aa --- /dev/null +++ b/web/pages/kontakt/mail.html @@ -0,0 +1,60 @@ + + + + + + + ctdo - email + + + +
+ ctdo logo + !NAV +
+
+ Zurück + +

eMail

+

+ Wenn du eine einfache Anfrage hast, schreib einfach an unsere Mailingliste (aber schreib bitte dabei, dass du nicht auf der Liste eingetragen bist. Sonst erreichen dich die Antworten möglicherweise nicht). Wenn du dich zum Chaostreff gesellen möchtest, trägst du dich am besten auf der Liste ein. +
+ Unsere Mailinglist ist unter discuss@lists.chaostreff-dortmund.de, diese ist auch unsere öffentliche Mailingliste. +
+ Presse: presse@chaostreff-dortmund.de
+ Spenden: +

+ +

Subscriben/Unsubscriben auf die Mailingliste

+

Die Mailingliste wird von Mailman gemanaged und ist offen für alle. Subscriben kann man sich auf der Mailingliste, indem man auf die Mailman Seite geht und sich dort einträgt.

+ +

Was ist so auf der Mailingliste

+

+ Alle Chaostreff-Aktivitäten werden (sollten zumindest) über die Mailingliste geplant oder zumindest angekündigt. Wenn man nur wissen möchte, was der Chaostreff gerade so macht, kann man natürlich auch regelmässig auf unsere Webseite gucken. Wenn man wirklich wissen möchte was gerade geht, sollte man sich auf die Mailingliste eintragen. Hier können und werden aktuelle Weltherrschaftspläne geschmiedet¹, Kontakte geschlossen, und auch sonstige, den Chaostreff betreffende, Themen besprochen. +
+ ¹ liebes Finanzamt, das ist nur Spaß :) +
+ Außerdem findet man alles was für den Chaostreff von Interesse sein könnte und mit dem ein entfernter Bezug zum Chaostreff hergestellt werden kann. Also von Diskussionen zu aktueller Hardware und dem kreativen Umgang damit, über die neuesten Fort- und Rückschritte in aktuellen Gesetzgebungsverfahren und anderen Zeitgeschehen. +
+ Grundsätzlich gilt: Die Mailingliste ist nicht readonly und lebt durch eure Postings. Also postet! +

+ +

FAQ

+ +

Wer kann die Subscriptions lesen?

+

Jeder der auf der Liste subscribed ist kann sich die Subscriber-Liste ansehen.

+ +

Warum kommt meine Mail nicht auf der Mailingliste an?

+

Damit die Mailingliste nicht als Spam-Multiplexer fungiert, ist sie so konfiguriert, dass alle Mails, die nicht eine auf der Liste eingetragene Mailaddresse im From: Header stehen haben, erstmal zur Moderator Mailingliste weitergeleitet werden. Da auch Moderatoren noch ein anderes Leben haben, kann das dann etwas dauern.

+ +

Wer sind diese Moderatoren?

+

Zur Zeit: tarja, fisch und claas

+ +

Ich habe technische Probleme

+

Bei technischen Problemen (subscription passt nicht) kann dem Listen-Owner geschrieben werden. Diese/r wird versuchen, dich innerhalb ihrer/seiner Möglichkeiten, nach bestem Wissen und Gewissen, zu unterstützen.

+
+ + + \ No newline at end of file diff --git a/web/pages/kontakt/tel.html b/web/pages/kontakt/tel.html new file mode 100644 index 0000000..377ba17 --- /dev/null +++ b/web/pages/kontakt/tel.html @@ -0,0 +1,25 @@ + + + + + + + ctdo - telefon + + + +
+ ctdo logo + !NAV +
+
+ Zurück + +

Telefon

+

Wenn du eher auf Voice-Communication stehst (oder einfach wissen willst, ob jemand im Raum ist), kannst du uns auch anrufen: Es klingelt im Raum, wenn man +49 (0)231 8 404 777 wählt.

+
+ + + \ No newline at end of file diff --git a/web/pages/support.html b/web/pages/support.html new file mode 100644 index 0000000..1e4b190 --- /dev/null +++ b/web/pages/support.html @@ -0,0 +1,37 @@ + + + + + + + ctdo - unterstützung + + + +
+ ctdo logo + !NAV +
+
+

Spenden

+

Der Chaostreff Dortmund finanziert sich vollkommen aus sich selbst: Das bedeutet aus dem Portemonnaie seiner Mitglieder und oder derer, die den Treff für sinnvoll halten.

+ +

Wieso und wofür?

+

Wir haben gewisse Kosten zu decken, dazu gehören die Miete, Kosten für Heizung, Strom und Internet. Letztere Punkte werden durch das positive Klima im Langen August für uns sehr angenehm gehalten. Damit ist jedoch gerade einmal die grundsätzliche Infrastruktur geschaffen. Für Projekte fehlt es dem Treff schon wieder an Geld. Allein die Finanzierung der gemeinsamen Räume basiert Gerüchten zufolge eher auf einer raffinierten Mate-Wiederverkaufsstrategie in Kombination mit einer Ausnutzung der suchterregenden Auswirkungen dieses Getränks. Als groben Richtwert kann man sagen, dass der Spendendurchschnitt irgendwo zwischen 23 und 42 Euro monatlich liegt. An diesem Punkt sei erwähnt dass wir über jede Spende sehr erfreut sind, am liebsten natürlich wenn sie regelmäßig ist. ;)

+ +

Gerne, wo soll ich unterschreiben?

+

+ Empfänger: Chaostreff Dortmund e.V.
+ IBAN: DE19 4306 0967 4009 3686 00
+ BIC: GENODEM1GLS
+
+ Der Chaostreff Dortmund ist vom Finanzamt als gemeinnützig anerkannt und deshalb dürfen wir Spendenbescheinigungen ausstellen. +
+ Der Chaostreff sagt in jedem Fall schon mal Danke! +

+
+ + + \ No newline at end of file diff --git a/web/pages/treff.html b/web/pages/treff.html new file mode 100644 index 0000000..fbe5e74 --- /dev/null +++ b/web/pages/treff.html @@ -0,0 +1,43 @@ + + + + + + + ctdo - zeiten & location + + + +
+ ctdo logo + !NAV +
+
+ !RAUMSTATUS + +

Zeiten

+

Wir sind für gewöhnlich Dienstags und Donnerstag ab 19:00 (±1hr Chaos-Verspätung) im Treff. Bevor du kommst schau einmal nach ob jemand da ist. Das kannst du oben beim Raumstatus sehen.

+ +

Location

+

Die Räume sind im Langen August. Wenn du den Langen August gefunden hast, geh durch das erste Tor, dann findest du auf der rechten Seite eine Tür in das Treppenhaus. Da noch zwei Stockwerke hoch, die rechte Tür führt zu uns. Wenn die Türen verschlossen sind, einfach (beim Chaostreff) klingeln.

+ + + +

Was wir tun

+

+ Von dem gemütlichen Beisammensitzen, über das Fachsimpeln von technischen Themen und das Diskutieren von aktuellen politischen Themen ist eigentlich alles dabei. Bei uns ist viel Raum für eigene Ideen und Projekte. Alle sind dazu eingeladen uns zu besuchen und sich einzubringen. +
+ Wir freuen uns sehr über neue Gesichter, egal welchen Alters oder Geschlechts ihr seid. Spezielles Vorwissen über Computer und Technik ist nicht erforderlich. +
+ Wir sind bemüht unsere Interessen in Projekten zu organisieren. Du bist herzlich eingeladen mal einen Blick auf diese zu werfen. +
+ Einmal im Monat halten Leute im Chaostreff Vorträge über verschiedene Themen technischer und auch nichttechnischer Natur. Informationen darüber findest du unter Events. +
+ Jeden ersten Donnerstag und jeden dritten Dienstag im Monat treffen wir uns zum „Topic Treff“ um verschiedene Themen rund um den Chaostreff zu besprechen. Alle sind herzlich eingeladen, Start ist um 20:00 Uhr. +

+
+ + + \ No newline at end of file diff --git a/web/pages/verein.html b/web/pages/verein.html new file mode 100644 index 0000000..b562f04 --- /dev/null +++ b/web/pages/verein.html @@ -0,0 +1,56 @@ + + + + + + + ctdo - verein + + + +
+ ctdo logo + !NAV +
+
+

Mitglied werden

+

+ Durch deine Mitgliedschaft kannst du dem CTDO direkt deine Unterstützung zukommen lassen. Wenn du uns zu deiner Mitgliedschaft einen freiwilligen Betrag spendest, wird dieser für neue Projekte und die Umsetzung von tollen Ideen verwendet. +
+ Du kannst den Mitgliedsantrag hier herunterladen, ausfüllen, und zum Chaostreff mitbringen. +
+ Selbstverständlich kannst du auch im Chaostreff-Dortmund aktiv sein, ohne Mitglied in unserem Verein zu sein. Es erfolgt keine Bestätigung über die Annahme des Mitgliedsantrages. Im Falle einer Ablehnung erfolgt eine Mitteilung. +

+ +

Satzung

+

+ Die aktuelle Satzung des Vereins Chaostreff Dortmund e.V. kann stets hier auf unserer Webseite heruntergeladen werden. Darin eventuell referenzierte Anhänge oder Zusatzvereinbarungen, die nicht notwendigerweise Teil der Satzung selbst sind, sind jeweils der Einfachheit halber als ein PDF-Dokument direkt der aktuellen Satzung anhängig. +
+ Aktuelle Satzung
+ Alle Satzungen +

+ +

Gründungsgeschichte

+

+ Der Verein wurde als „Trägerverein“ des Chaostreffs im Jahre 2009 gegründet um dem Chaostreff als losen Verbund von Menschen gleicher Interessen eine (solide) rechtliche Grundlage zu geben. +
+ Der Wechsel zur Rechtsform des eingetragenen Vereins sollte verschiedene Haftungsprobleme, vor allem finanzieller und mietrechtlicher Natur, aus der Welt schaffen. So lief der Mietvertrag für die Räume des Chaostreffs ursprünglich über eine Einzelperson, ebenso wie die jeweilige Kassenverwaltung die Finanzen über ein privates Konto führte. +
+ Erste Diskussionen über den Sinn der Gründung eines Vereins gab es bereits im Jahre 2007, der Prozess kam aber immer wieder zum Stillstand und wurde erst 2009 wieder aufgenommen. +
+ Die Gründung gestaltete sich auch deswegen so schwierig, weil unter den Mitgliedern/Besuchenden des Chaostreffs verschiedene Strömungen existierten, deren Standpunkte zur Vereinsgründung unterschiedlicher nicht sein konnten, woraufhin sich manch eine Person gar vollständig aus dem Chaostreff zurückzog. +
+ Der Chaostreff teilte sich grob in zwei Lager, von denen das eine die Gründung eines Vereins (u.a. in Furcht vor Vereinsmeierei) vollständig ablehnte. Wohl auch teilweise zu Recht, weil es die Befürchtung gab, dass der Verein unerwünschten Einfluss auf das Konstrukt „Chaostreff“ ausüben könnte, der bis dahin selbstverwaltet, oder etwas überspitzt ausgedrückt, „anarchisch“ daherkam. Das andere Lager betrachtete die Vereinsgründung hingegen als „notwendiges Übel“, weil sich in Sachen Rechtssicherheit keine Alternative offenbarte. +
+ Nach der Gründungsversammlung existierte der CTDO längere Zeit als eingetragener Verein „iG“ (in Gründung). Es folgte eine mehrfache Überarbeitung der Satzung, was im wesentlichen der Zusammenarbeit mit dem Finanzamt geschuldet war, in dem Bemühen, als gemeinnützig anerkannt zu werden. 2011-08-05 lag die Satzung schließlich dem Notar vor. +
+ Doch durch Umzüge von einigen Gründungsmitgliedern verzögerte sich die Eintragung weiterhin, da noch Unterschriften (u.a. aus dem Ausland) von eben diesen Mitgliedern organisiert werden mussten. +
+ Schließlich haben wir es aber geschafft: 2012-02-09 kann als Datum gesehen werden, ab dem sich der Chaostreff Dortmund als eingetragener Verein bezeichnen darf. Einen weiteren Meilenstein erreichten wir etwas später: Das Finanzamt stellte uns die Anerkennung der Gemeinnützigkeit in Aussicht, zu der es noch einer Änderung in der Satzung bedurfte. +

+
+ + + \ No newline at end of file diff --git a/web/styles/home.css b/web/styles/home.css new file mode 100644 index 0000000..de53c7e --- /dev/null +++ b/web/styles/home.css @@ -0,0 +1,4 @@ +main img { + max-width: 950px; + width: 100%; +} \ No newline at end of file diff --git a/web/styles/kontakt.css b/web/styles/kontakt.css new file mode 100644 index 0000000..c407156 --- /dev/null +++ b/web/styles/kontakt.css @@ -0,0 +1,16 @@ +main { + text-align: center; +} + +main a { + display: inline-block; + padding: 20px; +} + +main a:hover { + text-decoration: none; +} + +main a img { + width: 200px; +} \ No newline at end of file diff --git a/web/styles/main.css b/web/styles/main.css new file mode 100644 index 0000000..51c99b7 --- /dev/null +++ b/web/styles/main.css @@ -0,0 +1,105 @@ +:root { + --background-color: #193360; + --nav-background-color: #14284c; + --logo-background-color: #0e1e38; + +} + +html, body { + padding: 0; + margin: 0; + background-color: var(--background-color); + color: white; + font-family: sans-serif; + line-height: 150%; +} + +a { + color: #22bb22 !important; + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +a:visited { + color: #bb66ff !important; +} + +header { + background-color: var(--logo-background-color); +} + +nav { + background-color: var(--nav-background-color); +} + +nav li a { + color: white !important; + text-decoration: none; +} + +nav li a.active { + text-decoration: underline; +} + +nav li a:visited { + color: white !important; +} + +.red-text { + color: #DD0000 !important; +} + +.green-text { + color: #00DD00 !important; +} + +header { + text-align: center; + padding: 10px 0 0 0; +} + +header img { + max-width: 200px; + max-height: 200px; + width: 90vw; + margin-bottom: 10px; +} + +nav { + padding: 10px 0 10px 0; +} + +nav ul { + list-style: none; + text-align: center; +} + +nav ul li { + display: inline-block; + padding: 0 2vw 0 2vw; + font-size: 125%; +} + +main { + max-width: 950px; + min-height: 100vh; + height: auto; + width: 90%; + margin: auto; +} + +footer { + background-color: var(--nav-background-color); + height: 100px; +} + +@media only screen and (max-width: 885px) { + nav ul li { + display: block; + font-size: 200%; + padding: 20px 0 20px 0; + } +} \ No newline at end of file