Web File Manager for Norns

Web File Manager for Norns

The Organelle web file browser but in Norns :crazy_face:

Description

Requirements

  • Norns/Fates/DIY Norns

  • Sidekick (optional, but recomended).

  • Internet access (only for installation).

Download & Installation

To download and install just ssh to your Norns machine

  1. Log in to Norns

ssh we@norns.local (password: sleep)

  1. Copy and paste the following command line:

curl https://dl.dropboxusercontent.com/s/9v79z5huupgd6id/NornsWFM.deb -o NornsWFM.deb && sudo apt install -y ./NornsWFM.deb && sudo rm ./NornsWFM.deb

Usage

FOR SIDEKICK USERS:
When is installed, open the sidekick menu (pressing 1+2+3 Buttons), enter to “refresh menu”… an item called “Web File Manager” should appear. Enter in “Web File Manager”… Should appear “Launching… web File Manager” on the screen.
Go to http://norns.local:8080 on your favorite web browser.
To stop the web page you only have to exit the Web File Manager app on Norns (pressing 1+2+3 Buttons).

FOR NON-SIDEKICK USERS
Shh to Norns…enable the NornsWFS service (use the following code)

sudo systemctl start NornsWFM.service

Go to http://norns.local:8080 on your favorite web browser.

To stop the web service run the following code.

sudo systemctl stop NornsWFM.service

In the web file manager you have access to “we” folder and External drives, make things like cut, copy, paste, delete, zip, unzip, download, upload, create folders, etc… just like a normal file browser.

EXTRA TIP
If you want to Web File Manager keep alive even Norns restarts do the following command:

sudo systemctl enable NornsWFM.service

And to undone…

sudo systemctl disable NornsWFM.service

Future Features

  1. Upload From Url: Copy and paste a file link and the web page downloads it to a folder (this is useful to download patches/files from different internet sides).

Notes

  1. I do not test it on stock Norns machine…so if someone could test it I´ll appreciate it.

Uninstall

Ssh to Norns…copy and paste the following code:

sudo apt remove nornswfm

Pd: No residual files!! Norns system like before!

Source code

GitHub—> https://github.com/oxbown/NornsWFM

Feedback

Please send me your feedback!!!

6 Likes

i’d like to point out that SFTP is “just like a normal file browser” but i agree that it’s annoying to launch a separate program if you already have maiden open. we’ve had file management on the future feature list forever and could use some contribution on this front.

alternatively, i’d suggest exploring a method where a separate system service could be installed on any device (ie, a normal rpi) that serves a file browser webpage. this way it would not require sidekick, or norns even… and could live alongside any software ecosystem.

lastly, Library is for finished/tested projects, so i’m going to move this to Tech. where honestly i hope a more flexible alternative method can be discussed— such as have it run all of the time rather then require activation.

Yes, it could be active all the time, the sidekick menu only active/deactivate a systemctl service, just making the service “enable” it will work all the time. I think about that, but the web doesn’t have password authentication so anyone that is in the same network could make modifications on Norns machine :dizzy_face:
The other hand is that Sidekick, Orac, and the other upcoming Pd apps don´t have Maiden started, so the website is offline.

I think this requires a certain level of technical ‘knowledge’, many are are not familiar with SFTP nor things like SSH. Furthermore, users don’t tend to like installing additional software on their computers.
This is why many products use web apps, because its something users know and accessible without installing further ‘stuff’ - Is this not, as least partially, the reasoning behind maiden?

also a web app could potentially be useful for other things…
the way this has been done on the Organelle, (and I suspect same here), is that patches can install their own additional web-apps into
e.g. we have one for OTC which is a python editor for pygame (in a very similar vein to maiden)

I think on an audio computer (esp. with limited resources like rPI/Norns) , starting things when they needed is actually good practice.
The current trend of modern OSs having lots of services running for convenience is pretty frustrating when you are trying to get the most out of your system.

perhaps the web app could be limited to certain parts of the file system?

that said, maiden doesn’t require a password either, and sclang can then read/write any files, so I’m sure could be used to ‘compromise’ a system … (even if password was changed :wink: )

i just stop it to reduce resource load…
if it was useful, then we could keep it running.

Actually, the web app only has access to “/home/we/” and “/media/”

1 Like

More things…
I changed the way that Norns mount and dismount the external drives.
Stock Norns system has in “/media/” folder a lot of folders called usb0,usb1,usb2…
I don´t like that way, even if a USB is not connected the folder appears in /media/.
So, I changed the way Norns mount the drives… When a drive is connected a folder will be created in /media/ , the folder name will be “Drive_Name”+“the /dev/ space is using”… for example, if I plug a USB stick with a name called “UNTITLED” a folder will be created on /media/UNTITLED_sda1.

When the USB is unplugged the folder will be removed automatically.

would this kind of change not be better done as part of the Norns distribution?
e.g. submit it as a PR to Norns?
there it could be discussed with other developers, e.g in case they see other unforeseen consequences.
and also leads to improvements for all norns users.

I’ve been careful with sidekick not to change the functioning of norns,
so that users can be confident they can install it (*) without affecting the norns application.

(*) also means uninstalling sidekick will reset the norns back to ‘factory state’

3 Likes

Yep, you are all right, I made the change initially for me because I think my way is more clear (for the end-user), but I probably remove this functionally (At least for now), even it´s working like a charm…

1 Like

good to hear the menu integration is just systemd calls, which means controlling it can work from anywhere. without details I assumed otherwise

can you post the code so we can all review it and make suggestions?

Final version released! (v0.8)

1 Like

can you share the code?

Yes, I´m on it…just give me a couple of minutes
Edit: posted on github —> https://github.com/oxbown/NornsWFM

1 Like

Please, give me feedback! Thanks for everyone!

Installed and running nicely here :slight_smile:

Now it’s available, should be moved back into Library category ?

1 Like