ZeroTier Plugin bauen

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • ZeroTier Plugin bauen

      Hallo
      Ich würde gerne wissen wie man ein IPK Paket für den Vu bauen kann
      ich persönlich habe eine Uno 4k SE würde gerne eine Build Umgebung haben um zum Beispiel die aktuelle Version von ZeroTier zu erstellen

      Releases · zerotier/ZeroTierOne · GitHub

      Ich habe gesehen es gibt das Plugin bereits allerdings in einer alten Version
      Es wäre sehr nett wenn mir jemand erklärkt wie ich selbst ein IPK Paket erstellen kann
      Mit Linux und Compilern kenn ich mich aus (Denke ich zumindest)

      Hey ich habe neue Erkenntnisse
      Die Box verwendet ja armv71
      ARMV71 ist unter Debian ARMHF
      Folglich konnte ich das Debian Paket schlachten :D

      jetzt fehlen mir noch einge Libs

      Quellcode

      1. root@vuuno4kse:/tmp# ./zerotier-one
      2. ./zerotier-one: /lib/libm.so.6: version `GLIBC_2.27' not found (required by ./zerotier-one)
      3. ./zerotier-one: /lib/libpthread.so.0: version `GLIBC_2.30' not found (required by ./zerotier-one)
      4. ./zerotier-one: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by ./zerotier-one)
      5. ./zerotier-one: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./zerotier-one)
      6. ./zerotier-one: /lib/libc.so.6: version `GLIBC_2.28' not found (required by ./zerotier-one)
      Aber das Binary scheint zumindest schonmal nicht komplett falsch zu sein
      zerotier-one_1.8.3_armhf.deb
      9 von 10 Stimmen in meinem Kopf sagen ich bin verrückt. Die 10te summt die Melodie von Tetris....
    • zerotier-one_1.8.3_armhf.deb

      Das Paket von Stretch ist "alt" genug damit es auf der Vu+ läuft

      Quellcode

      1. root@vuuno4kse:/tmp# ./zerotier-one -h
      2. ZeroTier One version 1.8.3
      3. Copyright (c) 2020 ZeroTier, Inc.
      4. Licensed under the ZeroTier BSL 1.1 (see LICENSE.txt)
      5. Usage: ./zerotier-one [-switches] [home directory]
      6. Available switches:
      7. -h - Display this help
      8. -v - Show version
      9. -U - Skip privilege check and do not attempt to drop privileges
      10. -p<port> - Port for UDP and TCP/HTTP (default: 9993, 0 for random)
      11. -d - Fork and run as daemon (Unix-ish OSes)
      12. -i - Generate and manage identities (zerotier-idtool)
      13. -q - Query API (zerotier-cli)
      Alles anzeigen



      Aktuell weiss ich noch nicht ob das VPN auch läuft
      Ich kenn mich damit nämlich noch nicht aus :happy1:
      Aber vielleicht kann mir ja jemand Feedback geben ich habe heute das erste mal von ZeroTier gehört und fand es realtiv spanned auf dem Papier
      9 von 10 Stimmen in meinem Kopf sagen ich bin verrückt. Die 10te summt die Melodie von Tetris....

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Hagelsturm47 ()

    • Also erstmal ist das ja nur ein Quick and dirty hack es is noch kein fertiges IPK Paket
      Ich kann es aber gerne "ordentlich" machen wenn du das möchtest bzw ich hab mir einfach nur recht simple das nötige Binary aus dem .deb Paket extrahiert und via SCP auf die Box geschoben
      ich wollte mich nur etwas vertraut machen mit dem neuen Gerät :)

      Hier eine Beschreibung was ZeroTier ist oder kann
      ZeroTier verknüpft entfernte Rechner per Software-Netz - Raspberry Pi Geek
      Mein ursprünglicher Plan war Wireguard zu verwenden
      Das klappt aber nicht da das Kernelmodul nicht passt
      Deshalb dieser Umweg
      Ich selbst kenne ZeroTier auch noch nicht aber zumindest der Artikel oben scheint vielversprechend
      9 von 10 Stimmen in meinem Kopf sagen ich bin verrückt. Die 10te summt die Melodie von Tetris....
    • Paketmanager opkg – Vu+ WIKI bitte bis zum Ende lesen, wenn du wissen willst, wie du einfach Pakete selber bauen kannst.

      Startpunkt für eine Buildumgebung ist GCC-10.2.0 für Boxen mit ARM-Prozessor (*4k)
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.
    • Hallo Hagelsturm,

      Wireguard vermisse ich auch, deshalb vielen dank für die Info zu zerotier, das kannte ich gar nicht. :)

      Ich hab zerotier aus deinem DEB Paket inzwischen auf einer Uno4k und Solo4k am laufen. (beide mit aktuellem VTI Image)
      Damit die zerotier 1.8.3. läuft hab ich aber noch die im Anhang beigefügte neuere libstdc++ V6.0.28 aufspielen und entsprechend verlinken müssen.

      Quellcode

      1. cd /usr/lib
      2. rm libstdc++.so.6
      3. ln -s libstdc++.so.6.0.28 libstdc++.so.6
      4. ls -ls /usr/lib/libstd*
      5. 0 lrwxrwxrwx 1 root root 19 Nov 19 12:08 /usr/lib/libstdc++.so.6 -> libstdc++.so.6.0.28
      6. 648 -rwxr-xr-x 1 root root 663044 Jan 18 2016 /usr/lib/libstdc++.so.6.0.20
      7. 2240 -rwxr-xr-x 1 root root 2289120 Mar 13 2020 /usr/lib/libstdc++.so.6.0.28
      beim ersten Start hat zerotier bei mir noch das fehlende tun device angemeckert, also falls noch nicht vorhanden das Kernel Modul für das Tunnel installieren und Device anlegen

      Quellcode

      1. opkg update
      2. opkg install kernel-module-tun
      3. mkdir /dev/net
      4. mknod /dev/net/tun c 10 200

      Das init.d Startskript hab ich mir auch noch angepasst wegen fehlender init_functions auf der Box und entsprechend in die runlevel verlinkt

      Shell-Script

      1. #!/bin/sh
      2. ### BEGIN INIT INFO
      3. # Provides: zerotier-one
      4. # Required-Start: $remote_fs $syslog
      5. # Required-Stop: $remote_fs $syslog
      6. # Default-Start: 2 3 4 5
      7. # Default-Stop:
      8. # Short-Description: ZeroTier One network virtualization service
      9. ### END INIT INFO
      10. PATH=/bin:/usr/bin:/sbin:/usr/sbin
      11. DESC="zerotier-one daemon"
      12. NAME=zerotier-one
      13. DAEMON=/usr/sbin/zerotier-one
      14. PIDFILE=/var/lib/zerotier-one/zerotier-one.pid
      15. SCRIPTNAME=/etc/init.d/"$NAME"
      16. EXTRA_OPTS=-d
      17. test -f $DAEMON || exit 0
      18. # gibt es nicht
      19. #. /lib/lsb/init-functions
      20. case "$1" in
      21. start) echo "Starting ZeroTier One"
      22. $DAEMON $EXTRA_OPTS
      23. sleep 1
      24. pidof $DAEMON >$PIDFILE
      25. ;;
      26. stop) echo -n "Stopping ZeroTier One"
      27. kill `cat $PIDFILE`
      28. RETVAL=$?
      29. [ $RETVAL -eq 0 ] && [ -e "$PIDFILE" ] && rm -f $PIDFILE
      30. echo " $RETVAL"
      31. ;;
      32. restart|reload) echo "Restarting/Reloading ZeroTier One "
      33. $0 stop
      34. sleep 1
      35. $0 start
      36. ;;
      37. status)
      38. ps -p `cat $PIDFILE`
      39. ;;
      40. *) echo "Usage: /etc/init.d/$NAME {start|stop|restart|reload}"
      41. exit 2
      42. ;;
      43. esac
      44. exit 0
      Alles anzeigen

      Quellcode

      1. cd /etc/rc1.d
      2. ln -s ../init.d/zerotier-one K60zerotier-one
      3. cd /etc/rc2.d
      4. ln -s ../init.d/zerotier-one S60zerotier-one
      5. cd /etc/rc3.d
      6. ln -s ../init.d/zerotier-one S60zerotier-one
      7. cd /etc/rc4.d
      8. ln -s ../init.d/zerotier-one S60zerotier-one
      9. cd /etc/rc5.d
      10. ln -s ../init.d/zerotier-one S60zerotier-one
      11. cd /etc/rc6.d
      12. ln -s ../init.d/zerotier-one S60zerotier-one
      Alles anzeigen
      Alles auch quick and dirty, aber es läuft. Kann mich zwischen den Boxen connecten und Oscam Server/Client läuft auch ;)


      Bin schon auf dein IPK Paket gespannt, danke schonmal für die Mühe und viel Erfolg :)
      Dateien

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von vfb4ever ()

    • Hey cool das es schon verwendet wird
      also die Lib hab ich mal ins Zip gepackt
      das Device musste ich aber nicht anlegen
      Aber okay was solls :D

      Und ja das "offizelle" IPK kommt noch
      Dateien
      • ZeroTier-one.zip

        (1,56 MB, 37 mal heruntergeladen, zuletzt: )
      9 von 10 Stimmen in meinem Kopf sagen ich bin verrückt. Die 10te summt die Melodie von Tetris....

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Hagelsturm47 ()

    • So das IPK ist fertig
      Bitte um Feedback Danke
      Das ist mein erstes Paket bitte seid gnädig

      Also ein kleines Howto

      Das init script ist aktuell noch nicht mit dem Runleveln verlinkt
      das bedeutet ihr müsst den Deamon manuell starten
      also ein

      Quellcode

      1. /etc/init.d/zerotier-one start
      genügt

      Am besten legt ihr euch noch einen symlink an (hab ich im Paket vergessen kommt als Bugfix bzw es ist nur Kosmetik

      Quellcode

      1. ln -s /usr/sbin/zerotier-one /usr/sbin/zerotier-cli
      Dann müsst ihr euch bei my.zerotier.com/ anmelden
      Dort legt ihr euch ein Netzwerk an dadurch bekommt Ihr eine eindeutige ID

      Nun müsst ihr diesem Netzwerk beitreten
      Das passiert mit dem Befehl

      Quellcode

      1. zerotier-cli join EURE NETZWERK ID
      200 join OK wird zurückgegeben und Ihr seid verbunden!

      Das ganze Spiel macht ihr jetzt nochmal mit euerm PC oder einer zweiten Box und fertig
      Im Webinterface von ZeroTier oder via ifconfig auf der Box ist eure IP Adresse nun sichtbar
      Dateien
      9 von 10 Stimmen in meinem Kopf sagen ich bin verrückt. Die 10te summt die Melodie von Tetris....

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von hgdo ()

    • Prima Hagelsturm, gut gemacht.
      Super wäre noch wenn du im control ein preinst Skript einbauen würdest um zu checken ob das TUN Device vorhanden ist.
      Im postinst Skript alle SymLinks anlegen und den Service auch gleich starten
      und ganz elegant ein prerm Skript um den Dienst zu stoppen und alles wieder sauber zu entfernen. ;)
    • Du fragst nach Feedback (zum ipk) ^^

      Bis auf eine Sache, die ich anders gemacht hätte: good job :cool1:

      Was mir nicht gefällt - ist aber Meckern auf sehr hohem Niveau:
      - dass die libstdc++ mit gepackt ist. Die wird normalerweise schon von einem anderen Paket (nämlich libstdc++6) zur Verfügung gestellt. Ist jetzt nicht dramatisch, könnte aber einen Konflikt beim installieren erzeugen.
      - wenn du eine shared library mit installierst und du keinen Symlink auf die Version mit bereitstellst, die vom Binary angefordert wird (hier: /usr/lib/libstdc++.so.6 -> libstdc++.so.6.0.27), solltest du das nötige "ldconfig" wenigstens in einem "postinst"-Script erledigen. Ansonsten könnte es passieren, dass dein Programm beim Start mit einem Fehler aussteigt. Nämlich genau dem Fehler, dem du im Start-Post des Threads schon begegnet bist.
      Das "postinst"-Script mit Aufruf von "ldconfig" ist hier das Mittel der Wahl.
      - im control-File gibst du als Dependencies an:
      Depends: libssl1.0.0 (>= 1.0.2a), libc6 (>= 2.21), liblzo2-2 (>= 2.09), libcrypto1.0.0 (>= 1.0.2a)
      In Wirklichkeit benötigt das Binary aber nur diese hier: libgcc1, libc6, libstdc++6 (>= 6.0.22)

      Die benötigten Abhängigkeiten zeigt dir der Output von "ldd -v zerotier-one" an, plus das Wissen, dass das Symbol GLIBCXX_3.4.22 zur libstdc++.so.6.0.22 gehört. Das kann man hier: ABI Policy and Guidelines nachlesen.


      Trotzdem: gute Arbeit!
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.
    • hey super danke fürs Feedback es ist halt Quick und Dirty mal zusammen gestöpselt

      Ja das mit den "falschen" oder zu vielen Abhänigkeiten kommt daher das ich das contol file vom OpenVPN genommen hatte
      Das mit ldd und ldconfig kenn ich natürlich
      Ich habe nur aktuell kein postinst im Paket deshalb die Sache mit der Lib
      Für mich war oder ist der aktuell auch nur Prof of Concept :)
      Ehrlich gesagt hätte ich auch nie gedacht, dass es jemand ausser mir benutzten möchte umso erstaunter bin ich über die Resonanz :D :D :D :happy4:


      Eine Sache versteh ich nicht @vfb4ever musste zusätzlich noch das TUN Device erstellen bei mir war alles schon vorhanden ohne irgendwas zu tun
      Ich möchte natürlich ein Paket liefern was bei mehr Leuten funktioniert als nur bei mir

      Eine Frage noch wie mache ich einen Eintrag in Enigma mit ZeroTier starten/stopen also Plugin starten stoppen?

      Das würde ich dann gerne noch mit einbauen danke euch fürs Feedback und schönes Wochenende
      9 von 10 Stimmen in meinem Kopf sagen ich bin verrückt. Die 10te summt die Melodie von Tetris....
    • Klar kann ich machen oder könnte ich ich habe nur leider keine Box mit MIPS Cpu und keine Buildumgebung
      Wo ich dinge testen kann eventuell kann @rdamas hier unterstützen und das teil kurz durch den GCC jagen?
      1.10.2.tar.gz

      Wenn das binary läuft ist der Rest ja identisch da kann ich ggf wieder helfen
      9 von 10 Stimmen in meinem Kopf sagen ich bin verrückt. Die 10te summt die Melodie von Tetris....
    • Ich werd's mal versuchen - hab auch nur nen Mips-Cross-Compiler auf der Arm-Box ^^

      Edit: ich hab jetzt mal das gemacht, was ich bei dir kritisiert habe :D : die passende libstdc++ ohne eigenes Paket mit ins ipk gepackt.

      In deinem Control-File waren noch Teile der OpenSSL-Libs als Dependencies eingetragen; die hat der Compiler aber nicht angerührt. Keine Ahnung, ob das Absicht ist.

      Ach ja: wegen der ausgetauschten libstdc++ solltest ganz vorsichtshalber ein Backup parat haben. Falls es wider Erwarten doch klemmt.
      Dateien
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von rdamas ()

    • es installiert (opkg update)
      opkg --force-depends install /tmp/*.ipk ohne Fehlermeldung

      beim Start kommt:
      root@vusolo2:/usr/sbin# zerotier-one start
      zerotier-one: error while loading shared libraries: libssp.so.0: cannot open
      shared object file: No such file or directory
      soll ich die libssp.so.0 nachinstallieren - wenn ja : wie
    • Hmm; dann ist vermutlich bei dir das Paket "ldconfig" nicht installiert? Einfach einmal installieren (opkg install libc6-ldconfig) und danach von Hand ausführen: ldconfig - danach muss der Symlink existieren: ls -l /usr/lib/libssp*
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von rdamas ()

    • es sieht schon besser aus:
      bei
      root@vusolo2:~# zerotier-cli join xxxxxxxxxxx
      kommt
      zerotier-cli: missing port and zerotier-one.port not found in /var/lib/zerotier
      one
      root@vusolo2:~#

      var/lib sieht so aus:

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von PingX ()