Compare commits
41 Commits
Author | SHA1 | Date | |
---|---|---|---|
41b927809b | |||
f8b70f2a96 | |||
c9e7a4beba | |||
40f50aefb5 | |||
e9dfeb0288 | |||
5d121e8927 | |||
aad78749b4 | |||
bbaddd3927 | |||
f7c58d0125 | |||
0e2dba7bd5 | |||
23f1e3491f | |||
a36a74a44a | |||
63344656c1 | |||
260d42a7b3 | |||
4c3f5523d2 | |||
0038f9c186 | |||
46469a4e94 | |||
8d8006c956 | |||
4d35d18c99 | |||
8a2b3fee85 | |||
268b791ad7 | |||
37c7ad9640 | |||
6928ff423a | |||
a4bde9e63b | |||
e337f90c0b | |||
89b480cd22 | |||
0c4746e8fb | |||
87b0a07878 | |||
f09599a2fa | |||
2d3071dbb2 | |||
c79018a29a | |||
bc342cc463 | |||
54b427e532 | |||
ebc829c5c9 | |||
ce5240d658 | |||
fdd3aac391 | |||
c5281751bb | |||
a3b9f1abce | |||
f208563c35 | |||
a9e1135ef5 | |||
8d3b46b36c |
1
.dockerignore
Normal file
1
.dockerignore
Normal file
@ -0,0 +1 @@
|
||||
.git
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -14,4 +14,5 @@ src/build
|
||||
*.log
|
||||
i2pbrowser/
|
||||
/i2pbrowser*.deb
|
||||
/i2pbrowser*.rpm
|
||||
/logs
|
29
CHANGES.html
29
CHANGES.html
@ -97,6 +97,11 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
@ -118,6 +123,26 @@
|
||||
<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>
|
||||
</ul>
|
||||
<h2>
|
||||
<a href="#mon-september-5" rel="nofollow">
|
||||
<span></span>
|
||||
@ -132,10 +157,10 @@
|
||||
Make tunnel nicknames different to avoid double shared tunnels
|
||||
</li>
|
||||
<li>
|
||||
Add support for building a Debian package.
|
||||
Add support for building a .deb package.
|
||||
</li>
|
||||
<li>
|
||||
Add support for building an MSI package.
|
||||
Add support for building an .msi package.
|
||||
</li>
|
||||
</ul>
|
||||
<h2>
|
||||
|
12
CHANGES.md
12
CHANGES.md
@ -1,10 +1,18 @@
|
||||
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.
|
||||
|
||||
Mon, September 5
|
||||
----------------
|
||||
|
||||
- Fix several issues with running on Windows 11
|
||||
- Make tunnel nicknames different to avoid double shared tunnels
|
||||
- Add support for building a Debian package.
|
||||
- Add support for building an MSI package.
|
||||
- Add support for building a .deb package.
|
||||
- Add support for building an .msi package.
|
||||
|
||||
Fri, September 2
|
||||
----------------
|
||||
|
6
Dockerfile
Normal file
6
Dockerfile
Normal file
@ -0,0 +1,6 @@
|
||||
FROM fedora
|
||||
RUN yum -y update
|
||||
RUN yum -y install rpm-build
|
||||
ADD . /src/i2p.plugins.firefox
|
||||
WORKDIR /src/i2p.plugins.firefox
|
||||
CMD ./fedora-docker.sh
|
@ -97,6 +97,11 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
|
@ -97,6 +97,11 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
|
@ -97,6 +97,11 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
|
@ -97,6 +97,11 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
|
@ -97,6 +97,11 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
|
@ -97,6 +97,11 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
|
@ -97,6 +97,11 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
@ -261,7 +266,7 @@
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Access: private
|
||||
Access: protected
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
|
@ -49,7 +49,7 @@ This method has no parameters.
|
||||
### isWindows [[src]](src/java/net/i2p/i2pfirefox/I2PCommonBrowser.java#L98)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
+ Access: protected
|
||||
+ Modifiers: static
|
||||
+ return: boolean
|
||||
|
||||
|
@ -97,6 +97,11 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
@ -695,12 +700,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#L365" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
<ul>
|
||||
<li>
|
||||
Description: Build a ProcessBuilder for the top Firefox binary and the default profile. Pass the --headless flag to open without a window.
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Access: public
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
return: ProcessBuilder
|
||||
<br>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
| Name | Type | Description |
|
||||
<br>
|
||||
| ----- | ----- | ----- |
|
||||
<br>
|
||||
| args | String[] | the arguments to pass to the Firefox binary |
|
||||
</p>
|
||||
<h3>
|
||||
<a href="#processbuilder-src" rel="nofollow">
|
||||
<span></span>
|
||||
</a>
|
||||
processBuilder
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L366" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L388" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -730,7 +765,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
waitForProxy
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L400" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L422" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -756,7 +791,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
waitForProxy
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L410" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L432" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -786,7 +821,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
waitForProxy
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L422" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L444" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -818,7 +853,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
waitForProxy
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L435" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L457" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -852,7 +887,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
checkifPortIsOccupied
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L449" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L471" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -884,7 +919,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
usabilityMode
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L459" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L481" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -910,7 +945,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
launchAndDetatch
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L466" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L488" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -942,7 +977,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
launch
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L514" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L551" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -974,7 +1009,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
launch
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L538" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L575" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -1004,7 +1039,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
launch
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L548" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L585" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -1030,7 +1065,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
ValidURL
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L550" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L587" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -1063,7 +1098,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
main
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L561" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L598" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
@ -1096,7 +1131,7 @@
|
||||
<span></span>
|
||||
</a>
|
||||
sleep
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L590" rel="nofollow">
|
||||
<a href="src/java/net/i2p/i2pfirefox/I2PFirefox.java#L627" rel="nofollow">
|
||||
[src]
|
||||
</a>
|
||||
</h3>
|
||||
|
@ -204,7 +204,18 @@ This method has no parameters.
|
||||
| args | String[] | the arguments to pass to the Firefox binary |
|
||||
|
||||
|
||||
### processBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L366)
|
||||
### headlessProcessBuilder [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L365)
|
||||
|
||||
+ 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#L388)
|
||||
|
||||
+ Description: Build a ProcessBuilder for the top Firefox binary and the default profile with a specific set of extended arguments.
|
||||
+ Access: public
|
||||
@ -215,7 +226,7 @@ This method has no parameters.
|
||||
| args | String[] | the extended arguments to pass to the Firefox binary. |
|
||||
|
||||
|
||||
### waitForProxy [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L400)
|
||||
### waitForProxy [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L422)
|
||||
|
||||
+ Description: Waits for an HTTP proxy on port 4444 to be ready. Returns false on timeout of 200 seconds.
|
||||
+ Access: public
|
||||
@ -224,7 +235,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### waitForProxy [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L410)
|
||||
### waitForProxy [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L432)
|
||||
|
||||
+ 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 +246,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#L422)
|
||||
### waitForProxy [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L444)
|
||||
|
||||
+ 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 +258,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#L435)
|
||||
### waitForProxy [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L457)
|
||||
|
||||
+ 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 +271,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#L449)
|
||||
### checkifPortIsOccupied [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L471)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -272,7 +283,7 @@ This method has no parameters.
|
||||
| host | String | |
|
||||
|
||||
|
||||
### usabilityMode [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L459)
|
||||
### usabilityMode [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L481)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -281,7 +292,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### launchAndDetatch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L466)
|
||||
### launchAndDetatch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L488)
|
||||
|
||||
+ Description:
|
||||
+ Access: public
|
||||
@ -293,7 +304,7 @@ This method has no parameters.
|
||||
| url | String[] | |
|
||||
|
||||
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L514)
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L551)
|
||||
|
||||
+ 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 +316,7 @@ This method has no parameters.
|
||||
| url | String[] | |
|
||||
|
||||
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L538)
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L575)
|
||||
|
||||
+ 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 +327,7 @@ This method has no parameters.
|
||||
| privateWindow | boolean | |
|
||||
|
||||
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L548)
|
||||
### launch [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L585)
|
||||
|
||||
+ 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 +336,7 @@ This method has no parameters.
|
||||
This method has no parameters.
|
||||
|
||||
|
||||
### ValidURL [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L550)
|
||||
### ValidURL [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L587)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
@ -337,7 +348,7 @@ This method has no parameters.
|
||||
| inUrl | String | |
|
||||
|
||||
|
||||
### main [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L561)
|
||||
### main [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L598)
|
||||
|
||||
+ Description:
|
||||
+ Access: public
|
||||
@ -349,7 +360,7 @@ This method has no parameters.
|
||||
| args | String[] | |
|
||||
|
||||
|
||||
### sleep [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L590)
|
||||
### sleep [[src]](src/java/net/i2p/i2pfirefox/I2PFirefox.java#L627)
|
||||
|
||||
+ Description:
|
||||
+ Access: private
|
||||
|
@ -97,6 +97,11 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
|
@ -97,6 +97,11 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
|
@ -97,6 +97,11 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
|
@ -97,6 +97,11 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
|
@ -97,6 +97,11 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
|
1204
PACKAGES.html
Normal file
1204
PACKAGES.html
Normal file
File diff suppressed because it is too large
Load Diff
79
PACKAGES.md
Normal file
79
PACKAGES.md
Normal file
@ -0,0 +1,79 @@
|
||||
Packages for various operating systems
|
||||
======================================
|
||||
|
||||
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
|
||||
|
||||
#### Status: Works. Maintained.
|
||||
|
||||
Requires the Wixl toolset.
|
||||
|
||||
run: `./windows.sh`
|
||||
|
||||
#### EXE
|
||||
|
||||
#### Status: Works. Maintained.
|
||||
|
||||
No special requirements.
|
||||
|
||||
run: `./windows-exe.sh`
|
||||
|
||||
### Portable(.zip)
|
||||
|
||||
#### Status: Unknown. Maintained.
|
||||
|
||||
No special requirements.
|
||||
|
||||
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
|
||||
|
||||
#### Status: Works. Maintained.
|
||||
|
||||
Make sure you have a recent Java and jpackage.
|
||||
|
||||
run: `ant debian`
|
||||
|
||||
### Fedora
|
||||
|
||||
#### Status: Unknown. Maintained.
|
||||
|
||||
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.
|
||||
|
||||
run: `ant fedora`
|
||||
|
||||
### Portable(.zip)
|
||||
|
||||
#### Status: Works. Maintained.
|
||||
|
||||
Details are platform dependent. Same build-deps as everything else.
|
||||
|
||||
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
|
||||
|
@ -97,6 +97,11 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
|
@ -97,6 +97,11 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
|
10
build.xml
10
build.xml
@ -317,7 +317,7 @@ Linux(because the top command will be run and the script will exit).\n\nBoth det
|
||||
<delete dir="plugin/eepsite/docroot/torrents/" />
|
||||
<!-- get version number -->
|
||||
<buildnumber file="scripts/build.number" />
|
||||
<property name="release.number" value="0.0.28" />
|
||||
<property name="release.number" value="0.0.29" />
|
||||
|
||||
<!-- make the update xpi2p -->
|
||||
<!-- this contains everything except i2ptunnel.config -->
|
||||
@ -392,6 +392,7 @@ Linux(because the top command will be run and the script will exit).\n\nBoth det
|
||||
<delete dir="i2p.firefox.profile" />
|
||||
<delete dir="src/i2p.firefox.profile.zip" />
|
||||
<delete dir="i2p.chromium.base.profile" />
|
||||
<delete dir="i2p.chromium.usability.profile" />
|
||||
<delete dir="i2p.chromium.profile" />
|
||||
<delete dir="src/i2p.chromium.profile.zip" />
|
||||
<delete file="plugin/i2ptunnel.config" />
|
||||
@ -441,4 +442,11 @@ Linux(because the top command will be run and the script will exit).\n\nBoth det
|
||||
<arg value="./debian.sh"/>
|
||||
</exec>
|
||||
</target>
|
||||
<target name="fedora" depends="jar">
|
||||
<exec executable="bash" failonerror="true">
|
||||
<arg value="--verbose"/>
|
||||
<arg value="-c"/>
|
||||
<arg value="./fedora.sh"/>
|
||||
</exec>
|
||||
</target>
|
||||
</project>
|
||||
|
@ -1,6 +1,6 @@
|
||||
#! /usr/bin/env sh
|
||||
export GITHUB_USER=eyedeekay
|
||||
export GITHUB_REPO=i2p.plugins.firefox
|
||||
export GITHUB_NAME="Add support for Debian and Windows packages"
|
||||
export GITHUB_NAME="Mostly packaging stuff, fix first-run Windows thing(I think)"
|
||||
export GITHUB_DESCRIPTION=$(cat CHANGES.md)
|
||||
export GITHUB_TAG=0.0.28
|
||||
export GITHUB_TAG=0.0.29
|
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 .
|
33
index.html
33
index.html
@ -97,6 +97,11 @@
|
||||
LICENSE
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PACKAGES.html">
|
||||
PACKAGES
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="TODO.html">
|
||||
TODO
|
||||
@ -127,6 +132,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>
|
||||
|
12
release.sh
12
release.sh
@ -6,7 +6,7 @@ ant distclean clangFmt
|
||||
NUMLINE=`grep release.number build.xml | head -n 1`
|
||||
sed -i "s|$NUMLINE| <property name=\"release.number\" value=\"$GITHUB_TAG\" />|g" build.xml
|
||||
edgar && git push --all
|
||||
ant jar freeZip jpackage debian
|
||||
ant jar freeZip jpackage debian fedora
|
||||
github-release release --user "${GITHUB_USER}" \
|
||||
--repo "${GITHUB_REPO}" \
|
||||
--name "${GITHUB_NAME}" \
|
||||
@ -50,6 +50,14 @@ github-release upload --user "${GITHUB_USER}" \
|
||||
--name "i2pbrowser_${GITHUB_TAG}_.deb" \
|
||||
--file "i2pbrowser_${GITHUB_TAG}_amd64.deb" \
|
||||
--replace
|
||||
echo "Uploaded debian zip"
|
||||
echo "Uploaded debian package"
|
||||
github-release upload --user "${GITHUB_USER}" \
|
||||
--repo "${GITHUB_REPO}" \
|
||||
--tag "${GITHUB_TAG}" \
|
||||
--label "I2P Browser launcher as a Jpackage inside of a Fedora package." \
|
||||
--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.
@ -95,7 +95,7 @@ public class I2PCommonBrowser {
|
||||
System.setProperty("user.dir", defaultPathFile.getAbsolutePath());
|
||||
}
|
||||
|
||||
private static boolean isWindows() {
|
||||
protected static boolean isWindows() {
|
||||
String osName = System.getProperty("os.name");
|
||||
println("os.name" + osName);
|
||||
if (osName.contains("windows"))
|
||||
|
@ -332,7 +332,7 @@ public class I2PFirefox extends I2PCommonBrowser {
|
||||
}
|
||||
|
||||
/**
|
||||
* * Build a ProcessBuilder for the top Firefox binary and
|
||||
* Build a ProcessBuilder for the top Firefox binary and
|
||||
* the default profile. Pass the --private-window flag to
|
||||
* open a private window.
|
||||
*
|
||||
@ -353,6 +353,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
|
||||
@ -480,8 +502,23 @@ 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 {
|
||||
int hev = hp.waitFor();
|
||||
println("Headless browser run completed, exit: " + hev);
|
||||
} catch (InterruptedException e) {
|
||||
println(e.toString());
|
||||
}
|
||||
} catch (IOException e) {
|
||||
println(e.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ProcessBuilder pb;
|
||||
if (privateWindow) {
|
||||
pb = privateProcessBuilder(url);
|
||||
|
18
windows-exe.sh
Executable file
18
windows-exe.sh
Executable file
@ -0,0 +1,18 @@
|
||||
#! /usr/bin/env sh
|
||||
. ./config.sh
|
||||
jpackage \
|
||||
--verbose \
|
||||
--type exe \
|
||||
--win-dir-chooser \
|
||||
--win-help-url "https://geti2p.net" \
|
||||
--win-menu \
|
||||
--win-menu-group "I2P Browser Configurer" \
|
||||
--win-shortcut \
|
||||
--win-shortcut-prompt \
|
||||
--win-per-user-install \
|
||||
--license-file LICENSE.md \
|
||||
--name i2pbrowser \
|
||||
--app-version "$GITHUB_TAG" \
|
||||
--input src/build \
|
||||
--main-jar i2pfirefox.jar \
|
||||
--main-class net.i2p.i2pfirefox.I2PBrowser
|
18
windows-portable.sh
Executable file
18
windows-portable.sh
Executable file
@ -0,0 +1,18 @@
|
||||
#! /usr/bin/env sh
|
||||
. ./config.sh
|
||||
mkdir -p tmp
|
||||
cp -v LICENSE.md tmp/LICENSE.md
|
||||
rm -rf i2pbrowser-portable
|
||||
jpackage \
|
||||
--verbose \
|
||||
--type app-image \
|
||||
--name i2pbrowser-portable \
|
||||
--app-version "$GITHUB_TAG" \
|
||||
--input src/build \
|
||||
--main-jar i2pfirefox.jar \
|
||||
--resource-dir tmp \
|
||||
--main-class net.i2p.i2pfirefox.I2PBrowser
|
||||
rm -rf tmp
|
||||
cp -v LICENSE.md i2pbrowser-portable/LICENSE.md
|
||||
rm i2pbrowser-portable.zip -f
|
||||
zip -r i2pbrowser-portable-${GITHUB_TAG}.zip i2pbrowser-portable
|
@ -3,13 +3,29 @@ git pull --all
|
||||
. ../i2p.firefox/config.sh
|
||||
. ./config.sh
|
||||
. "${HOME}/github-release-config.sh"
|
||||
ant distclean jar jpackage
|
||||
ant distclean jar
|
||||
./windows.sh
|
||||
./windows-exe.sh
|
||||
./windows-portable.sh
|
||||
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" \
|
||||
--name "i2pbrowser-${GITHUB_TAG}.msi" \
|
||||
--file "i2pbrowser-${GITHUB_TAG}.msi" \
|
||||
--replace
|
||||
echo "Uploaded Windows MSI package"
|
||||
github-release upload --user "${GITHUB_USER}" \
|
||||
--repo "${GITHUB_REPO}" \
|
||||
--tag "${GITHUB_TAG}" \
|
||||
--label "I2P Browser launcher as a Jpackage inside of an EXE package." \
|
||||
--name "i2pbrowser-${GITHUB_TAG}.exe" \
|
||||
--file "i2pbrowser-${GITHUB_TAG}.exe" \
|
||||
--replace
|
||||
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." \
|
||||
--name "i2pbrowser-portable-${GITHUB_TAG}.zip" \
|
||||
--file "i2pbrowser-portable-${GITHUB_TAG}.zip" \
|
||||
--replace
|
||||
echo "Uploaded Windows ZIP package"
|
||||
|
Reference in New Issue
Block a user