Compare commits
26 Commits
Author | SHA1 | Date | |
---|---|---|---|
ecfc447125 | |||
238f3fd839 | |||
c01312a1a5 | |||
b72dd14310 | |||
64aac910a6 | |||
246c27627b | |||
d529f353e4 | |||
89cff0c444 | |||
ff19ea685b | |||
e5f6f335ee | |||
bcfbf90be2 | |||
63922c3880 | |||
35570a119d | |||
b877b6141d | |||
62f23d360d | |||
c78614fea5 | |||
44cc27b968 | |||
274748d08b | |||
b4840b7355 | |||
6072b8552e | |||
7c0070cd15 | |||
8083c6c652 | |||
d9d13fac70 | |||
75049fa08e | |||
113caaa922 | |||
bf1b923750 |
30
.github/workflows/ant.yml
vendored
30
.github/workflows/ant.yml
vendored
@ -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
|
289
.github/workflows/release.yml
vendored
289
.github/workflows/release.yml
vendored
@ -1,5 +1,7 @@
|
||||
name: Release
|
||||
|
||||
#on: [push]
|
||||
|
||||
on:
|
||||
push:
|
||||
# Sequence of patterns matched against refs/tags
|
||||
@ -9,237 +11,68 @@ on:
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: dependencies
|
||||
run: sudo apt install gettext golang-go git ant
|
||||
- uses: actions/checkout@v4
|
||||
- name: Set up JDK 21
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: '21'
|
||||
distribution: 'temurin'
|
||||
- name : Generate override.properties
|
||||
run: |
|
||||
rm -f override.properties
|
||||
echo "build.built-by=GitHub Actions" >> override.properties
|
||||
echo "noExe=true" >> override.properties
|
||||
- name: install crx3
|
||||
run: go install github.com/mediabuyerbot/go-crx3/crx3@latest
|
||||
- name: install dzip
|
||||
run: go install github.com/delicb/dzip@latest
|
||||
- name: install amo-version
|
||||
run: go install github.com/eyedeekay/amo-version@a4f4119eac453a14d6b6184b656320eb72b5da3c
|
||||
- name: install manifest-json-version
|
||||
run: go install github.com/eyedeekay/manifest-json-version@latest
|
||||
- run: git clone https://github.com/i2p/i2p.i2p ../i2p.i2p
|
||||
- run: cd ../i2p.i2p && ant builddep
|
||||
- name: build with Ant
|
||||
run: |
|
||||
export PATH=$PATH:$(go env GOPATH)/bin
|
||||
ant distclean jpackage debian
|
||||
- name: Upload Firefox Profile Strict
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: i2p.firefox.base.profile-${{ github.sha }}.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
|
||||
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
|
||||
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
|
||||
path: ./src/i2p.chromium.usability.profile.zip
|
||||
- name: Upload i2pfirefox.jar
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: i2pfirefox-${{ github.sha }}.jar
|
||||
path: ./src/build/i2pfirefox.jar
|
||||
- name: Upload i2pfirefox-plugin.jar
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: i2pfirefox-plugin-${{ github.sha }}.jar
|
||||
path: ./src/build/i2pfirefox-plugin.jar
|
||||
- name: Upload i2pbrowser.tar.gz
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: i2pbrowser-${{ github.sha }}.tar.gz
|
||||
path: ./i2pbrowser.tar.gz
|
||||
- name: Upload i2pbrowser.deb
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: i2pbrowser_${{ github.sha }}_amd64.deb
|
||||
path: ./i2pbrowser_1.0.0_amd64.deb
|
||||
- name: build plugin with Ant
|
||||
run: |
|
||||
export PATH=$PATH:$(go env GOPATH)/bin
|
||||
ant distclean pluginzip
|
||||
- name: Upload i2pfirefox.zip (unsigned plugin)
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: i2pfirefox-${{ github.sha }}.zip
|
||||
path: ./plugin.zip
|
||||
- name: Run release upload script
|
||||
run: |
|
||||
./preprelease.sh
|
||||
./release.sh
|
||||
|
||||
|
||||
buildrpm:
|
||||
runs-on: ubuntu-latest
|
||||
container: fedora
|
||||
|
||||
steps:
|
||||
- name: dependencies
|
||||
run: sudo yum install -y gettext golang-go git ant jq wget curl gpg xz ca-certificates rpm-build
|
||||
- uses: actions/checkout@v4
|
||||
- name: Set up JDK 21
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: '21'
|
||||
distribution: 'temurin'
|
||||
- run: echo [Adoptium] >> /etc/yum.repos.d/adoptium.repo
|
||||
- run: echo name=Adoptium >> /etc/yum.repos.d/adoptium.repo
|
||||
- run: . /etc/os-release; echo baseurl=https://packages.adoptium.net/artifactory/rpm/fedora/$VERSION_ID/x86_64/ >> /etc/yum.repos.d/adoptium.repo
|
||||
- run: echo enabled=1 >> /etc/yum.repos.d/adoptium.repo
|
||||
- run: echo gpgcheck=1 >> /etc/yum.repos.d/adoptium.repo
|
||||
- run: echo gpgkey=https://packages.adoptium.net/artifactory/api/gpg/key/public >> /etc/yum.repos.d/adoptium.repo
|
||||
- run: dnf clean all && rm -r /var/cache/dnf && dnf upgrade -y && dnf update -y
|
||||
- run: dnf install -y temurin-21-jdk
|
||||
- name: Generate override.properties
|
||||
run: |
|
||||
rm -f override.properties
|
||||
echo "build.built-by=GitHub Actions" >> override.properties
|
||||
echo "noExe=true" >> override.properties
|
||||
- name: install crx3
|
||||
run: go install github.com/mediabuyerbot/go-crx3/crx3@latest
|
||||
- name: install dzip
|
||||
run: go install github.com/delicb/dzip@latest
|
||||
- name: install amo-version
|
||||
run: go install github.com/eyedeekay/amo-version@a4f4119eac453a14d6b6184b656320eb72b5da3c
|
||||
- name: install manifest-json-version
|
||||
run: go install github.com/eyedeekay/manifest-json-version@latest
|
||||
- run: git clone https://github.com/i2p/i2p.i2p ../i2p.i2p
|
||||
- run: cd ../i2p.i2p && ant builddep
|
||||
- name: build with Ant
|
||||
run: |
|
||||
export PATH=$PATH:$(go env GOPATH)/bin
|
||||
ant distclean jpackage fedora
|
||||
find . -name '*.rpm'
|
||||
- name: Upload i2pbrowser.rpm
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: i2pbrowser-${{ github.sha }}.x86_64.rpm
|
||||
path: ./i2pbrowser-1.0.0-1.x86_64.rpm
|
||||
|
||||
|
||||
buildwin:
|
||||
runs-on: windows-latest
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Set up JDK 21
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: '21'
|
||||
distribution: 'temurin'
|
||||
- uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: '1.21'
|
||||
- name : Generate override.properties
|
||||
sparse-checkout: |
|
||||
CHANGES.md
|
||||
sparse-checkout-cone-mode: false
|
||||
- name: sleep 15 minutes
|
||||
run: |
|
||||
bash -c 'rm -f override.properties'
|
||||
bash -c 'echo "build.built-by=GitHub Actions" >> override.properties'
|
||||
bash -c 'echo "noExe=true" >> override.properties'
|
||||
- name: install crx3
|
||||
run: go install github.com/mediabuyerbot/go-crx3/crx3@latest
|
||||
- name: install dzip
|
||||
run: go install github.com/delicb/dzip@latest
|
||||
- name: install amo-version
|
||||
run: go install github.com/eyedeekay/amo-version@a4f4119eac453a14d6b6184b656320eb72b5da3c
|
||||
- name: install manifest-json-version
|
||||
run: go install github.com/eyedeekay/manifest-json-version@latest
|
||||
- run: git clone https://github.com/i2p/i2p.i2p ../i2p.i2p
|
||||
- run: cd ../i2p.i2p && ant builddep
|
||||
- name: build exe with Ant
|
||||
run: |
|
||||
ant windows
|
||||
bash -c 'ls *.exe'
|
||||
- name: Upload Firefox Profile EXE Installer
|
||||
uses: actions/upload-artifact@v4
|
||||
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:
|
||||
name: i2pbrowser-1.0.0-${{ github.sha }}.exe
|
||||
path: ./i2pbrowser-1.0.0.exe
|
||||
- name: build msi with Ant
|
||||
run: |
|
||||
ant windows-msi
|
||||
bash -c 'ls *.msi'
|
||||
- name: Upload Firefox Profile MSI Installer
|
||||
uses: actions/upload-artifact@v4
|
||||
skip_unpack: true
|
||||
workflow: ant.yml
|
||||
if_no_artifact_found: fail
|
||||
# remove .zip file extension
|
||||
- run: for f in *.zip; do unzip "$f"; rm "$f"; 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
|
||||
- run: echo '```' | tee -a CHANGES.md
|
||||
- run: file * | 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:
|
||||
name: i2pbrowser-1.0.0-${{ github.sha }}.msi
|
||||
path: ./i2pbrowser-1.0.0.msi
|
||||
- name: build portable zip with Ant
|
||||
run: |
|
||||
ant windows-portable
|
||||
bash -c 'ls *.zip'
|
||||
- name: Upload Firefox Profile Portable Zip
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: i2pbrowser-portable-${{ github.sha }}.zip
|
||||
path: ./i2pbrowser-portable.zip
|
||||
|
||||
buildmac:
|
||||
runs-on: macos-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Set up JDK 21
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: '21'
|
||||
distribution: 'temurin'
|
||||
- uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: '1.21'
|
||||
- name : Generate override.properties
|
||||
run: |
|
||||
bash -c 'rm -f override.properties'
|
||||
bash -c 'echo "build.built-by=GitHub Actions" >> override.properties'
|
||||
bash -c 'echo "noExe=true" >> override.properties'
|
||||
- name: install crx3
|
||||
run: go install github.com/mediabuyerbot/go-crx3/crx3@latest
|
||||
- name: install dzip
|
||||
run: go install github.com/delicb/dzip@latest
|
||||
- name: install amo-version
|
||||
run: go install github.com/eyedeekay/amo-version@a4f4119eac453a14d6b6184b656320eb72b5da3c
|
||||
- name: install manifest-json-version
|
||||
run: go install github.com/eyedeekay/manifest-json-version@latest
|
||||
- run: git clone https://github.com/i2p/i2p.i2p ../i2p.i2p
|
||||
- run: cd ../i2p.i2p && ant builddep
|
||||
- name: build dmg with Ant
|
||||
run: |
|
||||
ant macos
|
||||
bash -c 'ls *.dmg'
|
||||
- name: Upload Firefox Profile DMG Installer
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: i2pbrowser-1.0.0-${{ github.sha }}.dmg
|
||||
path: ./i2pbrowser-1.0.0.dmg
|
||||
- name: build pkg with Ant
|
||||
run: |
|
||||
ant macos-pkg
|
||||
bash -c 'ls *.pkg'
|
||||
- name: Upload Firefox Profile PKG Installer
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: i2pbrowser-1.0.0-${{ github.sha }}.pkg
|
||||
path: ./i2pbrowser-1.0.0.pkg
|
||||
artifacts: "*"
|
||||
bodyFile: "CHANGES.md"
|
||||
|
@ -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.1
|
||||
export GITHUB_TAG=1.4.0
|
@ -1,3 +1,3 @@
|
||||
#Build Number for ANT. Do not edit!
|
||||
#Thu Mar 07 12:01:15 EST 2024
|
||||
build.number=707
|
||||
#Thu Mar 07 15:18:16 EST 2024
|
||||
build.number=709
|
||||
|
@ -36,6 +36,7 @@ public class I2PCommonBrowser {
|
||||
private Properties prop = new Properties();
|
||||
public Logger logger = Logger.getLogger("browserlauncher");
|
||||
private FileHandler fh;
|
||||
private boolean validated = false;
|
||||
int CONFIGURED_TIMEOUT = 200;
|
||||
|
||||
public I2PCommonBrowser() {
|
||||
@ -75,6 +76,8 @@ public class I2PCommonBrowser {
|
||||
* @return None No return value.
|
||||
*/
|
||||
public void validateUserDirectory() {
|
||||
if (validated)
|
||||
return;
|
||||
logger.info("Validating user directory");
|
||||
String userDir = System.getProperty("user.dir");
|
||||
String userHome = System.getProperty("user.home");
|
||||
@ -123,6 +126,7 @@ public class I2PCommonBrowser {
|
||||
logger.info(defaultPathFile.getAbsolutePath());
|
||||
}
|
||||
System.setProperty("user.dir", defaultPathFile.getAbsolutePath());
|
||||
validated = true;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -44,6 +44,10 @@ public class I2PBrowserPlugin extends I2PBrowser implements ClientApp {
|
||||
private final File profileDir;
|
||||
private MenuHandle lmhs;
|
||||
private MenuHandle lmhf;
|
||||
/**
|
||||
* @since 1.4.0
|
||||
* @return
|
||||
*/
|
||||
public I2PBrowserPlugin() {
|
||||
_context = new I2PAppContext();
|
||||
_mgr = null;
|
||||
@ -52,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;
|
||||
@ -61,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");
|
||||
@ -81,6 +106,10 @@ public class I2PBrowserPlugin extends I2PBrowser implements ClientApp {
|
||||
}
|
||||
changeState(ClientAppState.STOPPED);
|
||||
}
|
||||
/**
|
||||
* @since 1.4.0
|
||||
* @return
|
||||
*/
|
||||
public void startup() {
|
||||
changeState(ClientAppState.STOPPED);
|
||||
if (!isSystrayEnabled()) {
|
||||
@ -103,10 +132,12 @@ public class I2PBrowserPlugin extends I2PBrowser implements ClientApp {
|
||||
}
|
||||
if (dtg != null) {
|
||||
_log.info("I2P Browser integrating with I2P tray manager");
|
||||
lmhs = dtg.addMenu("Launch I2P Browser (Safe Mode)", new Starter(dtg));
|
||||
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));
|
||||
lmhf = dtg.addMenu("Launch I2P Browser (Flexible Mode)",
|
||||
new FlexStarter(dtg));
|
||||
dtg.showMenu(lmhf);
|
||||
dtg.enableMenu(lmhf);
|
||||
} else {
|
||||
@ -122,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()) {
|
||||
@ -141,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;
|
||||
@ -157,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;
|
||||
@ -179,9 +220,13 @@ public class I2PBrowserPlugin extends I2PBrowser implements ClientApp {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @since 1.4.0
|
||||
* @return
|
||||
*/
|
||||
public class FlexStarter implements MenuCallback {
|
||||
private final MenuService _ms;
|
||||
public Starter(MenuService ms) { _ms = ms; }
|
||||
public FlexStarter(MenuService ms) { _ms = ms; }
|
||||
public void clicked(MenuHandle menu) {
|
||||
// Thread t = new I2PAppThread(new StarterThread(),
|
||||
//"I2PBrowser-Launcher start", true);
|
||||
@ -199,20 +244,10 @@ public class I2PBrowserPlugin extends I2PBrowser implements ClientApp {
|
||||
}
|
||||
}
|
||||
|
||||
public class StarterThread implements Runnable {
|
||||
public void run() {
|
||||
_log.info("I2P Browser starting up");
|
||||
try {
|
||||
I2PBrowser i2pBrowser = new I2PBrowser(profileDir.getAbsolutePath());
|
||||
String[] args = {"http://proxy.i2p"};
|
||||
i2pBrowser.launchFirefox(0, args);
|
||||
} catch (Exception e) {
|
||||
_log.error("Error starting I2P Browser", e);
|
||||
}
|
||||
_log.info("I2P Browser ran");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @since 1.4.0
|
||||
* @return
|
||||
*/
|
||||
private synchronized void changeState(ClientAppState state) {
|
||||
if (_mgr != null)
|
||||
_mgr.notify(this, state, null, null);
|
||||
|
Reference in New Issue
Block a user