Compare commits

...

28 Commits

Author SHA1 Message Date
idk
a7e47cfc15 update I2PCommonBrowser.html 2022-09-05 21:54:29 -04:00
idk
71060cd851 update CHANGES.html 2022-09-05 21:54:03 -04:00
idk
f3dc285ba6 update index.html 2022-09-05 21:53:59 -04:00
idk
bce2f0e286 Windows releaser too. 2022-09-05 21:53:24 -04:00
idk
8e70d9280c Windows releaser too. 2022-09-05 21:52:18 -04:00
idk
ea778bf5da never run inside Program Files, allow per-user install 2022-09-05 21:32:31 -04:00
idk
a3de60fcb1 fix releaser script 2022-09-05 21:28:36 -04:00
idk
459c16aec2 update I2PGenericUnsafeBrowser.html 2022-09-05 21:15:53 -04:00
idk
d35a60cc01 update I2PFirefox.html 2022-09-05 21:15:39 -04:00
idk
733c2b1cc0 update I2PCommonBrowser.html 2022-09-05 21:15:35 -04:00
idk
6b7ab66c99 update I2PChromium.html 2022-09-05 21:15:21 -04:00
idk
4647cd4a0b update I2PBrowser.html 2022-09-05 21:15:18 -04:00
idk
b47fb744c4 update CHANGES.html 2022-09-05 21:15:11 -04:00
idk
a179482b95 release 2022-09-05 21:14:59 -04:00
idk
0f44a3219b update index.html 2022-09-05 21:13:01 -04:00
idk
9c54e16978 debian package 2022-09-05 21:12:53 -04:00
idk
395e1c2c95 debian package 2022-09-05 21:12:10 -04:00
idk
d989337a9c set a default directory in some cases 2022-09-05 21:08:11 -04:00
idk
7dbfdd9cbf make everything distributable better 2022-09-05 18:43:02 -04:00
idk
6605220f4a make it so Windows can find things easier 2022-09-05 18:28:23 -04:00
idk
d0440dcc56 update gitignore 2022-09-05 18:26:00 -04:00
idk
4640cc528c Freestanding packages. Why the heck not. 2022-09-05 18:23:33 -04:00
idk
94e03d045b add support for a Debian package. Yeah a Debian package. 2022-09-05 17:50:04 -04:00
idk
b6a66cf96e update I2PFirefox.html 2022-09-05 10:21:30 -04:00
idk
91f44d29f7 update CHANGES.html 2022-09-05 10:20:59 -04:00
idk
9152da34c9 update index.html 2022-09-05 10:20:55 -04:00
idk
e49cd5d470 update changelog 2022-09-05 10:19:03 -04:00
idk
02c148ccbd always pass --new-instance to firefox 2022-09-05 10:16:52 -04:00
27 changed files with 355 additions and 110 deletions

2
.gitignore vendored
View File

@ -13,3 +13,5 @@ src/build
*.err
*.log
i2pbrowser/
/i2pbrowser*.deb
/logs

View File

@ -118,6 +118,26 @@
<a id="returnhome" href="/">
/
</a>
<h2>
<a href="#mon-september-5" rel="nofollow">
<span></span>
</a>
Mon, September 5
</h2>
<ul>
<li>
Fix several issues with running on Windows 11
</li>
<li>
Make tunnel nicknames different to avoid double shared tunnels
</li>
<li>
Add support for building a Debian package.
</li>
<li>
Add support for building an MSI package.
</li>
</ul>
<h2>
<a href="#fri-september-2" rel="nofollow">
<span></span>

View File

@ -1,3 +1,11 @@
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.
Fri, September 2
----------------

View File

@ -539,7 +539,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 +569,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 +595,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 +628,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>

View File

@ -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

View File

@ -897,7 +897,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 +929,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 +959,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 +985,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 +1018,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 +1051,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>

View File

@ -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

View File

@ -217,12 +217,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: 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#L52" rel="nofollow">
<a href="src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L110" rel="nofollow">
[src]
</a>
</h3>
@ -255,7 +313,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 +342,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 +377,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 +410,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 +445,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 +480,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 +514,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 +553,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 +592,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 +627,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>

View File

@ -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: private
+ 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

View File

