turnkeylinux / tracker

TurnKey Linux Tracker
https://www.turnkeylinux.org
71 stars 16 forks source link

Inc wsdd package in Fileserver (Fileserver not visible in Windows Explorer "network" section) #1598

Closed JedMeister closed 5 months ago

JedMeister commented 3 years ago

As noted on our subreddit, the fileserver is easily findable (via hostname) from Mac and mobile (Android and iOS) but does not show up within Windows Explorer "network".

The actual Fileserver functionality works fine, it's just that you need to explicitly use the IP address from within Windows.

As I noted over there in my (waffley and long winded) response - it appears that Windows no longer supports NetBIOS hostname broadcast (while OSX, iOS, Android, etc still do). It turns out that Windows now uses "Web Services for Devices" (WSD) to discover servers by default. But Samba (and by extension Turnkey/Debian and probably Ubuntu too) do not currently provide that.

There is an open source implementation of a WSD host daemon for Linux called wsdd. So I've forked that and using the packaging provided by the OpenMediaVault fork, I have packaged it for TurnKey. So far I have only pushed it to our buster-testing repo.

If I can have some Windows users confirm that this works, then I'll happily push it to buster and include it in future Fileserver releases.

To install the package from buster-testing (assuming starting point of v16.x Fileserver, Torrentserver or Mediaserver):

mv /etc/apt/sources.list.d/turnkey-testing.list.disabled /etc/apt/sources.list.d/turnkey-testing.list
apt update
apt install wsdd

Firewall

Note that it according to upstream the following ports need to be allowed via the firewall:

Traffic for the following ports, directions and addresses must be allowed.

You should further restrict the traffic to the (link-)local subnet, e.g. by using the fe80::/10 address space for IPv6.

terminalwhoami commented 2 years ago

@JedMeister Just found this while googling, it doesn't seem to work for me. i have the same thing as the OP on reddit where it does show up in the network tab of windows, but doesn't seem to let me do anything else to aid in connecting to the server as i would expect.

JedMeister commented 2 years ago

@terminalwhoami - thanks for posting.

Firstl, I just replied to that reddit post (in response to the OP post about a month ago), here's what I just posted:

It does cause the linux container to show up on windows

Ok, well that's a good start.

but i cannot click on what shows up to access shares as I would expect.

Hmm, bugger.

It also uses the name of the name of the proxmox container instead of the hostname.

By default, in a proxmox container, the name IS the hostname! Your comment suggests that you have somehow set a new hostname?! Assuming I'm right, what did you do? Did you make manual changes, or change it via the confconsole hostname plugin?

So when you say "it doesn't seem to let me do anything else to aid in connecting to the server as i would expect.", do you mean like the OP posted: "cannot click on what shows up to access shares as I would expect"? If not, could you please elaborate?

FWIW I'm not a regular WIn user and IIRC all it should do is show up in "Network places" in Win Explorer. If you then click on it, it should show you the available shares. Depending on tweaks that may have been made, it's possible that authentication may be required (although IIRC by default it should only ask for auth if you try to connect to one of the shares that isn't "public").

Could you also confirm that it works as expected when browsing via IP address? I.e. if you put \\xxx.xxx.xxx.xxx\ (where xxx.xxx.xxx.xxx is your server IP) in the Windows explorer address bar and hit enter. It should work, but just to make sure that we're on the same page...

JedMeister commented 2 years ago

FWIW, the op replied on reddit. it sounds like your experience is similar to theirs!?

It sounds like I'm going to need to spend some time on troubleshooting it myself, but I'm not sure when I'll have the spare cycles. Our v17.0 release is long overdue already. I'll try to at least look into this before we release the v17.0 fileserver.

terminalwhoami commented 2 years ago

@JedMeister yeah, i think i'm having the same issues/experience as the OP Reddit.

JedMeister commented 1 year ago

wsdd is in Debian Bookworm repos so can easily be included.

airtonix commented 1 year ago

any movement on this? like are we going to get a easy to tick box that effectivetly says

airtonix commented 1 year ago

incoming and outgoing traffic to udp/3702 with multicast source/destination: 239.255.255.250 for IPv4 ff02::c for IPv6 outgoing unicast traffic from udp/3702 incoming to tcp/5357

What do we tick/type/change here to make the above a reality?

image

JedMeister commented 1 year ago

any movement on this? like are we going to get a easy to tick box that effectivetly says

Yes, it will be included in the next release. Hopefully it should be available within the next few weeks, but no promises. FWIW we've been working on updating everything to Debian Bookworm base.

It will just be included OOTB, there won't be any box to tick, or config for the end user, it should "just work". The firewall will be pre-configured to support it.

To get it working on the current v17.x appliance will first require installing it. It's not packaged for Debian Bullseye (or earlier) though, so you'll need to install from a 3rd party repo.

Re firewall, all rules will be "accept". Then the protocol udp on port 3702 and tcp protocol on port 5357. TBH, I'm not 100% sure about the unicast/multicast stuff, so I recommend just configuring as per what I've said already and see if it works. For more info, please see the Webmin firewall doc page.

alexschwantes commented 1 year ago

To get it working on the current v17.x appliance will first require installing it. It's not packaged for Debian Bullseye (or earlier) though, so you'll need to install from a 3rd party repo.

Awesome, a super easy install and a reboot and its working!

Romaq commented 5 months ago

The instructions are for "buster-testing" but the package does not appear to be in "bullseye-testing." I'm painfully new at this, so I'm not clear how to "roll my own update" from bullseye to buster.

apt install wsdd will not work unless I do a "full upgrade" from buster to bookworm or download python3 and install the moving parts in their correct locations for Debian 11.

  1. Is an update of the fileserver to Debian 11 likely "soon" so a straight apt install wsdd would handle it? I did to such an update manually, and it did apt install wsdd just fine, but I'm not clear how this may break updating this fileserver solution in the future.

  2. Could this turnkey solution not only be updated to Debian 11 but ALSO include wsdd so it "just works?"

  3. Could 'bullseye-testing' be updated so the instructions in the OP message "just works?"

  4. Would anyone mind a cheat-list of instructions so I know apt install python-is-python3 is correct, and where to manually shove the bits & bobs of wsdd from the release zip file so I don't have stray fiddly bits in the wrong spot from poor guessing on my part?

Thanks for helping this n00b along 9 months after the last message. I know it takes time to do package updates and make very sure they don't set someone's system on fire with bugs. If I wasn't having to put together instructions for a client to duplicate what I'm doing, I would have just had it "done" already and deal with the fall-out when I have to deal with the fall-out. Well, I have to deal with this before I pass it on to the client. :)

Thank you.

JedMeister commented 5 months ago

@Romaq - Assuming that it was you over on the forums I gave a brief update there.

FWIW TurnKey v16.x was based on Debian 10/Buster, v17.x was based on Debian 11/Bullseye & v18.x on Debian 12/Bookworm

IIRC wsdd was not in buster at all and was only in bullseye-backports (i.e. not main repo). As bullseye has now moved to LTS (sponsored by a 3rd party & not actually a core part of Debian) backports are no longer available.

Thanks for your bump though. Fileserver has been updated by a colleague and he missed this, It was to be published early next. It'll now be a little delayed, but will be complete. I plan to do some quick testing with Win11 when I get a chance (my VM is updating and it's taking forever...).

If you're interested in testing too, let me know and I'll push an RC iso to the webserver so you can give it a try.

Romaq commented 5 months ago

Thank you, and yes, I would be happy to test an RC, although I'm using a *.tar.gz image suitable for LXC which I can shove into the Proxmox template folder. I'm reaching the point where I would like to do a bare-metal rebuild of my PVE host and a rebuild of the turnkey-fileserver would fit right into that.

challgren commented 5 months ago

@Romaq - Assuming that it was you over on the forums I gave a brief update there.

FWIW TurnKey v16.x was based on Debian 10/Buster, v17.x was based on Debian 11/Bullseye & v18.x on Debian 12/Bookworm

IIRC wsdd was not in buster at all and was only in bullseye-backports (i.e. not main repo). As bullseye has now moved to LTS (sponsored by a 3rd party & not actually a core part of Debian) backports are no longer available.

Thanks for your bump though. Fileserver has been updated by a colleague and he missed this, It was to be published early next. It'll now be a little delayed, but will be complete. I plan to do some quick testing with Win11 when I get a chance (my VM is updating and it's taking forever...).

If you're interested in testing too, let me know and I'll push an RC iso to the webserver so you can give it a try.

I will be happy to test any fileserver RC versions as long as I can put it in the proxmox template dir. I'm kind of in the same boat as @Romaq. TKLFS isn't meeting my needs with outdated OS/packages and lack of confconsole 2.1/DNS validation makes TKLFS look like its been forgotten for over 2 years and that kind of worries me as a new TKL user.

JedMeister commented 5 months ago

makes TKLFS look like its been forgotten for over 2 years and that kind of worries me as a new TKL user.

Yeah its sucks, I agree!

It hasn't been forgotten though.

It's more to do with the fact that we're a small team with limited resources and a lot going on. TBH, it often feels like I'm running as fast as I can, just to stay in exactly the same place...

After building these appliances for 16+ years we've collected a ton of technical debt. We're trying to clear some of that while also trying to reduce dev friction, to hopefully make future releases smoother, easier and faster. All while simultaneously updating and ideally improving the appliances.

And on top of that, to keep the lights on and pay the couple of part time contract devs that help out (at well below industry rates) we need to prioritise the support needs and desires of paying users. That also diverts my attention.

Unfortunately we don't have any paying Fileserver users (or if we do they are very quiet). So that means that Fileserver has missed out on the love it deserves for a while now. I was hoping to get it out sooner, but realised that there were a few fundamental bits missing - like including wsdd :man_facepalming: :sob: I was just going to add that, but then noticed that there were other sub optimal things that I'd rather fix/improve now.

