Compare commits

...

21 Commits
1.3.0 ... 1.4.0

Author SHA1 Message Date
89cff0c444 Version 1.4.0 2024-03-07 20:47:18 -05:00
ff19ea685b more CI 2024-03-07 16:14:20 -05:00
e5f6f335ee more CI 2024-03-07 15:53:21 -05:00
bcfbf90be2 more CI 2024-03-07 15:25:21 -05:00
63922c3880 more CI 2024-03-07 15:23:06 -05:00
35570a119d more CI 2024-03-07 15:02:33 -05:00
b877b6141d sleep longer for releases 2024-03-07 14:44:52 -05:00
62f23d360d sleep longer for releases 2024-03-07 14:32:53 -05:00
c78614fea5 sleep longer for releases 2024-03-07 14:30:06 -05:00
44cc27b968 sleep for releases 2024-03-07 14:24:24 -05:00
274748d08b Add checksums to release body 2024-03-07 14:18:19 -05:00
b4840b7355 Add checksums to release body 2024-03-07 14:11:37 -05:00
6072b8552e skip unpacking artifacts, only checkout changelog 2024-03-07 13:48:05 -05:00
7c0070cd15 skip unpacking artifacts, only checkout changelog 2024-03-07 13:43:09 -05:00
8083c6c652 skip unpacking artifacts, only checkout changelog 2024-03-07 13:40:26 -05:00
d9d13fac70 check out repo prior to release 2024-03-07 13:33:50 -05:00
75049fa08e fix plugin build 2024-03-07 13:25:50 -05:00
113caaa922 Attempt release upload in CI 2024-03-07 13:19:19 -05:00
bf1b923750 redownload artifacts from ant.yml in release release.yml 2024-03-07 13:12:50 -05:00
286122d492 see about doing releases in CI 2024-03-07 12:52:19 -05:00
9ebc0eae81 page generation update for: 2024-03-07 11:35:28.227799872 -0500 EST m=+44.700656834 2024-03-07 11:35:28 -05:00
16 changed files with 194 additions and 43 deletions

View File

