Skip to content

Optional anonymous access #22

Description

@termermc

It should be possible to configure rooms to allow anonymous access (logging in without credentials and browsing shares). Clients should limit C2C operations they allow anonymous peers to make. Calling OPEN_OUTBOUND_PROXY will relay an INBOUND_ANONYMOUS_PROXY message to the target instead of the normal INBOUND_PROXY. Shares will need to be marked with Allow Anonymous Access to be accessible to anonymous users.

I'm not sure whether anonymous direct connections should be possible. If they are, clients would have to opt into it because it would reveal their IP. It would also require the anonymous user to have a randomly-assigned username and be able to advertise connection methods. I'll have to think about it.

As part of anonymous access, there should be a server config option to enable an HTTP server for anonymous browsing. There should also be a separate config value for the public base URL for it. Basically a simple file structure of /user/<path>, with the path including the share. If the path is a directory, it should show a simple directory index like Nginx does. It could be configurable to also serve a link to a zip download of a directory. This HTTP interface would make the same INBOUND_ANONYMOUS_PROXY calls that would be generated by a normal anonymous client. When a client connects, the server should send (or make available via a server settings request) the public URL for anonymous access, if enabled.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions