Compare commits
101 Commits
Author | SHA1 | Date | |
---|---|---|---|
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 | |||
a7e47cfc15 | |||
71060cd851 | |||
f3dc285ba6 | |||
bce2f0e286 | |||
8e70d9280c | |||
ea778bf5da | |||
a3de60fcb1 | |||
459c16aec2 | |||
d35a60cc01 | |||
733c2b1cc0 | |||
6b7ab66c99 | |||
4647cd4a0b | |||
b47fb744c4 | |||
a179482b95 | |||
0f44a3219b | |||
9c54e16978 | |||
395e1c2c95 | |||
d989337a9c | |||
7dbfdd9cbf | |||
6605220f4a | |||
d0440dcc56 | |||
4640cc528c | |||
94e03d045b |
1
.dockerignore
Normal file
1
.dockerignore
Normal file
@ -0,0 +1 @@
|
||||
.git
|
6
.gitignore
vendored
6
.gitignore
vendored
@ -13,3 +13,9 @@ src/build
|
||||
*.err
|
||||
*.log
|
||||
i2pbrowser/
|
||||
/i2pbrowser*.deb
|
||||
/i2pbrowser*.rpm
|
||||
/logs
|
||||
/*.jar
|
||||
/*.msi
|
||||
/*.exe
|
39
CHANGES.html
39
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,29 @@
|
||||
<a id="returnhome" href="/">
|
||||
/
|
||||
</a>
|
||||
<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>
|
||||
@ -131,6 +164,12 @@
|
||||
<li>
|
||||
Make tunnel nicknames different to avoid double shared tunnels
|
||||
</li>
|
||||
<li>
|
||||
Add support for building a .deb package.
|
||||
</li>
|
||||
<li>
|
||||
Add support for building an .msi package.
|
||||
</li>
|
||||
</ul>
|
||||
<h2>
|
||||
<a href="#fri-september-2" rel="nofollow">
|
||||
|
11
CHANGES.md
11
CHANGES.md
@ -1,8 +1,19 @@
|
||||
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 .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
|
||||
@ -539,7 +549,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
launch
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PBrowser.java#L156" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PBrowser.java#L157" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -569,7 +579,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
launch
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PBrowser.java#L165" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PBrowser.java#L166" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -595,7 +605,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
ValidURL
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PBrowser.java#L167" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PBrowser.java#L168" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -628,7 +638,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
main
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PBrowser.java#L177" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PBrowser.java#L178" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
|
@ -153,7 +153,7 @@ This method has no parameters.
|
||||
| url | String[] | |
|
||||
|
||||
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PBrowser.java#L156)
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PBrowser.java#L157)
|
||||
|
||||
+ Description: Populates a profile directory with a proxy configuration. Waits for an HTTP proxy on the port 4444 to be ready. Launches either Firefox or Chromium with the profile directory.
|
||||
+ Access: public
|
||||
@ -164,7 +164,7 @@ This method has no parameters.
|
||||
| privateWindow | boolean | |
|
||||
|
||||
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PBrowser.java#L165)
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PBrowser.java#L166)
|
||||
|
||||
+ Description: Populates a profile directory with a proxy configuration. Waits for an HTTP proxy on the port 4444 to be ready. Launches either Firefox or Chromium with the profile directory.
|
||||
+ Access: public
|
||||
@ -173,7 +173,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### ValidURL [[src]](src/java/net/i2p/i2pfirefox/I2PBrowser.java#L167)
|
||||
### ValidURL [[src]](src/java/net/i2p/i2pfirefox/I2PBrowser.java#L168)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -185,7 +185,7 @@ This method has no parameters.
|
||||
| inUrl | String | |
|
||||
|
||||
|
||||
### main [[src]](src/java/net/i2p/i2pfirefox/I2PBrowser.java#L177)
|
||||
### main [[src]](src/java/net/i2p/i2pfirefox/I2PBrowser.java#L178)
|
||||
|
||||
+ Description:
|
||||
+ 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
|
||||
@ -897,7 +907,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
launch
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L597" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L598" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -929,7 +939,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
launch
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L622" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L623" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -959,7 +969,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
launch
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L631" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L632" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -985,7 +995,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
ValidURL
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L633" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L634" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -1018,7 +1028,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
main
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L643" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L644" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -1051,7 +1061,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
sleep
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L670" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PChromium.java#L672" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
|
@ -277,7 +277,7 @@ This method has no parameters.
|
||||
| url | String[] | |
|
||||
|
||||
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L597)
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L598)
|
||||
|
||||
+ 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 +289,7 @@ This method has no parameters.
|
||||
| url | String[] | |
|
||||
|
||||
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L622)
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L623)
|
||||
|
||||
+ 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 +300,7 @@ This method has no parameters.
|
||||
| privateWindow | boolean | |
|
||||
|
||||
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L631)
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L632)
|
||||
|
||||
+ 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 +309,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### ValidURL [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L633)
|
||||
### ValidURL [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L634)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -321,7 +321,7 @@ This method has no parameters.
|
||||
| inUrl | String | |
|
||||
|
||||
|
||||
### main [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L643)
|
||||
### main [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L644)
|
||||
|
||||
+ Description:
|
||||
+ Access: public
|
||||
@ -333,7 +333,7 @@ This method has no parameters.
|
||||
| args | String[] | |
|
||||
|
||||
|
||||
### sleep [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L670)
|
||||
### sleep [[src]](src/java/net/i2p/i2pfirefox/I2PChromium.java#L672)
|
||||
|
||||
+ 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
|
||||
@ -217,12 +227,70 @@
|
||||
</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: protected
|
||||
<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#L52" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L110" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -255,7 +323,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
logFile
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L54" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L112" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -284,7 +352,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
runtimeDirectory
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L68" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L128" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -319,7 +387,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
runtimeDirectory
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L85" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L145" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -352,7 +420,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
profileDirectory
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L132" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L192" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -387,7 +455,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
profileDir
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L144" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L204" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -422,7 +490,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
unpackProfile
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L150" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L210" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -456,7 +524,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
copyDirectory
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L196" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L256" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -495,7 +563,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
copyDirectoryCompatibityMode
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L212" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L272" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -534,7 +602,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
copyFile
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L221" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L281" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -569,7 +637,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
validateProfileFirstRun
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L232" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L292" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
|
@ -36,7 +36,27 @@ package: net.i2p.i2pfirefox
|
||||
|
||||
## Methods
|
||||
|
||||
### println [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L52)
|
||||
### 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: protected
|
||||
+ Modifiers: static
|
||||
+ return: boolean
|
||||
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### println [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L110)
|
||||
|
||||
+ Description:
|
||||
+ Access: public
|
||||
@ -48,7 +68,7 @@ package: net.i2p.i2pfirefox
|
||||
| line | String | |
|
||||
|
||||
|
||||
### logFile [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L54)
|
||||
### logFile [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L112)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -58,7 +78,7 @@ package: net.i2p.i2pfirefox
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### runtimeDirectory [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L68)
|
||||
### runtimeDirectory [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L128)
|
||||
|
||||
+ Description: get the runtime directory creating it if create=true
|
||||
+ Access: protected
|
||||
@ -71,7 +91,7 @@ This method has no parameters.
|
||||
| override | String | |
|
||||
|
||||
|
||||
### runtimeDirectory [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L85)
|
||||
### runtimeDirectory [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L145)
|
||||
|
||||
+ Description: get the correct runtime directory
|
||||
+ Access: protected
|
||||
@ -83,7 +103,7 @@ This method has no parameters.
|
||||
| override | String | |
|
||||
|
||||
|
||||
### profileDirectory [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L132)
|
||||
### profileDirectory [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L192)
|
||||
|
||||
+ Description: get the profile directory creating it if necessary
|
||||
+ Access: protected
|
||||
@ -96,7 +116,7 @@ This method has no parameters.
|
||||
| browser | String | |
|
||||
|
||||
|
||||
### profileDir [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L144)
|
||||
### profileDir [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L204)
|
||||
|
||||
+ Description:
|
||||
+ Access: protected
|
||||
@ -109,7 +129,7 @@ This method has no parameters.
|
||||
| browser | String | |
|
||||
|
||||
|
||||
### unpackProfile [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L150)
|
||||
### unpackProfile [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L210)
|
||||
|
||||
+ Description:
|
||||
+ Access: protected
|
||||
@ -122,7 +142,7 @@ This method has no parameters.
|
||||
| base | String | |
|
||||
|
||||
|
||||
### copyDirectory [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L196)
|
||||
### copyDirectory [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L256)
|
||||
|
||||
+ Description:
|
||||
+ Access: protected
|
||||
@ -137,7 +157,7 @@ This method has no parameters.
|
||||
| base | String | |
|
||||
|
||||
|
||||
### copyDirectoryCompatibityMode [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L212)
|
||||
### copyDirectoryCompatibityMode [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L272)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -152,7 +172,7 @@ This method has no parameters.
|
||||
| base | String | |
|
||||
|
||||
|
||||
### copyFile [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L221)
|
||||
### copyFile [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L281)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -165,7 +185,7 @@ This method has no parameters.
|
||||
| destinationFile | File | |
|
||||
|
||||
|
||||
### validateProfileFirstRun [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L232)
|
||||
### validateProfileFirstRun [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L292)
|
||||
|
||||
+ Description:
|
||||
+ Access: public
|
||||
|
101
I2PFirefox.html
101
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
|
||||
@ -182,6 +192,9 @@
|
||||
<li>
|
||||
java.util.ArrayList
|
||||
</li>
|
||||
<li>
|
||||
java.util.concurrent.TimeUnit
|
||||
</li>
|
||||
</ul>
|
||||
<br>
|
||||
<h2>
|
||||
@ -274,7 +287,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#L46" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -303,7 +316,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#L61" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -332,7 +345,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#L78" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -361,7 +374,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#L114" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -390,7 +403,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#L134" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -419,7 +432,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#L148" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -448,7 +461,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
FIREFOX_FINDER
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L201" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L204" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -477,7 +490,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
getOperatingSystem
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L213" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L216" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -506,7 +519,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
onlyValidFirefoxes
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L235" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L238" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -532,7 +545,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
topFirefox
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L255" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L258" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -558,7 +571,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
topFirefox
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L284" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L287" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -588,7 +601,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
defaultProcessBuilder
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L302" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L305" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -614,7 +627,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
defaultProcessBuilder
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L314" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L317" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -644,7 +657,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
privateProcessBuilder
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L328" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L331" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -670,7 +683,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
privateProcessBuilder
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L341" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L344" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -695,12 +708,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#L366" 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#L364" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L389" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -730,7 +773,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
waitForProxy
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L398" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L423" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -756,7 +799,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
waitForProxy
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L408" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L433" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -786,7 +829,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
waitForProxy
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L420" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L445" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -818,7 +861,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
waitForProxy
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L433" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L458" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -852,7 +895,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
checkifPortIsOccupied
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L447" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L472" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -884,7 +927,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
usabilityMode
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L457" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L482" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -910,7 +953,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
launchAndDetatch
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L464" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L489" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -942,7 +985,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
launch
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L511" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L554" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -974,7 +1017,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
launch
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L535" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L578" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -1004,7 +1047,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
launch
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L545" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L588" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -1030,7 +1073,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
ValidURL
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L547" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L590" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -1063,7 +1106,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
main
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L558" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L601" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -1096,7 +1139,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
sleep
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L586" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L630" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
|
@ -21,6 +21,7 @@ package: net.i2p.i2pfirefox
|
||||
<li>java.io.IOException</li>
|
||||
<li>java.net.Socket</li>
|
||||
<li>java.util.ArrayList</li>
|
||||
<li>java.util.concurrent.TimeUnit</li>
|
||||
</ul>
|
||||
</details>
|
||||
|
||||
@ -55,7 +56,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#L46)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -65,7 +66,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#L61)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -75,7 +76,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#L78)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -85,7 +86,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#L114)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -95,7 +96,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#L134)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -105,7 +106,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#L148)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -115,7 +116,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### FIREFOX_FINDER [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L201)
|
||||
### FIREFOX_FINDER [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L204)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -125,7 +126,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### getOperatingSystem [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L213)
|
||||
### getOperatingSystem [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L216)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -135,7 +136,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### onlyValidFirefoxes [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L235)
|
||||
### onlyValidFirefoxes [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L238)
|
||||
|
||||
+ 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 +145,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### topFirefox [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L255)
|
||||
### topFirefox [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L258)
|
||||
|
||||
+ Description: Return the best available Firefox from the list of Firefoxes we have.
|
||||
+ Access: public
|
||||
@ -153,7 +154,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### topFirefox [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L284)
|
||||
### topFirefox [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L287)
|
||||
|
||||
+ 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 +165,7 @@ This method has no parameters.
|
||||
| overrideFirefox | String | |
|
||||
|
||||
|
||||
### defaultProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L302)
|
||||
### defaultProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L305)
|
||||
|
||||
+ Description: Build a ProcessBuilder for the top Firefox binary and the default profile.
|
||||
+ Access: public
|
||||
@ -173,7 +174,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### defaultProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L314)
|
||||
### defaultProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L317)
|
||||
|
||||
+ Description: Build a ProcessBuilder for the top Firefox binary and the default profile.
|
||||
+ Access: public
|
||||
@ -184,7 +185,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#L328)
|
||||
### privateProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L331)
|
||||
|
||||
+ 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 +194,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### privateProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L341)
|
||||
### privateProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L344)
|
||||
|
||||
+ 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 +205,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#L364)
|
||||
### headlessProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L366)
|
||||
|
||||
+ 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#L389)
|
||||
|
||||
+ Description: Build a ProcessBuilder for the top Firefox binary and the default profile with a specific set of extended arguments.
|
||||
+ Access: public
|
||||
@ -215,7 +227,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#L398)
|
||||
### waitForProxy [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L423)
|
||||
|
||||
+ Description: Waits for an HTTP proxy on port 4444 to be ready. Returns false on timeout of 200 seconds.
|
||||
+ Access: public
|
||||
@ -224,7 +236,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### waitForProxy [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L408)
|
||||
### waitForProxy [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L433)
|
||||
|
||||
+ Description: Waits for an HTTP proxy on port 4444 to be ready. Returns false on timeout of the specified number of seconds.
|
||||
+ Access: public
|
||||
@ -235,7 +247,7 @@ This method has no parameters.
|
||||
| timeout | int | the number of seconds to wait for the proxy to be ready. |
|
||||
|
||||
|
||||
### waitForProxy [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L420)
|
||||
### waitForProxy [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L445)
|
||||
|
||||
+ 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
|
||||
@ -247,7 +259,7 @@ This method has no parameters.
|
||||
| port | int | the port to wait for the proxy to be ready on. |
|
||||
|
||||
|
||||
### waitForProxy [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L433)
|
||||
### waitForProxy [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L458)
|
||||
|
||||
+ 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
|
||||
@ -260,7 +272,7 @@ This method has no parameters.
|
||||
| host | String | the host to wait for the proxy to be ready on. |
|
||||
|
||||
|
||||
### checkifPortIsOccupied [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L447)
|
||||
### checkifPortIsOccupied [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L472)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -272,7 +284,7 @@ This method has no parameters.
|
||||
| host | String | |
|
||||
|
||||
|
||||
### usabilityMode [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L457)
|
||||
### usabilityMode [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L482)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -281,7 +293,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### launchAndDetatch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L464)
|
||||
### launchAndDetatch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L489)
|
||||
|
||||
+ Description:
|
||||
+ Access: public
|
||||
@ -293,7 +305,7 @@ This method has no parameters.
|
||||
| url | String[] | |
|
||||
|
||||
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L511)
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L554)
|
||||
|
||||
+ 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 +317,7 @@ This method has no parameters.
|
||||
| url | String[] | |
|
||||
|
||||
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L535)
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L578)
|
||||
|
||||
+ 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 +328,7 @@ This method has no parameters.
|
||||
| privateWindow | boolean | |
|
||||
|
||||
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L545)
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L588)
|
||||
|
||||
+ 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 +337,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### ValidURL [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L547)
|
||||
### ValidURL [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L590)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -337,7 +349,7 @@ This method has no parameters.
|
||||
| inUrl | String | |
|
||||
|
||||
|
||||
### main [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L558)
|
||||
### main [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L601)
|
||||
|
||||
+ Description:
|
||||
+ Access: public
|
||||
@ -349,7 +361,7 @@ This method has no parameters.
|
||||
| args | String[] | |
|
||||
|
||||
|
||||
### sleep [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L586)
|
||||
### sleep [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L630)
|
||||
|
||||
+ 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
|
||||
@ -652,7 +662,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
launch
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PGenericUnsafeBrowser.java#L349" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PGenericUnsafeBrowser.java#L350" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -684,7 +694,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
sleep
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PGenericUnsafeBrowser.java#L366" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PGenericUnsafeBrowser.java#L367" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -717,7 +727,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
ValidURL
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PGenericUnsafeBrowser.java#L374" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PGenericUnsafeBrowser.java#L375" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -750,7 +760,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
checkifPortIsOccupied
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PGenericUnsafeBrowser.java#L384" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PGenericUnsafeBrowser.java#L385" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
|
@ -192,7 +192,7 @@ This method has no parameters.
|
||||
| url | String[] | |
|
||||
|
||||
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PGenericUnsafeBrowser.java#L349)
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PGenericUnsafeBrowser.java#L350)
|
||||
|
||||
+ Description:
|
||||
+ Access: public
|
||||
@ -204,7 +204,7 @@ This method has no parameters.
|
||||
| url | String[] | |
|
||||
|
||||
|
||||
### sleep [[src]](src/java/net/i2p/i2pfirefox/I2PGenericUnsafeBrowser.java#L366)
|
||||
### sleep [[src]](src/java/net/i2p/i2pfirefox/I2PGenericUnsafeBrowser.java#L367)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -216,7 +216,7 @@ This method has no parameters.
|
||||
| millis | int | |
|
||||
|
||||
|
||||
### ValidURL [[src]](src/java/net/i2p/i2pfirefox/I2PGenericUnsafeBrowser.java#L374)
|
||||
### ValidURL [[src]](src/java/net/i2p/i2pfirefox/I2PGenericUnsafeBrowser.java#L375)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -228,7 +228,7 @@ This method has no parameters.
|
||||
| inUrl | String | |
|
||||
|
||||
|
||||
### checkifPortIsOccupied [[src]](src/java/net/i2p/i2pfirefox/I2PGenericUnsafeBrowser.java#L384)
|
||||
### checkifPortIsOccupied [[src]](src/java/net/i2p/i2pfirefox/I2PGenericUnsafeBrowser.java#L385)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
|
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.30
|
||||
==============================
|
||||
|
||||
- [74c272422f1b1753ee02e0cc5bee22e74a740ac4c929343559377a265825586e i2pfirefox.jar](https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/0.0.30/i2pfirefox.jar)
|
||||
- [7e387b08f6871c5465a6d6c554afd175889dd9e1eabd5d33a7c62189f4db1c3c i2pfirefox.zip](https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/0.0.30/i2pfirefox.zip)
|
||||
- [4befe1bbd83c4652ee7253c3a9c6023f8f3381c85a7565412e9d5136d03cac07 i2pbrowser.zip](https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/0.0.30/i2pbrowser.zip)
|
||||
- [96c1fc9b8e9ed715737e7cfa58761d6ef981c15a0eb3c75c3ac0843ce995c604 i2pbrowser_0.0.30_.deb](https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/0.0.30/i2pbrowser_0.0.30_.deb)
|
||||
- [b8c45ded657ac2e8731364fbaa68029a71db86cf97d68ca318348eecd7fd61cf i2pbrowser-0.0.30_.rpm](https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/0.0.30/i2pbrowser-0.0.30_.rpm)
|
||||
- [d5848aa6d0be92a1e248c8e25a2396a720dfdd3bf68b73b77cd92163b6945fbf i2pbrowser.msi](https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/0.0.30/i2pbrowser.msi)
|
||||
- [54032b5cee012dab75dcdf4c935bd5528c0bee50ea0deb178ec43fc47125edf1 i2pbrowser.exe](https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/0.0.30/i2pbrowser.exe)
|
||||
- [4eb1ee90373bf983421ba6c568cdd2b1ca88f838d64540d071f98b9c597c3c09 i2pbrowser-portable.zip](https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/0.0.30/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
|
||||
|
17
build.xml
17
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.26" />
|
||||
<property name="release.number" value="0.0.31" />
|
||||
|
||||
<!-- 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" />
|
||||
@ -434,4 +435,18 @@ Linux(because the top command will be run and the script will exit).\n\nBoth det
|
||||
<arg value="i2pbrowser"/>
|
||||
</exec>
|
||||
</target>
|
||||
<target name="debian" depends="jar">
|
||||
<exec executable="bash" failonerror="true">
|
||||
<arg value="--verbose"/>
|
||||
<arg value="-c"/>
|
||||
<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>
|
||||
|
6
config.sh
Executable file
6
config.sh
Executable file
@ -0,0 +1,6 @@
|
||||
#! /usr/bin/env sh
|
||||
export GITHUB_USER=eyedeekay
|
||||
export GITHUB_REPO=i2p.plugins.firefox
|
||||
export GITHUB_NAME="Destroy headless process if it goes too long"
|
||||
export GITHUB_DESCRIPTION=$(cat CHANGES.md)
|
||||
export GITHUB_TAG=0.0.31
|
16
debian.sh
Executable file
16
debian.sh
Executable file
@ -0,0 +1,16 @@
|
||||
#! /usr/bin/env sh
|
||||
|
||||
. ./config.sh
|
||||
jpackage --verbose \
|
||||
--type deb \
|
||||
--linux-deb-maintainer hankhill19580@gmail.com \
|
||||
--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
|
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}_.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}_.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
|
41
release.sh
41
release.sh
@ -1,16 +1,12 @@
|
||||
#! /usr/bin/env sh
|
||||
|
||||
GITHUB_USER=eyedeekay
|
||||
GITHUB_REPO=i2p.plugins.firefox
|
||||
GITHUB_NAME="Always pass --new-instance to Firefox"
|
||||
GITHUB_DESCRIPTION=$(cat CHANGES.md)
|
||||
GITHUB_TAG=0.0.26
|
||||
ant distclean
|
||||
. ./config.sh
|
||||
ant distclean clangFmt
|
||||
./javadoc.sh
|
||||
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
|
||||
ant jar freeZip jpackage debian fedora
|
||||
github-release release --user "${GITHUB_USER}" \
|
||||
--repo "${GITHUB_REPO}" \
|
||||
--name "${GITHUB_NAME}" \
|
||||
@ -22,30 +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
|
||||
--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. ${debsum}" \
|
||||
--name "i2pbrowser_${GITHUB_TAG}_.deb" \
|
||||
--file "i2pbrowser_${GITHUB_TAG}_amd64.deb" \
|
||||
--replace
|
||||
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}_.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.
@ -112,6 +112,7 @@ public class I2PBrowser extends I2PCommonBrowser {
|
||||
* @since 0.0.17
|
||||
*/
|
||||
public void launch(boolean privateWindow, String[] url) {
|
||||
validateUserDir();
|
||||
if (generic)
|
||||
this.launchGeneric(privateWindow, url);
|
||||
if ((chromium && firefox) || (!chromium && !firefox)) {
|
||||
@ -175,6 +176,7 @@ public class I2PBrowser extends I2PCommonBrowser {
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
validateUserDir();
|
||||
boolean privateBrowsing = false;
|
||||
println("I2PBrowser");
|
||||
I2PBrowser i2pBrowser = new I2PBrowser();
|
||||
|
@ -549,6 +549,7 @@ public class I2PChromium extends I2PCommonBrowser {
|
||||
}
|
||||
|
||||
public Process launchAndDetatch(boolean privateWindow, String[] url) {
|
||||
validateUserDir();
|
||||
if (waitForProxy()) {
|
||||
String profileDirectory = I2PChromiumProfileBuilder.profileDirectory();
|
||||
if (I2PChromiumProfileChecker.validateProfileDirectory(
|
||||
@ -641,6 +642,7 @@ public class I2PChromium extends I2PCommonBrowser {
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
validateUserDir();
|
||||
boolean privateBrowsing = false;
|
||||
println("I2PChromium");
|
||||
I2PChromium i2pChromium = new I2PChromium();
|
||||
|
@ -49,10 +49,70 @@ public class I2PCommonBrowser {
|
||||
}
|
||||
}
|
||||
|
||||
public static void validateUserDir() {
|
||||
println("Validating user directory");
|
||||
String userDir = System.getProperty("user.dir");
|
||||
String userHome = System.getProperty("user.home");
|
||||
File userDirFile = new File(userDir);
|
||||
File userHomeFile = new File(userHome);
|
||||
println("user.dir testing !" + userHomeFile.getAbsolutePath() + ".equals(" +
|
||||
userDirFile.getAbsolutePath() + ")");
|
||||
if (!userDirFile.getAbsolutePath().contains("Program Files")) {
|
||||
if (!userDirFile.getAbsolutePath().equals(
|
||||
userHomeFile.getAbsolutePath())) {
|
||||
println("user.dir is not inconvenient");
|
||||
if (userDirFile.exists()) {
|
||||
println("user.dir exists");
|
||||
if (userDirFile.isDirectory()) {
|
||||
println("user.dir is a directory");
|
||||
if (userDirFile.canWrite()) {
|
||||
println("user.dir is writable");
|
||||
return;
|
||||
} else {
|
||||
println("user.dir is not writable");
|
||||
}
|
||||
}
|
||||
{ println("user.dir is not actually a directory"); }
|
||||
} else {
|
||||
println("user.dir does not exist");
|
||||
}
|
||||
} else {
|
||||
println("user.dir should not be the same as user.home");
|
||||
}
|
||||
} else {
|
||||
println("user.dir cannot run from inside Program Files");
|
||||
}
|
||||
if (isWindows())
|
||||
userHome = new File(userHome, "AppData/Local/I2P").getAbsolutePath();
|
||||
File defaultPathFile = new File(userHome, "i2p/i2pbrowser");
|
||||
if (!defaultPathFile.exists())
|
||||
defaultPathFile.mkdirs();
|
||||
if (!defaultPathFile.isDirectory()) {
|
||||
println(
|
||||
"default path exists and is not a directory, get it out of the way");
|
||||
println(defaultPathFile.getAbsolutePath());
|
||||
}
|
||||
System.setProperty("user.dir", defaultPathFile.getAbsolutePath());
|
||||
}
|
||||
|
||||
protected static boolean isWindows() {
|
||||
String osName = System.getProperty("os.name");
|
||||
println("os.name" + osName);
|
||||
if (osName.contains("windows"))
|
||||
return true;
|
||||
if (osName.contains("Windows"))
|
||||
return true;
|
||||
if (osName.contains("WINDOWS"))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
public static void println(String line) { logger.info(line); }
|
||||
|
||||
private static File logFile() {
|
||||
File log = new File("logs");
|
||||
validateUserDir();
|
||||
String userDir = System.getProperty("user.dir");
|
||||
File log = new File(userDir, "logs");
|
||||
if (!log.exists())
|
||||
log.mkdirs();
|
||||
return new File(log, "browserlauncher.log");
|
||||
|
@ -4,6 +4,7 @@ import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.net.Socket;
|
||||
import java.util.ArrayList;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
* I2PFirefox.java
|
||||
@ -184,6 +185,8 @@ public class I2PFirefox extends I2PCommonBrowser {
|
||||
// list the files in the user.dir directory
|
||||
if (userFiles != null) {
|
||||
for (File userFile : userFiles) {
|
||||
if (userFile.isDirectory())
|
||||
continue;
|
||||
if (userFile.getName().equals("firefox") ||
|
||||
userFile.getName().equals("firefox-bin") ||
|
||||
userFile.getName().equals("firefox-esr") ||
|
||||
@ -330,7 +333,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.
|
||||
*
|
||||
@ -351,6 +354,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
|
||||
@ -462,6 +487,7 @@ public class I2PFirefox extends I2PCommonBrowser {
|
||||
}
|
||||
|
||||
public Process launchAndDetatch(boolean privateWindow, String[] url) {
|
||||
validateUserDir();
|
||||
if (waitForProxy()) {
|
||||
String profileDirectory = I2PFirefoxProfileBuilder.profileDirectory();
|
||||
if (I2PFirefoxProfileChecker.validateProfileDirectory(profileDirectory)) {
|
||||
@ -477,8 +503,25 @@ 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(20, TimeUnit.SECONDS);
|
||||
println("Headless browser run completed, exit: " + hev);
|
||||
if (!hev)
|
||||
hp.destroy();
|
||||
} 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);
|
||||
@ -556,6 +599,7 @@ public class I2PFirefox extends I2PCommonBrowser {
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
validateUserDir();
|
||||
boolean privateBrowsing = false;
|
||||
println("checking for private browsing");
|
||||
ArrayList<String> visitURL = new ArrayList<String>();
|
||||
|
@ -326,6 +326,7 @@ public class I2PGenericUnsafeBrowser extends I2PCommonBrowser {
|
||||
}
|
||||
|
||||
public Process launchAndDetatch(boolean privateWindow, String[] url) {
|
||||
validateUserDir();
|
||||
if (waitForProxy()) {
|
||||
ProcessBuilder pb;
|
||||
if (privateWindow) {
|
||||
@ -393,6 +394,7 @@ public class I2PGenericUnsafeBrowser extends I2PCommonBrowser {
|
||||
|
||||
//
|
||||
public static void main(String[] args) {
|
||||
validateUserDir();
|
||||
boolean privateBrowsing = false;
|
||||
println("checking for private browsing");
|
||||
ArrayList<String> visitURL = new ArrayList<String>();
|
||||
|
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
|
36
windows-release.sh
Executable file
36
windows-release.sh
Executable file
@ -0,0 +1,36 @@
|
||||
#! /usr/bin/env sh
|
||||
git pull --all
|
||||
. ../i2p.firefox/config.sh
|
||||
. ./config.sh
|
||||
. "${HOME}/github-release-config.sh"
|
||||
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. ${msisum}" \
|
||||
--name "i2pbrowser.msi" \
|
||||
--file "i2pbrowser-${GITHUB_TAG}.msi" \
|
||||
--replace
|
||||
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"
|
18
windows.sh
Executable file
18
windows.sh
Executable file
@ -0,0 +1,18 @@
|
||||
#! /usr/bin/env sh
|
||||
. ./config.sh
|
||||
jpackage \
|
||||
--verbose \
|
||||
--type msi \
|
||||
--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
|
Reference in New Issue
Block a user