Pydio booster with public share

I have followed the pydio booster instruction and finally make it work. When I am logging in pydio itself, it stopped polling. However, if I am using a public share like mydomain.com/public/, I can still see polling from Chrome developer console. Is there any advice on this (using websocket for public share also instead of polling)? Thanks.

Hi,
could you give me the settings that you’ve put in the configuration files? (you can ommit the tokens and address if it’s accessible from the outside)
a screenshot of the pydio booster settings(don’t forget to hide your infos if necessary) and also what you changed in the pydioconf and pydiocaddy files.

My pydioconf and caddyconf file are exactly copied per official doc, except a few changes is made.

  1. replace TOKENP and TOKENS to my own generated key.
  2. replace mydomain.com to my own domain. Use https instead of http.
  3. add TLS line since I am using https.

As I said, all works when I login pydio as myself (no polling from Chrome). However, when access the public share link that I generated, the polling still exists. I understand this is probably because websocket is only for /ws, /io and /admin. What about /public for public shared link?

Pydioconf:
{
“scheduler”: {
“host”: “https://mydomain.com”,
“tokenP”: “TOKENP”,
“tokenS”: “TOKENS”,
“minutes”: 2
},
“nsq”: {
“host”: “0.0.0.0”,
“port”: 4150
},
“caddyFilePath”: “./pydiocaddy”
}

Caddyconf:
https://mydomain.com:8090 {
tls /var/lib/pydio/boost/cert.pem /var/lib/pydio/boost/private.key
pydiows /ws {
pre {
if {>Cookie} has “AjaXplorer”
type request
url https://mydomain.com?get_action=keystore_generate_auth_token&device=websocket
cookie AjaXplorer
out token
}
pre {
type request
url https://mydomain.com/api/pydio/ws_authenticate?key=TOKENP:TOKENS
query auth_hash
query auth_token
out user
}
}
header /io {
Access-Control-Allow-Origin https://mydomain.com
Access-Control-Request-Headers *
Access-Control-Allow-Methods POST
Access-Control-Allow-Headers Range
Access-Control-Allow-Credentials true
}
pydioupload /io {
pre {
type node
out node
}
pre {
if {query} has “minisite_session”
type request
url https://mydomain.com?get_action=keystore_generate_auth_token&device=upload
query minisite_session
cookie AjaXplorer_Shared
out token
}
pre {
if {query} not_has “minisite_session”
if {>Cookie} has “AjaXplorer=”
type request
url https://mydomain.com?get_action=keystore_generate_auth_token&device=upload
cookie AjaXplorer
out token
}
pre {
type request
url https://mydomain.com/api/{repo}/upload/put/{nodedir}?xhr_uploader=true
header X-File-Direct-Upload request-options
header X-Pydio-Admin-Auth TOKENP:TOKENS
header X-File-Name {nodename}
query *
out options
}
post {
type request
url https://mydomain.com/api/{repo}/upload/put/{nodedir}?xhr_uploader=true
header X-File-Direct-Upload upload-finished
header X-Pydio-Admin-Auth TOKENP:TOKENS
header X-File-Name {nodename}
query auth_hash
query auth_token
out body
}
}
pydioadmin /admin
basicauth /admin TOKENP TOKENS
}

Hi,
yeah your config seems to be right,
the booster is only serving the download, upload and workspaces so it’s not enabled for public links.

Could you consider this be a feature request for the future?

I will ask the devs if this can be a done for a future release.

Actually i think it should be working on public shares, the concept of a public share is that you create a virtual workspace but it’s still a workspace so the booster should be working on it, let me do some testing on my own.

ps: i’m not very familiar with the booster i only understand it’s basics.

Me either. I don’t quite understand Caddyconf. But I am pretty familiar with Chrome debugging tool. From Chrome developer tool, I can see WS network session when I am selecting only WS instead of ALL, and I don’t see polling. However, this is not happening for public share.

I will ask the devs about more details on how the booster is working it could shed some light.