Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Text in Base64 codieren und Datei von Netzlaufwerk suchen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Text in Base64 codieren und Datei von Netzlaufwerk suchen

    This topic has been deleted. Only users with topic management privileges can see it.
    • Chris76e
      Chris76e @Thomas Braun last edited by

      @thomas-braun

      auf dem VPS ist Debian 12 installiert. Muss ja "nur" aus dem Ordner

      /home/iobroker/vubox
      

      von meine ioBroker, auch Debian 12 nach dem Ordner

      vps-ip:/var/www/html
      

      kopiert werden

      Thomas Braun 1 Reply Last reply Reply Quote 0
      • Thomas Braun
        Thomas Braun Most Active @Chris76e last edited by

        @chris76e

        Ich würde es per scp machen.

        Chris76e 1 Reply Last reply Reply Quote 0
        • Chris76e
          Chris76e @Thomas Braun last edited by

          @thomas-braun

          ok, mit diesem Befehl kann ich aus der Console kopieren

          scp /home/iobroker/vubox/1.jpg user@vps-ip:/var/www/html/cover.jpg
          

          aber es wird dann immer nach dem passwort gefragt. Kann man das auch in dem Befehl direkt mit eingeben?

          user:password@vps....
          

          funktioniert nicht

          Thomas Braun 1 Reply Last reply Reply Quote 0
          • Thomas Braun
            Thomas Braun Most Active @Chris76e last edited by

            @chris76e

            Verwende ssh-keys für die beiden Maschinen, keine Passwörter.

            Chris76e 1 Reply Last reply Reply Quote 0
            • Chris76e
              Chris76e @Thomas Braun last edited by

              @thomas-braun

              hmm, habe jetzt einen key erzeugt muss aber wenn ich scp mache immer noch ein passwort eingeben

              less ~/.ssh/authorized_keys
              ssh-ed25519 xxxxxxxxxxx chris@ioBroker
              

              auf dem VPS

              1 Reply Last reply Reply Quote 0
              • OliverIO
                OliverIO @Chris76e last edited by OliverIO

                @chris76e
                Dann lass nginx auf der iobroker Maschine laufen
                Lese dir dazu die ersten beiden Kapitel hier durch

                https://docs.nginx.com/nginx/admin-guide/web-server/

                Configuring…..
                Serving static content….

                Damit stellst du die bilder aus dem Ordner den du jetzt per Mount angebunden hast bereit.

                Im Anschluss kannst du dann in vis die url do bauen das die Bilder von da geladen werden

                Chris76e 1 Reply Last reply Reply Quote 0
                • Chris76e
                  Chris76e @OliverIO last edited by

                  @oliverio

                  nginx ist installiert, komme aber mit der configuration nicht klar.

                  so sieht bis jetzt die

                  /etc/nginx/nginx.conf
                  
                  user  nginx;
                  worker_processes  auto;
                  
                  error_log  /var/log/nginx/error.log notice;
                  pid        /var/run/nginx.pid;
                  
                  
                  events {
                      worker_connections  1024;
                  }
                  
                  
                  http {
                      include       /etc/nginx/mime.types;
                      default_type  application/octet-stream;
                  
                      log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                                        '$status $body_bytes_sent "$http_referer" '
                                        '"$http_user_agent" "$http_x_forwarded_for"';
                  
                      access_log  /var/log/nginx/access.log  main;
                  
                      sendfile        on;
                      #tcp_nopush     on;
                  
                      keepalive_timeout  65;
                  
                      #gzip  on;
                  
                      include /etc/nginx/conf.d/*.conf;
                  }
                  
                  

                  und so die

                  /etc/nginx/conf.d/default.conf
                  
                  server {
                      listen       80;
                      server_name  localhost;
                  
                  
                      #access_log  /var/log/nginx/host.access.log  main;
                  
                      location / {
                          root   /usr/share/nginx/html;
                          index  index.html index.htm;
                      }
                  
                      #error_page  404              /404.html;
                  
                      # redirect server error pages to the static page /50x.html
                      #
                      error_page   500 502 503 504  /50x.html;
                      location = /50x.html {
                          root   /usr/share/nginx/html;
                      }
                  
                      # proxy the PHP scripts to Apache listening on 127.0.0.1:80
                      #
                      #location ~ \.php$ {
                      #    proxy_pass   http://127.0.0.1;
                      #}
                  
                      # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
                      #
                      #location ~ \.php$ {
                      #    root           html;
                      #    fastcgi_pass   127.0.0.1:9000;
                      #    fastcgi_index  index.php;
                      #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
                      #    include        fastcgi_params;
                      #}
                  
                      # deny access to .htaccess files, if Apache's document root
                      # concurs with nginx's one
                      #
                      #location ~ /\.ht {
                      #    deny  all;
                      #}
                  }
                  
                  server {
                      root /home/iobroker/vubox/AdvancedEventLibrary/poster;
                  
                      location / {
                      }
                  
                      location /images/ {
                      }
                  
                      location ~ \.(mp3|mp4) {
                          root /www/media;
                      }
                  }
                  
                  

                  aus. Verstehe die beiden Kapitel nicht so richtig.......

                  OliverIO 1 Reply Last reply Reply Quote 0
                  • OliverIO
                    OliverIO @Chris76e last edited by OliverIO

                    @chris76e
                    Dann musst du bis zum Wochenende warten. Kann erst da wieder was ausprobieren
                    Schreib am Samstag hier nochmal eine Erinnerung rein

                    Chris76e 3 Replies Last reply Reply Quote 0
                    • Chris76e
                      Chris76e @OliverIO last edited by

                      @oliverio ok

                      1 Reply Last reply Reply Quote 0
                      • Chris76e
                        Chris76e @OliverIO last edited by

                        @oliverio

                        Habe es jetzt am laufen, kam mit dieser Anleitung besser klar

                        http://nginx.org/en/docs/beginners_guide.html#static

                        Habe aber dennoch einige fragen am Wochenede 🤔

                        Screenshot 2023-10-18 015453.png Screenshot 2023-10-18 015430.png

                        1 Reply Last reply Reply Quote 0
                        • Chris76e
                          Chris76e last edited by Chris76e

                          @ all

                          habe mit diesem Befehl die Festplatte vom Linux Receiver in ioBroker gemountet.

                          sudo mount -t nfs -o soft 192.168.0.90:/media/hdd /data/images
                          

                          nach einem neustart von ioBroker ist der Mount wieder weg. Was muss ich wo einstellen das der Mount auch nach einem neustart bestehen bleibt?

                          OliverIO 1 Reply Last reply Reply Quote 0
                          • OliverIO
                            OliverIO @Chris76e last edited by OliverIO

                            @chris76e

                            Man muss den Mount in die Datei fstab eintragen
                            https://wiki.ubuntuusers.de/fstab/
                            Bitte eine Sicherungskopie der funktionierenden fstab machen
                            und sorgfältig bearbeiten.
                            Bei einem Fehler wird es sonst etwas aufwändiger die Datei wieder z zurückzustzen
                            Daher bitten den ganzen Artikel zuerst durchlesen.
                            Das Ubuntu braucht dich nicht zu verwirren, der Text gilt für alle Debian-artigen linux

                            Chris76e 1 Reply Last reply Reply Quote 0
                            • Chris76e
                              Chris76e @OliverIO last edited by

                              @oliverio

                              Hoffe das ich es richtig verstanden habe.

                              so sieht die fstab zur Zeit aus

                              # /etc/fstab: static file system information.
                              #
                              # Use 'blkid' to print the universally unique identifier for a
                              # device; this may be used with UUID= as a more robust way to name devices
                              # that works even if disks are added and removed. See fstab(5).
                              #
                              # <file system> <mount point>   <type>  <options>       <dump>  <pass>
                              # / was on /dev/sda1 during installation
                              UUID=c96f3fd9-4fdb-4d4e-a130-745e1d6aa3d6 /               ext4    errors=remount-ro 0       1
                              # swap was on /dev/sda5 during installation
                              UUID=366f70e9-5de5-4a48-a3bb-1cc13c0e0cb6 none            swap    sw              0       0
                              /dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0
                              

                              muss ich jetzt diesen eintrag hinzufügen?

                              # NFS-Freigabe:
                              192.168.0.90:/media/hdd /data/images nfs    _netdev,rw                                       0 0
                              
                              OliverIO 1 Reply Last reply Reply Quote 0
                              • OliverIO
                                OliverIO @Chris76e last edited by OliverIO

                                @chris76e

                                Sieht gut aus.
                                Testen kannst du dann ohne Neustart mit

                                
                                sudo mount -a 
                                
                                

                                Da siehst du dann ob es funktioniert oder ob es Fehler gibt
                                Beide Verzeichnisse sollten existieren
                                Mountverzeichnisse sollte man besser im Ordner /mnt anlegen.

                                https://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/mnt.html
                                Ist aber nur eine Konvention und keine Verpflichtung

                                Chris76e 1 Reply Last reply Reply Quote 0
                                • Chris76e
                                  Chris76e @OliverIO last edited by

                                  @oliverio

                                  habe es jetzt eingetragen, aber wenn ich

                                  sudo mount -a
                                  

                                  wird nichts angezeigt

                                  1 Reply Last reply Reply Quote 0
                                  • Chris76e
                                    Chris76e last edited by

                                    so, konnte die VM wo iobroker drauf läuft gerade neustarten, mount bleibt bestehen.

                                    1 Reply Last reply Reply Quote 0
                                    • Chris76e
                                      Chris76e @OliverIO last edited by

                                      @oliverio sagte in Text in Base64 codieren und Datei von Netzlaufwerk suchen:

                                      Schreib am Samstag hier nochmal eine Erinnerung rein

                                      Funktioniert jetzt soweit bei mir

                                      hier die default.conf

                                          #
                                      #    error_page   500 502 503 504  /50x.html;
                                      #    location = /50x.html {
                                      #        root   /usr/share/nginx/html;
                                      #    }
                                      
                                          # proxy the PHP scripts to Apache listening on 127.0.0.1:80
                                         #
                                          #location ~ \.php$ {
                                          #    proxy_pass   http://127.0.0.1;
                                          #}
                                      
                                          # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
                                          #
                                          #location ~ \.php$ {
                                          #    root           html;
                                          #    fastcgi_pass   127.0.0.1:9000;
                                          #    fastcgi_index  index.php;
                                          #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
                                          #    include        fastcgi_params;
                                          #}
                                      
                                          # deny access to .htaccess files, if Apache's document root
                                          # concurs with nginx's one
                                          #
                                          #location ~ /\.ht {
                                          #    deny  all;
                                          #}
                                      #}
                                      
                                           server {
                                          location / {
                                              root /data/www;
                                              
                                          }
                                      
                                          location /images/ {
                                              root /data/;
                                              try_files $uri /images/default.jpg;
                                      
                                          }
                                      }
                                      

                                      Ist die so OK?

                                      OliverIO 2 Replies Last reply Reply Quote 0
                                      • OliverIO
                                        OliverIO @Chris76e last edited by

                                        @chris76e

                                        wenn es funktioniert ist es ok.
                                        warum hast du 2 locations?
                                        das location das auf den ordner /data/www zeigt wäre erstmal
                                        nicht notwendig.

                                        da du dich ja nur im lan hier bewegst ist es eigentlich egal.
                                        aber dateien aus dem ordner www wären dann auch über die uri

                                        /images/www/abc.xyz

                                        erreichbar.

                                        mit try_files versuchst du zu erreichen, das wenn du die URL in der vis falsch berechnet hast, das dann zumindest ein ersatzbild kommt?

                                        Chris76e 1 Reply Last reply Reply Quote 0
                                        • OliverIO
                                          OliverIO @Chris76e last edited by OliverIO

                                          @chris76e

                                          evtl nochmal zum ursprungsproblem.
                                          dir liegt ja der titel der sendung/film vor und du willst daraus einen base64 string machen. dann empfehle ich dir das nicht auf dem server (also mit dem javascript-adapter mit javascript/blockly) zu machen, sondern die berechnung direkt im browser vorzunehmen.

                                          ich weiß jetzt nicht in welcher form dir der titel vorliegt (in einer json-struktur, oder in einem einzelnen datenpunkt?)

                                          aber im browser kannst du relativ einfach die Berechnung wie folgt vornehmen

                                          btoa("punkt 12 - das rtl-mittagsjournal")
                                          

                                          das ergibt dann "cHVua3QgMTIgLSBkYXMgcnRsLW1pdHRhZ3Nqb3VybmFs"

                                          die umkehrfunktion im browser ist
                                          atob("cHVua3QgMTIgLSBkYXMgcnRsLW1pdHRhZ3Nqb3VybmFs")

                                          in einem html widgets kannst du das dann direkt in einem binding einbauen und verwenden

                                          1 Reply Last reply Reply Quote 0
                                          • Chris76e
                                            Chris76e @OliverIO last edited by

                                            @oliverio sagte in Text in Base64 codieren und Datei von Netzlaufwerk suchen:

                                            mit try_files versuchst du zu erreichen, das wenn du die URL in der vis falsch berechnet hast, das dann zumindest ein ersatzbild kommt?

                                            genau, wenn es kein bild für die Sendung gibt, wird default.jpg geladen.

                                            @oliverio sagte in Text in Base64 codieren und Datei von Netzlaufwerk suchen:

                                            evtl nochmal zum ursprungsproblem.
                                            dir liegt ja der titel der sendung/film vor und du willst daraus einen base64 string machen. dann empfehle ich dir das nicht auf dem server (also mit dem javascript-adapter mit javascript/blockly) zu machen, sondern die berechnung direkt im browser vorzunehmen.

                                            muss ich mal testen

                                            @oliverio sagte in Text in Base64 codieren und Datei von Netzlaufwerk suchen:

                                            ich weiß jetzt nicht in welcher form dir der titel vorliegt (in einer json-struktur, oder in einem einzelnen datenpunkt?)

                                            Im Ordner liegen die ganzen Bilder mit base64name.jpg

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            838
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            58
                                            2406
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo