Skip to content

Verein war temporär über Leopoldstrasse zu erreichen

UPDATE: wir sind wieder in den altbekannten Vereinsräumlichkeiten, erreichbar durch die große Metalltür in der Tschamlerstraße, dann links die Treppe hoch.

Ohai!

Bis auf weiteres sind die Vereinsräumlichkeiten nur über die Leopoldstrasse 40 (Silberne Türe) zu erreichen. Der Vordere Teil wurde in die Baustelle aufgenommen.

1 post - 1 participant

Read full topic

Verein war temporär über Leopoldstrasse zu erreichen

UPDATE: wir sind wieder in den altbekannten Vereinsräumlichkeiten, erreichbar durch die große Metalltür in der Tschamlerstraße, dann links die Treppe hoch.

Ohai!

Bis auf weiteres sind die Vereinsräumlichkeiten nur über die Leopoldstrasse 40 (Silberne Türe) zu erreichen. Der Vordere Teil wurde in die Baustelle aufgenommen.

1 post - 1 participant

Read full topic

Spacecouch repair

Heute habe ich mich um die Couch mit dem großen Loch auf der Sitzfläche gekümmert.

Zum Glück hat sich da nur eine Naht aufgelöst, die dann recht schnell geflickt war. Alles was dafür gebraucht wurde war eine Nadel (oder zwei) und etwas Faden.

Jetzt ist sie wieder (fast) wie neu … YEY! :wink:

2 posts - 2 participants

Read full topic

TLS monitoring für unsere infrastruktur

Wir kennen das seit es Let’s Encrypt gitbt ja alle: man setzt das auf und drei monate später geht auf einmal nix mehr!

Zwar bekommt man wenn bei der LE registrierung eine email addresse angibt benachrichtigungen wenn ein monat vor ablauf kein neues zertifikat für eine domain generiert wurde (siehe LE docs zum thema Expiration Emails). Das reine renewen der certs ist aber oft nicht die ganze story. Eventuell muss man mit deploy hooks auch noch die certs mit richtigen permissions irgendwo hin kopieren oder den server mit einem obskuren signal dazu anregen das cert und den private key neu zu laden. Dabei kann also doch noch einiges schief gehn.

Um dieses problem zu lösen haben wir jetzt einen sehr simplen monitoring cron job laufen der zwei kleine aber feine tricks verwendet.

Auf yxorp.parabox.it-syndikat.org haben wir in /etc/cron.daily/its-monitor-yxorp-tls:

