Skip to content

Conversation

@j-r
Copy link
Contributor

@j-r j-r commented Jan 8, 2026

Useful if there is no easy access to environment variables, e.g. on Android.

Goal of the PR

Fixes #8343 (access to ContentDB by HTTP proxy) for systems that can't easily set the corresponding curl env variables.

How does the PR work?

Adds a new setting to configure a curl proxy string

Does it resolve any reported issue?

#8343 (other proxy related issues don't seem to be concerned with only the HTTP traffic). Tangentially related to #15981.

Does this relate to a goal in the roadmap?

Could be seen as UI improvement

If not a bug fix, why is this PR needed? What usecases does it solve?

Accessing the ContentDB from a firewalled network using an existing HTTP proxy.

If you have used an LLM/AI to help with code or assets, you must disclose this.

I guess an LLM would have come up with more or less the exact same change, but I didn't try one.

To do

This PR is Ready for Review.

How to test

  1. Configure your network to prevent outbound TCP traffic to the ContentDB server
  2. add a proxy to your network that allows proxy requests to the ContentDB server (or allow traffic to an open proxy on the internet)
  3. open Luanti
  4. notice that no package information can be retrieved
  5. set the curl_proxy setting introduced by this PR to the correct proxy string
  6. notice that the package browser now works

Useful if there is no easy access to environment variables, e.g. on Android.
@j-r
Copy link
Contributor Author

j-r commented Jan 8, 2026

Alternatively (or additionally) Luanti's Android glue code could extract the corresponding system setting, but that is still not really easy to set (at least on the devices I own, setting it on the connection just doesn't work reliably, and the global setting requires root).

@sfan5 sfan5 added @ Network Feature ✨ PRs that add or enhance a feature labels Jan 8, 2026
# Maximum time an interactive request (e.g. server list fetch) may take, stated in milliseconds.
curl_timeout (cURL interactive timeout) int 20000 1000 2147483647

# Set proxy to use by cURL. Same syntax as used in the *_proxy environment variables.
Copy link
Member

@sfan5 sfan5 Jan 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# Set proxy to use by cURL. Same syntax as used in the *_proxy environment variables.
# Set proxy to use by cURL. This is an URI just like the *_proxy environment variables.
# Note that this will not apply to Luanti's in-game protocol.

@Zughy Zughy added the Roadmap: supported by core dev PR not adhering to the roadmap, yet some core dev decided to take care of it label Jan 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Feature ✨ PRs that add or enhance a feature @ Network Roadmap: supported by core dev PR not adhering to the roadmap, yet some core dev decided to take care of it

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Proxy support for content repository

3 participants