@ -448,7 +448,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#L203" rel="nofollow">
[src]
</a>
</h3>
@ -477,7 +477,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#L215" rel="nofollow">
[src]
</a>
</h3>
@ -506,7 +506,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#L237" rel="nofollow">
[src]
</a>
</h3>
@ -532,7 +532,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#L257" rel="nofollow">
[src]
</a>
</h3>
@ -558,7 +558,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#L286" rel="nofollow">
[src]
</a>
</h3>
@ -588,7 +588,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#L304" rel="nofollow">
[src]
</a>
</h3>
@ -614,7 +614,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#L316" rel="nofollow">
[src]
</a>
</h3>
@ -644,7 +644,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#L330" rel="nofollow">
[src]
</a>
</h3>
@ -670,7 +670,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#L343" rel="nofollow">
[src]
</a>
</h3>
@ -700,7 +700,7 @@
<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#L366" rel="nofollow">
[src]
</a>
</h3>
@ -730,7 +730,7 @@
<span></span>
</a>
waitForProxy
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L397" rel="nofollow">
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L400" rel="nofollow">
[src]
</a>
</h3>
@ -756,7 +756,7 @@
<span></span>
</a>
waitForProxy
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L407" rel="nofollow">
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L410" rel="nofollow">
[src]
</a>
</h3>
@ -786,7 +786,7 @@
<span></span>
</a>
waitForProxy
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L419" rel="nofollow">
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L422" rel="nofollow">
[src]
</a>
</h3>
@ -818,7 +818,7 @@
<span></span>
</a>
waitForProxy
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L432" rel="nofollow">
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L435" rel="nofollow">
[src]
</a>
</h3>
@ -852,7 +852,7 @@
<span></span>
</a>
checkifPortIsOccupied
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L446" rel="nofollow">
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L449" rel="nofollow">
[src]
</a>
</h3>
@ -884,7 +884,7 @@
<span></span>
</a>
usabilityMode
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L456" rel="nofollow">
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L459" rel="nofollow">
[src]
</a>
</h3>
@ -910,7 +910,7 @@
<span></span>
</a>
launchAndDetatch
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L463" rel="nofollow">
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L466" rel="nofollow">
[src]
</a>
</h3>
@ -942,7 +942,7 @@
<span></span>
</a>
launch
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L510" rel="nofollow">
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L514" rel="nofollow">
[src]
</a>
</h3>
@ -974,7 +974,7 @@
<span></span>
</a>
launch
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L534" rel="nofollow">
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L538" rel="nofollow">
[src]
</a>
</h3>
@ -1004,7 +1004,7 @@
<span></span>
</a>
launch
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L544" rel="nofollow">
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L548" rel="nofollow">
[src]
</a>
</h3>
@ -1030,7 +1030,7 @@
<span></span>
</a>
ValidURL
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L546" rel="nofollow">
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L550" rel="nofollow">
[src]
</a>
</h3>
@ -1063,7 +1063,7 @@
<span></span>
</a>
main
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L557" rel="nofollow">
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L561" rel="nofollow">
[src]
</a>
</h3>
@ -1096,7 +1096,7 @@
<span></span>
</a>
sleep
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L585" rel="nofollow">
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L590" rel="nofollow">
[src]
</a>
</h3>

View File

@ -115,7 +115,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#L203)
+ Description:
+ Access: private
@ -125,7 +125,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#L215)
+ Description:
+ Access: private
@ -135,7 +135,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#L237)
+ 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 +144,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#L257)
+ Description: Return the best available Firefox from the list of Firefoxes we have.
+ Access: public
@ -153,7 +153,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#L286)
+ 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 +164,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#L304)
+ Description: Build a ProcessBuilder for the top Firefox binary and the default profile.
+ Access: public
@ -173,7 +173,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#L316)
+ Description: Build a ProcessBuilder for the top Firefox binary and the default profile.
+ Access: public
@ -184,7 +184,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#L330)
+ 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 +193,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#L343)
+ 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 +204,7 @@ 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)
### processBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L366)
+ Description: Build a ProcessBuilder for the top Firefox binary and the default profile with a specific set of extended arguments.
+ Access: public
@ -215,7 +215,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#L397)
### 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
@ -224,7 +224,7 @@ This method has no parameters.
This method has no parameters.
### waitForProxy [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L407)
### 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
@ -235,7 +235,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#L419)
### 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
@ -247,7 +247,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#L432)
### 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
@ -260,7 +260,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#L446)
### checkifPortIsOccupied [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L449)
+ Description:
+ Access: private
@ -272,7 +272,7 @@ This method has no parameters.
| host | String | |
### usabilityMode [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L456)
### usabilityMode [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L459)
+ Description:
+ Access: private
@ -281,7 +281,7 @@ This method has no parameters.
This method has no parameters.
### launchAndDetatch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L463)
### launchAndDetatch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L466)
+ Description:
+ Access: public
@ -293,7 +293,7 @@ This method has no parameters.
| url | String[] | |
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L510)
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L514)
+ 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 +305,7 @@ This method has no parameters.
| url | String[] | |
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L534)
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L538)
+ 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 +316,7 @@ This method has no parameters.
| privateWindow | boolean | |
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L544)
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L548)
+ 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 +325,7 @@ This method has no parameters.
This method has no parameters.
### ValidURL [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L546)
### ValidURL [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L550)
+ Description:
+ Access: private
@ -337,7 +337,7 @@ This method has no parameters.
| inUrl | String | |
### main [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L557)
### main [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L561)
+ Description:
+ Access: public
@ -349,7 +349,7 @@ This method has no parameters.
| args | String[] | |
### sleep [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L585)
### sleep [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L590)
+ Description:
+ Access: private

