>>106496316
Because mainly for security reasons, systems do not accept received traffic they didn't specifically ask for. If you performed an HTTP request (entered a webpage URL), it will allow the remote server to send you the requested data (the web page), but if a server just sends you a web page out of nowhere your router will tell the server to fuck off and not forward the received data to your PC. (A secondary reason is that your router won't know which PC to send the data to unless configured for it (port forwarding), and a third reason is that modern ISPs are assholes and may perform this rejection before it even reaches your router.)
In order to be able to receive unprompted requests from outside the local network, your PC would have to be open ('exposed') to internet requests (router configured to forward traffic to it, typically only traffic on a certain port) and some program needs to run to handle those requests. The first part is the main problem here; a 'solution' called UPnP exists which allows a program to tell your router to forward certain traffic to your system, but in practice this is a security nightmare (both in the sense of accidentally leaving the forwarding enabled for outdated software you didn't know you're running, and malware kindly asking the router to let malicious traffic through and actually getting its way). Any solution that makes solving this problem easy for legitimate use also makes it easy for malware and usually has a high risk of resulting in poor security configuration due to negligence ("oh I installed that six years ago no clue what it does").
Next there's the problem of authorization; you don't want just anyone with your IP to be able to upload CP to your PC. So you need to create an account or similar to make sure only your friend can upload things to your PC.