Do like me, every day at four in the morning I make an automatic backup on a remote server, to be able to recover any malfunction of the device.
Posts by elonesna
-
-
For many years I have used various versions of Docker ZeroTier VPN on Linux CoreELEC and Linux LibreELEC with success. Now Docker ZeroTier VPN works fine on all CoreELEC versions and on old LibreELEC 9 versions, but on armv7 devices with LibreELEC (Nexus) 11 it doesn’t work, I guess there is some kind of incompatibility with this network services implementation version.
On the contrary, the Docker TailScale VPN service works very well on all CoreELEC and LibreELEC versions that I know of, including LibreELEC (Nexus) 11 for armv7 processors.
Looking at the ZeroTier service logs inside ‘portainer’ I don’t see anything and this service is permanently restarting.
Is there an expert here who can figure out what’s going on?
ZeroTier startup command here https://hub.docker.com/r/zerotier/zerotier:
docker run --name myzerotier --rm --cap-add NET_ADMIN --device /dev/net/tun zerotier/zerotier:latest <network_id>
-
To avoid problems I recommend using
-e PUID=0
-e PGID=0
either
--user 0:0
in the creation of the containers whose storage space can interact with the storage space of LibreELEC.
If you need to change permissions on any storage space, do it with LibreELEC SSH because it uses root user.
-
##############################################
# LibreELEC #
# https://libreelec.tv #
##############################################
LibreELEC (official): 9.2.6 (Generic.x86_64)
LibreELEC:~ # which 7z
/storage/.kodi/addons/virtual.system-tools/bin/7z
LibreELEC:~ # 7z
7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=C,Utf16=off,HugeFiles=on,64 bits,4 CPUs x64)
Usage: 7z <command> [<switches>...] <archive_name> [<file_names>...]
[<@listfiles...>]
<Commands>
a : Add files to archive
b : Benchmark
d : Delete files from archive
e : Extract files from archive (without using directory names)
h : Calculate hash values for files
i : Show information about supported formats
l : List contents of archive
rn : Rename files in archive
t : Test integrity of archive
u : Update files to archive
x : eXtract files with full paths
<Switches>
-- : Stop switches parsing
-ai[r[-|0]]{@listfile|!wildcard} : Include archives
-ax[r[-|0]]{@listfile|!wildcard} : eXclude archives
-ao{a|s|t|u} : set Overwrite mode
-an : disable archive_name field
-bb[0-3] : set output log level
-bd : disable progress indicator
-bs{o|e|p}{0|1|2} : set output stream for output/error/progress line
-bt : show execution time statistics
-i[r[-|0]]{@listfile|!wildcard} : Include filenames
-m{Parameters} : set compression Method
-mmt[N] : set number of CPU threads
-o{Directory} : set Output directory
-p{Password} : set Password
-r[-|0] : Recurse subdirectories
-sa{a|e|s} : set Archive name mode
-scc{UTF-8|WIN|DOS} : set charset for for console input/output
-scs{UTF-8|UTF-16LE|UTF-16BE|WIN|DOS|{id}} : set charset for list files
-scrc[CRC32|CRC64|SHA1|SHA256|*] : set hash function for x, e, h commands
-sdel : delete files after compression
-seml[.] : send archive by email
-sfx[{name}] : Create SFX archive
-si[{name}] : read data from stdin
-slp : set Large Pages mode
-slt : show technical information for l (List) command
-snh : store hard links as links
-snl : store symbolic links as links
-sni : store NT security information
-sns[-] : store NTFS alternate streams
-so : write data to stdout
-spd : disable wildcard matching for file names
-spe : eliminate duplication of root folder for extract command
-spf : use fully qualified file paths
-ssc[-] : set sensitive case mode
-ssw : compress shared files
-stl : set archive timestamp from the most recently modified file
-stm{HexMask} : set CPU thread affinity mask (hexadecimal number)
-stx{Type} : exclude archive type
-t{Type} : Set type of archive
-u[-][p#][q#][r#][x#][y#][z#][!newArchiveName] : Update options
-v{Size}[b|k|m|g] : Create volumes
-w[{path}] : assign Work directory. Empty path means a temporary directory
-x[r[-|0]]{@listfile|!wildcard} : eXclude filenames
-y : assume Yes on all queries
-
What you want is easy, find and install the 'SFTP support' system addon
THREAD SOLVED!
-
Here I wrote something about how I solve the playback of broken streams because of ads RE: PlutoTV PVR addon - stops streaming
-
As far as I know you only need to (1) make a backup with the System menu option, (2) save the backup on an external USB drive, (3) do a clean install of the same LibreELEC version with the new hardware, and finally, (4) recover the backup of your external USB drive
-
I am not an expert, I just know that each PLUTO TV channel sends multiple hls (HTTP Live Streaming) media streams with different qualities and resolutions; these streams are interrupted to play ads, this affects the broadcast timestamps which drive normal players crazy including Kodi plugins and addons. Solving this to add them to tvheadend as normal TV channels has been a major challenge for me, I think I finally got it with this script:
Bash
Display More#!/bin/sh # tvhdecode.sh script ######################## # # /storage/.config/tvhdecode.sh (for docker linuxserver/tvheadend containers) # # universal-script for play anything # # usage in tvheadend: pipe:///storage/.config/tvhdecode.sh [URL] # # Warnings: # - due to LE limitations is necessary to build a mini universe inside linuxserver/tvheadend container # - streamlink, ffmpeg and cvlc are installed and updated on container # - LE's storage directory is also mounted inside the container (-v /storage:/storage command) # - config directory of the container has the streamlink and cvlc configuration files # - decoding: first try only streamlink, after try streamlink+cvlc and finally try streamlink+ffmpeg+cvlc # ######################## streamlink --config /config/streamlink.conf $1 | \ ffmpeg -hwaccel drm -i pipe: -c copy -f mpegts pipe: | \ cvlc --config /config/cvlc.conf fd://0 exit <<external-settings ######################## # # /config/streamlink.conf on linuxserver/tvheadend container # ######################## stdout quiet default-stream=1080p,720p,3100k,2100k,best ffmpeg-ffmpeg=/usr/bin/ffmpeg ffmpeg-video-transcode=copy ffmpeg-audio-transcode=copy ffmpeg-fout=mpegts http-no-ssl-verify player-no-close player-continuous-http http-header=user-agent=Mozilla/5.0 (SMART-TV; LINUX; Tizen 6.0)\r\n http-header=user-agent=Chrome/79.0.3945.79 Safari/537.36 SmartTV/10.0 Colt/2.0\r\n http-header=user-agent=Safari/537.36 CrKey/1.56.500000\r\n http-header=seekable=0\r\n http-header=referer=\ \r\n ######################## # # /config/cvlc.conf on linuxserver/tvheadend container # ######################## file-caching=1000 live-caching=1000 disc-caching=1000 network-caching=1000 avcodec-hw=vaapi_drm avcodec-skiploopfilter=4 stereo-mode=1 no-playlist-cork quiet repeat sout-transcode-vcodec=copy sout-transcode-acodec=copy sout-standard-access=file sout-standard-mux=ts sout=#standard{dst=-} #no-video #no-audio #http-continuous #http-reconnect #http-user-agent=Mozilla/5.0\ (Windows\ NT\ 10.0;\ Win64;\ x64)\ AppleWebKit/537.36\ (KHTML,\ like\ Gecko)\r\n #http-user-agent=Chrome/98.0.4758.102\r\n http-user-agent=Safari/537.36\r\n http-referrer=\ \r\n ######################## # # /storage/.config/pipedtvh.sh # # automatic piped playlist generator for docker linuxserver/tvheadend # # usage: pipedtvh.sh playlist.m3u -> created file: playlist.m3u.tvh.m3u # ######################## #!/bin/sh # pipedtvh.sh script for pipe playlist to tvheadend if [[ -z $1 ]]; then echo "PLAYLIST ERROR!" else sed '/#EXTM3U/s/http/TEMP/' $1 > $1.tvh.m3u sed -i '/#EXTINF/!s/http/pipe:\/\/\/config\/tvhdecode.sh http/' $1.tvh.m3u sed -i '/#EXTM3U/s/TEMP/http/' $1.tvh.m3u fi external-settings
I guess any programmer will understand my solution, the origin of the problem, and maybe he will be able to give a better solution for HLS streams with ads.
-
Sorry I don't know the addon you mention. Here is some additional information about how to install the linuxserver/plex container on the command line https://hub.docker.com/r/linuxserver/plex vía SSH.
-
-
The honeygain docker image only works with LE x86_64.
I repeat what can be read at https://support.honeygain.com/hc/en-us/artic…n-Docker-Linux-:
"At this moment there are no plans on adding support for ARM-based processors. That being said, currently, it is not possible to run Honeygain on mini-PCs like Raspberry Pi"
-
I think that what you want is not necessary, the resource consumption of the tvheadend service when it is not serving streams is very low and when it is serving streams it is also very low (the resource consumption of the main kodi service when it is not doing anything is very higher).
If you install tvheadend in LibreELEC via docker linuxserver/tvheadend image you will have a nice alpine-linux virtual machine inside the container, and you will be able to install the dependencies of the tvheadend-autosuspend extension without problems. I can't guarantee that this extension will work because I haven't tested it. Doing this when you know docker, portainer, linuxserver services, and little knowledge of linux scripting is very easy, otherwise forget your idea.
Good luck!
-
I don't know what you are doing, LibreELEC is a linux operating system oriented to the execution of Kodi, the whole system is read-only and supports a single user ("root"). If you need to use other types of users you will have to do this within docker containers.
-
LibreELEC and CoreELEC have the OpenVPN binary integrated. The way I use this as an OpenVPN client is through the following lines of code in /storage/.config/autostart.sh:
sleep 20s
/usr/bin/openvpn --daemon --config /storage/.config/My-OV-DDNS.ovpn
but I warn you that I do not use username and password in the OpenVPN configuration, only certificates, if this is not your case then you have to continue reading here https://forums.openvpn.net/viewtopic.php?t=11342
In addition, LibreELEC includes the sample file /storage/.config/system.d/openvpn.service.sample to do this using a linux service.
I am not going to talk about the Zomboided VPN Manager addon because I have never used it and I don't know it, I only know that it is used to configure an OpenVPN client.Good luck!
-
you are not setting up Wireguard right within libreelec.
Excuse me, I use all the tools that LibreELEC allows me and believe me if I tell you that there are many.
I don't like to create services in /storage/.config/system.d because I have a bad memory and I forget about them, so I put almost everything in /storage/.config/autostart.sh. Although for a programmer (and I am not) it is not orthodox, autostart.sh is the place where I start the services that docker does not start, the network forwarding that the services do not do, the routing that seems necessary to me, the setting running scripts from surveillance camera recordings, or watchdogs that have to watch things. There is an exception to the WireGuard configuration, considering I don't use connman (because it doesn't work for what I need), I do it in wg0.conf, but this is an exception, this doesn't happen with ZeroTier.
In short, you can create whatever routes you need in autostart.sh or via cron scripts or via services. On the other hand, my router allows me to establish static routes, which is wonderful because it allows any device on the home network that does not have VPN client services to reach anywhere.
You are very wrong, I am configuring everything right with LibreELEC, according to my preferences, and I manage all the main services via web through portainer or ssh or sftp, in fact, I always have the Kodi service in a stopped state and the HDMI cable disconnected.
-
If anyone can shed some light on how to configure Wireguard in libreelec to steer the connection to eth0 (when both eth0 and wlan0 are active) I'd appreciate it very much.
Right now I can think of using a cron job to monitor ip route then adjust accordingly at regular intervals, but I am sure there are better and cleaner ways of doing it.
Try to assimilate the information given by others. In my wg0.conf configuration it appears "ip route add 192.168.1.0/24 via 10.10.20.5 dev wg0 metric 6000" because my LE server manages two simultaneous VPN networks and with "metric 6000" I set preferences, if I only have WireGuard I set a route , if I have only ZeroTier I set another route, and if I have both VPN networks I prefer WireGuard. Try to do something similar!
-
-
You are right, I use PostUp and PostDown in wg0.conf
Code
Display More[Interface] Address = 10.10.20.1/24 ListenPort = 51820 PrivateKey = <private-key> PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE PostUp = ip route add 192.168.1.0/24 via 10.10.20.5 dev wg0 metric 6000 PostUp = ip route add 192.168.2.0/24 via 10.10.20.1 dev wg0 metric 6000 PostUp = ip route add 192.168.3.0/24 via 10.10.20.9 dev wg0 metric 6000 PostDown = ip route del 192.168.1.0/24 via 10.10.20.5 dev wg0 metric 6000 PostDown = ip route del 192.168.2.0/24 via 10.10.20.1 dev wg0 metric 6000 PostDown = ip route del 192.168.3.0/24 via 10.10.20.9 dev wg0 metric 6000 [Peer] ...
but i don't use connman