Posts by mcpat

    Wir sind nun fast am Ziel, habe auf GM1 geupdated! Leider habe ich den
    voreingestellten Testzeitraum übersehen, daher muss mit dem Installer
    neu installiert werden, danach geht das Autoupdate wieder automatisch!
    Sorry...



    Gruß
    MCPat

    Hallo,


    hatte gestern meine DM900 mit den anstehenden Updates aktualisiert. Zuerst war das Phänomen, dass keine Netzwerkverbindung zustande kam (im Menü der Netzwerkeinstellungen war alles leer...). Nach ein paar Reboots (hatte auch einen WLAN USB Stick angesteckt) war alles wieder in Ordnung (und im Menü der Netzwerkeinstellungen war alles ok inkl. WLAN).


    Jetzt habe ich gerade festgestellt, dass ich mich nicht mehr mit FTP mittels TLS/SSL Explizite Verschlüsselung verbinden kann. WINSCP schreibt:

    Code
    1. Verbinde mit 192.168.0.xxx
    2. Verbindung mit dem Proxy hergestellt, führe Handshakes aus...
    3. Anmeldung fehlgeschlagen.
    4. Verbindung fehlgeschlagen.
    5. Please login with USER and PASS.

    Dies tritt nicht auf bei FTP (unverschlüsselt), sFTP bzw. SCP.


    Hab es auch mit anderem FTP Programm versucht, selbe Fehlermeldung "An error occurred while setting up a explicit ssl/tls command stream. Last Server Response: Please login with USER and PASS.


    Image unstable 2.5


    Gruß
    MCPat

    Hallo,


    nachdem die Picons ja nicht von alleine auf die Box kommen, habe ich ein kleines Tool dafür geschrieben.


    [Blocked Image: https://www.mcpat.com/.base64/base64-rc6.png]


    Vorstellung v1.4.5 BETA
    - Neu: Remote Bilder Galerie (Idee von latte0815 )
    - Test: Neue FTP Bibliothek
    - Bugfix: Sevenzip-Fehler
    - Bugfix: Umlaute in Sendernamen
    - Bugfix: Programmabbruch wenn Picons-Webserver nicht erreichbar ist


    In Planung:
    - Display und Mini-Icons separat abspeichern
    - IPTV Sender anzeigen
    - Bugfix Explicit FTP und Socks Proxy (liegt an FTP Bibliothek)


    Vorstellung v1.4 Release
    - Besserer SVG Konverter (Magick.net)
    - Automatischer Download der Picons
    - Auslesen der Settingsdatei von der Box -> Zuordnung der Picons
    - Autoconvert aller Picons in TPL und PNG (in gewünschter Größe und Hintergrund!)
    - Upload zur Box der Sendericons (PNG) und Picons für Oscam (TPL) in sFTP
    - Upload TPL und Picons wie oben mit FTP
    - Mehrere Boxen in den Settings für Upload definieren
    - Autoupdate App
    - Eigene Picon verwenden
    - Multi-Language
    - Auswahl Provider anhand der Settings-Dateien von Box
    - Import picons aus zip/rar Datei
    - Import aus Feed
    - Zuordnung Satelliten, getestet mit einer sehr umfangreichen lamedb und satellites.xml
    - Und vieles andere mehr, siehe Infos in App...


    Hinweis zu sFTP siehe hier.
    Einfach die geeignete Datei auf die Box und dann installieren. Bei mir läuft es auf der DM900, vorher Datei auf /tmp kopieren, m

    Code
    1. dpkg -i gesftpserver_0.2.2_armhf.deb


    installieren.


    Dieser Release läuft mal ein unbegrenzt, danach gibt es mehr unter MCPat


    Bitte testet auf Herz und Nieren, Bugs werden gefixt.



    DOWNLOAD APP HIER


    DOWNLOAD BETA HIER


    LG
    MCPat

    1. PHP und MySQL auf der Dream


    Nachdem wir jetzt schon viel gelernt haben, geht es weiter mit PHP/MySQL/Nginx auf der DM900. Ich weiß, die Box stößt da bald an die Grenzen, aber zum Testen einer eigenen Wordpress Seite funktioniert es bei mir ganz gut.


    Um die Standardports verwenden zu können (sofern man das will), sollte man das Webinterface der Box auf andere Ports legen (zb 8080 für den http Zugang und 8443 für den https Zugang).


    Danach installieren wir uns die notwendigen Pakete (vorausgesetzt ihr habt meinen Feed von oben installiert). Dabei ist zu beachten, dass das php-fpm1 Paket und die MySQL Datenbank sehr groß sind und ich daher einen Teil auf /media/usb schreibe. D.h. ihr benötigt einen USB Stick auf /media/usb gemountet oder (wenn ihr den Speicherplatz der Box belegen wollt) zumindest einen Ordner /media/usb.
    "Mein" Nginx nutzt Openssl 1.1.0 und um die vorhandene offizielle Version mit meiner Version nicht zu überschreiben heißt das Paket "nginx1".
    Wenn das alles klar und ok ist, dann installiert man wie folgt:


    Code
    1. apt-get install nginx1 php-fpm1 mysql
    2. apt-get -f install

    Beachtet, dass mysql nun automatisch auf /media/usb eine Datenbank ohne Passwort anlegt. Nach der Installation legt man das Passwort wie folgt fest (verwendet keine Sonderzeichen wie zB "#", da ging bei mir nichts mehr):



    Code
    1. mysqladmin password

    Und passen folgende Configs an:


    /etc/nginx/nginx.conf


    /etc/php-fpm.d/www.conf



    Code
    1. ...
    2. user = www-data
    3. group = www-data
    4. ...
    5. listen = /var/run/php-fpm.sock
    6. ...
    7. listen.owner = www-data
    8. listen.group = www-data
    9. ...

    /etc/my.cnf

    Code
    1. [client]
    2. ...
    3. password = EUERPASSWORT
    4. ...
    5. [mysqld]
    6. ...
    7. datadir = /media/usb/mysql/database #ist der Pfad der Standardinstallation
    8. ...

    Macht am besten danach einen reboot der Box und schaut ob alle Prozesse laufen:



    Code
    1. ps -d

    Da sollten laufen:


    • nginx
    • php-fpm
    • mysqld

    Erstellt noch eine index.php Datei in eurem "www" Ordner mit folgenden Inhalt:

    PHP
    1. <?php
    2. phpinfo();
    3. ?>

    Nun der Test, öffnet euren Browser und gebt eure Seite ein:

    Code
    1. http://IPDERBOX:EUERPORT

    und es kommt hoffentlich eine NGINX Seite. Prüft ob PHP läuft indem ihr folgende Adresse eingebt:

    Code
    1. http://IPDERBOX:EUERPORT/index.php

    wo hoffentlich eine lange PHP Seite erscheint.



    2. phpmyadmin


    Nachdem nun der Server erfolgreich läuft, laden wir uns phpmyadmin herunter und entpacken es in das www Verzeichnis in den Unterordner "phpmyadmin". Ob es klappt seht ihr wenn ihr in eurem Browser folgende Seite öffnet:

    Code
    1. http://IPDERBOX:EUERPORT/phpmyadmin/setup

    Ihr müsst nun eure Daten eingeben ("Neuer Server" und danach "localhost" mit "127.0.0.1" und Port 3306 und Verbindung komprimieren -> "Übernehmen" und im zweiten Fenster "deutsch", "localhost" und "unix/linux" und auf "download" klicken) und ihr erhält die Konfigurationsdatei. Kopiert diese als config.inc.php Datei in den phpmyadmin Ordner. Beispielinhalt:

    Ob es klappt seht ihr wenn ihr in eurem Browser folgende Seite öffnet:

    Code
    1. http://IPDERBOX:EUERPORT/phpmyadmin

    und euch ein Loginbildschirm begrüßt. Nachdem ihr euch mit root und EUERPASSWORT angemeldet habt, solltet ihr die Datenbank sehen können.



    3. wordpress


    Als erstes legen wir uns die notwendige Datenbank und Benutzer an (ändert yourpassword auf euer Wunschpasswort um). Nach Eingabe der ersten Zeile werdet ihr um das oben festgelegte Passwort gefragt, danach gebt die Zeilen einzeln ein und beendet mit exit:

    Code
    1. mysql -u root mysql -p
    2. CREATE DATABASE wordpress;
    3. CREATE USER 'ideuser'@'localhost' IDENTIFIED BY 'yourpassword';
    4. GRANT ALL PRIVILEGES ON wordpress.* TO 'ideuser'@'localhost';
    5. FLUSH PRIVILEGES;
    6. exit

    und laden uns wordpress herunter, erstellen im WWW Verzeichnis einen Ordner "wordpress" und entpacken es dorthin. Anschließend öffnen wir die Startseite mit

    Code
    1. http://IPDERBOX:EUERPORT/wordpress

    Nun müssen wir auch hier alle Datenbankdaten eingeben und erhalten als Resultat einen Vorschlag für die Datei "wp-config.php" mit folgenden Beispielinhalt:

    Danach sollte uns Wordpress mit dem Standardinhalt unter

    Code
    1. http://IPDERBOX:EUERPORT/wordpress

    begrüssen. Geht dann in den Adminbereich

    Code
    1. http://IPDERBOX:EUERPORT/wordpress/wp-admin

    loggt euch ein und ihr landet im Dashport.



    4. SSL Zugriff auf eure Homepage


    Dieser Schritt ist sicherlich notwendig wenn ihr vom Internet aus erreichbar seid und kostenlos ein Zertifikat erhalten wollt. Vorausgesetzt ihr habt einen Domainnamen und nicht nur eine IP-Adresse. Domainnamen kosten ca. 10€/Jahr, bei dynamischen IP's kann man zB kostenlose Services wie spdyn nutzen.


    Wenn ihr die obigen Voraussetzungen erfüllt, kann es schon fast losgehen...


    Damit das ganze funktioniert, muss eure Dreambox von außen via Standardport 80 erreichbar sein. D.h. ihr müsst eine Portweiterleitung am Router einrichten (80 Port) auf den http Port den ihr oben gewählt habt (kann 80 sein, oder jeder beliebige).


    Installiert dehydrated:

    Code
    1. apt-get install dehydrated
    2. apt-get -f install

    Für tägliche Prüfungen führt den folgenden Befehl aus und fügt die nachstehende Zeile ein ("a" drücken, danach eingeben, danach "ESC" drücken und ":wq"):


    Code
    1. crontab -e
    2. 0 4 * * * /bin/run-parts /etc/cron.daily


    Folgende configs werden angepasst:
    /etc/dehydrated/config: - gemäß euren Daten

    Code
    1. #CA="https://acme-v01.api.letsencrypt.org/directory" #erst aktivieren wenn alles läuft
    2. CA="https://acme-staging.api.letsencrypt.org/directory" # testing server
    3. ...
    4. WELLKNOWN="/var/www/.well-known/acme-challenge" #euer pfad zu www
    5. ...


    /etc/dehydrated/domains.txt: - gemäß euren Daten

    Code
    1. www.eure-domain.com


    /etc/dehydrated/hook.sh: - wenn man spezielle Dienste nach Update starten will

    Code
    1. ...
    2. deploy_cert() {
    3. ....
    4. systemctl restart nginx.service
    5. ....


    /etc/nginx/nginx.conf:
    Fügt einen zweiten "server" nach dem "ersten" Server ein, damit habt ihr dann zwei Ports, einmal http und einmal https.

    Erstellt in eurem www Verzeichnis den Ordner .well-known (mit Punkt!) mit Unterordner acme-challenge


    Wir erstellen die Datei dhparams.pem:

    Code
    1. openssl dhparam -out /etc/nginx/dhparam.pem 2048


    Bevor ihr jetzt nginx neustartet (was nicht gelingen wird ohne certs) starten wir mal den Versuch ob wir Zertifikate bekommen:

    Code
    1. /etc/cron.daily/renew_certs

    Wenn er bis "DONE" runterläuft, sollte nginx automatisch starten und eure Seite via https erreichbar sein.... Es wird ein Zertifikatsfehler erscheinen, denn noch war es Trockentraining. Wir müssen neu konfigurieren, /etc/dehydrated/config:

    Code
    1. CA="https://acme-v01.api.letsencrypt.org/directory" #erst aktivieren wenn alles läuft
    2. #CA="https://acme-staging.api.letsencrypt.org/directory" # testing server
    3. ...

    Und startet nochmals

    Code
    1. /etc/cron.daily/renew_certs

    Es müsste nun nochmals bis "DONE" runterlaufen, nginx neustarten und eure Homepage sollte nun ein gültiges Zertifikat haben. Mit dem täglichen Cronjob sollte dies auch so bleiben. Keine Angst, es kommen nicht täglich neue Zertifikate, erst wenn die Gültigkeit <30 Tage ist, wird ein neues Zertifikat angefordert...



    Herzlichen Glückwunsch, ihr habt nun eine sichere Seite!



    Gruß
    MCPat

    Nachdem ich Stunden damit verbracht habe um ein schlankes Paket zu erstellen, möchte ich nun die Erkenntnisse teilen.


    Auf der Box sind ein paar Pakete vorab zu installieren:

    Code
    1. apt-get install coreutils ncurses grep wget libz-dev make binutils libssl1.0.0 openssl openssl-dev libcrypto1.0.0 libusb-1.0-0 libusb-1.0-dev
    2. apt-get -f install


    Danach nehmt meinen neuen Feed (Datei im Anhang), macht ein Update und installiert meine Pakete:

    Code
    1. dpkg -i gp-feed-build_1.0-r0.1_armhf.deb
    2. apt-get update
    3. apt-get install subversion libpcsclite1 libccid dialog sshpass upx-ucl enigma2-plugin-systemplugins-mcpat-build-essentials
    4. apt-get -f install


    Ich habe GCC 5.3.0 kompiliert, läuft soweit, hab zum Test alle benötigten Programme welche nicht am Feed liegen und auch ein nicht näher genanntes Programm kompiliert.


    Bei mir läuft es für meine Zwecke, vielleicht gebt ihr mir Bescheid wie es bei euch läuft und etwaige Fehlermeldungen?! Alle unten genannten Programme habe ich bereits mit GCC 5.3.0 kompiliert und sollten soweit laufen.


    Im Feed enthalten:

    • gcc-5.3.0 (enable-languages=c,c++, with-float=hard, disable-softfloat, with-system-zlib, disable-multilib)
    • dialog-1.3
    • subversion-1.9.5-r3 (nutzt meine apr und apr-util da ich UTF8 Fehler hatte, k.A. warum...)
    • libapr1-1.5.2-r1
    • libapr1-dev-1.5.2
    • libaprutil1-1.5.4-r2
    • libaprutil1-dev-1.5.4
    • libserf1-1.3.9-r2
    • libserf-dev-1.3.9
    • upx-ucl-3.94-git-483db31acd0a (ucl-1.03, zlib-1.2.8, LZMA SDK 4.43)
    • libucl1-1.03
    • libpcsclite-1.8.20-r1 und libccid-1.4.26-r1
    • sshpass-1.0.6
    • autoconf-2.69-r1
    • podlators-4.09
    • texinfo-6.3
    • dejagnu_1.6.1
    • expect-5.45
    • tcl-8.6.6
    • ssmtp-2.64-r2 (patched by me and debian patches - siehe auch ssmtp on GIT)
    • mailutils-3.1.1
    • automake-1.15-r1
    • help2man-1.47.4
    • lzma-dev-16.04
    • perl-module-pod-pod2html-5.22.1-r1
    • perl-module-pod-pod2man-5.22.1
    • perl-module-pod-pod2text-5.22.1
    • cmake-3.7.2
    • Perl-Module-xml-parser-2.44
    • Intltool-0.51.0
    • Pkg-config-0.29.1
    • gdb-7.12.1
    • dpkg-sig-0.13.1+nmu2
    • perl-module-config-file-1.50
    • perl-module-test-pod-coverage-1.10
    • perl-module-test-Pod-1.51
    • inotify-tools_3.14-git
    • gperf-3.1
    • gc-7.6.0
    • guile-2.1.7
    • guile-dev-2.1.7
    • libunistring0-0.9.7
    • libunistring0-dev-0.9.7
    • libiconv-1.15
    • libiconv-dev-1.15
    • autogen-5.18.12
    • nginx1-1.11.12 (with openssl 1.1)
    • openssl1-1.1.0e
    • openssl1-dev-1.1.0e
    • openssl1-engines_1.1.0e
    • libssl1.1_1.1.0e
    • libcrypto1.1_1.1.0e
    • apache2-1_2.4.26-dev (with openssl 1.1 support)
    • libcurl41_7.53.1 (with openssl 1.1)
    • curl1_7.53.1 (with openssl 1.1)
    • curl1-dev_7.53.1 (with openssl 1.1)
    • re2c-0.16
    • libmysqlclient20_5.7.17 (getestet mit nginx >= 1.11.12 - siehe oben)
    • mysql-5.7.17 (getestet mit nginx >= 1.11.12 - siehe oben)
    • mysql-dev-5.7.17
    • php-fpm1_7.1.3 (getestet mit nginx >= 1.11.12 - siehe oben)
    • php-fpm-apache21_7.1.3
    • php-phar1_7.1.3
    • php-pear1_7.1.3
    • php-modphp1_7.1.3
    • php-cli1_7.1.3
    • php-cgi1_7.1.3
    • lynx-cur_2.8.8dev.12
    • logrotate-3.11.0
    • php1-dev_7.1.3
    • php1_7.1.3
    • libgd3-dev-2.1.1 (wurde vom Originalfeed entfernt...)
    • libmcrypt4-dev-2.5.8 (wurde vom Originalfeed entfernt...)

    Es werden keine vorhandenen Dateien überschrieben!Habe die checks durchgeführt (dejagnu) und folgendes Ergebnis (gut oder schlecht????):


    Viel Spaß and happy coding
    MCPat

    Bild in Bild geht nur mit folgender Kombination:
    HD und dann HD
    HD und dann UHD


    Nicht wenn UHD aktiv ist, also kein UHD mit HD bzw. UHD mit UHD...


    Normal? Limitierung der Hardware? Oder ein Bug?

    Dh die auto.master bearbeiten?


    Derzeit: Im Gerätemanager erscheint der Stick erst wenn ich ab und anstecke. Dann wird er gemäß Label gemountet. Also Label "usb" geht auf "/media/usb"...



    Gesendet von iPhone mit Tapatalk