pub struct Args {
Show 30 fields user_os: Os, user_args: Args, browser_profile_datadir: String, dolphin_components_dir: String, enable_features: List, disable_features: List, enable_logging: Option<String>, logging_verbosity: Option<usize>, disable_backgrounding_occluded_windows: Switch, disable_web_security: Switch, flag_switches_begin: Switch, disable_site_isolation_trials: Switch, flag_switches_end: Switch, down_port: usize, remote_debugging_port: Option<usize>, remote_allow_origins: Option<String>, enable_blink_features: List, disable_field_trial_config: Switch, locale: String, user_agent: Option<String>, headless: Option<String>, enable_unsafe_webgpu: Switch, new_extensions: Switch, off_updater: Switch, blink_settings: Option<String>, disable_webgl: Switch, disable_gpu: Switch, proxy_server: Option<String>, proxy_bypass_list: Option<String>, component_updater: String,
}

Fields§

§user_os: Os

Operation system of user’s device. NOT the operation system that browser will emulate.

Will be used to stringify args according to OS requirements, i.e. path separators (C:\ Program Files on Windows, but / on *nix)

This argument will NOT be serialized and is for internal use only.

§user_args: Args

List of arguments that user passed to the browser.

This argument will be joined at later stages of args serialization.

§browser_profile_datadir: String

Directory of browser profile data.

Most important subdirectory is “Default”, which contains browser’s cookies, cache, local storage, etc.

§dolphin_components_dir: String

Directory of our shared components.

Contains browser’s shared components, such as Widevine CDM libraries. They are pointless to copy into each browser profile, so we’re putting them in one shared directory.

§enable_features: List

List of so-called Chromium features to be enabled.

See https://chromium.googlesource.com/chromium/src/+/HEAD/docs/configuration.md

§disable_features: List

List of so-called Chromium features to be disabled.

§enable_logging: Option<String>

Logging target to be set for browser.

If not set, logging will be disabled.

If set to “stderr”, logging will be enabled and logs will be printed to stderr.

§logging_verbosity: Option<usize>

Logging verbosity to be set for browser. Only works when enable_logging is set to “stderr”. 0 - low amount of debug logs (~5 lines per sec), 1 - fairly high amount of debug logs (~100 per sec), 2 - very high amount of logs. 3 - very very high amount.

§disable_backgrounding_occluded_windows: Switch

Whether to disable backgrounding occluded windows.

If set to On, browser will not be able to run in background.

§disable_web_security: Switch

Whether to disable web security.

If set to On, some security features will be disabled, like CORS.

§flag_switches_begin: Switch

This switch is used to mark the beginning of a series of flag switches.

It is used to mark the beginning of a series of flag switches. ** The switch MUST be set in correct order: flag_switches_begin must be set before flag_switches_end, and there must be ONLY flag switches between them **

See https://chromium.googlesource.com/chromium/src/+/HEAD/docs/configuration.md

§disable_site_isolation_trials: Switch

Whether to disable site isolation trials.

Trials are experiments that are launched by Google to test new features. If set to On, site isolation trial will be disabled. This affects web security.

§flag_switches_end: Switch

This switch is used to mark the end of a series of flag switches.

It is used to mark the end of a series of flag switches. ** The switch MUST be set in correct order: flag_switches_begin must be set before flag_switches_end, and there must be ONLY flag switches between them **

See https://chromium.googlesource.com/chromium/src/+/HEAD/docs/configuration.md

§down_port: usize

Port to be used for our TCP server in browser.

Currently this server is only used for browser shutdown: when someone initiates connection to this server, browser shuts down. In future this server will be used for more things, like window resizing, and this arg will be renamed.

§remote_debugging_port: Option<usize>

Port to be used for remote debugging.

If not set, remote debugging will be disabled. If set to 0, remote debugging will be enabled on any free port.

See https://chromedevtools.github.io/devtools-protocol/

§remote_allow_origins: Option<String>

Origins to be allowed for remote debugging.

If not set, no origins will be allowed for remote debugging. If set to “*”, all origins will be allowed for remote debugging.

§enable_blink_features: List

List of Blink (Chrome’s rendering engine) features to be enabled.

See https://www.chromium.org/blink

§disable_field_trial_config: Switch

Whether to disable field trial config.

Field trials are experiments that are launched by Google to test new features. If set to On, field trials will be disabled.

§locale: String

Locale to be used for browser.

If not set, browser will use system locale. Most likely we want to set it to fingerprint locale.

§user_agent: Option<String>

User agent to be used for browser.

If not set, browser will use default user agent.

§headless: Option<String>

Whether to run browser in headless mode.

Chrome has two headless modes: old and new. We want to use new, because it offers more consistent behaviour across headless and headful mode. To set to new mode, just set this arg to new.

§enable_unsafe_webgpu: Switch

Whether to enable unsafe WebGPU.

WebGPU is a technology that allows to accelerate GPU rendering. We DO NOT KNOW why this flag is used and this is subject to further research.

§new_extensions: Switch

This flags changes browser extension id calculation method. It was used to slowly transfer all browser profiles to new id calculation method.

§off_updater: Switch

Disables WebRTC IP updater.

WebRTC is a technology that allows to establish peer-to-peer connections between browsers. IP updater is a service that updates browser’s IP address in WebRTC spoofing according to user’s current IP.

§blink_settings: Option<String>

Blink settings to be used for browser.

Blink is Chrome’s rendering engine.

§disable_webgl: Switch

Disables WebGL completely.

WebGL is a JavaScript API for rendering interactive 2D and 3D graphics. We want to disable it if WebGL spoof is set to disabled.

§disable_gpu: Switch

Disables GPU acceleration completely.

GPU acceleration is a technology that allows to accelerate GPU rendering. We want to disable it if WebGL is disabled.

§proxy_server: Option<String>

Proxy server to be used for browser.

If not set, browser will use system proxy settings. Proxy here must be passed in base64 encoding, where the username and password are base64-encoded, and sent in “password” field.

§proxy_bypass_list: Option<String>

List of domains to bypass proxy.

Currently we’re using it to bypass anty-api.com domain from proxy. This domain is used by our extension to connect to our server, and some proxies forbid access to our domain.

§component_updater: String

Component updater toggle.

Used for Widevine CDM updater. Must be enabled to enable Widevine.

Implementations§

Auto Trait Implementations§

§

impl Freeze for Args

§

impl RefUnwindSafe for Args

§

impl Send for Args

§

impl Sync for Args

§

impl Unpin for Args

§

impl UnwindSafe for Args

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
§

impl<T> LayoutRaw for T

§

fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>

Returns the layout of the type.
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> Pointee for T

§

type Metadata = ()

The metadata type for pointers and references to this type.
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more