Ask HN: How do I share a hard drive with my friend?

4 points by Fifer82 ↗ HN
Hi HN.

I have over the years ended up with a bunch of old windows systems and ended up with a network which is great.

I want to also enjoy these benefits outside of my home with a friend. Over the years I have collected dozens of physics toy tech demos and i'd like to share my drive. It's a mess of zips, dlls, and all sorts.

I don't want to use a service. I want him to go to like "Fifer82" and just see a windows explorer disk without all of the garbage of say torrents, file sharing services, individually sharing file-by-file via some attachment system.

As I ask this question, I don't know if I am stupid, since Dropbox, IRC or just whatever.... begs to suggest that there is no way to do what I want, but then the question is, why??

If I know someones network somewhere else outside my home, can't I just "let them at it" through standard windows mechanisms?

Thank you.

16 comments

[ 1.7 ms ] story [ 17.5 ms ] thread
I do not know if I did understand clearly but, I was thinking about that for a startup idea, I think is definitively possible.

There is way to have a hard disk on your wifi and get it from an app but only for video/photo. And there is a way to connect to a distant linux/window server.

I think it my be possible, but need some technical skill more than juste website development

This does get at the heart of it.

But my problem is that, surely Windows itself has this service providing "somehow" that I can know where in the world the computer is, and from there, make it some kind of network drive?

Like what I do between the kitchen and the bedroom only, 30 miles away. As the user, I see `C:/` `D:/` `fifer82:/`. Unless it is literally that easy, it won't happen.

You can connect to that computer using ssh
No, you can’t do that, because Windows allows you to share on a local network, but not the entire world.

And sharing that drive on the open internet would be a really, really bad idea.

Thank you, so in the very end, you must go through a service of some kind to make this possible? Not arsed about security.
Yes, this feature is not available in a standard Windows installation for a number of reasons.

You’ll need to use some kind of 3rd party tool to configure and maintain such a setup

You could use something like TeamViewer, set up a separate box (important!) with the files you want to share, then let him have at it! Just be aware that opening up your network (even to friends) is a security risk.
The real question is: do you want just to let someone get into your computer or create a service to make that happen easily?
my scheme is this:

subnet a router; place a webdav capable server on one of the subnets; port forward request at the wan side of the router to the server. you will need a static public IP or else, update the public IP to a domain name [DNS]

the effect is someone can go to your server using a browser that can "speak" webdav

the subnetting is for security if you share the router with the rest of your network, or you can just use a dedicated router for your server to live in.

What about an Explorer-like GUI SFTP client?
'sshfs' would do the trick, if I am understanding what you seem to be saying. (WinSCP, IIRC, if you're using Windows.)

https://en.wikipedia.org/wiki/SSHFS

Executable script that I use - (actual names replaced)

    #!/bin/bash
    # mount remote directory on local machine
    #
    
    RDIR=$1
    MOUNTPOINT=my_local_mountpoint_folder
    USER=username_on_remote_server
    REMOTE_HOST=remote_servers_name
    
    if [ "$1" = "" ]; then
            echo -e "\nMounting remote home directory. If other remote directory"
            echo -e "desired, usage is $0 <absolute or relative directory-name>\n"
    fi
    
    #
    sshfs ${USER}@${REMOTE_HOST}:$RDIR $MOUNTPOINT
I think this will solve your problem:

https://www.zerotier.com/

It should be able to up a VPN bridge between your LAN and your friend’s LAN. (Or, at least a “LAN” between two machines.)

Get two routers capable of acting like an IKEv2 VPN server & client. Set yours up to act as a server and his as a client, make sure the internal IP addresses don’t overlap (if yours is at 192.168.0.x, his should be at 192.168.1.x). Once the two networks are reachable from either side you can access a shared folder by typing the computer’s IP in Windows Explorer like “\\192.168.0.1” (name discovery might not work as I believe that works via layer 2 and IKEv2 is layer 3).
In Windows this was the traditional way of having two networks connected by VPN before there were the modern commercial VPN "services" (forwarding services) which solve a different problem.

Often a small business would get a Firewall/VPN-Router in each location when they got broadband, and that was all that was necessary to put as an interface between each established LAN and the internet, as VPN endpoints, so you could connect offices by tunneling over the web. The routers would be programmed with the desired port forwarding, matching confidential encryption keys, and between them the router hardware alone would handle the secure VPN part of it as they communicated with each other across the web. Access to shared folders and drives was according to each separate LAN's further enablement & Windows security settings, which could sometimes be confusing, but in this case Windows does not handle the VPN itself.

Your VPN-Router/VPN-Server just lets authorized outsiders into your network but you have to make sure your Windows file archive PC is configured to share exactly what you want to with the desired remote user who will be logging on to your PC.

If you do it right they can see your shared drive in their File Explorer and you can even give them as much as full access to only that drive or certain folders if you want.

You can even go further giving them a full Remote Desktop but that's not necessary for them to just access a shared drive or folder.

In the newer Windows 10s you may now need to enable SMBv1 in Windows Features before you can share a Windows folder with an XP or non-Windows client. Previously enabled by default but now regarded as less secure than earlier updates.

Then you get laptops that want to log in remotely from random locations, that's when Windows itself on the laptop needs to handle its end of the VPN; when it's calling home to the office's VPN-Router, but when you don't have a matching VPN-Router at the laptop's end. Dynamic DNS is also real helpful on the laptops, so the home VPN will recognize the laptop from every location it tries to log in from, and for offices too if they don't have a staic IP.

This could be an even more confusing OS configuration effort with the laptop depending on Windows version, but after that the laptop can communicate directly over the VPN to the home endpoint, using the laptop's own Windows built-in VPN endpoint (after being enabled & configured to match the home office VPN-Router) therefore not needing a matching VPN-Router at the laptop's remote location.

But if you only have one Windows PC on each end and you want to link them by VPN, you don't actually need the VPN-Routers if each user just has access to do the port forwarding settings on your personal non-VPN routers. You can share the keys and current web IP or DNS addresses over the phone with the remote user for manual entry into each Windows configuration. Enabling each of the Windows' built-in VPN endpoints to do the handshake (without a VPN-Router at either end) and communicate more directly with each other over the encrypted web tunnel. Without needing to store the keys or pass unencrypted trafic within any routers either.

In Windows 10 you get going something like this:

https://helpdeskgeek.com/windows-10/how-to-set-up-the-window...

Looks a lot easier now.

Note that it still addresses dial-up which works about the same way when the laptop and Windows home server each had land lines available and telephone modems for alternate access to the same LAN. Dial-Up Networking from a laptop by phone modem could be accomplished by directly calling the office PC's private phone number (if not busy handling faxes or being on dial-up internet or something). Or if long-distance phone charges could apply, logging onto a local dial-up ser...