icloud-photos-downloader / icloud_photos_downloader

A command-line tool to download photos from iCloud
MIT License
7.02k stars 563 forks source link

Allow domain to be pointed to an IP Address and not only a .com domain #990

Closed LawMixer closed 3 weeks ago

LawMixer commented 3 weeks ago

Summary

I don't have a domain, and right now, I'm running it by exposing the port - working on a more permeant solution, but right now it's how it is.

The error: Error: Invalid value for '--domain': 'http://193.31.31.25:2305' is not one of 'com', 'cn'.

AndreyNikiforov commented 3 weeks ago

domain is for resolving access from China and not related to Web UI port

LawMixer commented 3 weeks ago

I'm not in China, I'm from the US - I assume that doesn't make a difference?

AndreyNikiforov commented 3 weeks ago

I'm not in China, I'm from the US - I assume that doesn't make a difference?

What are you trying to achieve? How did you come to the solution with using --domain parameter? "I'm running it by exposing the port" suggests that you are running icloudpd with WebUI which is served on a 8080 port.

LawMixer commented 3 weeks ago

http://:5100

will error out

AndreyNikiforov commented 3 weeks ago

http://:5100

will error out

What are you trying to achieve? Tell me in English. Then show cmd line you use to get minimal working version towards your goal and that is breaking. Urls not helping me help you.

LawMixer commented 3 weeks ago

I want to change the WebUI Port from 8080 to a custom port, but I cannot do that as there is no feature for it not unless there is one and I didn't find it.

AndreyNikiforov commented 3 weeks ago

I want to change the WebUI Port from 8080 to a custom port, but I cannot do that as there is no feature for it not unless there is one and I didn't find it.

changing port for webui is not supported. If you are using docker, then remapping ports is supported by docker itself. There may be other solutions to remap/proxy ports.

LawMixer commented 3 weeks ago

Will it be supported in the future? 8080 is the port that is taken up by another process, and I really can't move stuff around.

LawMixer commented 3 weeks ago

This is the error I get whenever I try to use the WebUI.

https://i.imgur.com/roy3Gmc.png

AndreyNikiforov commented 3 weeks ago

Will it be supported in the future? 8080 is the port that is taken up by another process, and I really can't move stuff around.

No plans currently, but it is small feature, so it can be added. Can you explain what system you are running icloudpd on, so that port remapping is not available? IIUC WebUI is mostly useful on servers/NAS, where docker (with port remapping) is a popular way to manage software, so port remapping in the icloudpd itself is not needed.

LawMixer commented 3 weeks ago

Oh sorry, I mis-said - I meant that every time I remapped the ports, it wouldn't run because the default of the Flask is 8080 and I have other docker applications running on 8080, so it will say Address In Use which if I did a remap, it would move those same ports.

I use Komodo to manage my docker containers, and the web UI will not startup because of that error I previously shared. https://i.imgur.com/roy3Gmc.png

AndreyNikiforov commented 3 weeks ago

Oh sorry, I mis-said - I meant that every time I remapped the ports, it wouldn't run because the default of the Flask is 8080 and I have other docker applications running on 8080, so it will say Address In Use which if I did a remap, it would move those same ports.

With docker port forwarding you map listening port of the app inside container, e.g. 8080 for icloudpd, to the port on the host, e.g. 8081. That way you can have multiple containers, say, for icloudpd, running on the same host and all of them listening on different ports on the host, e.g. 8081, 8082, 8083, etc. Default Flask port is irrelevant.

I use Komodo to manage my docker containers, and the web UI will not startup because of that error I previously shared. https://i.imgur.com/roy3Gmc.png

See TrueNas config for example of port mapping, I am sure Komodo supports something similar.

boredazfcuk commented 3 weeks ago

With docker port forwarding you map listening port of the app inside container, e.g. 8080 for icloudpd, to the port on the host, e.g. 8081. That way you can have multiple containers, say, for icloudpd, running on the same host and all of them listening on different ports on the host, e.g. 8081, 8082, 8083, etc. Default Flask port is irrelevant.

I'm not sure this is entirely accurate. I've see behaviour in the past where multiple nginx containers cannot use port internal port 80/443 because it conflicts with other containers. I think it may be if the containers are attached to the same Docker network. Not 100% sure as it's been a while since I saw it.

LawMixer commented 3 weeks ago

Oh sorry, I mis-said - I meant that every time I remapped the ports, it wouldn't run because the default of the Flask is 8080 and I have other docker applications running on 8080, so it will say Address In Use which if I did a remap, it would move those same ports.

With docker port forwarding you map listening port of the app inside container, e.g. 8080 for icloudpd, to the port on the host, e.g. 8081. That way you can have multiple containers, say, for icloudpd, running on the same host and all of them listening on different ports on the host, e.g. 8081, 8082, 8083, etc. Default Flask port is irrelevant.

I use Komodo to manage my docker containers, and the web UI will not startup because of that error I previously shared. https://i.imgur.com/roy3Gmc.png

See TrueNas config for example of port mapping, I am sure Komodo supports something similar.

This is not working for me - I set my ports to 2303:2306 and it's still not working:

https://imgur.com/kGTIqBm https://imgur.com/meCLouA

AndreyNikiforov commented 3 weeks ago

Oh sorry, I mis-said - I meant that every time I remapped the ports, it wouldn't run because the default of the Flask is 8080 and I have other docker applications running on 8080, so it will say Address In Use which if I did a remap, it would move those same ports.

With docker port forwarding you map listening port of the app inside container, e.g. 8080 for icloudpd, to the port on the host, e.g. 8081. That way you can have multiple containers, say, for icloudpd, running on the same host and all of them listening on different ports on the host, e.g. 8081, 8082, 8083, etc. Default Flask port is irrelevant.

I use Komodo to manage my docker containers, and the web UI will not startup because of that error I previously shared. https://i.imgur.com/roy3Gmc.png

See TrueNas config for example of port mapping, I am sure Komodo supports something similar.

This is not working for me - I set my ports to 2303:2306 and it's still not working:

https://imgur.com/kGTIqBm https://imgur.com/meCLouA

You need to map 8080 in icloudpd container to available port on the host. Komodo Immich server example maps 2283 host port to 3001 container port

LawMixer commented 3 weeks ago

You need to map 8080 in icloudpd container to available port on the host. Komodo Immich server example maps 2283 host port to 3001 container port

Hahha, this works! Thank you! Amazing work you've done!