Read the statement by Michael Teeuw here.
Problems with calender and Nextcloud
-
@sdetweil
Today i solved the problem regarding TLS1.3 connection. Wget is working fine and i can download the ICS data.
On MM side i have the same issue like before. No data is shown in calender. When i start the MM its still the same error message :-( -
@Pakmann looks like you will have to add a parameter to the launcher to enable tls 1.3
https://developer.ibm.com/blogs/migrating-to-tls13-in-nodejs/
my adding this to the script starting MM (either mm.sh or run-start.sh)
Enable TLS1.3 using CLI options
With Node.js 11.x or 10.x, you can use the --tls-max-v1.3 CLI option to enable TLS1.3 by default. It can be provided directly on the command line, or set in the environment with NODE_OPTIONS=–tls-max-v1.3. The option can also be specified to Node.js 12.x, even though its already the default.export NODE_OPTIONS=--tls-max-v1.3 -
@sdetweil
for a first try i set the option directly via termine and start MM. Same result like before - i got an error message for SSL.pi@MagicMirror:~/MagicMirror $ NODE_OPTIONS=–tls-max-v1.3 pi@MagicMirror:~/MagicMirror $ npm startAnythink wrong here ? Any idea how i can check if the option was accepted correctly?
On buster stable nodejs 10.17.0 is availble. But i found the binaries for v12. Obviously after an update i have other problems :D Therefore its better with v10 so far
-
@Pakmann said in Problems with calender and Nextcloud:
pi@MagicMirror:~/MagicMirror $ NODE_OPTIONS=–tls-max-v1.3
you must export the env variable, else it is not passed to children processes,
issue this command from the terminal windowexport NODE_OPTIONS=--tls-max-v1.3 -
it could so easy… :-(
pi@MagicMirror:~/MagicMirror $ export NODE_OPTIONS=--tls-max-v1.3 pi@MagicMirror:~/MagicMirror $ npm start node: --tls-max-v1.3 is not allowed in NODE_OPTIONS -
@Pakmann looks like that only works with node 10.16 and above… love when they leave out that little detail!..
https://stackoverflow.com/questions/57839965/how-to-use-tlsv1-3-with-nodejs-10-xyou don’t know if what you read is real or needs 4 hours more of investigation…
-
@sdetweil i know what you mean. this is what i really hate on linux side. A lot of dependencies… you have to update on package? Welcome on highway to hell.
Netherleless, on buster stable Node 10.17.0 is installed. This is the version what i used. Obviously wont work.
Found this: https://github.com/nodejs/node/issues/27666
When i understood it right the feature is not implemented on 10.x ? The ticket for the implementation is still openIt could be a solution to update Nodejs to v11 or v12. Any estimation if MM is compatible so far? Or other ideas?
-
@Pakmann the installers (my new one and the current) are both forcing node V10.
we haven’t tried 11/12 as far as I know… wanna test!?
download my script,
curl -sL https://www.dropbox.com/s/rlh710ng0zwv3vp/raspberry.sh?dl=1edit the NODE_TESTED=“v10.1.0” at the top to V11.1.0 or V12.1.0
and give it a try… of course this is a re-install, so rename the current MM folder out of the way -
@sdetweil
short overview what i did…cp -r /home/pi/MagicMirror/ /home/pi/MagicMirrorOLD/ suro rm -r /home/pi/MagicMirror/Download script and change NODE_TESTED = “v12.1.0”
Update to NodeJS V12:
curl -sL https://deb.nodesource.com/setup_12.x | sudo bash - sudo apt-get install -y nodejsInstall new MM
bash raspberry.shCopy old config
cp /home/pi/MagicMirrorOLD/config/config.js /home/pi/MagicMirror/config/I delete all modules, only standard configuration with weather etc. Calender of course.
Set TLS1.3 and start MM:export NODE_OPTIONS=--tls-max-v1.3 npm startResult: In your link from IBM is written in NodeJS 12 TLS1.3 is configured by default. It doesnt matter if i set the export expression or not. I still get an error message regarding TLS. Same like before.
I could not finde somethink how i can check if TLS1.3 is really configured in NodeJS.
-
@Pakmann booooo
-
today i reconfigured the cloud system to TLS1.2 to make a check. Its working.
I check the access log also and found the request:"GET /remote.php/dav/calendars/USER/personal/?export HTTP/1.1" 200 79020 "-" "Mozilla/5.0 (Node.js 10.2) MagicMirror/2.9.0 (https://github.com/MichMich/MagicMirror/)"Very curious here is the information about the request with Nodejs 10.2. On the system 10.2 should not be available. When i check the version, v12 is visible.
Do you have any dependencies in MM Code to the old NodeJS ?
Its just a stro, but maybe here is the root cause ?
-
@Pakmann I got no clue… we are using the latest request module (2.88.0)
it does say special parms required for SSL 3 (and there is currently no way to pass something like this into be used)
https://www.npmjs.com/package/request#tlsssl-protocol
I do see in the calendar code, setup for the request id info
"User-Agent": "Mozilla/5.0 (Node.js "+ nodeVersion + ") -
Hey,
3 month later and no solution?
i tried with newest version. wget nextcloud_calender_url get the calender in special format. The Name is “7863TJr9N2JJRgfG?export” and not *.ics.i tried official documentation. Add i “auth” with copy and paste, i get a config error.
in the newest build of Nextcloud i can copy a abo-link. i can download the “.ics” with this link without credentials.
how i can use it for mm calender? its a puplic calender link now but i dont get any calender infos.
my config:
{ module: "calendar", header: "Kalender", // see help for more information position: "top_left", config: { colored: true, coloredSymbolOnly: false, calendars: [ { url: 'https://domain.tld/nextcloud/remote.php/dav/public-calendars/7812hello1232JJRgfG?export', symbol: 'calendar' }, ], } }, -
@Corin-Corvus said in Problems with calender and Nextcloud:
https://domain.tld/nextcloud/remote.php/dav/public-calendars/7812hello1232JJRgfG?export
that url doesn’t work here… domain.tld not found
3 month later and no solution?
no one interested in looking at the code to fix it… this is all volunteer…
if u have the ics file,
copy the ics file into the default calendar folder
the url would then be
file:///home/pi/MagicMirror/modules/default/calendar/???.ics -
Ok, I realise it’s been a while but, for the sake of other who might hit this problem (or one like it), us Nextcloud users are generally using it because we’re security-conscious and like to keep our data private.
If you’re like me, you might have enabled 2FA which means if you enter your ‘usual’ password in your config file, you can’t then enter your second authentication method.
If this is the case, you’ll need to create a ‘one-time’ password in Nextcloud and use this instead of your ‘normal’ password. Get one by going to Nextcloud settings, Security and scroll to bottom. Hit ‘Create new app password’ and copy to the URL in the config.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login