2022-08-08 13:17:25 -04:00
# Class I2PFirefox [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java)
2022-08-22 00:40:38 -04:00
> */
2022-08-08 13:17:25 -04:00
Access: public
2022-08-27 13:27:28 -04:00
Description:
> I2PFirefox.java Copyright C 2022 idk <hankhill19580@gmail.com> This program is free software: you can redistribute it and/or modify it under the terms of the MIT License. See LICENSE.md for details. This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Author: idk
2022-09-04 11:01:25 -04:00
Parent class: I2PCommonBrowser
2022-08-08 13:17:25 -04:00
package: net.i2p.i2pfirefox
## Dependencies
< details >
< summary >
Show dependencies
< / summary >
< ul >
< li > java.io.File< / li >
2022-10-23 01:24:04 -04:00
< li > java.io.FileOutputStream< / li >
2022-10-01 19:23:46 -04:00
< li > java.io.FileWriter< / li >
2022-08-08 13:17:25 -04:00
< li > java.io.IOException< / li >
2022-10-23 01:24:04 -04:00
< li > java.io.OutputStream< / li >
2022-10-01 19:23:46 -04:00
< li > java.io.PrintWriter< / li >
2022-08-08 13:17:25 -04:00
< li > java.util.ArrayList< / li >
2022-10-01 19:23:46 -04:00
< li > java.util.Arrays< / li >
2022-10-23 01:24:04 -04:00
< li > java.util.List< / li >
2022-09-06 23:54:11 -04:00
< li > java.util.concurrent.TimeUnit< / li >
2022-10-23 01:24:04 -04:00
< li > java.util.stream.Collectors< / li >
2022-10-01 19:23:46 -04:00
< li > java.util.stream.Stream< / li >
2022-08-08 13:17:25 -04:00
< / ul >
< / details >
## Member Variables
#### String[] FIREFOX_SEARCH_PATHS [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L)
>
+ Access: private
+ Modifiers: final
2022-08-28 00:25:26 -04:00
#### Process p [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L)
>
+ Access: private
2022-08-30 17:37:02 -04:00
#### boolean usability [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L)
>
+ Access: public
+ Modifiers: static
2022-08-08 13:17:25 -04:00
## Methods
2022-10-23 01:24:04 -04:00
### baseMode [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L35)
2022-08-08 13:17:25 -04:00
+ Description:
+ Access: private
+ Modifiers: static
2022-10-23 01:24:04 -04:00
+ return: String
This method has no parameters.
### storeFirefoxDefaults [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L58)
+ Description:
+ Access: public
+ Modifiers: static
+ return: void
This method has no parameters.
### firefoxPathsUnix [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L87)
+ Description:
+ Access: public
+ Modifiers: static
+ return: String[]
This method has no parameters.
### firefoxBinsUnix [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L96)
+ Description:
+ Access: public
+ Modifiers: static
+ return: String[]
This method has no parameters.
### FIND_FIREFOX_SEARCH_PATHS_UNIX [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L113)
+ Description:
+ Access: private
+ Modifiers: static
+ return: String[]
This method has no parameters.
### firefoxPathsOSX [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L126)
+ Description:
+ Access: public
+ Modifiers: static
2022-08-08 13:17:25 -04:00
+ return: String[]
This method has no parameters.
2022-10-23 01:24:04 -04:00
### FIND_FIREFOX_SEARCH_PATHS_OSX [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L136)
2022-08-08 13:17:25 -04:00
+ Description:
+ Access: private
+ Modifiers: static
+ return: String[]
This method has no parameters.
2022-10-23 01:24:04 -04:00
### firefoxPathsWindows [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L149)
+ Description:
+ Access: public
+ Modifiers: static
+ return: String[]
This method has no parameters.
2022-10-24 00:10:47 -04:00
### firefoxBinsWindows [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L182)
2022-08-08 13:17:25 -04:00
+ Description:
+ Access: private
+ Modifiers: static
+ return: String[]
This method has no parameters.
2022-10-24 00:10:47 -04:00
### FIND_FIREFOX_SEARCH_PATHS_WINDOWS [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L192)
2022-08-08 13:17:25 -04:00
+ Description:
+ Access: private
+ Modifiers: static
+ return: String[]
This method has no parameters.
2022-10-24 00:10:47 -04:00
### FIND_ALL_FIREFOX_SEARCH_PATHS [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L206)
2022-08-08 13:17:25 -04:00
+ Description:
+ Access: private
+ Modifiers: static
+ return: String[]
This method has no parameters.
2022-10-24 00:10:47 -04:00
### FIND_FIREFOX_SEARCH_PATHS [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L226)
2022-08-08 13:17:25 -04:00
+ Description:
+ Access: private
+ Modifiers: static
+ return: String[]
This method has no parameters.
2022-10-24 00:10:47 -04:00
### NEARBY_FIREFOX_SEARCH_PATHS [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L241)
2022-08-08 13:17:25 -04:00
+ Description:
+ Access: private
+ Modifiers: static
+ return: String[]
This method has no parameters.
2022-10-24 00:10:47 -04:00
### FIREFOX_FINDER [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L335)
2022-08-08 13:17:25 -04:00
+ Description:
+ Access: private
+ Modifiers: static
2022-10-23 01:24:04 -04:00
+ return: String[]
2022-08-08 13:17:25 -04:00
This method has no parameters.
2022-10-24 00:10:47 -04:00
### onlyValidFirefoxes [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L356)
2022-08-08 13:17:25 -04:00
2022-08-27 13:27:28 -04:00
+ Description: Check our list of firefox paths for a valid firefox binary. Just an existence check for now but should check versions in the future.
2022-08-08 13:17:25 -04:00
+ Access: public
2022-08-27 13:27:28 -04:00
+ return: a list of usable Firefoxes or an empty list if none are found.
2022-08-08 13:17:25 -04:00
This method has no parameters.
2022-10-24 00:10:47 -04:00
### topFirefox [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L377)
2022-08-08 13:17:25 -04:00
2022-08-27 13:27:28 -04:00
+ Description: Return the best available Firefox from the list of Firefoxes we have.
2022-08-08 13:17:25 -04:00
+ Access: public
2022-08-27 13:27:28 -04:00
+ return: the path to the best available Firefox or null if none are found.
2022-08-08 13:17:25 -04:00
This method has no parameters.
2022-10-24 00:10:47 -04:00
### topFirefox [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L407)
2022-08-08 13:17:25 -04:00
2022-08-27 13:27:28 -04:00
+ Description: Return the best available Firefox from the list of Firefoxes we have. if override is passed it will be validated and if it validates it will be used.
2022-08-08 13:17:25 -04:00
+ Access: public
2022-08-27 13:27:28 -04:00
+ return: the path to the best available Firefox or null if none are found.
2022-08-08 13:17:25 -04:00
| Name | Type | Description |
| ----- | ----- | ----- |
| overrideFirefox | String | |
2022-10-24 00:10:47 -04:00
### defaultProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L425)
2022-08-22 00:40:38 -04:00
2022-08-27 13:27:28 -04:00
+ Description: Build a ProcessBuilder for the top Firefox binary and the default profile.
2022-08-22 00:40:38 -04:00
+ Access: public
2022-08-27 13:27:28 -04:00
+ return: a ProcessBuilder for the top Firefox binary and the default profile.
2022-08-22 00:40:38 -04:00
This method has no parameters.
2022-10-24 00:10:47 -04:00
### defaultProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L437)
2022-08-08 13:17:25 -04:00
2022-08-27 13:27:28 -04:00
+ Description: Build a ProcessBuilder for the top Firefox binary and the default profile.
2022-08-08 13:17:25 -04:00
+ Access: public
+ return: ProcessBuilder
2022-08-27 13:27:28 -04:00
| Name | Type | Description |
| ----- | ----- | ----- |
| args | String[] | the args to pass to the Firefox binary |
2022-10-24 00:10:47 -04:00
### privateProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L451)
2022-08-27 13:27:28 -04:00
+ Description: Build a ProcessBuilder for the top Firefox binary and the default profile. Pass the --private-window flag to open a window.
+ Access: public
+ return: a ProcessBuilder for the top Firefox binary and the default profile.
2022-08-08 13:17:25 -04:00
This method has no parameters.
2022-10-24 00:10:47 -04:00
### privateProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L464)
2022-08-08 13:17:25 -04:00
2022-08-27 13:27:28 -04:00
+ Description: Build a ProcessBuilder for the top Firefox binary and the default profile. Pass the --private-window flag to open a window.
2022-08-08 13:17:25 -04:00
+ Access: public
+ return: ProcessBuilder
| Name | Type | Description |
| ----- | ----- | ----- |
2022-08-27 13:27:28 -04:00
| args | String[] | the arguments to pass to the Firefox binary |
2022-08-08 13:17:25 -04:00
2022-10-24 00:10:47 -04:00
### appProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L487)
2022-09-16 00:00:45 -04:00
+ Description: Build a ProcessBuilder for the top Firefox binary and the default profile. Pass the --private-window flag to open a window.
+ Access: public
+ return: a ProcessBuilder for the top Firefox binary and the default profile.
This method has no parameters.
2022-10-24 00:10:47 -04:00
### appProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L500)
2022-09-16 00:00:45 -04:00
+ Description: Build a ProcessBuilder for the top Firefox binary and the default profile. Pass the --private-window flag to open a window.
+ Access: public
+ return: ProcessBuilder
| Name | Type | Description |
| ----- | ----- | ----- |
| args | String[] | the arguments to pass to the Firefox binary |
2022-10-24 00:10:47 -04:00
### headlessProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L521)
2022-09-06 20:25:12 -04:00
+ Description: Build a ProcessBuilder for the top Firefox binary and the default profile. Pass the --headless flag to open without a window.
+ Access: public
+ return: ProcessBuilder
| Name | Type | Description |
| ----- | ----- | ----- |
| args | String[] | the arguments to pass to the Firefox binary |
2022-10-24 00:10:47 -04:00
### processBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L549)
2022-08-08 13:17:25 -04:00
2022-09-16 00:00:45 -04:00
+ Description:
2022-08-08 13:17:25 -04:00
+ Access: public
2022-09-16 00:00:45 -04:00
+ return: ProcessBuilder
2022-08-27 13:27:28 -04:00
| Name | Type | Description |
| ----- | ----- | ----- |
2022-09-16 00:00:45 -04:00
| args | String[] | |
| app | boolean | |
2022-08-27 13:27:28 -04:00
2022-10-24 00:10:47 -04:00
### usabilityMode [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L606)
2022-08-30 17:37:02 -04:00
+ Description:
+ Access: private
+ return: String
This method has no parameters.
2022-10-24 00:10:47 -04:00
### launchAndDetatch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L612)
2022-08-28 00:25:26 -04:00
+ Description:
+ Access: public
+ return: Process
| Name | Type | Description |
| ----- | ----- | ----- |
| privateWindow | boolean | |
| url | String[] | |
2022-10-24 00:10:47 -04:00
### launchAndDetatch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L618)
2022-09-16 00:00:45 -04:00
+ Description:
+ Access: public
+ return: Process
| Name | Type | Description |
| ----- | ----- | ----- |
| privateWindow | int | |
| url | String[] | |
2022-10-24 00:10:47 -04:00
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L712)
2022-08-22 00:40:38 -04:00
2022-08-27 13:27:28 -04:00
+ Description: Populates a profile directory with a proxy configuration. Waits for an HTTP proxy on the port 4444 to be ready. Launches Firefox with the profile directory.
2022-08-22 00:40:38 -04:00
+ Access: public
+ return: void
| Name | Type | Description |
| ----- | ----- | ----- |
| privateWindow | boolean | |
2022-08-27 13:27:28 -04:00
| url | String[] | |
2022-08-22 00:40:38 -04:00
2022-10-24 00:10:47 -04:00
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L718)
2022-09-16 00:00:45 -04:00
+ Description:
+ Access: public
+ return: void
| Name | Type | Description |
| ----- | ----- | ----- |
| privateWindow | int | |
| url | String[] | |
2022-10-24 00:10:47 -04:00
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L742)
2022-08-08 13:17:25 -04:00
2022-08-27 13:27:28 -04:00
+ Description: Populates a profile directory with a proxy configuration. Waits for an HTTP proxy on the port 4444 to be ready. Launches Firefox with the profile directory.
+ Access: public
+ return: void
| Name | Type | Description |
| ----- | ----- | ----- |
| privateWindow | boolean | |
2022-10-24 00:10:47 -04:00
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L752)
2022-08-27 13:27:28 -04:00
+ Description: Populates a profile directory with a proxy configuration. Waits for an HTTP proxy on the port 4444 to be ready. Launches Firefox with the profile directory. Uses a semi-permanent profile.
2022-08-08 13:17:25 -04:00
+ Access: public
+ return: void
This method has no parameters.
2022-10-24 00:10:47 -04:00
### ValidURL [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L754)
2022-08-27 13:27:28 -04:00
+ Description:
+ Access: private
+ Modifiers: static
+ return: String
| Name | Type | Description |
| ----- | ----- | ----- |
| inUrl | String | |
2022-10-24 00:10:47 -04:00
### main [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L765)
2022-08-08 13:17:25 -04:00
+ Description:
+ Access: public
+ Modifiers: static
+ return: void
| Name | Type | Description |
| ----- | ----- | ----- |
| args | String[] | |