m1k1o / neko

A self hosted virtual browser that runs in docker and uses WebRTC.
https://neko.m1k1o.net/
Apache License 2.0
5.95k stars 449 forks source link

always reconnecting in login #323

Closed ZsiGiT closed 10 months ago

ZsiGiT commented 11 months ago

My portainer stack settings:

version: "3.4" services: neko: image: "m1k1o/neko:microsoft-edge" cap_add:

Log:

10:04PM WRN Failed to read from candidate tcp4 host correctWANipaddress:8045: io: read/write on closed pipe module=webrtc submodule=pion subsystem=ice 2023-08-03 22:04:39,869 DEBG 'neko' stdout output: 10:04PM INF Setting new connection state: Failed module=webrtc submodule=pion subsystem=ice 10:04PM INF ICE connection state changed: failed module=webrtc submodule=pion subsystem=pc 10:04PM INF connection state has changed connection_state=failed module=webrtc 10:04PM INF peer connection state changed: failed module=webrtc submodule=pion subsystem=pc 10:04PM WRN peer failed id=oyKKJsevpy_X9ms-hMEkq0PeVDeptq7J module=webrtc 2023-08-03 22:04:39,869 DEBG 'neko' stdout output: 10:04PM WRN Failed to discover mDNS candidate b8e6b99b-359a-488e-9aba-9b1d31382548.local: mDNS: connection is closed module=webrtc submodule=pion subsystem=ice 10:04PM INF Setting new connection state: Closed module=webrtc submodule=pion subsystem=ice 10:04PM INF peer connection state changed: closed module=webrtc submodule=pion subsystem=pc 10:04PM INF ICE connection state changed: closed module=webrtc submodule=pion subsystem=pc 10:04PM INF connection state has changed connection_state=closed module=webrtc 2023-08-03 22:04:39,870 DEBG 'neko' stdout output: 10:04PM WRN Failed to start manager: connecting canceled by caller module=webrtc submodule=pion subsystem=pc 10:04PM INF peer closed id=oyKKJsevpy_X9ms-hMEkq0PeVDeptq7J module=webrtc 10:04PM WRN Failed to start SCTP: DTLS not established module=webrtc submodule=pion subsystem=pc 10:04PM WRN undeclaredMediaProcessor failed to open SrtpSession: the DTLS transport has not started yet module=webrtc submodule=pion subsystem=pc 10:04PM WRN undeclaredMediaProcessor failed to open SrtcpSession: the DTLS transport has not started yet module=webrtc submodule=pion subsystem=pc

I have my own domain address, and I use nginx proxy manager. The TCPMUX and UDPMUX port are forwarded in router.

Firefox, Chrome, Edge same error. I cannot log in. Please help. neko

m1k1o commented 11 months ago

Please go through troubleshooting page, this looks like network issue: https://neko.m1k1o.net/#/getting-started/troubleshooting

Also make sure that you forward websockets properly using nginx proxy manager.

ZsiGiT commented 11 months ago

Hi m1k1o!

I've read through the page twice. I don't know why it doesn't work properly. What is the specific websocket port for forwarding?

These are the settings for the nginx proxy manager:

proxy 2023-08-04 210346 main 2023-08-04 210248 steam 2023-08-04 210429

And router portforward:

portforward 2023-08-04 210533

I have no idea anymore.

m1k1o commented 10 months ago

I havent see any problem with your configuration, it looked fine. Were you able to fix your issue? If so, could you please let us know how? Thanks.

ZsiGiT commented 10 months ago

That was a pretty funny mistake.

Not even neko or docker or port forward error. My ISP is telekom. I have my own domain. For example: mydomain.eu . I made an address neko.mydomain.eu. It is redirected within nginx proxy manager to neko.mydomain.eu at 192.168.10.50:8586. I can access this from another location (my friends, workplace) or via mobile internet. Everything works like this. Log in, watch a movie, chat, send a file. But not from LAN.

I do not know why it does not work.

All other subdomain redirects work from LAN. A lot of my subdomain redirects work in docker, neko does not.

Thank you for your time.

m1k1o commented 10 months ago

That looks like NAT Loopback (NAT Hairpinning) issue. Maybe your ISP does it only for HTTPS (or TCP) and not for UDP.

Thanks for sharing!

mbattista commented 10 months ago

Hi,

do not blame the ISP, since Hairpinning Traffic should never leave your router.

The first error shows a webrtc tcp broken pipe, which either means, that your connection to neko was closed or that neko could not establish a connection back to your PC.

To debug I would do the following steps:

  1. Check if you can access and logon into neko with its LAN IP Address.
  2. If this does not work, change all the Ports in the neko config (and only there!) and try to connect via LAN again with the new ports.

If either of this works, reset the neko config and set the IP of your domain to your nginx server on your PCs hosts file and try again. If this also works, you should look to invest into a new router.

If neither works, then try with a different device in your LAN. It could also be the browsersetting, that hides your IP from webrtc.

In Chrome, by disabling Anonymize local IPs exposed by WebRTC in "about:flags" page. (Via https://stackoverflow.com/questions/61629450/webrtc-does-not-work-in-the-modern-browsers-when-a-peer-is-not-behind-a-nat-beca )

Further ideas I do not have right now.

leechunyen commented 3 months ago

I also got same issue, I not using Nginx Proxy Manager, I just visit the page by local IP address.

👇This is the docker-compose.yaml I use to install👇 https://raw.githubusercontent.com/m1k1o/neko/master/docker-compose.yaml

Screenshot 2024-03-12 at 11 44 49 PM Screenshot 2024-03-12 at 11 45 04 PM Screenshot 2024-03-12 at 11 46 41 PM
m1k1o commented 3 months ago

Please take a look at troubleshooting page if you haven't yet: https://neko.m1k1o.net/#/getting-started/troubleshooting