Sorry for the big whiney rant... Although it is good to have a bit of a whinge sometimes :grin:

Anyway, You can find a link to the PVE/LXC template over on the website. Please let me know how you go.

Romaq commented 5 months ago

Open Source Software is among the most expensive forms of software around in terms of time, overall costs as including the unpaid/ underpaid development staff, and the overall abuse the developers suffer from entitled "customers" (in general, not personal... your post was kind, @challgren). I'm grateful for the work you are putting in, and I do try to tip-toe lightly and do as much homework as I can BEFORE posting, so as not to add additional burden.

challgren commented 5 months ago

Is there a way to pay for Self Hosted Fileserver? I didn't see that option anywhere so thats why I opted into the backups and didn't really use them. I would be happy to pay $10/month to know that its going to get updates faster. I do appreciate the work and understand the technical debt portion.

To come at TKLFS from an Admin/IT POV its hard to trust software that hasn't been updated in 2 years with my files (personally/professionally). But I am happy to see activity that shows it hasn't been forgotten.

challgren commented 5 months ago

So I just installed 18.0RC2 and have the following observations

  1. Backups cannot be configured during first boot. (No profile found)
  2. WSDD in Windows works! Screenshot 2024-05-22 at 14 07 23
  3. consoleconf Secupdates adv co shows a python error.
                                                     Traceback (most recent call last):                       │  
                                                 │   File "/usr/bin/confconsole", line 718, in loop         │  
                                                 │     new_dialog = method()                                │  
                                                 │                  ^^^^^^^^                                │  
                                                 │   File "/usr/lib/confconsole/plugin.py", line 123, in    │  
                                                 │ run                                                      │  
                                                 │     ret: Optional[str] = self.module.run()               │  
                                                 │                          ^^^^^^^^^^^^^^^^^               │  
                                                 │   File                                                   │  
                                                 │ "/usr/lib/confconsole/plugins.d/System_Settings/Secupdat │  
                                                 │ es_adv_conf.py", line 84, in run                         │  
                                                 │     retcode, data = check_paths()                        │  
                                                 │                     ^^^^^^^^^^^^^                        │  
                                                 │   File                                                   │  
                                                 │ "/usr/lib/confconsole/plugins.d/System_Settings/Secupdat 
JedMeister commented 5 months ago

@Romaq - thanks for your kind supportive words.

I do try to tip-toe lightly and do as much homework as I can BEFORE posting, so as not to add additional burden.

Your understanding and approach is really appreciated. Although, please don't ever hesitate to report issues and/or give feedback (good or bad). Despite my rant above, we really value user feedback and knowing user's friction points is a really valuable for us. Better still if you can document how to implement and/or fix it.

@challgren - thanks too for your understanding and I agree with @Romaq. Your feedback was fine. It was more that I feel as frustrated as you, probably more! :grin:

Is there a way to pay for Self Hosted Fileserver? I didn't see that option anywhere so thats why I opted into the backups and didn't really use them.

Curre

To come at TKLFS from an Admin/IT POV its hard to trust software that hasn't been updated in 2 years with my files (personally/professionally).

Fair and reasonable feedback.

So I just installed 18.0RC2 and have the following observations

Awesome, thanks!

Backups cannot be configured during first boot. (No profile found)

Yep, that's because the profiles are generated at publish time - and rarely ever for RCs.

It is possible to force a profile. E.g.:

tklbam-init --force-profile=PROFILE HUB_API_KEY

Where PROFILE can be an appliance name, e.g. lamp or a specific version, e.g. fileserver-17.1. It does only support existing releases though. While I've done bugfixing and lots of support for TKLBAM, I'm not super familiar with the code base. I haven't played with the --force-profile switch so I'm unsure on specific limitations. As an aside TKLBAM is also well overdue for some love....

FWIW you can also use --force-profile=empty and configure the exact paths you wish to include/exclude in the /etc/tklbam/overrides file.

WSDD in Windows works!

Woohoo! :grin: FWIW that was my finding too. Although it doesn't seem to work by default with Linux :cry: . FILESERVER shows up, but it can't be browsed. Troubleshooting that will be my next job...

consoleconf Secupdates adv co shows a python error.

Thanks so much! Actually, I'll look at that first. If for some reason i can't reproduce it (which seems doubtful) I'll be back for more info. Otherwise I'll push an update for Confconsole to the apt repo.

Thank again to both of you.

challgren commented 5 months ago

Thanks for the updates! First I was unable to find Curre can you explain that more? Or maybe add GitHub sponsorship. Also the PayPal donate link doesn't work either. As for consoleconf what can I do to help you see/troubleshoot? I'd be willing to do a remote session and allow you into the machine

JedMeister commented 5 months ago

@challgren

consoleconf Secupdates adv co shows a python error.

FWIW I've (finally) just pushed an updated confconsole to the apt repo that fixes the bug you noted.

Also, hopefully Fileserver v18.0 will be "officially" released next week. :)