Browser Capable of "Full Access" to all Desktop Computer Partitions/Data

So, I tested Firefox (snap) on Xubuntu 26.04.

Even after tweaking the “about:config” settings that are recommended, I was unable to gain full unrestricted access to all content on all partitions on all drives on my Desktop Computer.

Suffice to say … NOT happy!

To circumvent that issue, I visualize 2 approaches:

  • [Method 1] set up my own desktop http server (which I am loathe to do because of the “visibility scope” restriction), using the suggested approach of
python3  -m http.server  ${localWebHostPort}

accessible via

http://localhost:${localWebHostPort}
  • [Method 2] Using an alternative browser which has the builtin capability for two profiles: (a) full security for remote access, and (b) open access for full localhost-attached partitions with no remote access.

My questions are as follows:

  • Are there any existing browsers which behave per Method 2 ?
    If so, which one(s) ?

  • Google AI has offered a mechanism (see below), using a self-signed certificate and a bash script, to operate with Method 1 using https ? Is that approach good enough to to simulate encryption/security handling as if those same files were installed on a remote host ?


Method: Custom Python Script (No External Tools)

Step 1: Generate a Self-Signed Certificate
Run this standard openssl command in your Linux terminal to generate a temporary certificate
and key:

openssl req -new -x509 -keyout key.pem -out cert.pem -days 365 -nodes

Step 2: Create the Python Script
Save the following code into a file named secure_server.py in the directory you want to share:

import http.server
import ssl

# Define server address and port
server_address = ('0.0.0.0', 4443)

# Create the standard HTTP handler and server instance
handler = http.server.SimpleHTTPRequestHandler
httpd = http.server.HTTPServer(server_address, handler)

# Wrap the socket with SSL context
context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
context.load_cert_chain(certfile='cert.pem', keyfile='key.pem')
httpd.socket = context.wrap_socket(httpd.socket, server_side=True)

print(f"Serving HTTPS on {server_address[0]} port {server_address[1]}...")
httpd.serve_forever()

Step 3: Run the Script

python3 secure_server.py

Note (from Google AI): Because this uses a self-signed certificate, your web browser will throw a “Security Warning.” This is normal for local testing; simply click “Advanced” and proceed.



Forgot to mention that I would like to double-click on any HTML page, regardless of location (within locally-attached devices), and have it open properly!

3 Likes

@ericmarceau, I suspect that AppArmor confinement of the Snap of Firefox on Ubuntu is limiting file system access. I would begin troubleshooting the issue with the following:

journalctl -f -o short-iso | grep -i apparmor

Please reproduce the issue in Firefox.

I think you will see a log entry vaguely similar to the following:

2019-07-17T04:58:28-0400 tessa audit[5427]: AVC apparmor="DENIED" operation="capable" profile="/usr/lib/firefox/firefox{,*[^s][^h]}" pid=5427 comm="firefox" capability=21  capname="sys_admin"

1 Like