gorhill / uBO-Extra

A companion extension to uBlock Origin
GNU General Public License v3.0
654 stars 42 forks source link

Breaks Fedora server "Cockpit" dashboard #21

Closed Taomyn closed 7 years ago

Taomyn commented 7 years ago

Since enabling uBO-Extra I can no longer log into my Cockpit dashboard that runs on my Fedora 25 server. I'm connecting to it directly from the same network.

The main web page appears no problem, it's HTTPS, I enter my credentials and then I am instantly shown the "Disconnected" screen from the service. I've tried whitelisting the domain in uBO, I see no blocks in the logger, so I have no idea how I can fix this other than disabling the extension which does.

Any other suggestions?

gorhill commented 7 years ago

What error does the dev console report?

Taomyn commented 7 years ago

Sorry, didn't think to also look there. I can see

myserver.co.uk/:1 Refused to load the image 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==' because it violates the following Content Security Policy directive: "default-src 'self'". Note that 'img-src' was not explicitly set, so 'default-src' is used as a fallback.
index.js:331couldn't load machines data: Server has closed the connection.
(anonymous) @ index.js:331
l @ cockpit.js:57
k @ cockpit.js:2631
(anonymous) @ cockpit.js:2515
l @ cockpit.js:57
o @ cockpit.js:164
v @ cockpit.js:521
m @ cockpit.js:530
N @ cockpit.js:381
N.i.onclose @ cockpit.js:348
cockpit.js:441transport closed, dropped message:  
{"host":"localhost","payload":"echo","command":"open","channel":"1:5"}
index.js:2003transport closed: disconnected
(anonymous) @ index.js:2003
dispatch @ jquery.js:2460
m.handle @ jquery.js:2274
l @ cockpit.js:57
o @ cockpit.js:164
v @ cockpit.js:521
m @ cockpit.js:530
N @ cockpit.js:381
N.i.onclose @ cockpit.js:348

There's more in the log if you want me to paste it here and the above is not enough

gorhill commented 7 years ago

Can you look at what uBO's logger report?

Taomyn commented 7 years ago

Nothing is marked "red" for being blocked

What's the simplest way to exclude a whole domain from uBO-Extra?

gorhill commented 7 years ago

What's the simplest way to exclude a whole domain from uBO-Extra?

Build you own version, add the domain to exclusion list in teh source code.

I need a way to reproduce on my side to be able to investigate. At the very least, being able to look at cockpit.js code may provide some information. Where can I find that source file online?

Taomyn commented 7 years ago

The project is here: https://github.com/cockpit-project/cockpit and according to the "about" from the Fedora version it's 128

gorhill commented 7 years ago

Ok I just realized the issue is a duplicate of #7, at first I ignored the first error in the console, but this actually tells why the websocket connection fails.

I really need to fix #7.

Taomyn commented 7 years ago

Ok, understood

gorhill commented 7 years ago

If you issue a data: CSP directive for image-src on your server, this would solve this specific issue until I fix #7.