View File

@ -652,7 +652,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 +684,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 +717,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 +750,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>

View File

@ -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

View File

@ -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.25" />
<property name="release.number" value="0.0.28" />
<!-- make the update xpi2p -->
<!-- this contains everything except i2ptunnel.config -->
@ -434,4 +434,11 @@ 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>
</project>

6
config.sh Executable file
View File

@ -0,0 +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_DESCRIPTION=$(cat CHANGES.md)
export GITHUB_TAG=0.0.28

16
debian.sh Executable file
View 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

View File

@ -1,16 +1,12 @@
#! /usr/bin/env sh
GITHUB_USER=eyedeekay
GITHUB_REPO=i2p.plugins.firefox
GITHUB_NAME="Make logging better."
GITHUB_DESCRIPTION=$(cat CHANGES.md)
GITHUB_TAG=0.0.25
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
github-release release --user "${GITHUB_USER}" \
--repo "${GITHUB_REPO}" \
--name "${GITHUB_NAME}" \
@ -45,7 +41,15 @@ github-release upload --user "${GITHUB_USER}" \
--label "I2P Browser launcher as a Jpackage, does not require a JVM, Linux Only for now unless you BYO." \
--name "i2pbrowser.zip" \
--file "i2pbrowser.zip" \
--replace
--replace
echo "Uploaded jpackage zip"
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" \
--file "i2pbrowser_${GITHUB_TAG}_amd64.deb" \
--replace
echo "Uploaded debian zip"
git pull github --tags
git push --all

Binary file not shown.

Binary file not shown.

View File

@ -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();

View File

@ -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();

View File

@ -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());
}
private 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");

View File

@ -184,6 +184,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") ||
@ -367,15 +369,16 @@ public class I2PFirefox extends I2PCommonBrowser {
int arglength = 0;
if (args != null)
arglength = args.length;
String[] newArgs = new String[arglength + 4];
String[] newArgs = new String[arglength + 5];
newArgs[0] = firefox;
newArgs[1] = "-attach-console";
newArgs[2] = "--profile";
newArgs[3] = I2PFirefoxProfileBuilder.profileDirectory();
newArgs[2] = "--new-instance";
newArgs[3] = "--profile";
newArgs[4] = I2PFirefoxProfileBuilder.profileDirectory();
if (args != null) {
if (arglength > 0) {
for (int i = 0; i < arglength; i++) {
newArgs[i + 4] = args[i];
newArgs[i + 5] = args[i];
}
}
}
@ -461,6 +464,7 @@ public class I2PFirefox extends I2PCommonBrowser {
}
public Process launchAndDetatch(boolean privateWindow, String[] url) {
validateUserDir();
if (waitForProxy()) {
String profileDirectory = I2PFirefoxProfileBuilder.profileDirectory();
if (I2PFirefoxProfileChecker.validateProfileDirectory(profileDirectory)) {
@ -555,6 +559,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>();

View File

@ -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>();

15
windows-release.sh Executable file
View File

@ -0,0 +1,15 @@
#! /usr/bin/env sh
git pull --all
. ../i2p.firefox/config.sh
. ./config.sh
. "${HOME}/github-release-config.sh"
ant distclean jar jpackage
./windows.sh
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" \
--replace
echo "Uploaded Windows MSI package"

18
windows.sh Executable file
View 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