ipWhitelist HowTo



  • Hello All. I recently upgraded my magic mirror and no matter what changes I make I can’t get ipwhitelist to work. I have searched the forums and every suggestion I have come across hasn’t rectified my issue. I had it working just fine prior to the upgrade. Any suggestions would be greatly appreciated.

    Thanks,
    Illskool


  • Project Sponsor

    @illskool

    How long ago was your last update?

    Just to be sure, have you tried @Mykle1’s solution, which seems to help in most of the cases this has happened in recent months?

    var config = {
        address: "0.0.0.0", 
        port: 8080,
        ipWhitelist: [],
    

    adding the “address” part on the top of the config? This seems to be mandatory for the newer versions of MM.

    Also, be sure to have no syntax error in your config.
    Run

    npm run config:check
    

    from your MM directory and see of there are no errors.
    Done all that?



  • @lavolp3

    Thanks for the quick response. I’m not sure if I just overlooked it or if I’m just exhausted from trying to figure this issue out for the past several hours, but either way your tip solved my problem. I thank you very much.

    I’ve been working on a new project to stream a camera I have setup on another raspberry pi on my local network to the magic mirror. My oil tank is under my house in a crawl space and I’m tired of making the crawl every couple of weeks to see how much oil I have left. I was able to use an infrared camera to stream the video and display it on the mirror using Iframe. I didn’t want it to be visible on the mirror unless I wanted to do a quick check and thats when I realized that the remote module would solve my issue but I couldn’t access it. You have helped finish my project. I can now go to sleep:)

    Cheers



  • I tried everything wich is written in this post but i cant make it all the time it says:

    This device is not allowed to access your mirror.
    Please check your config.js or config.js.sample to change this.


  • Project Sponsor Module Developer

    @svenr said in ipWhitelist HowTo:

    Please check your config.js

    Are you saying that this is in your config.js file and you still cannot connect?

    var config = {
        address: "0.0.0.0", 
        port: 8080,
        ipWhitelist: [],
    


  • @Mykle1 alt text
    Yes right but maybe i have another mistake i am a beginner and i have not really a idea about it
    link text


  • Project Sponsor Module Developer

    @svenr

    Looking at the picture you provided shows your ipWhitelist: [], is populated. Can you try it just like this? ipWhitelist: [],



  • @Mykle1 like this it works. Thank you for your help!


  • Project Sponsor Module Developer

    @svenr

    Good. Now all the devices on your network have access. If you want to limit access to specific devices then you should search this forum for ipWhitelist info. This topic has been discussed at length



  • @lavolp3 said in ipWhitelist HowTo:

    Maybe I have missed this from someone else, but one important thing about the whitelisting message:

    “This device is not allowed to access your mirror.
    Please check your config.js or config.js.sample to change this.”
    

    The EXACT SAME message appears (in my case) if the config.js has syntax errors. Locally your mirror will tell you that there is no config file or just give you a black screen, but if you try to reach it from outside through a browser (Firefox and Chrome in my case) with a broken config.js, you will get the whitelisting message above.

    So, before trying to get your ipWhitelist in the right shape, make sure you have no other syntax errors with the mirror, e.g. using

    npm run config:check
    

    If you had some and had them corrected, be safe and restart the mirror.
    Below you can see the example in my case.

    pi@magicmirror2:~ $ tail ~/.pm2/logs/mm-out-0.log
    No helper found for module: helloworld.
    All module helpers loaded.
    Starting server on port 8080 ...
    Server started ...
    Connecting socket for: updatenotification
    Sockets connected & modules started ...
    Launching application.
    Access denied to IP address: 66.249.93.64
    Access denied to IP address: 80.157.5.50
    Access denied to IP address: 80.157.5.50
    pi@magicmirror2:~ $ cd MagicMirror/
    pi@magicmirror2:~/MagicMirror $ npm run config:check
    
    > magicmirror@2.1.2 config:check /home/pi/MagicMirror
    > node tests/configs/check_config.js
    
    Checking file...  /home/pi/MagicMirror/config/config.js
    Line 260 col 9 Expected ']' to match '[' from line 26 and instead saw '{'.
    Line 261 col 16 Expected '}' to match '{' from line 11 and instead saw 'module'.
    Line 261 col 22 Missing semicolon.
    Line 261 col 16 Unrecoverable syntax error. (95% scanned).
    pi@magicmirror2:~/MagicMirror $ sudo nano config/config.js
    pi@magicmirror2:~/MagicMirror $ npm run config:check
    
    > magicmirror@2.1.2 config:check /home/pi/MagicMirror
    > node tests/configs/check_config.js
    
    Checking file...  /home/pi/MagicMirror/config/config.js
    Your configuration file don't containt syntax error :)
    pi@magicmirror2:~/MagicMirror $ pm2 restart mm
    Use --update-env to update environment variables
    [PM2] Applying action restartProcessId on app [mm](ids: 0)
    [PM2] [mm](0) ✓
    ┌──────────┬────┬──────┬─────┬────────┬─────────┬────────┬─────┬──────────┬──────┬──────────┐
    │ App name │ id │ mode │ pid │ status │ restart │ uptime │ cpu │ mem      │ user │ watching │
    ├──────────┼────┼──────┼─────┼────────┼─────────┼────────┼─────┼──────────┼──────┼──────────┤
    │ mm       │ 0  │ fork │ 901 │ online │ 6       │ 0s     │ 18% │ 2.3 MB   │ pi   │ disabled │
    └──────────┴────┴──────┴─────┴────────┴─────────┴────────┴─────┴──────────┴──────┴──────────┘
     Use `pm2 show ` to get more details about an app
    pi@magicmirror2:~/MagicMirror $
    
    

    I wanted to quote this as it just happened to me. MM was working fine remotely. I made some edits to config.js and got the dreaded “This device is not allowed to access your mirror…" message. I hadn’t edited the whitelist, so I started doing all of the network troubleshooting. Seeing this post reminded me I had done some edits and sure enough, I missed a comma somewhere and the screwed it all up. Fixing that unrelated entry in the config.js made this error go away.