@ -40,42 +40,42 @@ jobs:
- name: Upload Firefox Profile Strict
uses: actions/upload-artifact@v4
with:
name: i2p.firefox.base.profile-${{ github.sha }}.zip
name: i2p.firefox.base.profile.zip
path: ./src/i2p.firefox.base.profile.zip
- name: Upload Firefox Profile Usability
uses: actions/upload-artifact@v4
with:
name: i2p.firefox.usability.profile-${{ github.sha }}.zip
name: i2p.firefox.usability.profile.zip
path: ./src/i2p.firefox.usability.profile.zip
- name: Upload Chromium Profile Strict
uses: actions/upload-artifact@v4
with:
name: i2p.chromium.base.profile-${{ github.sha }}.zip
name: i2p.chromium.base.profile.zip
path: ./src/i2p.chromium.base.profile.zip
- name: Upload Chromium Profile Usability
uses: actions/upload-artifact@v4
with:
name: i2p.chromium.usability.profile-${{ github.sha }}.zip
name: i2p.chromium.usability.profile.zip
path: ./src/i2p.chromium.usability.profile.zip
- name: Upload i2pfirefox.jar
uses: actions/upload-artifact@v4
with:
name: i2pfirefox-${{ github.sha }}.jar
name: i2pfirefox.jar
path: ./src/build/i2pfirefox.jar
- name: Upload i2pfirefox-plugin.jar
uses: actions/upload-artifact@v4
with:
name: i2pfirefox-plugin-${{ github.sha }}.jar
name: i2pfirefox-plugin.jar
path: ./src/build/i2pfirefox-plugin.jar
- name: Upload i2pbrowser.tar.gz
uses: actions/upload-artifact@v4
with:
name: i2pbrowser-${{ github.sha }}.tar.gz
name: i2pbrowser.tar.gz
path: ./i2pbrowser.tar.gz
- name: Upload i2pbrowser.deb
uses: actions/upload-artifact@v4
with:
name: i2pbrowser_${{ github.sha }}_amd64.deb
name: i2pbrowser_amd64.deb
path: ./i2pbrowser_1.0.0_amd64.deb
- name: build plugin with Ant
run: |
@ -84,7 +84,7 @@ jobs:
- name: Upload i2pfirefox.zip (unsigned plugin)
uses: actions/upload-artifact@v4
with:
name: i2pfirefox-${{ github.sha }}.zip
name: i2pfirefox.zip
path: ./plugin.zip
@ -132,7 +132,7 @@ jobs:
- name: Upload i2pbrowser.rpm
uses: actions/upload-artifact@v4
with:
name: i2pbrowser-${{ github.sha }}.x86_64.rpm
name: i2pbrowser.x86_64.rpm
path: ./i2pbrowser-1.0.0-1.x86_64.rpm
@ -171,7 +171,7 @@ jobs:
- name: Upload Firefox Profile EXE Installer
uses: actions/upload-artifact@v4
with:
name: i2pbrowser-1.0.0-${{ github.sha }}.exe
name: i2pbrowser-1.0.0.exe
path: ./i2pbrowser-1.0.0.exe
- name: build msi with Ant
run: |
@ -180,7 +180,7 @@ jobs:
- name: Upload Firefox Profile MSI Installer
uses: actions/upload-artifact@v4
with:
name: i2pbrowser-1.0.0-${{ github.sha }}.msi
name: i2pbrowser-1.0.0.msi
path: ./i2pbrowser-1.0.0.msi
- name: build portable zip with Ant
run: |
@ -189,7 +189,7 @@ jobs:
- name: Upload Firefox Profile Portable Zip
uses: actions/upload-artifact@v4
with:
name: i2pbrowser-portable-${{ github.sha }}.zip
name: i2pbrowser-portable.zip
path: ./i2pbrowser-portable.zip
buildmac:
@ -227,7 +227,7 @@ jobs:
- name: Upload Firefox Profile DMG Installer
uses: actions/upload-artifact@v4
with:
name: i2pbrowser-1.0.0-${{ github.sha }}.dmg
name: i2pbrowser-1.0.0.dmg
path: ./i2pbrowser-1.0.0.dmg
- name: build pkg with Ant
run: |
@ -236,5 +236,5 @@ jobs:
- name: Upload Firefox Profile PKG Installer
uses: actions/upload-artifact@v4
with:
name: i2pbrowser-1.0.0-${{ github.sha }}.pkg
name: i2pbrowser-1.0.0.pkg
path: ./i2pbrowser-1.0.0.pkg

74
.github/workflows/release.yml vendored Normal file
View File

@ -0,0 +1,74 @@
name: Release
#on: [push]
on:
push:
# Sequence of patterns matched against refs/tags
tags:
- '*.*.*' # Release 1.2.3
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
with:
sparse-checkout: |
CHANGES.md
sparse-checkout-cone-mode: false
- name: sleep 15 minutes
run: |
echo "sleeping 15 minutes to wait for artifacts"
sleep 1m
echo "sleeping 14 minutes to wait for artifacts"
sleep 1m
echo "sleeping 13 minutes to wait for artifacts"
sleep 1m
echo "sleeping 12 minutes to wait for artifacts"
sleep 1m
echo "sleeping 11 minutes to wait for artifacts"
sleep 1m
echo "sleeping 10 minutes to wait for artifacts"
sleep 1m
echo "sleeping 9 minutes to wait for artifacts"
sleep 1m
echo "sleeping 8 minutes to wait for artifacts"
sleep 1m
echo "sleeping 7 minutes to wait for artifacts"
sleep 1m
echo "sleeping 6 minutes to wait for artifacts"
sleep 1m
echo "sleeping 5 minutes to wait for artifacts"
sleep 1m
echo "sleeping 4 minutes to wait for artifacts"
sleep 1m
echo "sleeping 3 minutes to wait for artifacts"
sleep 1m
echo "sleeping 2 minutes to wait for artifacts"
sleep 1m
echo "sleeping 1 minutes to wait for artifacts"
sleep 1m
- name: Download artifacts
id: download-artifact
uses: dawidd6/action-download-artifact@v3
with:
skip_unpack: true
workflow: ant.yml
if_no_artifact_found: fail
# remove .zip file extension
- run: for f in *.zip; do mv "$f" "${f%.zip}"; done
- run: echo "" | tee -a CHANGES.md
- run: echo "## Checksums" | tee -a CHANGES.md
- run: echo "" | tee -a CHANGES.md
- run: echo '```' | tee -a CHANGES.md
- run: sha256sum * | tee -a CHANGES.md
- run: echo '```' | tee -a CHANGES.md
- run: echo "" | tee -a CHANGES.md
- name: Upload artifacts
uses: ncipollo/release-action@v1
with:
artifacts: "*"
bodyFile: "CHANGES.md"

View File

@ -146,6 +146,23 @@
<a id="returnhome" href="/">
/
</a>
<h2>
Thu, March 7
</h2>
<ul>
<li>
re-implement Plugin functions with Destop GUI API.
</li>
<li>
Fix several NPE&rsquo;s
</li>
<li>
Delete redundant code
</li>
<li>
CI/CD improvements, packaging improvements
</li>
</ul>
<h2>
Tue, January 17
</h2>

View File

@ -55,7 +55,7 @@ For platform specific instructions, see
```sh
mkdir ~/tmp-i2pfirefox && cd ~/tmp-i2pfirefox
wget https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/1.2.0/i2pfirefox.zip
wget https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/1.3.0/i2pfirefox.zip
unzip i2pfirefox.zip
./i2pfirefox.cmd

View File

@ -153,14 +153,14 @@
Firefox
</h2>
<pre><code class="language-md">i2p-in-private-browsing
1.50
https://addons.mozilla.org/firefox/downloads/file/4213716/i2p_in_private_browsing-1.50.xpi
1.48
https://addons.mozilla.org/firefox/downloads/file/4123613/i2p_in_private_browsing-1.48.xpi
noscript
11.4.29
https://addons.mozilla.org/firefox/downloads/file/4206186/noscript-11.4.29.xpi
localcdn-fork-of-decentraleyes
2.6.60
https://addons.mozilla.org/firefox/downloads/file/4208268/localcdn_fork_of_decentraleyes-2.6.60.xpi
2.6.64
https://addons.mozilla.org/firefox/downloads/file/4243456/localcdn_fork_of_decentraleyes-2.6.64.xpi
onion-in-container-browsing
0.82
https://addons.mozilla.org/firefox/downloads/file/3904685/onion_in_container_browsing-0.82.xpi
@ -168,8 +168,8 @@ javascript-restrictor
0.17
https://addons.mozilla.org/firefox/downloads/file/4190089/javascript_restrictor-0.17.xpi
ublock-origin
1.54.0
https://addons.mozilla.org/firefox/downloads/file/4198829/ublock_origin-1.54.0.xpi
1.56.0
https://addons.mozilla.org/firefox/downloads/file/4237670/ublock_origin-1.56.0.xpi
</code></pre>
<h2>
Chromium
@ -181,10 +181,10 @@ NoScript
11.4.18
https://clients2.google.com/service/update2/crx
LocalCDN
2.6.60
2.6.64
https://clients2.google.com/service/update2/crx
uBlock Origin
1.54.0
1.56.0
https://clients2.google.com/service/update2/crx
__MSG_extensionName__
0.17

View File

@ -328,7 +328,7 @@ Linux(because the top command will be run and the script will exit).\n\nBoth det
<target name="buildNum">
<buildnumber file="scripts/build.number" />
<property name="release.number" value="1.2.0" />
<property name="release.number" value="1.3.0" />
<exec executable="echo" osfamily="unix">
<arg value="${release.number}-${build.number}" />
</exec>

View File

@ -3,4 +3,4 @@ export GITHUB_USER=eyedeekay
export GITHUB_REPO=i2p.plugins.firefox
export GITHUB_NAME="Updates extensions, plugin support temporarily removed(Stay on the old version)"
export GITHUB_DESCRIPTION=$(cat CHANGES.md VERSION.md)
export GITHUB_TAG=1.3.0
export GITHUB_TAG=1.4.0

View File

@ -166,7 +166,7 @@
</code>
</h4>
<pre><code class="language-sh">mkdir ~/tmp-i2pbrowser &amp;&amp; cd ~/tmp-i2pbrowser
wget https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/1.2.0/i2pbrowser.tar.gz
wget https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/1.3.0/i2pbrowser.tar.gz
tar xvzf i2pbrowser.tar.gz &amp;&amp; cd i2pbrowser
## THIS STEP IS OPTIONAL but it will force the system to use Tor Browser from within the i2pbrowser directory.
# This probably offers better security than vanilla Firefox.

View File

@ -7,7 +7,7 @@ Linux. These packages are for the **`amd64`** architecture.
```sh
mkdir ~/tmp-i2pbrowser && cd ~/tmp-i2pbrowser
wget https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/1.2.0/i2pbrowser.tar.gz
wget https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/1.3.0/i2pbrowser.tar.gz
tar xvzf i2pbrowser.tar.gz && cd i2pbrowser
## THIS STEP IS OPTIONAL but it will force the system to use Tor Browser from within the i2pbrowser directory.
# This probably offers better security than vanilla Firefox.

