ParisNeo / lollms-webui

Lord of Large Language Models Web User Interface
https://lollms.com
Apache License 2.0
4.27k stars 537 forks source link

Lan connection is bugged in arch linux #500

Open Milor123 opened 7 months ago

Milor123 commented 7 months ago

Expected Behavior

Connect throught my local ip, in my case 192.168.8.199:9600 and that the webui should works normally

Current Behavior

when try access from my pc or my android phone, using my local ip, in my case 192.168.8.199, it keep in bootloop, however when use the 127.0.0.1 it works well.

Errors: image image

Steps to Reproduce

Install it in my Manjaro using conda (note i try reinstall all and delete data folder again but not works)

python app.py --host 0.0.0.0

  1. Try use my local ip 192.168.8.199:9600 (Not work, bootloop) ❌
  2. Try use my ip localhost:9600 (It works) ✅

Short Error logs

INFO:     192.168.8.199:54184 - "GET /list_extensions HTTP/1.1" 200 OK
Listing all personalities
OK
INFO:     192.168.8.199:54184 - "GET /get_all_personalities HTTP/1.1" 200 OK
INFO:     192.168.8.199:54184 - "GET /get_available_models HTTP/1.1" 200 OK
INFO:     192.168.8.199:54184 - "GET /list_models HTTP/1.1" 200 OK
INFO:     192.168.8.199:54184 - "GET /get_active_model HTTP/1.1" 200 OK
INFO:     192.168.8.199:54184 - "GET /get_model_status HTTP/1.1" 200 OK
INFO:     192.168.8.199:54184 - "GET /assets/memory_icon-c56ac42c.svg HTTP/1.1" 200 OK
INFO:     192.168.8.199:54184 - "GET /list_discussions HTTP/1.1" 200 OK
INFO:     192.168.8.199:54184 - "GET /socket.io/?EIO=4&transport=polling&t=OtiFalm HTTP/1.1" 200 OK
INFO:     192.168.8.199:54184 - "POST /socket.io/?EIO=4&transport=polling&t=OtiFam0&sid=1W32_w2T-4ft5v4JAAAF HTTP/1.1" 400 Bad Request
INFO:     ('192.168.8.199', 54236) - "WebSocket /socket.io/?EIO=4&transport=websocket&sid=1W32_w2T-4ft5v4JAAAF" 403
INFO:     192.168.8.199:54202 - "POST /socket.io/?EIO=4&transport=polling&t=OtiFam0.1&sid=1W32_w2T-4ft5v4JAAAF HTTP/1.1" 400 Bad Request
INFO:     192.168.8.199:54202 - "GET /socket.io/?EIO=4&transport=polling&t=OtiFb3p HTTP/1.1" 200 OK
INFO:     192.168.8.199:54202 - "POST /socket.io/?EIO=4&transport=polling&t=OtiFb3p.0&sid=ozsUKxnrM0m2-pLOAAAG HTTP/1.1" 400 Bad Request
INFO:     ('192.168.8.199', 54246) - "WebSocket /socket.io/?EIO=4&transport=websocket&sid=ozsUKxnrM0m2-pLOAAAG" 403
INFO:     192.168.8.199:54198 - "POST /socket.io/?EIO=4&transport=polling&t=OtiFb44&sid=ozsUKxnrM0m2-pLOAAAG HTTP/1.1" 400 Bad Request
INFO:     192.168.8.199:54198 - "GET /socket.io/?EIO=4&transport=polling&t=OtiFbQk HTTP/1.1" 200 OK
INFO:     192.168.8.199:54198 - "POST /socket.io/?EIO=4&transport=polling&t=OtiFbQk.0&sid=cXBnWJKOCqlYaxLZAAAH HTTP/1.1" 400 Bad Request
INFO:     ('192.168.8.199', 54256) - "WebSocket /socket.io/?EIO=4&transport=websocket&sid=cXBnWJKOCqlYaxLZAAAH" 403
INFO:     192.168.8.199:54208 - "POST /socket.io/?EIO=4&transport=polling&t=OtiFbQ-&sid=cXBnWJKOCqlYaxLZAAAH HTTP/1.1" 400 Bad Request
INFO:     192.168.8.199:54208 - "GET /socket.io/?EIO=4&transport=polling&t=OtiFbiy HTTP/1.1" 200 OK
INFO:     192.168.8.199:54208 - "POST /socket.io/?EIO=4&transport=polling&t=OtiFbjD&sid=OKaQUb1yn0moqj_fAAAI HTTP/1.1" 400 Bad Request
INFO:     ('192.168.8.199', 54272) - "WebSocket /socket.io/?EIO=4&transport=websocket&sid=OKaQUb1yn0moqj_fAAAI" 403
INFO:     192.168.8.199:54212 - "POST /socket.io/?EIO=4&transport=polling&t=OtiFbjD.1&sid=OKaQUb1yn0moqj_fAAAI HTTP/1.1" 400 Bad Request
INFO:     192.168.8.199:54212 - "GET /socket.io/?EIO=4&transport=polling&t=OtiFbtN HTTP/1.1" 200 OK
INFO:     192.168.8.199:54212 - "POST /socket.io/?EIO=4&transport=polling&t=OtiFbtN.0&sid=0tLNvzF8y7MomhqvAAAJ HTTP/1.1" 400 Bad Request
ParisNeo commented 7 months ago

Hi that is completely normal the new version of lollms added lots of security measures for remote access you need to do the following: be sure you have a secure system (you need a secure tunnel between your PC and your phone or other PC don't open up your server to the outside via a port forwarding or something or this will be considered an unacceptable risk once you are sure that you are secure, you can add your interface to the cors accepted sources in the configuration file local_config.yaml in configs directory inside your personal folder you can put 0.0.0.0 in host then you need to add all your interfaces to allowed_origins for example if your PC is serving on an ip address like 192.168.1.2 then you need to add to the list : http://192.168.1.2:9600/ I am sorry for that but I don't want to be responsible of people getting attacked so by default security is at its maximum to avoid getting hacked because of exposed lollms but if you have a secure system, you can force it to open up you just set force_accept_remote_access to true

Code execution is completely blocked when in remote use even if you force remote access. I hope this answers your question

Milor123 commented 7 months ago

Hi that is completely normal the new version of lollms added lots of security measures for remote access you need to do the following: be sure you have a secure system (you need a secure tunnel between your PC and your phone or other PC don't open up your server to the outside via a port forwarding or something or this will be considered an unacceptable risk once you are sure that you are secure, you can add your interface to the cors accepted sources in the configuration file local_config.yaml in configs directory inside your personal folder you can put 0.0.0.0 in host then you need to add all your interfaces to allowed_origins for example if your PC is serving on an ip address like 192.168.1.2 then you need to add to the list : http://192.168.1.2:9600/ I am sorry for that but I don't want to be responsible of people getting attacked so by default security is at its maximum to avoid getting hacked because of exposed lollms but if you have a secure system, you can force it to open up you just set force_accept_remote_access to true

Code execution is completely blocked when in remote use even if you force remote access. I hope this answers your question

Thank you very much for you reply, i am trying doing it, for use with a private VPN (zerotierone), but i am beginer in it. Question How should i change the force_accept_remote_access in the python files or enviroments ?? I am not sure

I try add the 192.168.8.199:9600 to the local_config.yaml but i get the same problem, surely need change the option to true like you show me.

Milor123 commented 7 months ago

I try replace all files with force_accept_remote_access: false to force_accept_remote_access: true

image

and also I've changed to force_accept_remote_access: false in the ../personal_data/configs/local_config.yaml out of the cloned folder. but get the same bootloop result.

and also add to the origin image

nothing works bro :/, it keep me in bootloop

tomy2502 commented 3 months ago

Hi that is completely normal the new version of lollms added lots of security measures for remote access you need to do the following: be sure you have a secure system (you need a secure tunnel between your PC and your phone or other PC don't open up your server to the outside via a port forwarding or something or this will be considered an unacceptable risk once you are sure that you are secure, you can add your interface to the cors accepted sources in the configuration file local_config.yaml in configs directory inside your personal folder you can put 0.0.0.0 in host then you need to add all your interfaces to allowed_origins for example if your PC is serving on an ip address like 192.168.1.2 then you need to add to the list : http://192.168.1.2:9600/ I am sorry for that but I don't want to be responsible of people getting attacked so by default security is at its maximum to avoid getting hacked because of exposed lollms but if you have a secure system, you can force it to open up you just set force_accept_remote_access to true

Code execution is completely blocked when in remote use even if you force remote access. I hope this answers your question

I have the same problem, I tried it, but the problem still exists image

Biocentric commented 1 month ago

Hey @tomy2502 and @Milor123 , I just came across this issue when I was experiencing the same problem. After reviewing the errorlog it mention that you have to add the server ip to the allowed_origins parameter, not the IP where the remote connection is originating from. Like so:

allowed_origins:

This solved it for me.

ps. The interface is not great on a smartphone.