#!/bin/sh
# Bitte bei aenderungen ins meta kopieren: https://meta.it-syndikat.org/t/2492
HC_URL=${HC_URL:-https://hc-ping.com/<uuid>}

set -e

check_tls () {
        # Check two weeks in the future to give us time to fix certs
        faketime +14days \
                openssl s_client -showcerts -verify_return_error "$@" \
                </dev/null
}

cronic () {
        if ! "$@" >/dev/null 2>/dev/null; then
                # Print output on error
                set -x
                "$@"
                printf '\n\n\n\n\n'
        fi
}

for af in -4 -6; do
        for connect in \
                it-syndikat.org:443 \
                www.it-syndikat.org:443 \
                meta.it-syndikat.org:443 \
                meta.it-syndikat.org:443 \
                \
                git.it-syndikat.org:443 \
                mailtrain.it-syndikat.org:443 \
                \
                it-syndik.at:443 \
                matrix.it-syndik.at:443 \
                riot.it-syndik.at:443 \
                1.riot.it-syndik.at:443 \
                2.riot.it-syndik.at:443 \
                3.riot.it-syndik.at:443 \
                \
                mail.it-syndikat.org:465 \
                mail.it-syndikat.org:993 \
                ;
        do
                cronic check_tls $af -connect $connect
        done

        cronic check_tls $af -starttls smtp -connect mail.it-syndikat.org:25
        cronic check_tls $af -starttls smtp -connect mail.it-syndikat.org:587

        #cronic check_tls $af -starttls imap -connect mail.it-syndikat.org:143
done

[ -z "$HC_URL" ] || curl -s -m 10 --retry 5 "$HC_URL" >/dev/null

Das script verwendet ganz einfach openssl s_client um die TLS verbindung zu testen. Per default gibt das jedoch keinen brauchbaren exit code her, die -verify_return_error stellt das um. Normalerweise würde dieses script jetzt genau dann schreien anfangen wenn auch jeder andere das problem schon im browser sieht. Mit dem faketime programm können wir aber s_client in die zukunft schicken und somit zeit bekommen das problem zu lösen.

So weit so gut. Zuletzt verwenden wir dann noch healthchecks.io um benachrichtigt zu werden wenn dieser cronjob nicht sauber durchläuft. Wir haben da ein projekt, aktuell werden @dxld und @gwrx benachrichtigt. Wer zugriff haben will bitte melden.

Auf matrix.parabox.it-syndikat.org läuft ein ähnliches script dass sich um *.it-syndik.at kümmert.

3 posts - 1 participant

Read full topic

Discourse und sekondäre Tor .onion services

(English below)

Der Tor hidden service für unser discourse scheint schon ne zeit lang nicht mehr funktioniert zu haben, seit irgendnem Discourse upgrade schickt das ding jetzt Content-Security-Policy header mit die “brav” mit default-deny resources von diversen pfaden nur von https://meta.it-syndikat.org erlauben. Das problem dabei is halt das beim onion service die URL dann ne andere is… das kann nicht funktionieren.

Der erste versuch das zu fixen war mit ner “multisite” config, wo man im config file discourse secondary hostnames angeben kann die auch erlaubt sind. Dafür haben wir in der discourse VM im /var/discourse/containers/app.yml jetzt:

hooks:
  [...]
  # Allow onion hidden service hostname as secondary hostname. We need
  # this so discourse sets the right CSP for the onion site. --DXLD
  before_bundle_exec:
    - file:
        path: $home/config/multisite.yml
        contents: |
         mainsite:
           adapter: postgresql
           database: discourse
           pool: 5
           timeout: 5000
           host_names:
             - meta.it-syndikat.org
             - meta.itsyndikatgcsfuh.onion

Das heißt zwar “multi” site, wir definieren hier aber nur eine. Das scheint so OK zu sein. Damit bekommt man dann vom onion service mal die richtigen hostnamen im CSP, aber die URL kommt leider wegen dem discourse force_ssl setting mit https: scheme, was bei onion nicht passt.

Wenn man das setting abschaltet kommen aber wieder diverse URLs auf der https://meta.it-syndikat.org als http: raus was dem browser da dann natürlich auch wieder nicht passt.

Wir haben dann ewig im Discourse sourcecode gegraben, es scheint wirklich keine möglichkeit zu geben das in beiden fällen richtig hin zu bekommen. Das zu patchen wäre leider auch ein größeres refactoring. Der code verwendet in manchen fällen das conditional: SiteSetting.force_https? ? "https" : "http" (siehe `lib/discourse.rb), in diesem kontext scheint man aber einfach nicht immer ein request in der hand zu haben aus dem man sich das richtige scheme holen könnte weil der common code zb. auch zum asynchronen email generieren verwendet wird wo man garnicht wirklich ein request in der hand hat.

Die “lösung” war dann den CSP header im onion fall einfach wegzuhauen und https URLs im response body zu rewriten. Siehe das etckeeper commit:

commit fc1a465bcc0ee8eb47c336bee93341062683ba7e (HEAD -> master)
Author: root <root@yxorp.parabox.it-syndikat.org>
Date:   Fri Jan 15 16:53:44 2021 +0100

    Fix meta onion service
    
    The Content-Security-Policy header is wrong for on the onion site. We tried
    to use a multisite.yml config with multiple host_names to get the correct
    urls in the header, while that works we still get https instead of http since
    discourse's force_ssl logic can't allow for a different scheme depending on
    the host.
    
    Disabling force_ssl has it's own problems, namely that we'll get mixed content
    warnings on https instead.
    
    To "fix" this mess we enable force_ssl, and on onion:
    
     - ignore the CSP header and
     - rewrite https://meta.*.onion to http://meta.*.onion in the html response
       bodies.

diff --git a/nginx/sites-available/meta.itsyndikatgcsfuh.onion b/nginx/sites-available/meta.itsyndikatgcsfuh.onion
index 9cad63f..fcecd29 100644
--- a/nginx/sites-available/meta.itsyndikatgcsfuh.onion
+++ b/nginx/sites-available/meta.itsyndikatgcsfuh.onion
@@ -18,5 +18,11 @@ server {
         proxy_set_header X-Real-IP         fd50:7012:7012:7012:7012:7012:7012:7012;
         proxy_set_header X-Forwarded-For   fd50:7012:7012:7012:7012:7012:7012:7012;
         proxy_max_temp_file_size 0;
+
+        proxy_hide_header Content-Security-Policy;
+
+        sub_filter 'https://meta.itsyndikatgcsfuh.onion'  'http://meta.itsyndikatgcsfuh.onion';
+        sub_filter_once off;
+        sub_filter_types text/html;
     }
 }

Leider hab ich kein nginx modul gefunden mit dem man das search/replace auch im CPS header machen kann.

2 posts - 1 participant

Read full topic

Blinkenwall v0.0.1_rev.2

Die Blinkenwall wurde repariert, und die Interner ersetzt.

Ich hab vor ein paar Tagen die Blinkenwall einmal eingesteckt, und bin dafür mit einem lautet knall vom Netzteil belohnt worden. Okay, gut, anderen Menschen nehmen und blinkenwall abhängen. Lang durch die gegen schauen wie man an das ding überhaupt sinnvoll ran kommt, und siehe da, nur 30 Nägel und viel Gaffa weniger, ich hab die Platinen gefunden!

Etwas rum gesuche mit dem Multimeter und Netzteil gesuche Später, dann die Diagnose gehabt: Organversagen. Einer von den SMD ICs ist kaputt gegangen, vermutlich durch überspannung vom sterbenden Netzteil. Naja wenn das ganze Ding schon mal offen ist:

aha… vielleicht ist ja auch einfach irgendwo ein stecker lose oder so? hmm, wo krigt man solche Kabel her? sowas kenn ich ja noch garnicht. 2 mini Litzen in Mantel. Cool tht condensatoren auf der sd platine… irgendwoher kommt mir sowas bekannt vor :smiley:

Naja weiter Fehlerf suchen war mir dann doch irgendwie zu hart, und ich hatt ja noch 5m 300led ws2812 rum liegen. also mal neu bauen war glaub ich eh immer wieder mal die rede von.

hui, das waren ja 86 Felder. Ui, aufwand. <—Time jump here—>

Yaaay es leuchtet! hmm, wie schaut das mit dem Kuststoff ding aussen rum aus? ui! das tuch was gestreut hat fehlt aber noch. Ach stimmt ja, ich hab ja in letzter Zeit eh ein paar lampen mit audio anschluss gebaut! Dann kommt das jetzt halt auch noch dazu :smiley: Das meta will nicht dass ich videos hochlad… Dann mach ichs halt wo anders:

Gesteuert wird das ding von nem AT2326p aka Arduino Nano der unten dran baumelt. Netzteil hab ich gestellt, Meanwell RS150-5 5V 26A output max. Das sollt ne zeit halten :smiley:

Im gegensatz zu wie ich normalerweise mit Arduinos umgeh ist diesmal sogar noch der komische arduino bootloader drauf, also kann man den sogar via usb flashen. Audio in hängt auf ADC A1, steuert um 2.5V aus. WS2812 auf D2. Wenn wer sinnvollere Software als meine bauen will, kann ich mal den quellcode wo hin schieben wo man ihn sieht :smiley:

Lg waschtl

1 post - 1 participant

Read full topic

SF400 Lasercutter

Über einen Freund von @lux ist das it-syndikat zu einem weiteren Lasercutter gekommen. Es handelt sich hier um den SF400 von vermutlich 2011, den man inzwischen nirgends mehr in China findet. Das schöne an dem Ding: Die Arbeitsfläche von 40x40 cm!

Lux hat mir kurzfristig den Kontakt weitergegeben - die Innsbrucker Firma wollte den Lasercutter dringend los werden, am nächsten Tag war der bei mir im Auto. Vielen Dank an @Lux für die schnelle Organisation und an Sebastian für den Lasercutter! Jetzt erst - nachdem ein paar Coronaprojekte noch abgearbeitet waren hab ich mich um den Lasercutter gekümmert. Wie auch beim Blauen Lasercutter im Space kommt der SF400 mit Moshidraw - also auf zum Elektronikwechsel! Im Space lag noch ein MKS SBASE 1.2 Board herum. Erste Tests mit Smoothiware waren soweit erfolgreich. Auf einem herumliegenden Raspi noch schnell ein aktuelles Raspbian drauf und LaserWeb oben drauf installiert. LaserWeb verbindet sich allerdings dann nur mit Smoothiware über Telnet - und das war dann eher langsam und mühsam. Etwas herum gegoogelt und eine schnelle/einfache Lösung gefunden:

Wie sich herausstellt, sind ein paar GRBL Fans auf den Geschmack von Smoothiboards (und dergleichen) gekommen, und haben einen Fork von GRBL für diese Boards gemacht. ( GitHub - cprezzi/grbl-LPC: Multiple compiled versions for different boards & machines (under releases) ) Damit wollte dann auch LaserWeb über USB reden - hab die ersten Files mal zum Lasercutter geschickt und bist du deppert - des Ding is schnell

Das MKS SBOARD mit GRBL-LPC drauf kann was. Gegenüber Smoothiware hat’s den Vorteil, dass es Rasterdaten für Lasercutter verarbeiten kann. Insgesamt ist LaserWeb etwas unübersichtlich und hin und wieder hakt’s noch - aber im Großen und Ganzen lässt sich aus dem jetzt schon was heraus holen…

Meine Tests haben dann recht schnell ergeben, dass die verbaute Laserröhre von 2011 doch schon etwas aufgebraucht ist. Im Space liegt ja zum Glück noch eine unbenutzte 40W Röhre herum - die Alte Röhre raus, neue rein. Die Alte Röhre vom SF400 ist um gute 10 cm länger als die 40W Röhre vom Space - vermutlich war beim SF400 eine 50W Röhre verbaut. Der Cutter läuft jetzt mit der kleinerern/kürzeren Röhre gut - allerdings klopft da bei mir was im Hinterkopf, dass das Hochvoltnetzteil dafür ungeeignet ist und wir nun mit einer größeren Abnutzung der Röhre rechnen müssen. (eine neue 50W Röhre wird auf ca. 150 € kommen - da seh ich kein Problem das mal auszutauschen)…

Mal schauen wie lang es dauert bis sich meine Nachbarn beschweren oder mir die Feuerwehr vorbei schicken - bei mir raucht’s aus einem Rohr im Fenster… Da wär mir eine Abluft wie im Space grad viel lieber… Appropos: Den Lasercutter mach jetzt übers Wochenende noch fertig - bau noch ein paar Sachen ein (wie zb. einen Waterflow Sensor), Vorbereitung für den Not-Aus und ein paar Schalter. Ab/Am Montag werd ich den Cutter dann im Space aufbauen und in Betrieb nehmen.

Ein paar Einbauten die ich schon gemacht hab:

Türschalter, der das Laser PSU abschaltet, und zwei LED Streifen als Innenbeleuchtung.

Aber am Besten find ich immer noch den kleinen Warnaufkleber:

3 posts - 3 participants

Read full topic

Elektrogravur

Als Vorbereitung fürs Chaos Communication Camp, das diese Woche wieder stattfindet, haben wir Kochtöpfe vom Kochlokal ausgeliehen und zwecks Wiederfindbarkeit mit deren Logo versehen.

Die Stencils wurden auf unserem Vinylcutter geschnitten, graviert wurde bei 12V und maximal 2 Ampere mit einem Fetzen Küchenrolle, der in Salzlake getränkt wurde.

Allerdings empfiehlt sich wegen dem entstehenden Chlorgas die Lüftung einzuschalten, graviert wird mit der Kathode :slight_smile:

1 post - 1 participant

Read full topic

LED-Backlight für ältere Displays

Seit einiger Zeit findet man “beim Chinesen” LED-Backlight Kits für ältere Monitore - LED-Stripe + Spannungsregler - ungefähr zum gleichen Preis wie CCFL-Ersatzröhren.

Für den Einbau muß das Panel geöffnet werden - was nicht immer ganz einfach ist, meistens ein paar winzige Schrauben, Klebstreifen und viele Klemmen.

Die Röhre

wird mit dem LED-Streifen ersetzt (mit doppelseitigem Klebeband) Hier mußte ich noch für das Kabel in der Ecke etwas Plastik wegschneiden, die ursprüngliche Kabelführung wollte sich nicht verwenden lassen.

Und wieder zusammengebaut:

Insbesondere bei größeren Displays die auch oben Beleuchtung haben ist gut ankleben wichtig - bei meinem ersten Versuch hing der Ledstreifen an einer Ecke nach unten

und ich durfte das Teil nochmals öffnen.

Die mitgelieferten Spannungsregler haben die gleichen Eingänge wie die CCFL-Inverter - 12V, GND, Enable und Dim - Im besten Falle also einfach austauschen. Bei großen Monitoren ist der Inverter allerdings oft auf einer Platine mit dem Netzteil, also muß man dort die Signale suchen und anlöten. Bei Notebooks sollte man vorher schauen ob sich der vorhandene Inverter einfach tauschen läßt (manche Thinkpads haben z.b. die Statusleds auf der selben Platine) oder ob sich sonst wo noch Platz für das Platinchen findet.

Bisher habe ich 2 Displays umgebaut - ein 24-Zoll Monitor und ein 15-Zoll Laptop-Display - mein Fazit soweit:

  • Lichtstärke kann mit CCFLs gut mithalten, eher sogar heller, Stromverbrauch müßte deutlich niedriger sein, habe ich aber nicht nachgemessen.
  • Die LEDs haben mehr Blauanteil im Licht, Farbeinstellungen muß man nachregeln.
  • Beim 24-Zöller ist die Helligkeitseinstellung jetzt verkehrt rum - wenn man dunkler stellt wird’s heller.

Also keine gröberen Probleme, würde aber kein funktionierendes Display “auf Vorrat” umbauen. Wenn man aber die CCFL sowieso tauschem muß, dann ist das auf jeden Fall eine Option. Und gerade für Bastelgeräte noch der Vorteil: keine Hochspannung mehr.

1 post - 1 participant

Read full topic

X61s Bastelstunde

Ich habe mir vor einer Weile ein gebrauchtes X61s gekauft, das allerdings ein paar Macken hatte. Probleme: SATA 1 (Fixed mit Custombios), lahme HDD (fixed mit SSD), extrem heiße WLAN Karte, im Betrieb plötzlich kein LAN mehr, sehr heiße CPU, lautes Surren/Fiepen im Betrieb.

Mit einem kleinen Custombios konnte ich immerhin SATA 2 freischalten, dass die SSD auch was machen kann und ein Wärmeleitpasten Wechsel hat die CPU etwas beruhigt. Nun hat das neue BIOS auch die Whitelist entfernt, also konnte ich eine billige Intel AC7260 (Standard in T440er Thinkpads) mit AC WLAN einbauen. Im WWAN Slot liegt auch USB neben PCIe an, womit ich sogar das Bluetooth 4.0 der Karte zum Laufen gekriegt habe. Dafür musste ich aber einen Pin an der Karte abkleben. Keine Ahnung warum. Nachdem die Karte deutlich kürzer als die Originale war, hab ich sie einfach mit etwas doppelseitigem Tape festgeklebt :stuck_out_tongue:

Nun zum eigentlichen Problem, dem kaputten Ethernet. Kurze optische Analyse der Platine zeigte zwei Dioden/Zenerdioden 6pin SMT Arrays direkt an der LAN Buchse, welche ich verdächtigt habe da sie genau zum Fehler passen würden. Kurzes Durchpiepen - eins war defekt. Einfach ausgelötet, erstmal muss der Laptop ohne Überspannungsschutz am Ethernet auskommen. Ethernet fix’d.

Also auf zum letzten Problem, dem Spulenfiepen. Es kam akustisch aus der rechten Seite des Palmrests, wo sich dann auch einige dicke Spulen drunter verbargen:

Wie treibt man so was das Fiepen aus? Genau:

Einfach die Spulen mit sehr dünnflüssigem Kleber ausgießen. Hat geklappt, das Fiepen ist quasi vollständig verschwunden.

Mein Zweitlaptop ist damit nun voll funktionsfähig, mit ~500Mbit maximaler Transferrate über WLAN, Gigabit Ethernet und einer SSD. Passiv im normalen Betrieb, beim Browsen dreht dann moderat der Lüfter auf. Gar nicht schlecht angesichts des Alters!

5 posts - 3 participants

Read full topic

Commodore 1161 Restauration

Ein ganz besonderes Gerät hat zu uns gefunden:

Commodore 1161 - Tischrechner mit Nixie-Tubes. Funktioniert aber leider nicht.

Ist zwar mit 117V beschriftet - scheint aber auf 230V umgebaut.

Geöffnet:

Hübsches Detail: Tasten mit Reed-Switches:

Hergestellt wurden die wohl von Casio als OEM, es scheint auch einen baugleichen Casio 161 zu geben. Zeitlich wahrscheinlich ca 1969.

Resources:

Allgemein ist über das Gerät relativ wenig zu finden, ein paar Links aber doch:

Zu den benutzten Chips von NEC sind gerade mal Pinouts zu finden:

aktueller Status:

komplett zerlegt, alle Elkos getauscht, Netzteil liefert Spannung für Nixies, nicht aber die -24V für die Logik. Bin auf der Suche welcher Transistor tot ist.

2 posts - 1 participant

Read full topic