Compare commits
103 Commits
Author | SHA1 | Date | |
---|---|---|---|
44e4b2348d | |||
c581903d0a | |||
853d07b7d5 | |||
29b1576936 | |||
2ea0850f06 | |||
5ad93c97aa | |||
26154f3b7f | |||
64505f6617 | |||
800de73b9d | |||
4d605d40b2 | |||
368d9c3423 | |||
76d05d0d53 | |||
7e6f11f6b3 | |||
b9c0fc5e38 | |||
5d4b1a4681 | |||
b2f604a4a5 | |||
7e3ae6ad04 | |||
2edb2a3408 | |||
6c1f2bc640 | |||
76292fc7c0 | |||
c354c49128 | |||
9d66efe846 | |||
24a08cf7c5 | |||
4e19c36817 | |||
05dfef06e3 | |||
8397d7415b | |||
f9279f494f | |||
e3c2ab91be | |||
a8a54f6b4c | |||
995e9805a2 | |||
f3e7c28503 | |||
6042f30350 | |||
ab226e5a4c | |||
e632a49933 | |||
beef36b36d | |||
2ed27fa307 | |||
1a5ce21912 | |||
7754c0b43d | |||
b4b2a30935 | |||
81f58b9d48 | |||
02ac99531a | |||
2b2aea0748 | |||
09e6864cb9 | |||
f954bf4893 | |||
21f74306c8 | |||
ccde6b65dc | |||
f348347115 | |||
ef19f681d0 | |||
1b60e74f9d | |||
9a052f4f3c | |||
1e94b34efe | |||
01c19d1ffd | |||
de6b872426 | |||
27cb5b8365 | |||
2d508e1417 | |||
d6a62bb6ee | |||
4095e61ad3 | |||
f107bf92b2 | |||
bf2e964e1a | |||
8c4647f8b3 | |||
62bda1aec5 | |||
5c637e900e | |||
41b927809b | |||
f8b70f2a96 | |||
c9e7a4beba | |||
40f50aefb5 | |||
e9dfeb0288 | |||
5d121e8927 | |||
aad78749b4 | |||
bbaddd3927 | |||
f7c58d0125 | |||
0e2dba7bd5 | |||
23f1e3491f | |||
a36a74a44a | |||
63344656c1 | |||
260d42a7b3 | |||
4c3f5523d2 | |||
0038f9c186 | |||
46469a4e94 | |||
8d8006c956 | |||
4d35d18c99 | |||
8a2b3fee85 | |||
268b791ad7 | |||
37c7ad9640 | |||
6928ff423a | |||
a4bde9e63b | |||
e337f90c0b | |||
89b480cd22 | |||
0c4746e8fb | |||
87b0a07878 | |||
f09599a2fa | |||
2d3071dbb2 | |||
c79018a29a | |||
bc342cc463 | |||
54b427e532 | |||
ebc829c5c9 | |||
ce5240d658 | |||
fdd3aac391 | |||
c5281751bb | |||
a3b9f1abce | |||
f208563c35 | |||
a9e1135ef5 | |||
8d3b46b36c |
1
.dockerignore
Normal file
1
.dockerignore
Normal file
@ -0,0 +1 @@
|
||||
.git
|
6
.gitignore
vendored
6
.gitignore
vendored
@ -14,4 +14,8 @@ src/build
|
||||
*.log
|
||||
i2pbrowser/
|
||||
/i2pbrowser*.deb
|
||||
/logs
|
||||
/i2pbrowser*.rpm
|
||||
/logs
|
||||
/*.jar
|
||||
/*.msi
|
||||
/*.exe
|
51
CHANGES.html
51
CHANGES.html
@ -97,6 +97,16 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="RELEASES.html">
|
||||
RELEASES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
@ -118,6 +128,43 @@
|
||||
<a id="returnhome" href="/">
|
||||
/
|
||||
</a>
|
||||
<h2>
|
||||
<a href="#tue-september-6" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
Tue, September 6
|
||||
</h2>
|
||||
<ul>
|
||||
<li>
|
||||
Wait up to 5 seconds for the initializing headless Firefox instance to die on Windows
|
||||
</li>
|
||||
<li>
|
||||
Add option to disable proxy pre-check by setting timeout to zero or less
|
||||
</li>
|
||||
</ul>
|
||||
<h2>
|
||||
<a href="#tue-september-6" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
Tue, September 6
|
||||
</h2>
|
||||
<ul>
|
||||
<li>
|
||||
Run headlessly on first-run on Windows.
|
||||
</li>
|
||||
<li>
|
||||
Add support for building an .exe package.
|
||||
</li>
|
||||
<li>
|
||||
Add support for building an .zip Windows portable package.
|
||||
</li>
|
||||
<li>
|
||||
Add support for building an .rpm package.
|
||||
</li>
|
||||
<li>
|
||||
Destroy headless process if it goes too long.
|
||||
</li>
|
||||
</ul>
|
||||
<h2>
|
||||
<a href="#mon-september-5" rel="nofollow">
|
||||
<span></span>
|
||||
@ -132,10 +179,10 @@
|
||||
Make tunnel nicknames different to avoid double shared tunnels
|
||||
</li>
|
||||
<li>
|
||||
Add support for building a Debian package.
|
||||
Add support for building a .deb package.
|
||||
</li>
|
||||
<li>
|
||||
Add support for building an MSI package.
|
||||
Add support for building an .msi package.
|
||||
</li>
|
||||
</ul>
|
||||
<h2>
|
||||
|
19
CHANGES.md
19
CHANGES.md
@ -1,10 +1,25 @@
|
||||
Tue, September 6
|
||||
----------------
|
||||
|
||||
- Wait up to 5 seconds for the initializing headless Firefox instance to die on Windows
|
||||
- Add option to disable proxy pre-check by setting timeout to zero or less
|
||||
|
||||
Tue, September 6
|
||||
----------------
|
||||
|
||||
- Run headlessly on first-run on Windows.
|
||||
- Add support for building an .exe package.
|
||||
- Add support for building an .zip Windows portable package.
|
||||
- Add support for building an .rpm package.
|
||||
- Destroy headless process if it goes too long.
|
||||
|
||||
Mon, September 5
|
||||
----------------
|
||||
|
||||
- Fix several issues with running on Windows 11
|
||||
- Make tunnel nicknames different to avoid double shared tunnels
|
||||
- Add support for building a Debian package.
|
||||
- Add support for building an MSI package.
|
||||
- Add support for building a .deb package.
|
||||
- Add support for building an .msi package.
|
||||
|
||||
Fri, September 2
|
||||
----------------
|
||||
|
6
Dockerfile
Normal file
6
Dockerfile
Normal file
@ -0,0 +1,6 @@
|
||||
FROM fedora
|
||||
RUN yum -y update
|
||||
RUN yum -y install rpm-build
|
||||
ADD . /src/i2p.plugins.firefox
|
||||
WORKDIR /src/i2p.plugins.firefox
|
||||
CMD ./fedora-docker.sh
|
@ -97,6 +97,16 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="RELEASES.html">
|
||||
RELEASES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
|
@ -97,6 +97,16 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="RELEASES.html">
|
||||
RELEASES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
|
235
I2PChromium.html
235
I2PChromium.html
@ -97,6 +97,16 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="RELEASES.html">
|
||||
RELEASES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
@ -173,12 +183,6 @@
|
||||
<li>
|
||||
java.io.File
|
||||
</li>
|
||||
<li>
|
||||
java.io.IOException
|
||||
</li>
|
||||
<li>
|
||||
java.net.Socket
|
||||
</li>
|
||||
<li>
|
||||
java.util.ArrayList
|
||||
</li>
|
||||
@ -209,25 +213,6 @@
|
||||
Modifiers: final
|
||||
</li>
|
||||
</ul>
|
||||
<h4>
|
||||
<a href="#int-default-timeout-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
int DEFAULT_TIMEOUT
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h4>
|
||||
<blockquote></blockquote>
|
||||
<ul>
|
||||
<li>
|
||||
Access: private
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Modifiers: final
|
||||
</li>
|
||||
</ul>
|
||||
<h4>
|
||||
<a href="#process-p-src" rel="nofollow">
|
||||
<span></span>
|
||||
@ -255,7 +240,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
FIND_CHROMIUM_SEARCH_PATHS_UNIX
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L54" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L51" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -284,7 +269,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
FIND_CHROMIUM_SEARCH_PATHS_OSX
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L70" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L67" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -313,7 +298,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
FIND_CHROMIUM_SEARCH_PATHS_WINDOWS
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L88" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L85" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -342,7 +327,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
FIND_ALL_CHROMIUM_SEARCH_PATHS
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L125" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L122" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -371,7 +356,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
FIND_CHROMIUM_SEARCH_PATHS
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L145" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L142" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -400,7 +385,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
NEARBY_CHROMIUM_SEARCH_PATHS
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L159" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L156" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -429,7 +414,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
CHROMIUM_FINDER
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L213" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L210" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -458,7 +443,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
getOperatingSystem
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L225" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L222" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -487,7 +472,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
onlyValidChromiums
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L247" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L244" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -513,7 +498,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
topChromium
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L267" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L264" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -539,7 +524,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
topChromium
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L296" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L293" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -569,7 +554,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
defaultProcessBuilder
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L314" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L311" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -595,7 +580,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
defaultProcessBuilder
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L327" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L324" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -625,7 +610,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
privateProcessBuilder
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L339" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L336" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -651,7 +636,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
privateProcessBuilder
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L352" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L349" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -681,7 +666,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
processBuilder
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L399" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L396" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -706,166 +691,12 @@
|
||||
<br>
|
||||
| args | String[] | the extended arguments to pass to the Chromium binary. |
|
||||
</p>
|
||||
<h3>
|
||||
<a href="#waitforproxy-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
waitForProxy
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L493" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
<ul>
|
||||
<li>
|
||||
Description: Waits for an HTTP proxy on port 4444 to be ready. Returns false on timeout of 200 seconds.
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Access: public
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
return: true if the proxy is ready false if it is not.
|
||||
<br>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
This method has no parameters.
|
||||
</p>
|
||||
<h3>
|
||||
<a href="#waitforproxy-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
waitForProxy
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L503" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
<ul>
|
||||
<li>
|
||||
Description: Waits for an HTTP proxy on port 4444 to be ready. Returns false on timeout of the specified number of seconds.
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Access: public
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
return: true if the proxy is ready false if it is not.
|
||||
<br>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
| Name | Type | Description |
|
||||
<br>
|
||||
| ----- | ----- | ----- |
|
||||
<br>
|
||||
| timeout | int | the number of seconds to wait for the proxy to be ready. |
|
||||
</p>
|
||||
<h3>
|
||||
<a href="#waitforproxy-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
waitForProxy
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L515" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
<ul>
|
||||
<li>
|
||||
Description: Waits for an HTTP proxy on the specified port to be ready. Returns false on timeout of the specified number of seconds.
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Access: public
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
return: true if the proxy is ready false if it is not.
|
||||
<br>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
| Name | Type | Description |
|
||||
<br>
|
||||
| ----- | ----- | ----- |
|
||||
<br>
|
||||
| timeout | int | the number of seconds to wait for the proxy to be ready. |
|
||||
<br>
|
||||
| port | int | the port to wait for the proxy to be ready on. |
|
||||
</p>
|
||||
<h3>
|
||||
<a href="#waitforproxy-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
waitForProxy
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L528" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
<ul>
|
||||
<li>
|
||||
Description: Waits for an HTTP proxy on the specified port to be ready. Returns false on timeout of the specified number of seconds.
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Access: public
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
return: true if the proxy is ready false if it is not.
|
||||
<br>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
| Name | Type | Description |
|
||||
<br>
|
||||
| ----- | ----- | ----- |
|
||||
<br>
|
||||
| timeout | int | the number of seconds to wait for the proxy to be ready. |
|
||||
<br>
|
||||
| port | int | the port to wait for the proxy to be ready on. |
|
||||
<br>
|
||||
| host | String | the host to wait for the proxy to be ready on. |
|
||||
</p>
|
||||
<h3>
|
||||
<a href="#checkifportisoccupied-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
checkifPortIsOccupied
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L541" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
<ul>
|
||||
<li>
|
||||
Description:
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Access: private
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
return: boolean
|
||||
<br>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
| Name | Type | Description |
|
||||
<br>
|
||||
| ----- | ----- | ----- |
|
||||
<br>
|
||||
| port | int | |
|
||||
<br>
|
||||
| host | String | |
|
||||
</p>
|
||||
<h3>
|
||||
<a href="#launchanddetatch-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
launchAndDetatch
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L551" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L483" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -897,7 +728,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
launch
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L598" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L530" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -929,7 +760,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
launch
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L623" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L555" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -959,7 +790,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
launch
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L632" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L564" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -985,7 +816,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
ValidURL
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L634" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L566" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -1018,7 +849,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
main
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L644" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L576" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -1051,7 +882,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
sleep
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L672" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L608" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
|
112
I2PChromium.md
112
I2PChromium.md
@ -18,8 +18,6 @@ package: net.i2p.i2pfirefox
|
||||
</summary>
|
||||
<ul>
|
||||
<li>java.io.File</li>
|
||||
<li>java.io.IOException</li>
|
||||
<li>java.net.Socket</li>
|
||||
<li>java.util.ArrayList</li>
|
||||
</ul>
|
||||
</details>
|
||||
@ -33,13 +31,6 @@ package: net.i2p.i2pfirefox
|
||||
+ Access: private
|
||||
+ Modifiers: final
|
||||
|
||||
#### int DEFAULT_TIMEOUT [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L)
|
||||
|
||||
>
|
||||
|
||||
+ Access: private
|
||||
+ Modifiers: final
|
||||
|
||||
#### Process p [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L)
|
||||
|
||||
>
|
||||
@ -48,7 +39,7 @@ package: net.i2p.i2pfirefox
|
||||
|
||||
## Methods
|
||||
|
||||
### FIND_CHROMIUM_SEARCH_PATHS_UNIX [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L54)
|
||||
### FIND_CHROMIUM_SEARCH_PATHS_UNIX [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L51)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -58,7 +49,7 @@ package: net.i2p.i2pfirefox
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### FIND_CHROMIUM_SEARCH_PATHS_OSX [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L70)
|
||||
### FIND_CHROMIUM_SEARCH_PATHS_OSX [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L67)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -68,7 +59,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### FIND_CHROMIUM_SEARCH_PATHS_WINDOWS [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L88)
|
||||
### FIND_CHROMIUM_SEARCH_PATHS_WINDOWS [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L85)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -78,7 +69,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### FIND_ALL_CHROMIUM_SEARCH_PATHS [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L125)
|
||||
### FIND_ALL_CHROMIUM_SEARCH_PATHS [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L122)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -88,7 +79,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### FIND_CHROMIUM_SEARCH_PATHS [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L145)
|
||||
### FIND_CHROMIUM_SEARCH_PATHS [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L142)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -98,7 +89,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### NEARBY_CHROMIUM_SEARCH_PATHS [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L159)
|
||||
### NEARBY_CHROMIUM_SEARCH_PATHS [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L156)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -108,7 +99,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### CHROMIUM_FINDER [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L213)
|
||||
### CHROMIUM_FINDER [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L210)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -118,7 +109,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### getOperatingSystem [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L225)
|
||||
### getOperatingSystem [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L222)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -128,7 +119,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### onlyValidChromiums [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L247)
|
||||
### onlyValidChromiums [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L244)
|
||||
|
||||
+ Description: Check our list of chrome paths for a valid chrome binary. Just an existence check for now but should check versions in the future.
|
||||
+ Access: public
|
||||
@ -137,7 +128,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### topChromium [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L267)
|
||||
### topChromium [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L264)
|
||||
|
||||
+ Description: Return the best available Chromium from the list of Chromiums we have.
|
||||
+ Access: public
|
||||
@ -146,7 +137,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### topChromium [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L296)
|
||||
### topChromium [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L293)
|
||||
|
||||
+ Description: Return the best available Chromium from the list of Chromiums we have. if override is passed it will be validated and if it validates it will be used.
|
||||
+ Access: public
|
||||
@ -157,7 +148,7 @@ This method has no parameters.
|
||||
| overrideChromium | String | |
|
||||
|
||||
|
||||
### defaultProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L314)
|
||||
### defaultProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L311)
|
||||
|
||||
+ Description: Build a ProcessBuilder for the top Chromium binary and the default profile.
|
||||
+ Access: public
|
||||
@ -166,7 +157,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### defaultProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L327)
|
||||
### defaultProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L324)
|
||||
|
||||
+ Description: Build a ProcessBuilder for the top Chromium binary and the default profile. @args the arguments to pass to the Chromium binary
|
||||
+ Access: public
|
||||
@ -177,7 +168,7 @@ This method has no parameters.
|
||||
| args | String[] | |
|
||||
|
||||
|
||||
### privateProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L339)
|
||||
### privateProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L336)
|
||||
|
||||
+ Description: Build a ProcessBuilder for the top Chromium binary and the default profile.
|
||||
+ Access: public
|
||||
@ -186,7 +177,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### privateProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L352)
|
||||
### privateProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L349)
|
||||
|
||||
+ Description: Build a ProcessBuilder for the top Chromium binary and the default profile.
|
||||
+ Access: public
|
||||
@ -197,7 +188,7 @@ This method has no parameters.
|
||||
| args | String[] | the arguments to pass to the Chromium binary. |
|
||||
|
||||
|
||||
### processBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L399)
|
||||
### processBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L396)
|
||||
|
||||
+ Description: Build a ProcessBuilder for the top Chromium binary and the default profile with a specific set of extended arguments.
|
||||
+ Access: public
|
||||
@ -208,64 +199,7 @@ This method has no parameters.
|
||||
| args | String[] | the extended arguments to pass to the Chromium binary. |
|
||||
|
||||
|
||||
### waitForProxy [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L493)
|
||||
|
||||
+ Description: Waits for an HTTP proxy on port 4444 to be ready. Returns false on timeout of 200 seconds.
|
||||
+ Access: public
|
||||
+ return: true if the proxy is ready false if it is not.
|
||||
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### waitForProxy [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L503)
|
||||
|
||||
+ Description: Waits for an HTTP proxy on port 4444 to be ready. Returns false on timeout of the specified number of seconds.
|
||||
+ Access: public
|
||||
+ return: true if the proxy is ready false if it is not.
|
||||
|
||||
| Name | Type | Description |
|
||||
| ----- | ----- | ----- |
|
||||
| timeout | int | the number of seconds to wait for the proxy to be ready. |
|
||||
|
||||
|
||||
### waitForProxy [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L515)
|
||||
|
||||
+ Description: Waits for an HTTP proxy on the specified port to be ready. Returns false on timeout of the specified number of seconds.
|
||||
+ Access: public
|
||||
+ return: true if the proxy is ready false if it is not.
|
||||
|
||||
| Name | Type | Description |
|
||||
| ----- | ----- | ----- |
|
||||
| timeout | int | the number of seconds to wait for the proxy to be ready. |
|
||||
| port | int | the port to wait for the proxy to be ready on. |
|
||||
|
||||
|
||||
### waitForProxy [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L528)
|
||||
|
||||
+ Description: Waits for an HTTP proxy on the specified port to be ready. Returns false on timeout of the specified number of seconds.
|
||||
+ Access: public
|
||||
+ return: true if the proxy is ready false if it is not.
|
||||
|
||||
| Name | Type | Description |
|
||||
| ----- | ----- | ----- |
|
||||
| timeout | int | the number of seconds to wait for the proxy to be ready. |
|
||||
| port | int | the port to wait for the proxy to be ready on. |
|
||||
| host | String | the host to wait for the proxy to be ready on. |
|
||||
|
||||
|
||||
### checkifPortIsOccupied [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L541)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
+ return: boolean
|
||||
|
||||
| Name | Type | Description |
|
||||
| ----- | ----- | ----- |
|
||||
| port | int | |
|
||||
| host | String | |
|
||||
|
||||
|
||||
### launchAndDetatch [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L551)
|
||||
### launchAndDetatch [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L483)
|
||||
|
||||
+ Description:
|
||||
+ Access: public
|
||||
@ -277,7 +211,7 @@ This method has no parameters.
|
||||
| url | String[] | |
|
||||
|
||||
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L598)
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L530)
|
||||
|
||||
+ Description: Populates a profile directory with a proxy configuration. Waits for an HTTP proxy on the port 4444 to be ready. Launches Chromium with the profile directory.
|
||||
+ Access: public
|
||||
@ -289,7 +223,7 @@ This method has no parameters.
|
||||
| url | String[] | |
|
||||
|
||||
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L623)
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L555)
|
||||
|
||||
+ Description: Populates a profile directory with a proxy configuration. Waits for an HTTP proxy on the port 4444 to be ready. Launches Chromium with the profile directory.
|
||||
+ Access: public
|
||||
@ -300,7 +234,7 @@ This method has no parameters.
|
||||
| privateWindow | boolean | |
|
||||
|
||||
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L632)
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L564)
|
||||
|
||||
+ Description: Populates a profile directory with a proxy configuration. Waits for an HTTP proxy on the port 4444 to be ready. Launches Chromium with the profile directory.
|
||||
+ Access: public
|
||||
@ -309,7 +243,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### ValidURL [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L634)
|
||||
### ValidURL [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L566)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -321,7 +255,7 @@ This method has no parameters.
|
||||
| inUrl | String | |
|
||||
|
||||
|
||||
### main [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L644)
|
||||
### main [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L576)
|
||||
|
||||
+ Description:
|
||||
+ Access: public
|
||||
@ -333,7 +267,7 @@ This method has no parameters.
|
||||
| args | String[] | |
|
||||
|
||||
|
||||
### sleep [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L672)
|
||||
### sleep [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L608)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
|
@ -97,6 +97,16 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="RELEASES.html">
|
||||
RELEASES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
|
@ -97,6 +97,16 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="RELEASES.html">
|
||||
RELEASES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
|
@ -97,6 +97,16 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="RELEASES.html">
|
||||
RELEASES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
|
@ -97,6 +97,16 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="RELEASES.html">
|
||||
RELEASES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
@ -182,6 +192,9 @@
|
||||
<li>
|
||||
java.io.OutputStream
|
||||
</li>
|
||||
<li>
|
||||
java.net.Socket
|
||||
</li>
|
||||
<li>
|
||||
java.nio.file.Files
|
||||
</li>
|
||||
@ -211,138 +224,62 @@
|
||||
</a>
|
||||
Member Variables
|
||||
</h2>
|
||||
<h4>
|
||||
<a href="#src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L36" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h4>
|
||||
<blockquote>
|
||||
<p>
|
||||
static FileHandler fh;
|
||||
</p>
|
||||
</blockquote>
|
||||
<ul>
|
||||
<li>
|
||||
Access: private
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Modifiers: final
|
||||
</li>
|
||||
</ul>
|
||||
<h4>
|
||||
<a href="#src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L37" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h4>
|
||||
<blockquote>
|
||||
<p>
|
||||
// private final int DEFAULT_TIMEOUT = 200;
|
||||
</p>
|
||||
</blockquote>
|
||||
<ul>
|
||||
<li>
|
||||
Access: private
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Modifiers: static
|
||||
</li>
|
||||
</ul>
|
||||
<h2>
|
||||
<a href="#methods" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
Methods
|
||||
</h2>
|
||||
<h3>
|
||||
<a href="#validateuserdir-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
validateUserDir
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L52" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
<ul>
|
||||
<li>
|
||||
Description:
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Access: public
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Modifiers: static
|
||||
</li>
|
||||
<li>
|
||||
return: void
|
||||
<br>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
This method has no parameters.
|
||||
</p>
|
||||
<h3>
|
||||
<a href="#iswindows-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
isWindows
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L98" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
<ul>
|
||||
<li>
|
||||
Description:
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Access: private
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Modifiers: static
|
||||
</li>
|
||||
<li>
|
||||
return: boolean
|
||||
<br>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
This method has no parameters.
|
||||
</p>
|
||||
<h3>
|
||||
<a href="#println-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
println
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L110" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
<ul>
|
||||
<li>
|
||||
Description:
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Access: public
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Modifiers: static
|
||||
</li>
|
||||
<li>
|
||||
return: void
|
||||
<br>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
| Name | Type | Description |
|
||||
<br>
|
||||
| ----- | ----- | ----- |
|
||||
<br>
|
||||
| line | String | |
|
||||
</p>
|
||||
<h3>
|
||||
<a href="#logfile-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
logFile
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L112" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
<ul>
|
||||
<li>
|
||||
Description:
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Access: private
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Modifiers: static
|
||||
</li>
|
||||
<li>
|
||||
return: File
|
||||
<br>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
This method has no parameters.
|
||||
</p>
|
||||
<h3>
|
||||
<a href="#runtimedirectory-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
runtimeDirectory
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L128" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L131" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -377,7 +314,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
runtimeDirectory
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L145" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L148" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -410,7 +347,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
profileDirectory
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L192" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L195" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -445,7 +382,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
profileDir
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L204" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L207" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -480,7 +417,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
unpackProfile
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L210" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L213" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -514,7 +451,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
copyDirectory
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L256" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L259" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -553,7 +490,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
copyDirectoryCompatibityMode
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L272" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L275" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -592,7 +529,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
copyFile
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L281" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L284" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -627,7 +564,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
validateProfileFirstRun
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L292" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L295" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -655,6 +592,190 @@
|
||||
<br>
|
||||
| profileDirectory | String | |
|
||||
</p>
|
||||
<h3>
|
||||
<a href="#waitforproxy-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
waitForProxy
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L321" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
<ul>
|
||||
<li>
|
||||
Description: Waits for an HTTP proxy on port 4444 to be ready. Returns false on timeout of 200 seconds.
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Access: public
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
return: true if the proxy is ready false if it is not.
|
||||
<br>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
This method has no parameters.
|
||||
</p>
|
||||
<h3>
|
||||
<a href="#waitforproxy-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
waitForProxy
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L331" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
<ul>
|
||||
<li>
|
||||
Description: Waits for an HTTP proxy on port 4444 to be ready. Returns false on timeout of the specified number of seconds.
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Access: public
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
return: true if the proxy is ready false if it is not.
|
||||
<br>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
| Name | Type | Description |
|
||||
<br>
|
||||
| ----- | ----- | ----- |
|
||||
<br>
|
||||
| timeout | int | the number of seconds to wait for the proxy to be ready. |
|
||||
</p>
|
||||
<h3>
|
||||
<a href="#waitforproxy-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
waitForProxy
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L343" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
<ul>
|
||||
<li>
|
||||
Description: Waits for an HTTP proxy on the specified port to be ready. Returns false on timeout of the specified number of seconds.
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Access: public
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
return: true if the proxy is ready false if it is not.
|
||||
<br>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
| Name | Type | Description |
|
||||
<br>
|
||||
| ----- | ----- | ----- |
|
||||
<br>
|
||||
| timeout | int | the number of seconds to wait for the proxy to be ready. |
|
||||
<br>
|
||||
| port | int | the port to wait for the proxy to be ready on. |
|
||||
</p>
|
||||
<h3>
|
||||
<a href="#waitforproxy-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
waitForProxy
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L358" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
<ul>
|
||||
<li>
|
||||
Description: Waits for an HTTP proxy on the specified port to be ready. Returns false on timeout of the specified number of seconds. If the timeout is zero or less the check is disabled and always returns true.
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Access: public
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
return: true if the proxy is ready false if it is not.
|
||||
<br>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
| Name | Type | Description |
|
||||
<br>
|
||||
| ----- | ----- | ----- |
|
||||
<br>
|
||||
| timeout | int | the number of seconds to wait for the proxy to be ready. |
|
||||
<br>
|
||||
| port | int | the port to wait for the proxy to be ready on. |
|
||||
<br>
|
||||
| host | String | the host to wait for the proxy to be ready on. |
|
||||
</p>
|
||||
<h3>
|
||||
<a href="#checkifportisoccupied-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
checkifPortIsOccupied
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L376" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
<ul>
|
||||
<li>
|
||||
Description:
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Access: private
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
return: boolean
|
||||
<br>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
| Name | Type | Description |
|
||||
<br>
|
||||
| ----- | ----- | ----- |
|
||||
<br>
|
||||
| port | int | |
|
||||
<br>
|
||||
| host | String | |
|
||||
</p>
|
||||
<h3>
|
||||
<a href="#setproxytimeouttime-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
setProxyTimeoutTime
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L391" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
<ul>
|
||||
<li>
|
||||
Description: Alters the proxy timeout to customized value time in seconds. May be zero.
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Access: public
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
return: void
|
||||
<br>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
| Name | Type | Description |
|
||||
<br>
|
||||
| ----- | ----- | ----- |
|
||||
<br>
|
||||
| time | int | |
|
||||
</p>
|
||||
<div id="sourcecode">
|
||||
<span id="sourcehead">
|
||||
<strong>
|
||||
|
@ -22,6 +22,7 @@ package: net.i2p.i2pfirefox
|
||||
<li>java.io.IOException</li>
|
||||
<li>java.io.InputStream</li>
|
||||
<li>java.io.OutputStream</li>
|
||||
<li>java.net.Socket</li>
|
||||
<li>java.nio.file.Files</li>
|
||||
<li>java.nio.file.StandardCopyOption</li>
|
||||
<li>java.util.logging.FileHandler</li>
|
||||
@ -34,51 +35,23 @@ package: net.i2p.i2pfirefox
|
||||
|
||||
## Member Variables
|
||||
|
||||
#### [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L36)
|
||||
|
||||
> static FileHandler fh;
|
||||
|
||||
+ Access: private
|
||||
+ Modifiers: final
|
||||
|
||||
#### [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L37)
|
||||
|
||||
> // private final int DEFAULT_TIMEOUT = 200;
|
||||
|
||||
+ Access: private
|
||||
+ Modifiers: static
|
||||
|
||||
## Methods
|
||||
|
||||
### validateUserDir [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L52)
|
||||
|
||||
+ Description:
|
||||
+ Access: public
|
||||
+ Modifiers: static
|
||||
+ return: void
|
||||
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### isWindows [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L98)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
+ Modifiers: static
|
||||
+ return: boolean
|
||||
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### println [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L110)
|
||||
|
||||
+ Description:
|
||||
+ Access: public
|
||||
+ Modifiers: static
|
||||
+ return: void
|
||||
|
||||
| Name | Type | Description |
|
||||
| ----- | ----- | ----- |
|
||||
| line | String | |
|
||||
|
||||
|
||||
### logFile [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L112)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
+ Modifiers: static
|
||||
+ return: File
|
||||
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### runtimeDirectory [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L128)
|
||||
### runtimeDirectory [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L131)
|
||||
|
||||
+ Description: get the runtime directory creating it if create=true
|
||||
+ Access: protected
|
||||
@ -91,7 +64,7 @@ This method has no parameters.
|
||||
| override | String | |
|
||||
|
||||
|
||||
### runtimeDirectory [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L145)
|
||||
### runtimeDirectory [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L148)
|
||||
|
||||
+ Description: get the correct runtime directory
|
||||
+ Access: protected
|
||||
@ -103,7 +76,7 @@ This method has no parameters.
|
||||
| override | String | |
|
||||
|
||||
|
||||
### profileDirectory [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L192)
|
||||
### profileDirectory [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L195)
|
||||
|
||||
+ Description: get the profile directory creating it if necessary
|
||||
+ Access: protected
|
||||
@ -116,7 +89,7 @@ This method has no parameters.
|
||||
| browser | String | |
|
||||
|
||||
|
||||
### profileDir [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L204)
|
||||
### profileDir [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L207)
|
||||
|
||||
+ Description:
|
||||
+ Access: protected
|
||||
@ -129,7 +102,7 @@ This method has no parameters.
|
||||
| browser | String | |
|
||||
|
||||
|
||||
### unpackProfile [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L210)
|
||||
### unpackProfile [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L213)
|
||||
|
||||
+ Description:
|
||||
+ Access: protected
|
||||
@ -142,7 +115,7 @@ This method has no parameters.
|
||||
| base | String | |
|
||||
|
||||
|
||||
### copyDirectory [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L256)
|
||||
### copyDirectory [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L259)
|
||||
|
||||
+ Description:
|
||||
+ Access: protected
|
||||
@ -157,7 +130,7 @@ This method has no parameters.
|
||||
| base | String | |
|
||||
|
||||
|
||||
### copyDirectoryCompatibityMode [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L272)
|
||||
### copyDirectoryCompatibityMode [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L275)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -172,7 +145,7 @@ This method has no parameters.
|
||||
| base | String | |
|
||||
|
||||
|
||||
### copyFile [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L281)
|
||||
### copyFile [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L284)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -185,7 +158,7 @@ This method has no parameters.
|
||||
| destinationFile | File | |
|
||||
|
||||
|
||||
### validateProfileFirstRun [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L292)
|
||||
### validateProfileFirstRun [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L295)
|
||||
|
||||
+ Description:
|
||||
+ Access: public
|
||||
@ -197,3 +170,71 @@ This method has no parameters.
|
||||
| profileDirectory | String | |
|
||||
|
||||
|
||||
### waitForProxy [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L321)
|
||||
|
||||
+ Description: Waits for an HTTP proxy on port 4444 to be ready. Returns false on timeout of 200 seconds.
|
||||
+ Access: public
|
||||
+ return: true if the proxy is ready false if it is not.
|
||||
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### waitForProxy [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L331)
|
||||
|
||||
+ Description: Waits for an HTTP proxy on port 4444 to be ready. Returns false on timeout of the specified number of seconds.
|
||||
+ Access: public
|
||||
+ return: true if the proxy is ready false if it is not.
|
||||
|
||||
| Name | Type | Description |
|
||||
| ----- | ----- | ----- |
|
||||
| timeout | int | the number of seconds to wait for the proxy to be ready. |
|
||||
|
||||
|
||||
### waitForProxy [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L343)
|
||||
|
||||
+ Description: Waits for an HTTP proxy on the specified port to be ready. Returns false on timeout of the specified number of seconds.
|
||||
+ Access: public
|
||||
+ return: true if the proxy is ready false if it is not.
|
||||
|
||||
| Name | Type | Description |
|
||||
| ----- | ----- | ----- |
|
||||
| timeout | int | the number of seconds to wait for the proxy to be ready. |
|
||||
| port | int | the port to wait for the proxy to be ready on. |
|
||||
|
||||
|
||||
### waitForProxy [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L358)
|
||||
|
||||
+ Description: Waits for an HTTP proxy on the specified port to be ready. Returns false on timeout of the specified number of seconds. If the timeout is zero or less the check is disabled and always returns true.
|
||||
+ Access: public
|
||||
+ return: true if the proxy is ready false if it is not.
|
||||
|
||||
| Name | Type | Description |
|
||||
| ----- | ----- | ----- |
|
||||
| timeout | int | the number of seconds to wait for the proxy to be ready. |
|
||||
| port | int | the port to wait for the proxy to be ready on. |
|
||||
| host | String | the host to wait for the proxy to be ready on. |
|
||||
|
||||
|
||||
### checkifPortIsOccupied [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L376)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
+ return: boolean
|
||||
|
||||
| Name | Type | Description |
|
||||
| ----- | ----- | ----- |
|
||||
| port | int | |
|
||||
| host | String | |
|
||||
|
||||
|
||||
### setProxyTimeoutTime [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L391)
|
||||
|
||||
+ Description: Alters the proxy timeout to customized value time in seconds. May be zero.
|
||||
+ Access: public
|
||||
+ return: void
|
||||
|
||||
| Name | Type | Description |
|
||||
| ----- | ----- | ----- |
|
||||
| time | int | |
|
||||
|
||||
|
||||
|
265
I2PFirefox.html
265
I2PFirefox.html
@ -97,6 +97,16 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="RELEASES.html">
|
||||
RELEASES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
@ -177,10 +187,10 @@
|
||||
java.io.IOException
|
||||
</li>
|
||||
<li>
|
||||
java.net.Socket
|
||||
java.util.ArrayList
|
||||
</li>
|
||||
<li>
|
||||
java.util.ArrayList
|
||||
java.util.concurrent.TimeUnit
|
||||
</li>
|
||||
</ul>
|
||||
<br>
|
||||
@ -209,25 +219,6 @@
|
||||
Modifiers: final
|
||||
</li>
|
||||
</ul>
|
||||
<h4>
|
||||
<a href="#int-default-timeout-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
int DEFAULT_TIMEOUT
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h4>
|
||||
<blockquote></blockquote>
|
||||
<ul>
|
||||
<li>
|
||||
Access: private
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Modifiers: final
|
||||
</li>
|
||||
</ul>
|
||||
<h4>
|
||||
<a href="#process-p-src" rel="nofollow">
|
||||
<span></span>
|
||||
@ -274,7 +265,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
FIND_FIREFOX_SEARCH_PATHS_UNIX
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L45" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L44" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -303,7 +294,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
FIND_FIREFOX_SEARCH_PATHS_OSX
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L60" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L59" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -332,7 +323,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
FIND_FIREFOX_SEARCH_PATHS_WINDOWS
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L77" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L76" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -361,7 +352,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
FIND_ALL_FIREFOX_SEARCH_PATHS
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L113" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L112" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -390,7 +381,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
FIND_FIREFOX_SEARCH_PATHS
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L133" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L132" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -419,7 +410,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
NEARBY_FIREFOX_SEARCH_PATHS
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L147" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L146" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -448,7 +439,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
FIREFOX_FINDER
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L203" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L202" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -477,7 +468,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
getOperatingSystem
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L215" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L214" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -506,7 +497,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
onlyValidFirefoxes
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L237" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L236" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -532,7 +523,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
topFirefox
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L257" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L256" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -558,7 +549,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
topFirefox
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L286" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L285" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -588,7 +579,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
defaultProcessBuilder
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L304" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L303" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -614,7 +605,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
defaultProcessBuilder
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L316" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L315" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -644,7 +635,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
privateProcessBuilder
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L330" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L329" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -670,7 +661,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
privateProcessBuilder
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L343" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L342" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -695,12 +686,42 @@
|
||||
<br>
|
||||
| args | String[] | the arguments to pass to the Firefox binary |
|
||||
</p>
|
||||
<h3>
|
||||
<a href="#headlessprocessbuilder-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
headlessProcessBuilder
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L364" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
<ul>
|
||||
<li>
|
||||
Description: Build a ProcessBuilder for the top Firefox binary and the default profile. Pass the --headless flag to open without a window.
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Access: public
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
return: ProcessBuilder
|
||||
<br>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
| Name | Type | Description |
|
||||
<br>
|
||||
| ----- | ----- | ----- |
|
||||
<br>
|
||||
| args | String[] | the arguments to pass to the Firefox binary |
|
||||
</p>
|
||||
<h3>
|
||||
<a href="#processbuilder-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
processBuilder
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L366" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L387" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -725,166 +746,12 @@
|
||||
<br>
|
||||
| args | String[] | the extended arguments to pass to the Firefox binary. |
|
||||
</p>
|
||||
<h3>
|
||||
<a href="#waitforproxy-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
waitForProxy
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L400" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
<ul>
|
||||
<li>
|
||||
Description: Waits for an HTTP proxy on port 4444 to be ready. Returns false on timeout of 200 seconds.
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Access: public
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
return: true if the proxy is ready false if it is not.
|
||||
<br>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
This method has no parameters.
|
||||
</p>
|
||||
<h3>
|
||||
<a href="#waitforproxy-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
waitForProxy
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L410" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
<ul>
|
||||
<li>
|
||||
Description: Waits for an HTTP proxy on port 4444 to be ready. Returns false on timeout of the specified number of seconds.
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Access: public
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
return: true if the proxy is ready false if it is not.
|
||||
<br>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
| Name | Type | Description |
|
||||
<br>
|
||||
| ----- | ----- | ----- |
|
||||
<br>
|
||||
| timeout | int | the number of seconds to wait for the proxy to be ready. |
|
||||
</p>
|
||||
<h3>
|
||||
<a href="#waitforproxy-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
waitForProxy
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L422" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
<ul>
|
||||
<li>
|
||||
Description: Waits for an HTTP proxy on the specified port to be ready. Returns false on timeout of the specified number of seconds.
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Access: public
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
return: true if the proxy is ready false if it is not.
|
||||
<br>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
| Name | Type | Description |
|
||||
<br>
|
||||
| ----- | ----- | ----- |
|
||||
<br>
|
||||
| timeout | int | the number of seconds to wait for the proxy to be ready. |
|
||||
<br>
|
||||
| port | int | the port to wait for the proxy to be ready on. |
|
||||
</p>
|
||||
<h3>
|
||||
<a href="#waitforproxy-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
waitForProxy
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L435" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
<ul>
|
||||
<li>
|
||||
Description: Waits for an HTTP proxy on the specified port to be ready. Returns false on timeout of the specified number of seconds.
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Access: public
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
return: true if the proxy is ready false if it is not.
|
||||
<br>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
| Name | Type | Description |
|
||||
<br>
|
||||
| ----- | ----- | ----- |
|
||||
<br>
|
||||
| timeout | int | the number of seconds to wait for the proxy to be ready. |
|
||||
<br>
|
||||
| port | int | the port to wait for the proxy to be ready on. |
|
||||
<br>
|
||||
| host | String | the host to wait for the proxy to be ready on. |
|
||||
</p>
|
||||
<h3>
|
||||
<a href="#checkifportisoccupied-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
checkifPortIsOccupied
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L449" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
<ul>
|
||||
<li>
|
||||
Description:
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Access: private
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
return: boolean
|
||||
<br>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
| Name | Type | Description |
|
||||
<br>
|
||||
| ----- | ----- | ----- |
|
||||
<br>
|
||||
| port | int | |
|
||||
<br>
|
||||
| host | String | |
|
||||
</p>
|
||||
<h3>
|
||||
<a href="#usabilitymode-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
usabilityMode
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L459" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L413" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -910,7 +777,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
launchAndDetatch
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L466" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L420" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -942,7 +809,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
launch
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L514" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L493" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -974,7 +841,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
launch
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L538" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L517" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -1004,7 +871,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
launch
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L548" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L527" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -1030,7 +897,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
ValidURL
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L550" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L529" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -1063,7 +930,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
main
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L561" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L540" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -1096,7 +963,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
sleep
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L590" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L573" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
|
125
I2PFirefox.md
125
I2PFirefox.md
@ -19,8 +19,8 @@ package: net.i2p.i2pfirefox
|
||||
<ul>
|
||||
<li>java.io.File</li>
|
||||
<li>java.io.IOException</li>
|
||||
<li>java.net.Socket</li>
|
||||
<li>java.util.ArrayList</li>
|
||||
<li>java.util.concurrent.TimeUnit</li>
|
||||
</ul>
|
||||
</details>
|
||||
|
||||
@ -33,13 +33,6 @@ package: net.i2p.i2pfirefox
|
||||
+ Access: private
|
||||
+ Modifiers: final
|
||||
|
||||
#### int DEFAULT_TIMEOUT [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L)
|
||||
|
||||
>
|
||||
|
||||
+ Access: private
|
||||
+ Modifiers: final
|
||||
|
||||
#### Process p [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L)
|
||||
|
||||
>
|
||||
@ -55,7 +48,7 @@ package: net.i2p.i2pfirefox
|
||||
|
||||
## Methods
|
||||
|
||||
### FIND_FIREFOX_SEARCH_PATHS_UNIX [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L45)
|
||||
### FIND_FIREFOX_SEARCH_PATHS_UNIX [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L44)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -65,7 +58,7 @@ package: net.i2p.i2pfirefox
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### FIND_FIREFOX_SEARCH_PATHS_OSX [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L60)
|
||||
### FIND_FIREFOX_SEARCH_PATHS_OSX [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L59)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -75,7 +68,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### FIND_FIREFOX_SEARCH_PATHS_WINDOWS [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L77)
|
||||
### FIND_FIREFOX_SEARCH_PATHS_WINDOWS [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L76)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -85,7 +78,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### FIND_ALL_FIREFOX_SEARCH_PATHS [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L113)
|
||||
### FIND_ALL_FIREFOX_SEARCH_PATHS [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L112)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -95,7 +88,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### FIND_FIREFOX_SEARCH_PATHS [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L133)
|
||||
### FIND_FIREFOX_SEARCH_PATHS [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L132)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -105,7 +98,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### NEARBY_FIREFOX_SEARCH_PATHS [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L147)
|
||||
### NEARBY_FIREFOX_SEARCH_PATHS [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L146)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -115,7 +108,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### FIREFOX_FINDER [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L203)
|
||||
### FIREFOX_FINDER [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L202)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -125,7 +118,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### getOperatingSystem [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L215)
|
||||
### getOperatingSystem [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L214)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -135,7 +128,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### onlyValidFirefoxes [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L237)
|
||||
### onlyValidFirefoxes [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L236)
|
||||
|
||||
+ 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.
|
||||
+ Access: public
|
||||
@ -144,7 +137,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### topFirefox [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L257)
|
||||
### topFirefox [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L256)
|
||||
|
||||
+ Description: Return the best available Firefox from the list of Firefoxes we have.
|
||||
+ Access: public
|
||||
@ -153,7 +146,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### topFirefox [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L286)
|
||||
### topFirefox [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L285)
|
||||
|
||||
+ 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.
|
||||
+ Access: public
|
||||
@ -164,7 +157,7 @@ This method has no parameters.
|
||||
| overrideFirefox | String | |
|
||||
|
||||
|
||||
### defaultProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L304)
|
||||
### defaultProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L303)
|
||||
|
||||
+ Description: Build a ProcessBuilder for the top Firefox binary and the default profile.
|
||||
+ Access: public
|
||||
@ -173,7 +166,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### defaultProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L316)
|
||||
### defaultProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L315)
|
||||
|
||||
+ Description: Build a ProcessBuilder for the top Firefox binary and the default profile.
|
||||
+ Access: public
|
||||
@ -184,7 +177,7 @@ This method has no parameters.
|
||||
| args | String[] | the args to pass to the Firefox binary |
|
||||
|
||||
|
||||
### privateProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L330)
|
||||
### privateProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L329)
|
||||
|
||||
+ Description: Build a ProcessBuilder for the top Firefox binary and the default profile. Pass the --private-window flag to open a window.
|
||||
+ Access: public
|
||||
@ -193,7 +186,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### privateProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L343)
|
||||
### privateProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L342)
|
||||
|
||||
+ Description: Build a ProcessBuilder for the top Firefox binary and the default profile. Pass the --private-window flag to open a window.
|
||||
+ Access: public
|
||||
@ -204,7 +197,18 @@ This method has no parameters.
|
||||
| args | String[] | the arguments to pass to the Firefox binary |
|
||||
|
||||
|
||||
### processBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L366)
|
||||
### headlessProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L364)
|
||||
|
||||
+ 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 |
|
||||
|
||||
|
||||
### processBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L387)
|
||||
|
||||
+ Description: Build a ProcessBuilder for the top Firefox binary and the default profile with a specific set of extended arguments.
|
||||
+ Access: public
|
||||
@ -215,64 +219,7 @@ This method has no parameters.
|
||||
| args | String[] | the extended arguments to pass to the Firefox binary. |
|
||||
|
||||
|
||||
### waitForProxy [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L400)
|
||||
|
||||
+ Description: Waits for an HTTP proxy on port 4444 to be ready. Returns false on timeout of 200 seconds.
|
||||
+ Access: public
|
||||
+ return: true if the proxy is ready false if it is not.
|
||||
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### waitForProxy [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L410)
|
||||
|
||||
+ Description: Waits for an HTTP proxy on port 4444 to be ready. Returns false on timeout of the specified number of seconds.
|
||||
+ Access: public
|
||||
+ return: true if the proxy is ready false if it is not.
|
||||
|
||||
| Name | Type | Description |
|
||||
| ----- | ----- | ----- |
|
||||
| timeout | int | the number of seconds to wait for the proxy to be ready. |
|
||||
|
||||
|
||||
### waitForProxy [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L422)
|
||||
|
||||
+ Description: Waits for an HTTP proxy on the specified port to be ready. Returns false on timeout of the specified number of seconds.
|
||||
+ Access: public
|
||||
+ return: true if the proxy is ready false if it is not.
|
||||
|
||||
| Name | Type | Description |
|
||||
| ----- | ----- | ----- |
|
||||
| timeout | int | the number of seconds to wait for the proxy to be ready. |
|
||||
| port | int | the port to wait for the proxy to be ready on. |
|
||||
|
||||
|
||||
### waitForProxy [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L435)
|
||||
|
||||
+ Description: Waits for an HTTP proxy on the specified port to be ready. Returns false on timeout of the specified number of seconds.
|
||||
+ Access: public
|
||||
+ return: true if the proxy is ready false if it is not.
|
||||
|
||||
| Name | Type | Description |
|
||||
| ----- | ----- | ----- |
|
||||
| timeout | int | the number of seconds to wait for the proxy to be ready. |
|
||||
| port | int | the port to wait for the proxy to be ready on. |
|
||||
| host | String | the host to wait for the proxy to be ready on. |
|
||||
|
||||
|
||||
### checkifPortIsOccupied [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L449)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
+ return: boolean
|
||||
|
||||
| Name | Type | Description |
|
||||
| ----- | ----- | ----- |
|
||||
| port | int | |
|
||||
| host | String | |
|
||||
|
||||
|
||||
### usabilityMode [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L459)
|
||||
### usabilityMode [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L413)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -281,7 +228,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### launchAndDetatch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L466)
|
||||
### launchAndDetatch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L420)
|
||||
|
||||
+ Description:
|
||||
+ Access: public
|
||||
@ -293,7 +240,7 @@ This method has no parameters.
|
||||
| url | String[] | |
|
||||
|
||||
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L514)
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L493)
|
||||
|
||||
+ 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
|
||||
@ -305,7 +252,7 @@ This method has no parameters.
|
||||
| url | String[] | |
|
||||
|
||||
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L538)
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L517)
|
||||
|
||||
+ 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
|
||||
@ -316,7 +263,7 @@ This method has no parameters.
|
||||
| privateWindow | boolean | |
|
||||
|
||||
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L548)
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L527)
|
||||
|
||||
+ 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.
|
||||
+ Access: public
|
||||
@ -325,7 +272,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### ValidURL [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L550)
|
||||
### ValidURL [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L529)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -337,7 +284,7 @@ This method has no parameters.
|
||||
| inUrl | String | |
|
||||
|
||||
|
||||
### main [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L561)
|
||||
### main [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L540)
|
||||
|
||||
+ Description:
|
||||
+ Access: public
|
||||
@ -349,7 +296,7 @@ This method has no parameters.
|
||||
| args | String[] | |
|
||||
|
||||
|
||||
### sleep [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L590)
|
||||
### sleep [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L573)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
|
@ -97,6 +97,16 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="RELEASES.html">
|
||||
RELEASES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
|
@ -97,6 +97,16 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="RELEASES.html">
|
||||
RELEASES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
@ -176,6 +186,9 @@
|
||||
<li>
|
||||
java.io.File
|
||||
</li>
|
||||
<li>
|
||||
java.io.FileNotFoundException
|
||||
</li>
|
||||
<li>
|
||||
java.io.FileReader
|
||||
</li>
|
||||
@ -185,6 +198,9 @@
|
||||
<li>
|
||||
java.io.IOException
|
||||
</li>
|
||||
<li>
|
||||
java.util.Scanner
|
||||
</li>
|
||||
</ul>
|
||||
<br>
|
||||
<h2>
|
||||
@ -204,7 +220,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
main
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefoxProfileChecker.java#L30" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefoxProfileChecker.java#L32" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -237,7 +253,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
validateProfileDirectory
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefoxProfileChecker.java#L51" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefoxProfileChecker.java#L53" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -266,11 +282,11 @@
|
||||
| profileDirectory | String | the profile directory to check |
|
||||
</p>
|
||||
<h3>
|
||||
<a href="#derestricthttps-src" rel="nofollow">
|
||||
<a href="#derestricthttpsandsetuphomepage-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
deRestrictHTTPS
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefoxProfileChecker.java#L84" rel="nofollow">
|
||||
deRestrictHTTPSAndSetupHomepage
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefoxProfileChecker.java#L86" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -303,7 +319,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
undoHttpsOnlyMode
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefoxProfileChecker.java#L104" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefoxProfileChecker.java#L109" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -331,12 +347,82 @@
|
||||
<br>
|
||||
| fileToBeModified | File | |
|
||||
</p>
|
||||
<h3>
|
||||
<a href="#undohomepage-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
undoHomepage
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefoxProfileChecker.java#L115" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
<ul>
|
||||
<li>
|
||||
Description:
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Access: private
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Modifiers: static
|
||||
</li>
|
||||
<li>
|
||||
return: boolean
|
||||
<br>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
| Name | Type | Description |
|
||||
<br>
|
||||
| ----- | ----- | ----- |
|
||||
<br>
|
||||
| fileToBeModified | File | |
|
||||
</p>
|
||||
<h3>
|
||||
<a href="#undovalue-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
undoValue
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefoxProfileChecker.java#L138" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
<ul>
|
||||
<li>
|
||||
Description:
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Access: private
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Modifiers: static
|
||||
</li>
|
||||
<li>
|
||||
return: boolean
|
||||
<br>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
| Name | Type | Description |
|
||||
<br>
|
||||
| ----- | ----- | ----- |
|
||||
<br>
|
||||
| oldString | String | |
|
||||
<br>
|
||||
| newString | String | |
|
||||
<br>
|
||||
| fileToBeModified | File | |
|
||||
</p>
|
||||
<h3>
|
||||
<a href="#validatefile-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
validateFile
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefoxProfileChecker.java#L140" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefoxProfileChecker.java#L172" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -369,7 +455,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
validateExtensionDirectory
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefoxProfileChecker.java#L167" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefoxProfileChecker.java#L199" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
|
@ -19,9 +19,11 @@ package: net.i2p.i2pfirefox
|
||||
<ul>
|
||||
<li>java.io.BufferedReader</li>
|
||||
<li>java.io.File</li>
|
||||
<li>java.io.FileNotFoundException</li>
|
||||
<li>java.io.FileReader</li>
|
||||
<li>java.io.FileWriter</li>
|
||||
<li>java.io.IOException</li>
|
||||
<li>java.util.Scanner</li>
|
||||
</ul>
|
||||
</details>
|
||||
|
||||
@ -29,7 +31,7 @@ package: net.i2p.i2pfirefox
|
||||
|
||||
## Methods
|
||||
|
||||
### main [[src]](src/java/net/i2p/i2pfirefox/I2PFirefoxProfileChecker.java#L30)
|
||||
### main [[src]](src/java/net/i2p/i2pfirefox/I2PFirefoxProfileChecker.java#L32)
|
||||
|
||||
+ Description:
|
||||
+ Access: public
|
||||
@ -41,7 +43,7 @@ package: net.i2p.i2pfirefox
|
||||
| args | String[] | |
|
||||
|
||||
|
||||
### validateProfileDirectory [[src]](src/java/net/i2p/i2pfirefox/I2PFirefoxProfileChecker.java#L51)
|
||||
### validateProfileDirectory [[src]](src/java/net/i2p/i2pfirefox/I2PFirefoxProfileChecker.java#L53)
|
||||
|
||||
+ Description: Return true if the profile directory is valid.
|
||||
+ Access: public
|
||||
@ -53,7 +55,7 @@ package: net.i2p.i2pfirefox
|
||||
| profileDirectory | String | the profile directory to check |
|
||||
|
||||
|
||||
### deRestrictHTTPS [[src]](src/java/net/i2p/i2pfirefox/I2PFirefoxProfileChecker.java#L84)
|
||||
### deRestrictHTTPSAndSetupHomepage [[src]](src/java/net/i2p/i2pfirefox/I2PFirefoxProfileChecker.java#L86)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -65,7 +67,7 @@ package: net.i2p.i2pfirefox
|
||||
| profile | String | |
|
||||
|
||||
|
||||
### undoHttpsOnlyMode [[src]](src/java/net/i2p/i2pfirefox/I2PFirefoxProfileChecker.java#L104)
|
||||
### undoHttpsOnlyMode [[src]](src/java/net/i2p/i2pfirefox/I2PFirefoxProfileChecker.java#L109)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -77,7 +79,33 @@ package: net.i2p.i2pfirefox
|
||||
| fileToBeModified | File | |
|
||||
|
||||
|
||||
### validateFile [[src]](src/java/net/i2p/i2pfirefox/I2PFirefoxProfileChecker.java#L140)
|
||||
### undoHomepage [[src]](src/java/net/i2p/i2pfirefox/I2PFirefoxProfileChecker.java#L115)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
+ Modifiers: static
|
||||
+ return: boolean
|
||||
|
||||
| Name | Type | Description |
|
||||
| ----- | ----- | ----- |
|
||||
| fileToBeModified | File | |
|
||||
|
||||
|
||||
### undoValue [[src]](src/java/net/i2p/i2pfirefox/I2PFirefoxProfileChecker.java#L138)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
+ Modifiers: static
|
||||
+ return: boolean
|
||||
|
||||
| Name | Type | Description |
|
||||
| ----- | ----- | ----- |
|
||||
| oldString | String | |
|
||||
| newString | String | |
|
||||
| fileToBeModified | File | |
|
||||
|
||||
|
||||
### validateFile [[src]](src/java/net/i2p/i2pfirefox/I2PFirefoxProfileChecker.java#L172)
|
||||
|
||||
+ Description: Return true if the file is valid.
|
||||
+ Access: public
|
||||
@ -89,7 +117,7 @@ package: net.i2p.i2pfirefox
|
||||
| file | String | the file to check |
|
||||
|
||||
|
||||
### validateExtensionDirectory [[src]](src/java/net/i2p/i2pfirefox/I2PFirefoxProfileChecker.java#L167)
|
||||
### validateExtensionDirectory [[src]](src/java/net/i2p/i2pfirefox/I2PFirefoxProfileChecker.java#L199)
|
||||
|
||||
+ Description: Return true if the extension directory is valid.
|
||||
+ Access: public
|
||||
|
@ -97,6 +97,16 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="RELEASES.html">
|
||||
RELEASES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
|
@ -97,6 +97,16 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="RELEASES.html">
|
||||
RELEASES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
|
10
LICENSE.html
10
LICENSE.html
@ -97,6 +97,16 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="RELEASES.html">
|
||||
RELEASES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
|
1254
PACKAGES.html
Normal file
1254
PACKAGES.html
Normal file
File diff suppressed because it is too large
Load Diff
91
PACKAGES.md
Normal file
91
PACKAGES.md
Normal file
@ -0,0 +1,91 @@
|
||||
Packages for various operating systems
|
||||
======================================
|
||||
|
||||
Making a new release:
|
||||
---------------------
|
||||
|
||||
Releases can be created in a mostly automatic way. With a working Java toolchain
|
||||
including jpackage installed:
|
||||
|
||||
0. Set a `GITHUB_TOKEN` in the environment containing an API key.
|
||||
1. Update the version number(`GITHUB_TAG`) and version title(`GITHUB_NAME`) in `config.sh`
|
||||
2. On a Linux machine, run `./release.sh`
|
||||
3. On a Windows machine, run `./windows-release.sh`
|
||||
|
||||
|
||||
Windows
|
||||
-------
|
||||
|
||||
All Windows packages require building on a Windows machine. In order to build
|
||||
them, check out i2p.firefox in an adjacent directory and `source` i2p.firefox/config.sh
|
||||
to set the path to the Java toolchain you want to use.
|
||||
|
||||
run: `ant jar` before any of these scripts.
|
||||
|
||||
run: `windows-release.sh` only *after* release.sh on a Linux machine.
|
||||
|
||||
### MSI
|
||||
|
||||
Requires the Wixl toolset.
|
||||
|
||||
#### Status: Works. Maintained.
|
||||
|
||||
run: `./windows.sh`
|
||||
|
||||
#### EXE
|
||||
|
||||
No special requirements.
|
||||
|
||||
#### Status: Works. Maintained.
|
||||
|
||||
run: `./windows-exe.sh`
|
||||
|
||||
### Portable(.zip)
|
||||
|
||||
No special requirements.
|
||||
|
||||
#### Status: Unknown. Maintained.
|
||||
|
||||
run: `./windows-portable.sh`
|
||||
|
||||
Linux
|
||||
-----
|
||||
|
||||
All Linux packages require building on a Linux machines. Debian packages must
|
||||
be built on Debian, Fedora packages must be built on Fedora. Some leeway for
|
||||
derivative distros. Portable can be b build anywhere with a jpackage. Have
|
||||
Java tools in your `PATH`.
|
||||
|
||||
### Debian
|
||||
|
||||
Make sure you have a recent Java and jpackage.
|
||||
|
||||
#### Status: Works. Maintained.
|
||||
|
||||
run: `ant debian`
|
||||
|
||||
### Fedora
|
||||
|
||||
I'm a Debian user and don't have a Fedora machine set up right now. Therefore,
|
||||
I build Fedora packages in a container.
|
||||
|
||||
Fedora doesn't have a jpackage in their repositories as far as I can tell so I use
|
||||
Adoptium's third-party repository to supply the JDK I use to build the fedora
|
||||
package.
|
||||
|
||||
#### Status: Unknown. Maintained.
|
||||
|
||||
run: `ant fedora`
|
||||
|
||||
### Portable(.zip)
|
||||
|
||||
Details are platform dependent. Same build-deps as everything else.
|
||||
|
||||
#### Status: Works. Maintained.
|
||||
|
||||
run: `ant jpackage`
|
||||
|
||||
OSX
|
||||
---
|
||||
|
||||
### TODO
|
13
README.md
13
README.md
@ -2,6 +2,19 @@
|
||||
|
||||
A port of the batch scripts from i2p.firefox to Java.
|
||||
|
||||
**Status:** This package is maintained. It cannot solve all your problems. Fingerprinting
|
||||
is a reality in modern browsers. Exploits are too. This software attempts to provide a
|
||||
best-possible baseline of privacy first, security a close second for browsing the web that
|
||||
exists within I2P. Do not expect it to withstand attacks from very powerful adversaries
|
||||
who can spend time and money to screw up your life. Do expect it to resist advertisers,
|
||||
trackers, and jerks using off-the-shelf techniques and exploits. It is fundamentally unable
|
||||
to make changes which un-trust your browser vendor, your OS, your package manager or any
|
||||
other system that exists underneath it. **It is just a profile manager.**
|
||||
|
||||
**All packages require a running I2P router.**
|
||||
|
||||
**[Windows users should see the Easy-Install Bundle](https://i2pgit.org/i2p-hackers/i2p.firefox)**
|
||||
|
||||
## Getting started
|
||||
|
||||
### Using a Binary
|
||||
|
1062
RELEASES.html
Normal file
1062
RELEASES.html
Normal file
File diff suppressed because it is too large
Load Diff
12
RELEASES.md
Normal file
12
RELEASES.md
Normal file
@ -0,0 +1,12 @@
|
||||
Sums for release 0.0.31
|
||||
==============================
|
||||
|
||||
- [b4281b944433069681ece1124bf5ac1a527dcef9d29ce999ab0dac7a0bbee70e i2pfirefox.jar](https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/0.0.31/i2pfirefox.jar)
|
||||
- [5b21bb74ce6715bd48bcc019a1165f1f27a15bd831c1a723d8b90f7cb82498df i2pfirefox.zip](https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/0.0.31/i2pfirefox.zip)
|
||||
- [86b0ae9040d64651cc13027a9861d0fdf2afaac4a4cdb9cbef69e82cc92adb67 i2pbrowser.zip](https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/0.0.31/i2pbrowser.zip)
|
||||
- [3a08a52a41463e0b5324101eb097f533bbac8b7db44964a2f90d305247320ecc i2pbrowser_0.0.31_.deb](https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/0.0.31/i2pbrowser_0.0.31_.deb)
|
||||
- [67739c09653b52d8bdb75b2c742aa8c21a8a7c278b7c05e25957747afede218b i2pbrowser-0.0.31_.rpm](https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/0.0.31/i2pbrowser-0.0.31_.rpm)
|
||||
- [f40ef6126af9fd93272c2935e1fb056a6aceb2dfbbb0aafe1847708c40a3220a i2pbrowser.msi](https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/0.0.31/i2pbrowser.msi)
|
||||
- [33ecc96815f3e6934112f138b54bb64fde93565dcafae000d73b2539449f10ed i2pbrowser.exe](https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/0.0.31/i2pbrowser.exe)
|
||||
- [6a620cd58fda291945fa010e3411fac817f2b9f87f572b67697de0e16e694efd i2pbrowser-portable.zip](https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/0.0.31/i2pbrowser-portable.zip)
|
||||
|
10
TODO.html
10
TODO.html
@ -97,6 +97,16 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="RELEASES.html">
|
||||
RELEASES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
|
10
USAGE.html
10
USAGE.html
@ -97,6 +97,16 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="RELEASES.html">
|
||||
RELEASES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
|
10
build.xml
10
build.xml
@ -317,7 +317,7 @@ Linux(because the top command will be run and the script will exit).\n\nBoth det
|
||||
<delete dir="plugin/eepsite/docroot/torrents/" />
|
||||
<!-- get version number -->
|
||||
<buildnumber file="scripts/build.number" />
|
||||
<property name="release.number" value="0.0.28" />
|
||||
<property name="release.number" value="0.0.34" />
|
||||
|
||||
<!-- make the update xpi2p -->
|
||||
<!-- this contains everything except i2ptunnel.config -->
|
||||
@ -392,6 +392,7 @@ Linux(because the top command will be run and the script will exit).\n\nBoth det
|
||||
<delete dir="i2p.firefox.profile" />
|
||||
<delete dir="src/i2p.firefox.profile.zip" />
|
||||
<delete dir="i2p.chromium.base.profile" />
|
||||
<delete dir="i2p.chromium.usability.profile" />
|
||||
<delete dir="i2p.chromium.profile" />
|
||||
<delete dir="src/i2p.chromium.profile.zip" />
|
||||
<delete file="plugin/i2ptunnel.config" />
|
||||
@ -441,4 +442,11 @@ Linux(because the top command will be run and the script will exit).\n\nBoth det
|
||||
<arg value="./debian.sh"/>
|
||||
</exec>
|
||||
</target>
|
||||
<target name="fedora" depends="jar">
|
||||
<exec executable="bash" failonerror="true">
|
||||
<arg value="--verbose"/>
|
||||
<arg value="-c"/>
|
||||
<arg value="./fedora.sh"/>
|
||||
</exec>
|
||||
</target>
|
||||
</project>
|
||||
|
@ -1,6 +1,6 @@
|
||||
#! /usr/bin/env sh
|
||||
export GITHUB_USER=eyedeekay
|
||||
export GITHUB_REPO=i2p.plugins.firefox
|
||||
export GITHUB_NAME="Add support for Debian and Windows packages"
|
||||
export GITHUB_NAME="wait up to 5 seconds for the headless firefox to die(sounds creepy when I say it like that)"
|
||||
export GITHUB_DESCRIPTION=$(cat CHANGES.md)
|
||||
export GITHUB_TAG=0.0.28
|
||||
export GITHUB_TAG=0.0.34
|
28
fedora-docker.sh
Executable file
28
fedora-docker.sh
Executable file
@ -0,0 +1,28 @@
|
||||
#! /usr/bin/env sh
|
||||
|
||||
. ./config.sh
|
||||
|
||||
cat <<EOF > /etc/yum.repos.d/adoptium.repo
|
||||
[Adoptium]
|
||||
name=Adoptium
|
||||
baseurl=https://packages.adoptium.net/artifactory/rpm/${DISTRIBUTION_NAME:-$(. /etc/os-release; echo $ID)}/\$releasever/\$basearch
|
||||
enabled=1
|
||||
gpgcheck=1
|
||||
gpgkey=https://packages.adoptium.net/artifactory/api/gpg/key/public
|
||||
EOF
|
||||
yum -y update
|
||||
yum -y install temurin-18-jdk
|
||||
|
||||
jpackage --verbose \
|
||||
--type rpm \
|
||||
--linux-menu-group "Network;WebBrowser;P2P" \
|
||||
--linux-app-category "Network" \
|
||||
--linux-package-deps "firefox|chromium|brave|firefox-esr|librewolf|icecat" \
|
||||
--linux-shortcut \
|
||||
--license-file LICENSE.md \
|
||||
--name i2pbrowser \
|
||||
--app-version "$GITHUB_TAG" \
|
||||
--input src/build \
|
||||
--main-jar i2pfirefox.jar \
|
||||
--main-class net.i2p.i2pfirefox.I2PBrowser
|
||||
ls *.rpm
|
7
fedora.sh
Executable file
7
fedora.sh
Executable file
@ -0,0 +1,7 @@
|
||||
#! /usr/bin/env sh
|
||||
|
||||
. ./config.sh
|
||||
docker build -t eyedeekay/i2p.plugins.firefox .
|
||||
docker rm -f i2pbrowser-fedora
|
||||
docker run --name i2pbrowser-fedora eyedeekay/i2p.plugins.firefox
|
||||
docker cp i2pbrowser-fedora:/src/i2p.plugins.firefox/i2pbrowser-${GITHUB_TAG}-1.x86_64.rpm .
|
38
index.html
38
index.html
@ -97,6 +97,16 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="RELEASES.html">
|
||||
RELEASES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
@ -127,6 +137,34 @@
|
||||
<p>
|
||||
A port of the batch scripts from i2p.firefox to Java.
|
||||
</p>
|
||||
<p>
|
||||
<strong>
|
||||
Status:
|
||||
</strong>
|
||||
This package is maintained. It cannot solve all your problems. Fingerprinting
|
||||
is a reality in modern browsers. Exploits are too. This software attempts to provide a
|
||||
best-possible baseline of privacy first, security a close second for browsing the web that
|
||||
exists within I2P. Do not expect it to withstand attacks from very powerful adversaries
|
||||
who can spend time and money to screw up your life. Do expect it to resist advertisers,
|
||||
trackers, and jerks using off-the-shelf techniques and exploits. It is fundamentally unable
|
||||
to make changes which un-trust your browser vendor, your OS, your package manager or any
|
||||
other system that exists underneath it.
|
||||
<strong>
|
||||
It is just a profile manager.
|
||||
</strong>
|
||||
</p>
|
||||
<p>
|
||||
<strong>
|
||||
All packages require a running I2P router.
|
||||
</strong>
|
||||
</p>
|
||||
<p>
|
||||
<strong>
|
||||
<a href="https://i2pgit.org/i2p-hackers/i2p.firefox" rel="nofollow">
|
||||
Windows users should see the Easy-Install Bundle
|
||||
</a>
|
||||
</strong>
|
||||
</p>
|
||||
<h2>
|
||||
<a href="#getting-started" rel="nofollow">
|
||||
<span></span>
|
||||
|
11
osx-dmg.sh
Executable file
11
osx-dmg.sh
Executable file
@ -0,0 +1,11 @@
|
||||
#! /usr/bin/env sh
|
||||
. ./config.sh
|
||||
jpackage \
|
||||
--verbose \
|
||||
--type dmg \
|
||||
--license-file LICENSE.md \
|
||||
--name i2pbrowser \
|
||||
--app-version "$GITHUB_TAG" \
|
||||
--input src/build \
|
||||
--main-jar i2pfirefox.jar \
|
||||
--main-class net.i2p.i2pfirefox.I2PBrowser
|
61
packages.sh
Executable file
61
packages.sh
Executable file
@ -0,0 +1,61 @@
|
||||
#! /usr/bin/env sh
|
||||
|
||||
. ./config.sh
|
||||
github-release download --user "${GITHUB_USER}" \
|
||||
--repo "${GITHUB_REPO}" \
|
||||
--tag "${GITHUB_TAG}" \
|
||||
--name "i2pfirefox.jar"
|
||||
echo "Downloaded jar"
|
||||
github-release download --user "${GITHUB_USER}" \
|
||||
--repo "${GITHUB_REPO}" \
|
||||
--tag "${GITHUB_TAG}" \
|
||||
--name "i2pfirefox.zip"
|
||||
echo "Downloaded freestanding zip"
|
||||
github-release download --user "${GITHUB_USER}" \
|
||||
--repo "${GITHUB_REPO}" \
|
||||
--tag "${GITHUB_TAG}" \
|
||||
--name "i2pbrowser.zip"
|
||||
echo "Downloaded jpackage zip"
|
||||
github-release download --user "${GITHUB_USER}" \
|
||||
--repo "${GITHUB_REPO}" \
|
||||
--tag "${GITHUB_TAG}" \
|
||||
--name "i2pbrowser_${GITHUB_TAG}_.deb"
|
||||
echo "Downloaded debian package"
|
||||
github-release download --user "${GITHUB_USER}" \
|
||||
--repo "${GITHUB_REPO}" \
|
||||
--tag "${GITHUB_TAG}" \
|
||||
--name "i2pbrowser-${GITHUB_TAG}_.rpm"
|
||||
echo "Downloaded fedora package"
|
||||
github-release download --user "${GITHUB_USER}" \
|
||||
--repo "${GITHUB_REPO}" \
|
||||
--tag "${GITHUB_TAG}" \
|
||||
--name "i2pbrowser.msi"
|
||||
echo "Downloaded MSI package"
|
||||
github-release download --user "${GITHUB_USER}" \
|
||||
--repo "${GITHUB_REPO}" \
|
||||
--tag "${GITHUB_TAG}" \
|
||||
--name "i2pbrowser.exe"
|
||||
echo "Downloaded EXE package"
|
||||
github-release download --user "${GITHUB_USER}" \
|
||||
--repo "${GITHUB_REPO}" \
|
||||
--tag "${GITHUB_TAG}" \
|
||||
--name "i2pbrowser-portable.zip"
|
||||
echo "Downloaded Windows ZIP package"
|
||||
|
||||
echo "Sums for release ${GITHUB_TAG}" | tee RELEASES.md
|
||||
echo "==============================" | tee -a RELEASES.md
|
||||
echo "" | tee -a RELEASES.md
|
||||
echo "- [$(sha256sum i2pfirefox.jar)](https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/${GITHUB_TAG}/i2pfirefox.jar)" | tee -a RELEASES.md
|
||||
echo "- [$(sha256sum i2pfirefox.zip)](https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/${GITHUB_TAG}/i2pfirefox.zip)" | tee -a RELEASES.md
|
||||
echo "- [$(sha256sum i2pbrowser.zip)](https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/${GITHUB_TAG}/i2pbrowser.zip)" | tee -a RELEASES.md
|
||||
echo "- [$(sha256sum i2pbrowser_${GITHUB_TAG}_.deb)](https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/${GITHUB_TAG}/i2pbrowser_${GITHUB_TAG}_amd64.deb)" | tee -a RELEASES.md
|
||||
echo "- [$(sha256sum i2pbrowser-${GITHUB_TAG}_.rpm)](https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/${GITHUB_TAG}/i2pbrowser-${GITHUB_TAG}-1.x86_64.rpm.rpm)" | tee -a RELEASES.md
|
||||
echo "- [$(sha256sum i2pbrowser.msi)](https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/${GITHUB_TAG}/i2pbrowser.msi)" | tee -a RELEASES.md
|
||||
echo "- [$(sha256sum i2pbrowser.exe)](https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/${GITHUB_TAG}/i2pbrowser.exe)" | tee -a RELEASES.md
|
||||
echo "- [$(sha256sum i2pbrowser-portable.zip)](https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/${GITHUB_TAG}/i2pbrowser-portable.zip)" | tee -a RELEASES.md
|
||||
echo "" | tee -a RELEASES.md
|
||||
|
||||
git add RELEASES.md
|
||||
edgar
|
||||
git commit -am "Update releases page"
|
||||
git push --all
|
29
release.sh
29
release.sh
@ -6,7 +6,7 @@ ant distclean clangFmt
|
||||
NUMLINE=`grep release.number build.xml | head -n 1`
|
||||
sed -i "s|$NUMLINE| <property name=\"release.number\" value=\"$GITHUB_TAG\" />|g" build.xml
|
||||
edgar && git push --all
|
||||
ant jar freeZip jpackage debian
|
||||
ant jar freeZip jpackage debian fedora
|
||||
github-release release --user "${GITHUB_USER}" \
|
||||
--repo "${GITHUB_REPO}" \
|
||||
--name "${GITHUB_NAME}" \
|
||||
@ -18,38 +18,51 @@ github-release edit --user "${GITHUB_USER}" \
|
||||
--name "${GITHUB_NAME}" \
|
||||
--description "${GITHUB_DESCRIPTION}" \
|
||||
--tag "${GITHUB_TAG}"; true
|
||||
echo "Relase $GITHUB_TAG setup"
|
||||
echo "Relase ${GITHUB_TAG} setup"
|
||||
jarsum=$(sha256sum "src/build/i2pfirefox.jar")
|
||||
github-release upload --user "${GITHUB_USER}" \
|
||||
--repo "${GITHUB_REPO}" \
|
||||
--tag "${GITHUB_TAG}" \
|
||||
--label "I2P Browser launcher as a .jar." \
|
||||
--label "I2P Browser launcher as a .jar. Useful as a library or for advanced users. ${jarsum}" \
|
||||
--name "i2pfirefox.jar" \
|
||||
--file "src/build/i2pfirefox.jar" \
|
||||
--replace
|
||||
echo "Uploaded jar"
|
||||
zipsum=$(sha256sum "i2pfirefox.zip")
|
||||
github-release upload --user "${GITHUB_USER}" \
|
||||
--repo "${GITHUB_REPO}" \
|
||||
--tag "${GITHUB_TAG}" \
|
||||
--label "I2P Browser launcher as a .jar and a set of semi-univeral launcher scripts." \
|
||||
--label "I2P Browser launcher as a .jar and a set of semi-univeral launcher scripts. ${zipsum}" \
|
||||
--name "i2pfirefox.zip" \
|
||||
--file "i2pfirefox.zip" \
|
||||
--replace
|
||||
echo "Uploaded freestanding zip"
|
||||
jvmsum=$(sha256sum "i2pbrowser.zip")
|
||||
github-release upload --user "${GITHUB_USER}" \
|
||||
--repo "${GITHUB_REPO}" \
|
||||
--tag "${GITHUB_TAG}" \
|
||||
--label "I2P Browser launcher as a Jpackage, does not require a JVM, Linux Only for now unless you BYO." \
|
||||
--label "I2P Browser launcher as a Jpackage, does not require a JVM. ${jvmsum}" \
|
||||
--name "i2pbrowser.zip" \
|
||||
--file "i2pbrowser.zip" \
|
||||
--replace
|
||||
echo "Uploaded jpackage zip"
|
||||
debsum=$(sha256sum "i2pbrowser_${GITHUB_TAG}_amd64.deb")
|
||||
github-release upload --user "${GITHUB_USER}" \
|
||||
--repo "${GITHUB_REPO}" \
|
||||
--tag "${GITHUB_TAG}" \
|
||||
--label "I2P Browser launcher as a Jpackage inside of a Debian package." \
|
||||
--name "i2pbrowser_${GITHUB_TAG}_.deb" \
|
||||
--label "I2P Browser launcher as a Jpackage inside of a Debian package. ${debsum}" \
|
||||
--name "i2pbrowser_${GITHUB_TAG}_amd64.deb" \
|
||||
--file "i2pbrowser_${GITHUB_TAG}_amd64.deb" \
|
||||
--replace
|
||||
echo "Uploaded debian zip"
|
||||
echo "Uploaded debian package"
|
||||
rpmsum=$(sha256sum i2pbrowser-${GITHUB_TAG}-1.x86_64.rpm)
|
||||
github-release upload --user "${GITHUB_USER}" \
|
||||
--repo "${GITHUB_REPO}" \
|
||||
--tag "${GITHUB_TAG}" \
|
||||
--label "I2P Browser launcher as a Jpackage inside of a Fedora package. ${rpmsum}" \
|
||||
--name "i2pbrowser-${GITHUB_TAG}-1.x86_64.rpm" \
|
||||
--file "i2pbrowser-${GITHUB_TAG}-1.x86_64.rpm" \
|
||||
--replace
|
||||
echo "Uploaded fedora package"
|
||||
git pull github --tags
|
||||
git push --all
|
||||
|
Binary file not shown.
@ -2,6 +2,6 @@ This browser profile is entirely composed of the work of Free Software developer
|
||||
The licenses for the sub-projects may be found in the extensions directories themselves.
|
||||
|
||||
i2p.chromium.usabilty.profile/extensions/i2pchrome.js/
|
||||
i2p.chromium.usabilty.profile/extensions/jshelter.js
|
||||
i2p.chromium.usabilty.profile/extensions/localcdn.js
|
||||
i2p.chromium.usabilty.profile/extensions/ublock.js
|
||||
i2p.chromium.usabilty.profile/extensions/jshelter.js/
|
||||
i2p.chromium.usabilty.profile/extensions/localcdn.js/
|
||||
i2p.chromium.usabilty.profile/extensions/ublock.js/
|
Binary file not shown.
Binary file not shown.
@ -196,6 +196,10 @@ public class I2PBrowser extends I2PCommonBrowser {
|
||||
if (arg.equals("-usability")) {
|
||||
i2pBrowser.usability = true;
|
||||
}
|
||||
if (arg.equals("-noproxycheck")) {
|
||||
println("zeroing out proxy check");
|
||||
i2pBrowser.setProxyTimeoutTime(0);
|
||||
}
|
||||
if (!arg.startsWith("-")) {
|
||||
visitURL.add(ValidURL(arg));
|
||||
}
|
||||
|
@ -1,8 +1,6 @@
|
||||
package net.i2p.i2pfirefox;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.net.Socket;
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
@ -21,7 +19,6 @@ import java.util.ArrayList;
|
||||
*/
|
||||
public class I2PChromium extends I2PCommonBrowser {
|
||||
private final String[] CHROMIUM_SEARCH_PATHS = CHROMIUM_FINDER();
|
||||
private final int DEFAULT_TIMEOUT = 200;
|
||||
private Process p = null;
|
||||
|
||||
/**
|
||||
@ -483,71 +480,6 @@ public class I2PChromium extends I2PCommonBrowser {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Waits for an HTTP proxy on port 4444 to be ready.
|
||||
* Returns false on timeout of 200 seconds.
|
||||
*
|
||||
* @return true if the proxy is ready, false if it is not.
|
||||
* @since 0.0.1
|
||||
*/
|
||||
public boolean waitForProxy() { return waitForProxy(DEFAULT_TIMEOUT); }
|
||||
|
||||
/**
|
||||
* Waits for an HTTP proxy on port 4444 to be ready.
|
||||
* Returns false on timeout of the specified number of seconds.
|
||||
*
|
||||
* @param timeout the number of seconds to wait for the proxy to be ready.
|
||||
* @return true if the proxy is ready, false if it is not.
|
||||
* @since 0.0.1
|
||||
*/
|
||||
public boolean waitForProxy(int timeout) {
|
||||
return waitForProxy(timeout, 4444);
|
||||
}
|
||||
/**
|
||||
* Waits for an HTTP proxy on the specified port to be ready.
|
||||
* Returns false on timeout of the specified number of seconds.
|
||||
*
|
||||
* @param timeout the number of seconds to wait for the proxy to be ready.
|
||||
* @param port the port to wait for the proxy to be ready on.
|
||||
* @return true if the proxy is ready, false if it is not.
|
||||
* @since 0.0.1
|
||||
*/
|
||||
public boolean waitForProxy(int timeout, int port) {
|
||||
return waitForProxy(timeout, port, "localhost");
|
||||
}
|
||||
/**
|
||||
* Waits for an HTTP proxy on the specified port to be ready.
|
||||
* Returns false on timeout of the specified number of seconds.
|
||||
*
|
||||
* @param timeout the number of seconds to wait for the proxy to be ready.
|
||||
* @param port the port to wait for the proxy to be ready on.
|
||||
* @param host the host to wait for the proxy to be ready on.
|
||||
* @return true if the proxy is ready, false if it is not.
|
||||
* @since 0.0.1
|
||||
*/
|
||||
public boolean waitForProxy(int timeout, int port, String host) {
|
||||
for (int i = 0; i < timeout; i++) {
|
||||
if (checkifPortIsOccupied(port, host)) {
|
||||
return true;
|
||||
}
|
||||
try {
|
||||
Thread.sleep(1000);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
private boolean checkifPortIsOccupied(int port, String host) {
|
||||
try {
|
||||
Socket socket = new Socket(host, port);
|
||||
socket.close();
|
||||
return true;
|
||||
} catch (IOException e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public Process launchAndDetatch(boolean privateWindow, String[] url) {
|
||||
validateUserDir();
|
||||
if (waitForProxy()) {
|
||||
@ -659,6 +591,10 @@ public class I2PChromium extends I2PCommonBrowser {
|
||||
if (arg.equals("-usability")) {
|
||||
I2PChromiumProfileBuilder.usability = true;
|
||||
}
|
||||
if (arg.equals("-noproxycheck")) {
|
||||
println("zeroing out proxy check");
|
||||
i2pChromium.setProxyTimeoutTime(0);
|
||||
}
|
||||
if (!arg.startsWith("-")) {
|
||||
// check if it's a URL
|
||||
visitURL.add(ValidURL(arg));
|
||||
|
@ -6,6 +6,7 @@ import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.net.Socket;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.StandardCopyOption;
|
||||
import java.util.logging.FileHandler;
|
||||
@ -32,6 +33,8 @@ import java.util.zip.ZipInputStream;
|
||||
public class I2PCommonBrowser {
|
||||
static Logger logger = Logger.getLogger("browserlauncher");
|
||||
static FileHandler fh;
|
||||
// private final int DEFAULT_TIMEOUT = 200;
|
||||
private static int CONFIGURED_TIMEOUT = 200;
|
||||
|
||||
public I2PCommonBrowser() {
|
||||
try {
|
||||
@ -95,7 +98,7 @@ public class I2PCommonBrowser {
|
||||
System.setProperty("user.dir", defaultPathFile.getAbsolutePath());
|
||||
}
|
||||
|
||||
private static boolean isWindows() {
|
||||
protected static boolean isWindows() {
|
||||
String osName = System.getProperty("os.name");
|
||||
println("os.name" + osName);
|
||||
if (osName.contains("windows"))
|
||||
@ -307,4 +310,83 @@ public class I2PCommonBrowser {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Waits for an HTTP proxy on port 4444 to be ready.
|
||||
* Returns false on timeout of 200 seconds.
|
||||
*
|
||||
* @return true if the proxy is ready, false if it is not.
|
||||
* @since 0.0.1
|
||||
*/
|
||||
public boolean waitForProxy() { return waitForProxy(CONFIGURED_TIMEOUT); }
|
||||
|
||||
/**
|
||||
* Waits for an HTTP proxy on port 4444 to be ready.
|
||||
* Returns false on timeout of the specified number of seconds.
|
||||
*
|
||||
* @param timeout the number of seconds to wait for the proxy to be ready.
|
||||
* @return true if the proxy is ready, false if it is not.
|
||||
* @since 0.0.1
|
||||
*/
|
||||
public boolean waitForProxy(int timeout) {
|
||||
return waitForProxy(timeout, 4444);
|
||||
}
|
||||
/**
|
||||
* Waits for an HTTP proxy on the specified port to be ready.
|
||||
* Returns false on timeout of the specified number of seconds.
|
||||
*
|
||||
* @param timeout the number of seconds to wait for the proxy to be ready.
|
||||
* @param port the port to wait for the proxy to be ready on.
|
||||
* @return true if the proxy is ready, false if it is not.
|
||||
* @since 0.0.1
|
||||
*/
|
||||
public boolean waitForProxy(int timeout, int port) {
|
||||
return waitForProxy(timeout, port, "localhost");
|
||||
}
|
||||
/**
|
||||
* Waits for an HTTP proxy on the specified port to be ready.
|
||||
* Returns false on timeout of the specified number of seconds.
|
||||
* If the timeout is zero or less, the check is disabled and always
|
||||
* returns true.
|
||||
*
|
||||
* @param timeout the number of seconds to wait for the proxy to be ready.
|
||||
* @param port the port to wait for the proxy to be ready on.
|
||||
* @param host the host to wait for the proxy to be ready on.
|
||||
* @return true if the proxy is ready, false if it is not.
|
||||
* @since 0.0.1
|
||||
*/
|
||||
public boolean waitForProxy(int timeout, int port, String host) {
|
||||
println("waiting up to " + timeout + "seconds for a proxy");
|
||||
if (timeout <= 0) {
|
||||
return true;
|
||||
}
|
||||
for (int i = 0; i < timeout; i++) {
|
||||
println("Waiting for proxy");
|
||||
if (checkifPortIsOccupied(port, host)) {
|
||||
return true;
|
||||
}
|
||||
try {
|
||||
Thread.sleep(1000);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
private boolean checkifPortIsOccupied(int port, String host) {
|
||||
try {
|
||||
Socket socket = new Socket(host, port);
|
||||
socket.close();
|
||||
return true;
|
||||
} catch (IOException e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Alters the proxy timeout to customized value time, in seconds.
|
||||
* May be zero.
|
||||
*
|
||||
* @param time
|
||||
*/
|
||||
public void setProxyTimeoutTime(int time) { CONFIGURED_TIMEOUT = time; }
|
||||
}
|
||||
|
@ -2,8 +2,8 @@ package net.i2p.i2pfirefox;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.net.Socket;
|
||||
import java.util.ArrayList;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
* I2PFirefox.java
|
||||
@ -21,7 +21,6 @@ import java.util.ArrayList;
|
||||
*/
|
||||
public class I2PFirefox extends I2PCommonBrowser {
|
||||
private final String[] FIREFOX_SEARCH_PATHS = FIREFOX_FINDER();
|
||||
private final int DEFAULT_TIMEOUT = 200;
|
||||
private Process p = null;
|
||||
public static boolean usability = false;
|
||||
|
||||
@ -332,7 +331,7 @@ public class I2PFirefox extends I2PCommonBrowser {
|
||||
}
|
||||
|
||||
/**
|
||||
* * Build a ProcessBuilder for the top Firefox binary and
|
||||
* Build a ProcessBuilder for the top Firefox binary and
|
||||
* the default profile. Pass the --private-window flag to
|
||||
* open a private window.
|
||||
*
|
||||
@ -353,6 +352,28 @@ public class I2PFirefox extends I2PCommonBrowser {
|
||||
return processBuilder(argList.toArray(new String[argList.size()]));
|
||||
}
|
||||
|
||||
/**
|
||||
* Build a ProcessBuilder for the top Firefox binary and
|
||||
* the default profile. Pass the --headless flag to open
|
||||
* without a window.
|
||||
*
|
||||
* @param args the arguments to pass to the Firefox binary
|
||||
* @return a ProcessBuilder for the top Firefox binary and
|
||||
* the default profile.
|
||||
*/
|
||||
public ProcessBuilder headlessProcessBuilder(String[] args) {
|
||||
ArrayList<String> argList = new ArrayList<String>();
|
||||
argList.add("--headless");
|
||||
if (args != null) {
|
||||
if (args.length > 0) {
|
||||
for (String arg : args) {
|
||||
argList.add(arg);
|
||||
}
|
||||
}
|
||||
}
|
||||
return processBuilder(argList.toArray(new String[argList.size()]));
|
||||
}
|
||||
|
||||
/**
|
||||
* Build a ProcessBuilder for the top Firefox binary and
|
||||
* the default profile, with a specific set of extended
|
||||
@ -369,16 +390,15 @@ public class I2PFirefox extends I2PCommonBrowser {
|
||||
int arglength = 0;
|
||||
if (args != null)
|
||||
arglength = args.length;
|
||||
String[] newArgs = new String[arglength + 5];
|
||||
String[] newArgs = new String[arglength + 4];
|
||||
newArgs[0] = firefox;
|
||||
newArgs[1] = "-attach-console";
|
||||
newArgs[2] = "--new-instance";
|
||||
newArgs[3] = "--profile";
|
||||
newArgs[4] = I2PFirefoxProfileBuilder.profileDirectory();
|
||||
newArgs[1] = "--new-instance";
|
||||
newArgs[2] = "--profile";
|
||||
newArgs[3] = I2PFirefoxProfileBuilder.profileDirectory();
|
||||
if (args != null) {
|
||||
if (arglength > 0) {
|
||||
for (int i = 0; i < arglength; i++) {
|
||||
newArgs[i + 5] = args[i];
|
||||
newArgs[i + 4] = args[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -390,72 +410,6 @@ public class I2PFirefox extends I2PCommonBrowser {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Waits for an HTTP proxy on port 4444 to be ready.
|
||||
* Returns false on timeout of 200 seconds.
|
||||
*
|
||||
* @return true if the proxy is ready, false if it is not.
|
||||
* @since 0.0.1
|
||||
*/
|
||||
public boolean waitForProxy() { return waitForProxy(DEFAULT_TIMEOUT); }
|
||||
|
||||
/**
|
||||
* Waits for an HTTP proxy on port 4444 to be ready.
|
||||
* Returns false on timeout of the specified number of seconds.
|
||||
*
|
||||
* @param timeout the number of seconds to wait for the proxy to be ready.
|
||||
* @return true if the proxy is ready, false if it is not.
|
||||
* @since 0.0.1
|
||||
*/
|
||||
public boolean waitForProxy(int timeout) {
|
||||
return waitForProxy(timeout, 4444);
|
||||
}
|
||||
/**
|
||||
* Waits for an HTTP proxy on the specified port to be ready.
|
||||
* Returns false on timeout of the specified number of seconds.
|
||||
*
|
||||
* @param timeout the number of seconds to wait for the proxy to be ready.
|
||||
* @param port the port to wait for the proxy to be ready on.
|
||||
* @return true if the proxy is ready, false if it is not.
|
||||
* @since 0.0.1
|
||||
*/
|
||||
public boolean waitForProxy(int timeout, int port) {
|
||||
return waitForProxy(timeout, port, "localhost");
|
||||
}
|
||||
/**
|
||||
* Waits for an HTTP proxy on the specified port to be ready.
|
||||
* Returns false on timeout of the specified number of seconds.
|
||||
*
|
||||
* @param timeout the number of seconds to wait for the proxy to be ready.
|
||||
* @param port the port to wait for the proxy to be ready on.
|
||||
* @param host the host to wait for the proxy to be ready on.
|
||||
* @return true if the proxy is ready, false if it is not.
|
||||
* @since 0.0.1
|
||||
*/
|
||||
public boolean waitForProxy(int timeout, int port, String host) {
|
||||
for (int i = 0; i < timeout; i++) {
|
||||
println("Waiting for proxy");
|
||||
if (checkifPortIsOccupied(port, host)) {
|
||||
return true;
|
||||
}
|
||||
try {
|
||||
Thread.sleep(1000);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
private boolean checkifPortIsOccupied(int port, String host) {
|
||||
try {
|
||||
Socket socket = new Socket(host, port);
|
||||
socket.close();
|
||||
return true;
|
||||
} catch (IOException e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private String usabilityMode() {
|
||||
if (usability) {
|
||||
return "usability";
|
||||
@ -480,8 +434,33 @@ public class I2PFirefox extends I2PCommonBrowser {
|
||||
println("Rebuilt profile directory: " + profileDirectory);
|
||||
}
|
||||
}
|
||||
if (validateProfileFirstRun(profileDirectory))
|
||||
return null;
|
||||
if (validateProfileFirstRun(profileDirectory)) {
|
||||
if (isWindows()) {
|
||||
ProcessBuilder hpb = headlessProcessBuilder(url);
|
||||
try {
|
||||
Process hp = hpb.start();
|
||||
try {
|
||||
boolean hev = hp.waitFor(5, TimeUnit.SECONDS);
|
||||
println("Headless browser run completed, exit: " + hev);
|
||||
if (!hev)
|
||||
hp.destroy();
|
||||
hev = hp.waitFor(5, TimeUnit.SECONDS);
|
||||
if (hp.isAlive()) {
|
||||
int forcedExitCode = hp.destroyForcibly().waitFor();
|
||||
println("Headless browser run forcibly terminated, exit: " +
|
||||
forcedExitCode);
|
||||
}
|
||||
int exitCode = hp.exitValue();
|
||||
println("Headless browser run completed, exit: " + exitCode);
|
||||
} catch (InterruptedException e) {
|
||||
println("Headless browser error " + e.toString());
|
||||
}
|
||||
} catch (IOException e) {
|
||||
println("Headless browser error " + e.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ProcessBuilder pb;
|
||||
if (privateWindow) {
|
||||
pb = privateProcessBuilder(url);
|
||||
@ -562,6 +541,8 @@ public class I2PFirefox extends I2PCommonBrowser {
|
||||
validateUserDir();
|
||||
boolean privateBrowsing = false;
|
||||
println("checking for private browsing");
|
||||
println("I2PFirefox");
|
||||
I2PFirefox i2pFirefox = new I2PFirefox();
|
||||
ArrayList<String> visitURL = new ArrayList<String>();
|
||||
if (args != null) {
|
||||
if (args.length > 0) {
|
||||
@ -574,6 +555,10 @@ public class I2PFirefox extends I2PCommonBrowser {
|
||||
if (arg.equals("-usability")) {
|
||||
usability = true;
|
||||
}
|
||||
if (arg.equals("-noproxycheck")) {
|
||||
println("zeroing out proxy check");
|
||||
i2pFirefox.setProxyTimeoutTime(0);
|
||||
}
|
||||
if (!arg.startsWith("-")) {
|
||||
// check if it's a URL
|
||||
visitURL.add(ValidURL(arg));
|
||||
@ -581,8 +566,6 @@ public class I2PFirefox extends I2PCommonBrowser {
|
||||
}
|
||||
}
|
||||
}
|
||||
println("I2PFirefox");
|
||||
I2PFirefox i2pFirefox = new I2PFirefox();
|
||||
i2pFirefox.launch(privateBrowsing,
|
||||
visitURL.toArray(new String[visitURL.size()]));
|
||||
}
|
||||
|
@ -2,9 +2,11 @@ package net.i2p.i2pfirefox;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileReader;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
import java.util.Scanner;
|
||||
|
||||
/**
|
||||
* I2PFirefoxProfileChecker.java
|
||||
@ -78,24 +80,27 @@ public class I2PFirefoxProfileChecker extends I2PCommonBrowser {
|
||||
println("extensions directory is invalid");
|
||||
return false;
|
||||
}
|
||||
return deRestrictHTTPS(profileDir.toString());
|
||||
return deRestrictHTTPSAndSetupHomepage(profileDir.toString());
|
||||
}
|
||||
|
||||
private static boolean deRestrictHTTPS(String profile) {
|
||||
private static boolean deRestrictHTTPSAndSetupHomepage(String profile) {
|
||||
// String profile = profileDirectory();
|
||||
File profileDir = new File(profile);
|
||||
if (profileDir.exists()) {
|
||||
File prefOverrides = new File(profile, "prefs.js");
|
||||
if (prefOverrides.exists()) {
|
||||
undoHttpsOnlyMode(prefOverrides);
|
||||
undoHomepage(prefOverrides);
|
||||
}
|
||||
File userSettings = new File(profile, "user.js");
|
||||
if (userSettings.exists()) {
|
||||
undoHttpsOnlyMode(userSettings);
|
||||
undoHomepage(userSettings);
|
||||
}
|
||||
File userOverrides = new File(profile, "user-overrides.js");
|
||||
if (userOverrides.exists()) {
|
||||
undoHttpsOnlyMode(userOverrides);
|
||||
undoHomepage(userOverrides);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
@ -104,6 +109,33 @@ public class I2PFirefoxProfileChecker extends I2PCommonBrowser {
|
||||
private static boolean undoHttpsOnlyMode(File fileToBeModified) {
|
||||
String oldString = "\"dom.security.https_only_mode\", true";
|
||||
String newString = "\"dom.security.https_only_mode\", false";
|
||||
return undoValue(oldString, newString, fileToBeModified);
|
||||
}
|
||||
|
||||
private static boolean undoHomepage(File fileToBeModified) {
|
||||
String oldString = "\"browser.startup.homepage\", true";
|
||||
File file = new File("Student.txt");
|
||||
String newString =
|
||||
"\"browser.startup.homepage\", \"http://127.0.0.1:7657\"";
|
||||
try {
|
||||
try (Scanner scanner = new Scanner(file)) {
|
||||
// now read the file line by line...
|
||||
while (scanner.hasNextLine()) {
|
||||
String line = scanner.nextLine();
|
||||
if (line.contains("browser.startup.homepage")) {
|
||||
oldString = line.toString();
|
||||
return undoValue(oldString, newString, fileToBeModified);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (FileNotFoundException e) {
|
||||
// handle this
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private static boolean undoValue(String oldString, String newString,
|
||||
File fileToBeModified) {
|
||||
String oldContent = "";
|
||||
BufferedReader reader = null;
|
||||
FileWriter writer = null;
|
||||
|
18
windows-exe.sh
Executable file
18
windows-exe.sh
Executable file
@ -0,0 +1,18 @@
|
||||
#! /usr/bin/env sh
|
||||
. ./config.sh
|
||||
jpackage \
|
||||
--verbose \
|
||||
--type exe \
|
||||
--win-dir-chooser \
|
||||
--win-help-url "https://geti2p.net" \
|
||||
--win-menu \
|
||||
--win-menu-group "I2P Browser Configurer" \
|
||||
--win-shortcut \
|
||||
--win-shortcut-prompt \
|
||||
--win-per-user-install \
|
||||
--license-file LICENSE.md \
|
||||
--name i2pbrowser \
|
||||
--app-version "$GITHUB_TAG" \
|
||||
--input src/build \
|
||||
--main-jar i2pfirefox.jar \
|
||||
--main-class net.i2p.i2pfirefox.I2PBrowser
|
18
windows-portable.sh
Executable file
18
windows-portable.sh
Executable file
@ -0,0 +1,18 @@
|
||||
#! /usr/bin/env sh
|
||||
. ./config.sh
|
||||
mkdir -p tmp
|
||||
cp -v LICENSE.md tmp/LICENSE.md
|
||||
rm -rf i2pbrowser-portable
|
||||
jpackage \
|
||||
--verbose \
|
||||
--type app-image \
|
||||
--name i2pbrowser-portable \
|
||||
--app-version "$GITHUB_TAG" \
|
||||
--input src/build \
|
||||
--main-jar i2pfirefox.jar \
|
||||
--resource-dir tmp \
|
||||
--main-class net.i2p.i2pfirefox.I2PBrowser
|
||||
rm -rf tmp
|
||||
cp -v LICENSE.md i2pbrowser-portable/LICENSE.md
|
||||
rm i2pbrowser-portable.zip -f
|
||||
zip -r i2pbrowser-portable-${GITHUB_TAG}.zip i2pbrowser-portable
|
@ -3,13 +3,34 @@ git pull --all
|
||||
. ../i2p.firefox/config.sh
|
||||
. ./config.sh
|
||||
. "${HOME}/github-release-config.sh"
|
||||
ant distclean jar jpackage
|
||||
ant distclean jar
|
||||
./windows.sh
|
||||
./windows-exe.sh
|
||||
./windows-portable.sh
|
||||
msisum=$(sha256sum "i2pbrowser-${GITHUB_TAG}.msi")
|
||||
github-release upload --user "${GITHUB_USER}" \
|
||||
--repo "${GITHUB_REPO}" \
|
||||
--tag "${GITHUB_TAG}" \
|
||||
--label "I2P Browser launcher as a Jpackage inside of an MSI package." \
|
||||
--name "i2pbrowser_${GITHUB_TAG}.msi" \
|
||||
--file "i2pbrowser_${GITHUB_TAG}.msi" \
|
||||
--label "I2P Browser launcher as a Jpackage inside of an MSI package. ${msisum}" \
|
||||
--name "i2pbrowser.msi" \
|
||||
--file "i2pbrowser-${GITHUB_TAG}.msi" \
|
||||
--replace
|
||||
echo "Uploaded Windows MSI package"
|
||||
echo "Uploaded MSI package"
|
||||
exesum=$(sha256sum "i2pbrowser-${GITHUB_TAG}.exe")
|
||||
github-release upload --user "${GITHUB_USER}" \
|
||||
--repo "${GITHUB_REPO}" \
|
||||
--tag "${GITHUB_TAG}" \
|
||||
--label "I2P Browser launcher as a Jpackage inside of an EXE package. ${exesum}" \
|
||||
--name "i2pbrowser.exe" \
|
||||
--file "i2pbrowser-${GITHUB_TAG}.exe" \
|
||||
--replace
|
||||
echo "Uploaded EXE package"
|
||||
zipsum=$(sha256sum "i2pbrowser-portable-${GITHUB_TAG}.zip")
|
||||
github-release upload --user "${GITHUB_USER}" \
|
||||
--repo "${GITHUB_REPO}" \
|
||||
--tag "${GITHUB_TAG}" \
|
||||
--label "I2P Browser launcher as a Jpackage inside of an zip to be run from a directory on Windows. ${zipsum}" \
|
||||
--name "i2pbrowser-portable.zip" \
|
||||
--file "i2pbrowser-portable-${GITHUB_TAG}.zip" \
|
||||
--replace
|
||||
echo "Uploaded Windows ZIP package"
|
||||
|
Reference in New Issue
Block a user