You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm using the Calibre flatpak v7.15 on Linux, maintained at https://github.com/flathub/com.calibre_ebook.calibre, and it seems that Obok relies on the ip command to get the MAC address for Kobo eBook decryption. Unfortunately, the ip command isn't available inside the flatpak, as you can see the by the command not found errors in the log, and this shell session from inside the flatpak sandbox.
$ flatpak run --command=sh com.calibre_ebook.calibre
# now inside flatpak sandbox
$ ip
sh: ip: command not found
I can think of three possible solutions off the top of my head
Remove the reliance on ip on Linux in favor of a pure Python solution
Allow the user to manually input their MAC addresses in the Obok settings
Ask the Calibre flatpak to include ip in their sandbox
Regarding #1 I found this, https://stackoverflow.com/a/32080877, reading /sys/class/IFACE/address for each interface. I should note that it seems it's possible for an interface to have no MAC, e.g. the tailscale0 interface for my Tailscale VPN returns no MAC, but my Ethernet and WiFi interfaces do return their MACs.
Which version of Calibre are you running?
7.15
Which version of the DeDRM plugin are you running?
v10.0.9
If applicable, which version of the Kindle software are you running?
Just to pitch in my two cents: I also ran into this a few days ago, but I ended up using a different workaround. Since the manifest for the Calibre Flatpak declares --filesystem=host, we have access to the host's ip binary via /run/host/bin. My workaround was to shadow the PATH variable for the call to ip:
# Shadowing PATH to circumvent a missing ip binary in Flatpakforlineinos.popen('PATH=$PATH:/run/host/bin:/run/host/usr/bin ip -br link'):
Re-running Obok with this change made the decryption complete successfully. This fix should work both on Flatpak and non-Flatpak releases of Calibre, as adding nonexistent folders to PATH does not cause any errors.
Hopefully this issue gets an official resolution soon!
Question / bug report
I'm using the Calibre flatpak v7.15 on Linux, maintained at https://github.com/flathub/com.calibre_ebook.calibre, and it seems that Obok relies on the
ip
command to get the MAC address for Kobo eBook decryption. Unfortunately, theip
command isn't available inside the flatpak, as you can see the by the command not found errors in the log, and this shell session from inside the flatpak sandbox.I can think of three possible solutions off the top of my head
ip
on Linux in favor of a pure Python solutionip
in their sandboxRegarding #1 I found this, https://stackoverflow.com/a/32080877, reading
/sys/class/IFACE/address
for each interface. I should note that it seems it's possible for an interface to have no MAC, e.g. thetailscale0
interface for my Tailscale VPN returns no MAC, but my Ethernet and WiFi interfaces do return their MACs.Which version of Calibre are you running?
7.15
Which version of the DeDRM plugin are you running?
v10.0.9
If applicable, which version of the Kindle software are you running?
No response
Log output
The text was updated successfully, but these errors were encountered: