update index.html

This commit is contained in:
idk
2022-09-14 22:27:54 -04:00
parent ab47e252cd
commit 1b1d861ec7
10 changed files with 167 additions and 31 deletions

View File

@ -1,3 +1,8 @@
Wed, September 14
-----------------
- Add ant targets which fetch Firefox addons from addons.mozilla.org
Sun, September 11
-----------------

View File

@ -33,15 +33,44 @@ unzip i2pfirefox.zip
### Build Dependencies
You will need `ant`, `java` and for building the Chromium profile, a Go application
called `crx3` which is used to interact with the Chrome app store. I've been using Java 17
You will need `ant` and java `java` and for building the jar. You will need
`jpackage` for many of the potential build targets. I've been using Java 17
on Debian mostly, on Debian and Ubuntu, install the dependencies with:
```sh
sudo apt-get install openjdk-17* ant golang-go
sudo apt-get install openjdk-17* ant
```
Some of the targets use scripts written in Go to help generate resources. If
you want to update the profiles, you will need them. To install Go on Debian
and Ubuntu:
```sh
sudo apt-get install golang-go
```
Add `$HOME/go/bin` to your `$PATH` so `ant` can find Go applications.
`export PATH=$PATH:$HOME/go/bin`
Then use Go to download the applications you need and add them to `$HOME/go/bin`.
If you want to build the Chromium profiles you will need a Go application
called `crx3` which is used to interact with the Chrome app store to download
and update extensions.
```sh
go install github.com/mediabuyerbot/go-crx3/crx3@latest
```
Another Go application, called `amo-version`, is used to fetch extensions from addons.mozilla.org.
Like the Chrome profiles, generating the Firefox profiles requires this application. If you don't
want to update the profiles, you don't need it.
```sh
go install github.com/eyedeekay/amo-version@latest
```
For Fedora, use Yum, for Arch use pacman or something else but make sure to tell everyone
about it. Once you have that installed, when building, make sure to add `$GOPATH/bin/`
to your `$PATH`.

View File

@ -168,11 +168,34 @@ Linux(because the top command will be run and the script will exit).\n\nBoth det
</exec>
</target>
<target name="jar" depends="i2pFirefoxBaseProfileZip,i2pFirefoxUsabilityProfileZip,i2pChromiumBaseProfileZip">
<target name="jar" depends="i2pFirefoxBaseProfileZip,i2pFirefoxUsabilityProfileZip,i2pChromiumBaseProfileZip,i2pChromiumUsabilityProfileZip">
<ant dir="src" target="jar" />
</target>
<target name="i2pFirefoxBaseProfileZip" depends="i2pFirefoxUsabilityProfileZip">
<target name="i2pFirefoxBaseProfile">
<exec executable="amo-version" failonerror="true">
<arg value="-n"/>
<arg value="i2p-in-private-browsing"/>
<arg value="-d"/>
<arg value="-o" />
<arg value="src/i2p.firefox.base.profile/extensions/i2ppb@eyedeekay.github.io.xpi" />
</exec>
<exec executable="amo-version" failonerror="true">
<arg value="-n"/>
<arg value="noscript"/>
<arg value="-d"/>
<arg value="-o" />
<arg value="src/i2p.firefox.base.profile/extensions/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi" />
</exec>
<exec executable="amo-version" failonerror="true">
<arg value="-n"/>
<arg value="https-everywhere"/>
<arg value="-d"/>
<arg value="-o" />
<arg value="src/i2p.firefox.base.profile/extensions/https-everywhere-eff@eff.org.xpi" />
</exec>
</target>
<target name="i2pFirefoxBaseProfileZip">
<exec executable="rm" failonerror="false" dir="src">
<arg value="-rf" />
<arg value="i2p.firefox.base.profile.zip" />
@ -183,6 +206,51 @@ Linux(because the top command will be run and the script will exit).\n\nBoth det
<arg value="i2p.firefox.base.profile"/>
</exec>
</target>
<target name="i2pFirefoxUsabilityProfile">
<exec executable="amo-version" failonerror="true">
<arg value="-n"/>
<arg value="i2p-in-private-browsing"/>
<arg value="-d"/>
<arg value="-o" />
<arg value="src/i2p.firefox.base.profile/extensions/i2ppb@eyedeekay.github.io.xpi" />
</exec>
<exec executable="amo-version" failonerror="true">
<arg value="-n"/>
<arg value="localcdn-fork-of-decentraleyes"/>
<arg value="-d"/>
<arg value="-o" />
<arg value="./src/i2p.firefox.usability.profile/extensions/{b86e4813-687a-43e6-ab65-0bde4ab75758}.xpi" />
</exec>
<exec executable="amo-version" failonerror="true">
<arg value="-n"/>
<arg value="https-everywhere"/>
<arg value="-d"/>
<arg value="-o" />
<arg value="src/i2p.firefox.base.profile/extensions/https-everywhere-eff@eff.org.xpi" />
</exec>
<exec executable="amo-version" failonerror="true">
<arg value="-n"/>
<arg value="onion-in-container-browsing"/>
<arg value="-d"/>
<arg value="-o" />
<arg value="src/i2p.firefox.usability.profile/extensions/onioncbt@eyedeekay.github.io.xpi" />
</exec>
<exec executable="amo-version" failonerror="true">
<arg value="-n"/>
<arg value="javascript-restrictor"/>
<arg value="-d"/>
<arg value="-o" />
<arg value="src/i2p.firefox.usability.profile/extensions/jsr@javascriptrestrictor.xpi" />
</exec>
<exec executable="amo-version" failonerror="true">
<arg value="-n"/>
<arg value="ublock-origin"/>
<arg value="-d"/>
<arg value="-o" />
<arg value="src/i2p.firefox.usability.profile/extensions/uBlock0@raymondhill.net.xpi" />
</exec>
</target>
<target name="i2pFirefoxUsabilityProfileZip">
<exec executable="rm" failonerror="false" dir="src">
<arg value="-rf" />
@ -203,16 +271,6 @@ Linux(because the top command will be run and the script will exit).\n\nBoth det
<arg value="-o" />
<arg value="src/i2p.chromium.base.profile/extensions/i2pchrome.js.crx" />
</exec>
<!--
TODO: I don't want to deal with licensing issues while on a headfull of cold
medicine and COVID. SO for now I'm only including a plugin written by a person
who I'm pretty sure isn't going to sue me for it(me). In order to more closely
mirror the behavior of the Firefox profile, we should at least include a script
blocking plugin, such as ScriptSafe. uBlock was also suggested and I tend to
agree. However, since we have to load extensions unpacked, they won't be updated
automatically. This is probably good for working against fingerprinting but it's
also more work should a plugin have a security vulnerability.
-->
<exec executable="crx3" failonerror="true">
<arg value="download"/>
<arg value="doojmbjmlfjjnbmnoijecmcbfeoakpjm" />
@ -230,16 +288,6 @@ Linux(because the top command will be run and the script will exit).\n\nBoth det
<arg value="-o" />
<arg value="src/i2p.chromium.usability.profile/extensions/i2pchrome.js.crx" />
</exec>
<!--
TODO: I don't want to deal with licensing issues while on a headfull of cold
medicine and COVID. SO for now I'm only including a plugin written by a person
who I'm pretty sure isn't going to sue me for it(me). In order to more closely
mirror the behavior of the Firefox profile, we should at least include a script
blocking plugin, such as ScriptSafe. uBlock was also suggested and I tend to
agree. However, since we have to load extensions unpacked, they won't be updated
automatically. This is probably good for working against fingerprinting but it's
also more work should a plugin have a security vulnerability.
-->
<exec executable="crx3" failonerror="true">
<arg value="download"/>
<arg value="cjpalhdlnbpafiamejdnhcphjbkeiagm" />

