Client Configuration
Class Diagram
Settings
Note
Javadoc has sadly not recognised the class-level Lombok getter for all fields, but they do exist.
Preferred client kind
There are two options to choose from:
HTTP_CLIENT
:
A resource-efficient client that does not require a browser but instead makes direct HTTP requests. Especially useful for low-power devices like a Raspberry Pi.HEADLESS_BROWSER
:
A browser like Firefox but without a graphical user interface. Very resource-intensive and should only be used if the hardware is capable of running a headless browser. NOT recommended for use on devices like a Raspberry Pi.
Type | String |
Must be one of |
|
JSON key | client-kind |
Default | HTTP_CLIENT |
User agent
By default, Friedolyn tells the university its true identity. If the user would like to be more inconspicuous, they may select a fake user agent. Then, Friedolyn would seem like a regular web browser.
All values other than the pre-defined ones will be used verbatim.
Type | String |
JSON key | user-agent |
Default | Friedolyn.DEFAULT |
Pre-defined values
The pre-defined user-agents consist of a client (i.e. the software making the request) and a platform (i.e. the operating system the client is running on). Here’s an overview of the platforms that each client supports:
Friedolyn
Friedolyn.DEFAULT
(no platform specified)Friedolyn.Linux
Friedolyn.Zorin
Friedolyn.Ubuntu
Friedolyn.Windows
Friedolyn.MacOS
Mozilla Firefox
Mozilla Firefox.Linux
Mozilla Firefox.Ubuntu
Mozilla Firefox.Fedora
Mozilla Firefox.Android
Mozilla Firefox.Windows
Mozilla Firefox.MacOS
Mozilla Firefox.iPhone
Mozilla Firefox.iPad
Gnome Web
Gnome Web.Ubuntu
Apple Safari
Apple Safari.MacOS
Apple Safari.iPhone
Apple Safari.iPad
Google Chrome
Google Chrome.Linux
Google Chrome.Android
Google Chrome.Windows
Google Chrome.MacOS
Google Chrome.iPhone
Google Chrome.iPad
Vivaldi
Vivaldi.Linux
Vivaldi.Windows
Vivaldi.MacOS
Microsoft Edge
Microsoft Edge.Android
Microsoft Edge.Windows
Microsoft Edge.MacOS
Microsoft Edge.iPhone
Microsoft Edge.Xbox
Do not track
The Do Not Track header indicates whether the user would prefer privacy rather than personalised content.
Type | boolean |
JSON key | do-not-track |
Default | false |
Global Privacy Control
The Global Privacy Control header indicates whether the user consents to a website or service selling or sharing their personal information with third parties.
Type | boolean |
JSON key | global-privacy-control |
Default | false |