Computerei

Montag, 22. Mai 2017

Adressen und Kalender zwischen Synology und Android synchronisieren

Wer meinem Blog folgt, weiss, dass ich mich konsequent gegen eine Synchronisation meines privaten Kalenders und Telefonbuchs in meinem Smartphone mit den Google Services wehre.
Ein nur aus dem LAN heraus erreichbares NAS von Synology halte ich für sicherer.

Dafür verwende ich DAVdroid. Damit auch Aufgaben unterstützt werden, verwende ich außerdem OpenTasks. Als Kalender unter Android verwende ich aCalender+.

Auf der Synology bietet "CardDAV Server" die Adressbuch-Synchronisation und "WebDAV Server" die Kalender-Synchronisation.

Wenn man die Kalender mit mehreren Personen nutzen möchte, z.B. in der Familie, legt man für jeden Nutzer ein Verzeichnis auf dem NAS an und vergibt auf Dateiebene Leserechte für alle und Schreibrechte nur für den Besitzer. Diese Rechte gelten dann natürlich auch bei WebDAV-Synchronisation.
Somit lassen sich die Kalender bei mir erreichen unter:

https://synologynas:5006/Data/Peter/CALDAV_Pete
https://synologynas:5006/Data/Gem/CALDAV_Familie
https://synologynas:5006/Data/Beate/CALDAV_Beate


Beim Adressbuch reicht der Eintrag

https://synologynas:31443

in DAVdroid. Den Pfad "/addressbooks/users/Peter/addressbook/" findet die App dann selbst bzw. wird vom Server zurückgeliefert.

Laut Davdroid-Hilfe-Seite bleibt die Einstellung "Gruppen sind eigene Kontakte" auf dem default-Wert stehen.

Unter Thunderbird helfen die Plugins "Inverse SOGo Connector" und "CategoryManager 2".

Samstag, 8. April 2017

Sicherheit in Android erhöhen durch Abschalten von Root CAs

TLS ist nur so sicher wie die Gesamtheit der Root-CAs, der das eigene Gerät vertraut. Immer wieder ist es vorgekommen, dass irgendwelche zwielichtigen CAs Zertifikate ausgestellt haben, die sich nicht hätten ausstellen sollen. Der Browser behauptet dann sogar noch, es würde sich um eine verifizierte, sichere Webseite handeln; ist sie aber nicht.

Das Problem ergibt aus zwei Teilaspekten:
  1. Browser und Betriebssysteme haben schon eine ganze lange Liste an Root-CAs eingebaut und vertrauen ihnen damit ohne Nachfrage beim Nutzer
  2. Es reicht aus, wenn nur ein einziger Anbieter in der Liste kompromittiert und nicht vertrauenswürdig ist, um einen Weg an all den anderen vertrauenswürdigen CAs vorbei zu bieten.
Aus diesem Grund deaktiviere ich in Android unter Einstellungen > Sicherheit > Vertrauenswürdige Anmeldedaten alle CAs und schalte nur die ein, die von Webseiten oder Apps benötigt werden.

Leider melden die meisten Apps bei einem ungültigen Zertifikat (durch deaktivierte zugehörige CA) meist nur "Keine Internetverbindung". Allein der DB-Navigator der Deutschen Bahn meldet einen "Zertifikatsfehler".

Im Folgende liste ich alle CAs auf, die ich bei mir benötige. Einige CAs bieten eine ganze Liste an Zertifikaten. Um es nicht unnötig kompliziert zu machen, aktiviere ich alle Zertifikate je CA, wenn ich auch zunächst nur eines von dieser CA benötige. Sollte die CA nicht mehr vertrauenswürdig sein, ist es letztlich egal, durch welches ihrer Zertifikate.

Aktiviert:
Baltimore
COMODO CA Limited
D-Trust GmbH
Deutsche Telekom AG
DigiCert Inc
Digital SIgnature Trust
GeoTrust Inc.
GlobalSign
GoDaddy.com (für Drive Now App, obwohl drive-now.com Geotrust verwendet)
IdenTrust
Starfield Technologies, Inc.
Swisscom
T-Systems Enterprise Services GmbH
thawte, Inc.
VeriSign, Inc.

Alle anderen habe ich deaktiviert.

Samstag, 11. März 2017

Arduino für Kinder - Programmierung mit Blocksprache

Scratch hat der Welt eine Visualisierung von Programmcode gegeben, die es Kinder erleichtert, Code zu lesen und selbst zu schreiben.

Die Idee hat Google aufgegriffen und Blockly geschaffen.

Auf diesem Code oder zumindest auf dieser Idee aufbauend gibt es mittlerweile eine Reihe von grafischen Programmierumgebungen, mit denen sich auch der Einplatinencomputer Arduino programmieren lässt.

Gefunden habe ich bisher:
  1. BlocklyDuino - seit zwei Jahren eher Entwicklungsstille
  2. ardublockly - 5 Sprachen, aber kein deutsch
  3. Ardublock - Java-Applikation als Add-on innerhalb der Arduino IDE. Umfangreicher Befehlssatz. JAR auf der Webseite von 2013. neuere Version auf github
  4. mBlock
  5. minibloq - nicht sehr hübsch
  6. S4A Scratch for Arduino - untestützt nur Basis-I/O sowie Schrittmotorsteuerung, z.B. keine PWM, kein Sound
  7. ArduinoBlocks - nur englisch und spanisch
Bewertungs- und Vergleichskriterien sind:
  1. Ist es in Deutsch verfügbar?
  2. Lässt sich damit Arduino-Code erzeugen, der ohne Computer lauffähig ist?
  3. Werden viele Arduino-Typen unterstützt?
  4. Auf welchen Plattformen läuft die Programmierumgebung? Im Browser, Windows, Linux?
Getestet habe ich unter Linux mit einem Arduino Nano.

mBlock

  • Version 4.0.0 heruntergeladen. TAR-File in ein directory mit Schreibrechten installiert. Der Datei mblock executabl-Rechte gegeben.
  • in Javascript geschrieben?
  • Ohne Arduino IDE lauffähig. Viele Plattformen auswählbar.
  • Tipp: unter Bearbeiten in Arduino-Modus wechseln!
  • Verbindung mit seriellem Port hat sofort geklappt
  • Upload auf Arduino schlägt mit Uncaught exception fehl. Object.uploadCodeToBoard erzeugt error: spawn EACCES

Samstag, 28. Mai 2016

Direct3D unter Windows 7 in VirtualBox

Windows 7 hat man nicht unbedingt mehr immer greifbar. Da es aber hin- und wieder alte Software gibt, die ein Windows 7 verlangt, ist VirtualBox sicher eine gute Lösung.
Benötigt man zudem Direct3D-Unterstützung (von DirectX), können hier Dinge falschlaufen.

Das richtige Vorgehen ist:
- In VirtualBox eine Windows7-Maschine anlegen
- Unter "Ändern" die 3D-Beschleunigung aktivieren
- In das virtuelle CD-Laufwerk ein Windows-7-ISO-Image einlegen
- Maschine einschalten
- Windows-Installation durchspielen, dabei ggf. die Aktivierung zunächst überspringen und den Update-Vorgang auf manuell schalten
- Maschine ausschalten
- CD-Laufwerk "leeren"
- Maschine im Abgesicherten Modus neustarten (Beim Booten F8 gedrückt halten). Dies ist wichtig, weil sonst die Direct3D-Unterstützung der Gasterweiterungen nicht installiert werden kann
- "Gasterweiterungen einlegen" und installieren
- Direct3D-Unterstützung bei Installation anklicken
- normal neustarten

Ob es geklappt hat, zeigt "Start->Suche" "dxdiag".

Montag, 22. Februar 2016

Idee: dynamische Bootreihenfolge in grub2 für Dual Boot mit Windows Hibernation

Ein Dual-Boot-System mit Windows und Linux parallel ist wünschenswert. Mit Linux kann man den Alltag ganz gut meistern. Aber hin und wieder kommt man um proprietäre Lösungen halt nicht herum.
Blöde ist, dass Windows in den Versionen ab Windows 8 selbst beim Herunterfahren die Festplatten nicht mehr richtig abmeldet (Unmountet).
Damit lassen diese sich unter Linux nicht mehr mounten.

Aber auch mit abgeschaltetem "Hibernation on Shutdown" muss man bei Windowsnutzung immer daran denken, nicht einfach den Deckel zuzuklappen. Unter Linux passiert das Gleiche, falls man eine ebenfalls unter Windows genutzte (NTFS-)Partition gemountet hatte.

Lösung:

Wenn beim Booten von Linux die Bootreihenfolge auf "Linux als default" gesetzt würde und beim sauberen Herunterfahren auf "Windows als default", würde immer das System gebootet werden, das zuletzt im Hibernation Mode war.
Einziger Nachteil: Wenn man das Gerät aus dem Heruntergefahren-Zustand holt und Linux nutzen möchte, muss darf man die Anwahl im Boot-Menu nicht verpassen.

Umsetzung:

grub2 setzt die Bootreihenfolge über Script-Namen - analog zum Init-Bootsystem. Nun muss man nur ins Bootsystem eine Aufgabe hängen, die die oben genannten Aufgaben jeweils beim Booten und Herunterfahren durch Umbenennen der grub2-Dateien erledigt.

Kurzes Googlen hat zu keinem Ergebnis geführt.
Test steht noch aus....
Kommentare im Blog sind willkommen.

Sonntag, 14. Februar 2016

Baikal Server auf QNAP zur Synchronisation von Adressen/Kalender

  • Herunterladen von http://www.positiv-it.fr/QNAP/APP/QBaikal_0.2.7.0.3.qpkg.zip
  • Installation über WebGUI -> App Center -> manuell installieren
  • Starten über App Center -> Baikal öffnen
    => Fehlermeldung
  • SSH auf QNAP

    # /etc/init.d/QBaikal.sh stop
    # /etc/init.d/QBaikal.sh start
  • Baikal erneut aufrufen über https://qnapserver:31443/admin/
  • Admin-Password ausdenken und merken!
  • Bei Datenbank: MySQL statt SQLite ankreuzen
  • Datenbank anlegen:
    https://qnapserver:8081/phpMyAdmin
  • Unter "Benutzer": Neuen Benutzer "baikal" anlegen, neue Datenbank mit demselben Namen automatisch mit allen Rechten dazu anlegen
  • Password ausdenken und merken!
  • In Baikal-Adminoberfläche eintragen:
    • MySQL host "localhost",
    • MySQL database name: "baikal",
    • MySQL username "baikal"
  • Als Web Admin einloggen unter https://qnapserver:31443/admin.
  • Nutzer anlegen unter "user and resources", je ein Kalender und Adressbuch ist bereits als "default" vorhanden

Android CALdav und CARDdav

  • OpenTasks von Marten Gajda installieren, damit auch Tasks via DAVDroid synchroniert werden können. Muss VOR DAVdroid installieren werden
  • DAVdroid von bitfire installieren (gibt es auch auf f-droid.org)
  • LAN Zugriff für DAVDroid in AFWall+ freischalten
  • DAVdroid Konfiguration:
    • Schlüssel mit + klicken
    • "Mit URL und Benutzername"
    • https://qnapserver:31443/cal.php/calendars/Nutzername/ (Kalendernamen weglassen, wird hinterher abgefragt. Für jeden Kalendernamen je User ein eigenes Konto in Android anlegen!)
    • "Präemptive Anmeldung" deaktivieren

Thunderbird und CALDAV und CARDDAV

CALDAV

Das Lightning-Plugin hat bereit CALDAV-Unterstützung. Über "Neuer Kalender..."->"Im Netzwerk" lässt sich die CALDAV-URL eingeben.

CARDDAV

Der überall angepriesene SOgo Connector ist in der Add-on-Suche und sonst im Netz falsch erlinkt. Man kann das (unsignierte) Plugin in Firefox als .xpi unter der neuen URL herunterladen. Darauf aufbauend gibt es dann noch den CategoryManager, der den einzelnen Kontakten Kategorien zuordnet.

