Proxy and network settings
DataMind Oda can reach the internet through an HTTP proxy. It reads the proxy settings that programs on this computer use, and it does not read the proxy settings of your operating system. This page is the reference for those settings: the names Oda reads, how one request is routed, and what the programs it runs receive. To set a proxy up, see Proxy support.
The settings Oda reads
- A setting per request kind.
http_proxy covers ordinary requests, and https_proxy covers secure ones.
- A general address.
all_proxy backs both kinds: a request whose own kind has no address uses this one.
- A leave-alone list.
no_proxy lists the destinations that stay direct.
- Spellings and empty values. Each name is read in its lower-case spelling first; the upper-case spelling is the fallback. On Windows the two spellings are read as one name. A name that is set but empty counts as unset.
Where and when the values are read
- Your environment first. A value you export where you launch Oda is used first; when your environment sets none, the Oda home folder's
.env file supplies it. Where Oda keeps its data covers the home folder, and Startup and diagnostics covers the file rules.
- Never from a project folder. A
.env file in the folder you launch from may not set these names, so a project folder can never decide where your traffic goes.
- Read once, at launch. The values are taken when Oda starts, before its parts load, and do not change while it runs, not even when you open another chat or switch folders. Change a value and start Oda again.
- Undone at the end. The route is fully reversed when the run ends, so nothing on this computer is left changed. A run that turns proxying off goes direct until it ends, and then your settings return.
How one request is routed
- This computer's own addresses stay direct.
localhost, the whole 127.0.0.0/8 range, ::1, 0.0.0.0 and the IPv4-mapped spellings of those never go through the proxy; you do not need to list them.
- Your leave-alone list is checked next. A destination on it goes direct.
- Then the settings decide. Oda looks at the setting for the request's kind, then at the general address; a secure request falls back to the ordinary address last.
- A refused value ends the search. When the setting found cannot be used, that kind of request goes direct; it is never sent to another setting's address.
- What uses the route. Oda's model calls, web searches and page reads all use the route, as do the programs Oda runs.
The leave-alone list
- A host and everything under it.
example.com also covers api.example.com, and case does not matter.
- Plain, dotted and starred forms. A leading
. or *. is accepted and means the same as the plain host; a single * leaves every request direct.
- A port narrows an entry. An entry that carries a port covers only that port; an entry without one covers the host on every port.
- Separators. Entries are separated by commas or spaces, and a blank entry is ignored.
- No ranges. A range such as
10.0.0.0/8 matches nothing; write each address separately.
- Built-in entries. Oda adds this computer's own addresses to the list it applies, so you never need to write them into it.
When a value is refused
- Web addresses only. A proxy value must begin with
http:// or https:// and parse as an address. A SOCKS address, a PAC address, or text that does not parse is not usable.
- Reported once, by name only. Oda reports the setting that has the problem once; the report names the setting and never the value you wrote, so a password inside an address does not appear in it.
- Skipped, never replaced. The setting is skipped and that kind of request connects directly. Oda never swaps in another setting's address for it, and your other settings keep working.
- Nothing stops. Oda starts as usual, and a program that reads these names at start-up starts as usual too.
What the programs Oda runs receive
- Your value, your spelling. A setting you wrote yourself reaches a program exactly as you wrote it, spelling included. A kind you did not set carries the value Oda resolved.
- The route is completed for them. When only the general address is set, it is also filled into
http_proxy and https_proxy, because programs read those names.
- The leave-alone list always applies. The list a program receives is the resolved one: your entries plus this computer's own addresses.
- A refused value does not block starting. A program that reads these names at start-up still starts when one of the values is one Oda refused.
Command execution covers what a command receives of your environment.
Questions, answered
Which spelling wins when both spellings of a setting are set?
The lower-case one. The lower-case name is read first, and the upper-case spelling is used only when the lower-case name is not set. On Windows the two spellings are read as one name.
Does a setting with an empty value count as set?
No. A name that is set but empty is treated as if it were not there, and Oda falls back exactly as it would for a missing value.
How does Oda choose which setting applies to one request?
In one order. A destination on this computer or on the leave-alone list goes direct first. For every other request, Oda looks at the setting for the request's kind, then at the general address; a secure request falls back to the ordinary address last. When the setting found cannot be used, or nothing is set, the request goes direct.
Does my leave-alone list replace this computer's own exceptions?
No. The list is combined with this computer's own addresses, which are always direct; you never need to write them into it. A single * is the exception: it is kept as written and leaves every request direct.
One of my values is refused. Why do requests of that kind go direct instead of using another value?
Because Oda never replaces a refused value with a different setting's address. The setting with the problem is skipped, so requests of that kind connect directly, while your other settings keep working. Fix the value where it is set and start Oda again.
Are the values read again when I open a new chat or switch folders?
No. The values are read once, when Oda starts, and stay fixed for the whole run; a new chat or another folder changes nothing. Start Oda again for a change to apply.
I have a value in both my environment and the Oda home folder's file. Which is used?
The exported one. Your environment is read first, and the file is the fallback for names your environment does not set.
How do I know a value was refused?
Oda reports the setting that has the problem once; the report names the setting, never the value you wrote. Nothing else changes: Oda and the programs it runs start as usual, and requests of that kind go direct.