View File

@ -186,20 +186,74 @@ unzip i2pfirefox.zip
<code>
ant
</code>
,
and java
<code>
java
</code>
and for building the Chromium profile, a Go application
and for building the jar. You will need
<code>
jpackage
</code>
for many of the potential build targets. I&rsquo;ve been using Java 17
on Debian mostly, on Debian and Ubuntu, install the dependencies with:
</p>
<pre><code class="language-sh">sudo apt-get install openjdk-17* ant
</code></pre>
<p>
Some of the targets use scripts written in Go to help generate resources. If
you want to update the profiles, you will need them. To install Go on Debian
and Ubuntu:
</p>
<pre><code class="language-sh">sudo apt-get install golang-go
</code></pre>
<p>
Add
<code>
$HOME/go/bin
</code>
to your
<code>
$PATH
</code>
so
<code>
ant
</code>
can find Go applications.
</p>
<p>
<code>
export PATH=$PATH:$HOME/go/bin
</code>
</p>
<p>
Then use Go to download the applications you need and add them to
<code>
$HOME/go/bin
</code>
.
</p>
<p>
If you want to build the Chromium profiles you will need a Go application
called
<code>
crx3
</code>
which is used to interact with the Chrome app store. I&rsquo;ve been using Java 17
on Debian mostly, on Debian and Ubuntu, install the dependencies with:
which is used to interact with the Chrome app store to download
and update extensions.
</p>
<pre><code class="language-sh">sudo apt-get install openjdk-17* ant golang-go
go install github.com/mediabuyerbot/go-crx3/crx3@latest
<pre><code class="language-sh">go install github.com/mediabuyerbot/go-crx3/crx3@latest
</code></pre>
<p>
Another Go application, called
<code>
amo-version
</code>
, is used to fetch extensions from addons.mozilla.org.
Like the Chrome profiles, generating the Firefox profiles requires this application. If you don&rsquo;t
want to update the profiles, you don&rsquo;t need it.
</p>
<pre><code class="language-sh">go install github.com/eyedeekay/amo-version@latest
</code></pre>
<p>
For Fedora, use Yum, for Arch use pacman or something else but make sure to tell everyone

Binary file not shown.

Binary file not shown.