View File

@ -159,7 +159,7 @@
file with any Java greater than Java 8.
</p>
<pre><code class="language-sh">mkdir ~/tmp-i2pfirefox &amp;&amp; cd ~/tmp-i2pfirefox
wget https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/1.2.0/i2pfirefox.zip
wget https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/1.3.0/i2pfirefox.zip
unzip i2pfirefox.zip
./cmd/i2pfirefox.cmd

View File

@ -7,7 +7,7 @@ packages. You can use the `.jar` file with any Java greater than Java 8.
```sh
mkdir ~/tmp-i2pfirefox && cd ~/tmp-i2pfirefox
wget https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/1.2.0/i2pfirefox.zip
wget https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/1.3.0/i2pfirefox.zip
unzip i2pfirefox.zip
./cmd/i2pfirefox.cmd

Binary file not shown.

View File

@ -305,7 +305,7 @@
and a non-bundled Java
</h4>
<pre><code class="language-sh">mkdir ~/tmp-i2pfirefox &amp;&amp; cd ~/tmp-i2pfirefox
wget https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/1.2.0/i2pfirefox.zip
wget https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/1.3.0/i2pfirefox.zip
unzip i2pfirefox.zip
./i2pfirefox.cmd

View File

@ -12,4 +12,4 @@ READMELINE=`grep 'i2p.plugins.firefox/releases/download' docs/OSX.md | grep i2pf
sed -i "s|${READMELINE}|wget https://github.com/eyedeekay/i2p.plugins.firefox/releases/download/${GITHUB_TAG}/i2pfirefox.zip|g" docs/OSX.md
sed -i "s|${NUMLINE}| <property name=\"release.number\" value=\"$GITHUB_TAG\" />|g" build.xml
edgar && git push --all
ant distclean versionMd jar plugin torrent freeZip jpackage debian fedora tarball
ant distclean versionMd jar plugin torrent freeZip jpackage debian tarball

View File

@ -1,3 +1,3 @@
#Build Number for ANT. Do not edit!
#Thu Mar 07 11:01:16 EST 2024
build.number=699
#Thu Mar 07 15:18:16 EST 2024
build.number=709

View File

