Das lässt sich mit Samba oder Nextcloud realisieren. Ersteres solltest du auf keinen Fall ins Internet freigeben, das stellt ein erhebliches Sicherheitsrisiko dar. Da könnte man dann z. B. ein VPN nutzen, was auf Dauer aber eher lästig ist.
Alternativ installierst du das Nextcloud Plugin, das ist eine Software die darauf ausgelegt ist, aus dem Internet erreichbar zu sein. Daher gibt's da auch Sicherheitsvorkehrungen wie z. B. eine Bruteforce Protection.
Ich würde vorschlagen, du nimmst die Lösung mit der Nextcloud und bindet dort dann deine SMB Shares ein. Dein Freund kann dann selber das Laufwerk der Nextcloud per Webdav einbinden und auf die Daten zugreifen, und zwar sicher.
Damit du deine Nextcloud Instanz von außen erreichen kannst, benötigst du einen DynDNS Dienst, den du in deinem Router anmelden musst. Dann ist es erforderlich, die entsprechenden Ports der Nextcloud zu öffnen. Sollte alles glatt gelaufen sein, kannst du nun über deine DynDNS Adresse mit Angabe des entsprechenden Portes deine Nextcloud aufrufen.