Weiteres Fazit:

  • Damit unter Baikal mehrere Nutzer auf dieselben Daten zugreifen können, müssen die Rechte anders gesetzt werden. Dieses Ziel verfolgt: https://github.com/mrbaseman/calendar-tools . Leider klappt dies nicht ohne Weiteres mit QBaikal. Irgendein Berechtigungsthema.... tbd
  • Baikal 2 scheint NICHT der Nachfolger zu sein, sondern die Cloud-Variante.
  • CalDAV Sync free beta für Android (https://play.google.com/store/apps/details?id=org.gege.caldavsyncadapter) ist veraltet. Das Projekt hat auf Github mittlerweile einen Fork eines Forks, was es aber auch nicht besser macht
  • Ein cooler Hinweis, wie man den kompletten Server als ICS sichert, basiert darauf, dass Baikal aus Sabre entstand: Die Datei cal.php ist in der Plugin-Section um folgende Zeile zu ergänzen:$server->addPlugin(new \Sabre\CalDAV\ICSExportPlugin());

Freitag, 25. Dezember 2015

QNAP-Backup mit rsnapshot

Da die internen BackUp-Mechanismen von QNAP nicht meine Anforderungen erfüllen, musste ich hier selbst Hand anlegen.

Die Anforderungen sind:
  1. Automatisiertes, zeitgesteuertes Backup
  2. Zielsystem: unterschiedliche,externe USB- und eSATA-Platten. Das System soll selbst erkennen, welche Platte aus dem Pool aktuell verbunden ist.
  3. Es soll der Stand eines jeden Tages rekonstruierbar sein. Dies beinhaltet das Wiederherstellen von versehentlich gelöschten oder überschriebenen Dateien.
  4. Das Datenvolumen soll nur ansteigen, wenn sich Änderungen ergeben haben.
Anforderung 4 wird durch Verwendung von Hard Links auf dem Zielsystem erreicht. Hier bietet sich rsnapshot als Lösung an.

Dienstag, 10. November 2015

QNAP internal backup function - reverse engineering

QNAP offers to connect an external USB or eSATA drive and start a pre-defined backup job immediately after automount. In addition, the device is umounted after the job has finished. The "eSata" LED shows if the devices is still mounted (and the job is still running).
Up to that point, the concept suits my requirements perfectly.
What I am missing is a versioning. And it this should be efficiently consuming the drive space. Technically speaking, I would like to see the usage of hardlinks for files that did not change and a versioning by directories named by date.

I could just install some rsnapshot script plus udev rule for automounting. But I would like to understand how the internal mechanism works.

When the device is plugged, it is mounted under
/share/external/...

If a backup process is configured via the QNAP backup manager,
ps xa shows
qsync -j:Job65 -c:/mnt/HDA_ROOT/.config/qsync/extdrv.conf

Furthermore,
/usr/bin/qsyncman
is running.

This service is started on boot-up via
/etc/init.d/qsyncman.sh start

Configuration files can be found in
/etc/config/qsync

/etc/config/qsync/extdrv.conf contains a list of all configured backup jobs (mapping of directories to an external medium).
/etc/config/qsync/qexthost.conf lists all the known external media (USB drives) incl. drive ID ("INetAddr"), file system ("FtpPassword"), volume name ("FtpAccount"), hardware vendor ("Password"). The field names ae misused here.
/etc/config/qsync/qsyncd.conf defines a port 8899.

Donnerstag, 6. August 2015

Fehler im tiptoi Globus

Der tiptoi Globus enthält eine der umfangreichsten Audio-Datenbanken unter den tiptoi-Spielen und -Büchern.
Leider enthält er aber auch einen Haufen Fehler. Einige davon fallen zunächst gar nicht auf.

Im Folgenden habe ich die Fehler nach Wissenkategorien des tiptoi-Globus-Spiels sortiert:
  • Geographie:
    • Kolumbien: Der Text nennt den Ländernamen gar nicht explizit. Bei anderen Ländern ist dies jedoch der Fall.
  • Zeitzone:
    • Hawaii: aktuell: "Hawaii ist der 50.Bundestaat der USA.", sollte sein: "Hier ist es x Stunden früher als in Deutschland."
    • Franzöisch Polynesien: aktuell: "Franzöisch Polynesien ist ein Übersee-Department von Frankreich.", sollte sein: "Hier ist es x Stunden früher als in Deutschland."
    • Azoren: aktuell: "Die Azoren gehören zu Portugal.", sollte sein: "Hier ist es x Stunden früher als in Deutschland."
  • Höchster Berg:
    • Azoren: fehlt
    • Französisch Polynesien: fehlt
    • Hawaii: fehlt
  • Fläche:
    • Azoren: fehlt
    • Französisch Polynesien: fehlt
    • Hawaii: fehlt
  • Hauptstadt:
    • Chile: fehlt
  • Einwohner:
    • Chile: fehlt

Sonntag, 4. Januar 2015

Folder/Ordner für icons unter Cyanogenmod

Seit einigen Tagen habe ich nun Cyanogenmod auf meinem Samsung Galaxy Note 2.

Ich komme zwar nicht aus der Handbuchlesegeneration, aber dennoch habe ich vergeblich nach einem Hinweis gesucht, wie man im "Launcher" (Trebuchet heisst er bei CM11) mehrere Icons auf dem Homescreen thematisch in Ordnern zusammenfasst.

Apps werden - wie in anderen Android-Varianten auch - zunächst in der "App-Übersicht" angezeigt. Das Original Stock-ROM von Samsung bietet hier bereits die Möglichkeit, die Apps manuell zu sortieren und in Ordnern zusammenzufassen.
Das geht bei CM11 nicht. Man kann sie zwar nach unterschiedlichen Kriterieren sortieren (Titel, Aufrufanzahl und Installationsdatum). Individuellere Sortierung ist aber nur auf dem Homescreen (deutsch: "Startbildschirm") möglich.

Weder in den Startbildschirm-Optionen (im Homescreen auf die "Menu"-Taste drücken und nach unten scrollen) noch anderswo findet man einen Punkt, den einem Bill Gates einkonditioniert hat: "Neuer Ordner".
Wie lege ich dennoch einen an?

Ganz einfach: Man schiebt ein Icon auf ein anderes, indem man es lange Gedrückt hält und dann auf einem anderen "fallen lässt".
Den Ordnernamen kann man dort auch vergeben.



Dass mir dies einen Blog-Eintrag wert ist, mag der Nullerjahre-Generation ein Fremdschämen wert sein. Dann ist es eben nur für meine Mama..... falls sie denn dann bald ein Smartphone haben sollte....

Um die Trennung vom Original-ROM mit "Touchwiz"-Erweiterung zu verschmerzen, habe ich noch aCalendar+ gekauft, damit ich Termine aus dem Kalender mit anderen per iCal/vCal teilen kann. Für den S-Pen habe ich auch bereits einige Apps getestet, allerdings noch keine gute Handschrifterkennung gefunden.

Superwallah - IT, Innovation, Indien

Globaler Cyber-Fortschritt ist heute

Suche

 

ich

Du bist nicht angemeldet.

Wer bist Du?

Sag es mir. Und hinterlass einen Kommentar nach Lesen eines Eintrag!

Aktuelle Beiträge

Sicherheit in Android...
TLS ist nur so sicher wie die Gesamtheit der Root-CAs,...
superwallah - 13. Jun, 21:30
Den richtigen Co-Working-Space...
Die moderne Welt des Arbeitens liegt im Teilen der...
superwallah - 24. Mai, 18:16
Adressen und Kalender...
Wer meinem Blog folgt, weiss, dass ich mich konsequent...
superwallah - 23. Mai, 09:36
Arduino für Kinder...
Scratch hat der Welt eine Visualisierung von Programmcode...
superwallah - 12. Mrz, 21:33
Hacking Betzold Lernbausatz...
Betzold bietet einen tollen Bausatz, der in gewisser...
superwallah - 1. Dez, 09:56

Meine Gadgets

Gesehene Filme

Zähler

Web Counter by www.webcounter.goweb.de
Web Counter by www.webcounter.goweb.de

Status

Online seit 3920 Tagen
Zuletzt aktualisiert: 13. Jun, 21:30