@ -42,7 +42,12 @@ public class I2PBrowserPlugin extends I2PBrowser implements ClientApp {
private static final String PROP_DTG_ENABLED = "desktopgui.enabled";
private final File pluginDir;
private final File profileDir;
private MenuHandle lmh;
private MenuHandle lmhs;
private MenuHandle lmhf;
/**
* @since 1.4.0
* @return
*/
public I2PBrowserPlugin() {
_context = new I2PAppContext();
_mgr = null;
@ -51,6 +56,10 @@ public class I2PBrowserPlugin extends I2PBrowser implements ClientApp {
pluginDir = new File(_context.getAppDir(), "plugins/i2pfirefox/");
profileDir = new File(pluginDir, "profile/");
}
/**
* @since 1.4.0
* @return
*/
public I2PBrowserPlugin(I2PAppContext ctx, ClientAppManager mgr,
String args[]) {
_context = ctx;
@ -60,9 +69,26 @@ public class I2PBrowserPlugin extends I2PBrowser implements ClientApp {
pluginDir = new File(_context.getAppDir(), "plugins/i2pfirefox/");
profileDir = new File(pluginDir, "profile/");
}
/**
* @since 1.4.0
* @return
*/
public String getDisplayName() { return "I2P Browser"; }
/**
* @since 1.4.0
* @return
*/
public String getName() { return "I2P Browser"; }
/**
* @since 1.4.0
* @return
*/
public ClientAppState getState() { return ClientAppState.STOPPED; }
/**
* @since 1.4.0
* @return
*/
public void shutdown(String[] args) {
if (!isSystrayEnabled()) {
_log.info("I2P Browser tray manager not supported");
@ -74,11 +100,16 @@ public class I2PBrowserPlugin extends I2PBrowser implements ClientApp {
} catch (InterruptedException ie) {
}
if (dtg != null) {
dtg.removeMenu(lmh);
dtg.removeMenu(lmhs);
dtg.removeMenu(lmhf);
}
}
changeState(ClientAppState.STOPPED);
}
/**
* @since 1.4.0
* @return
*/
public void startup() {
changeState(ClientAppState.STOPPED);
if (!isSystrayEnabled()) {
@ -101,9 +132,14 @@ public class I2PBrowserPlugin extends I2PBrowser implements ClientApp {
}
if (dtg != null) {
_log.info("I2P Browser integrating with I2P tray manager");
lmh = dtg.addMenu("Launch I2P Browser", new Starter(dtg));
dtg.showMenu(lmh);
dtg.enableMenu(lmh);
lmhs =
dtg.addMenu("Launch I2P Browser (Safe Mode)", new Starter(dtg));
dtg.showMenu(lmhs);
dtg.enableMenu(lmhs);
lmhf = dtg.addMenu("Launch I2P Browser (Flexible Mode)",
new FlexStarter(dtg));
dtg.showMenu(lmhf);
dtg.enableMenu(lmhf);
} else {
_log.info("I2P Browser tray manager not found");
}
@ -117,6 +153,10 @@ public class I2PBrowserPlugin extends I2PBrowser implements ClientApp {
}
// Copied directly from I2PSnark-standalone
/**
* @since 1.4.0
* @return
*/
private MenuService startTrayApp() {
try {
if (isSystrayEnabled()) {
@ -136,6 +176,10 @@ public class I2PBrowserPlugin extends I2PBrowser implements ClientApp {
// whether to launchFirefox the tray app Our environment should basically
// never be headless, that doesn't make any sense, but something tells me I
// should leave that check in.
/**
* @since 1.4.0
* @return
*/
private boolean isSystrayEnabled() {
if (GraphicsEnvironment.isHeadless())
return false;
@ -152,8 +196,10 @@ public class I2PBrowserPlugin extends I2PBrowser implements ClientApp {
}
/**
* Callback when Start I2PBrowser is clicked in systray
* @since 0.9.61
* Callback when Start I2PBrowser is clicked in systray
*
* @since 1.4.0
* @return
*/
public class Starter implements MenuCallback {
private final MenuService _ms;
@ -174,11 +220,21 @@ public class I2PBrowserPlugin extends I2PBrowser implements ClientApp {
}
}
public class StarterThread implements Runnable {
public void run() {
/**
* @since 1.4.0
* @return
*/
public class FlexStarter implements MenuCallback {
private final MenuService _ms;
public FlexStarter(MenuService ms) { _ms = ms; }
public void clicked(MenuHandle menu) {
// Thread t = new I2PAppThread(new StarterThread(),
//"I2PBrowser-Launcher start", true);
// t.start();
_log.info("I2P Browser starting up");
try {
I2PBrowser i2pBrowser = new I2PBrowser(profileDir.getAbsolutePath());
i2pBrowser.usability = true;
String[] args = {"http://proxy.i2p"};
i2pBrowser.launchFirefox(0, args);
} catch (Exception e) {
@ -188,6 +244,10 @@ public class I2PBrowserPlugin extends I2PBrowser implements ClientApp {
}
}
/**
* @since 1.4.0
* @return
*/
private synchronized void changeState(ClientAppState state) {
if (_mgr != null)
_mgr.notify(this, state, null, null);