move platform-specic pages to docs

This commit is contained in:
idk
2022-12-21 03:01:51 +00:00
parent 727af7efaa
commit a06c90095b
13 changed files with 59 additions and 50 deletions

View File

Binary file not shown.

View File

@ -1,3 +1,3 @@
#Build Number for ANT. Do not edit!
#Mon Dec 19 16:45:03 UTC 2022
build.number=268
#Mon Dec 19 22:31:46 UTC 2022
build.number=308

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -1 +1 @@
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA~wD~AP-gvaeTAAAHF0lEQVRYhcWXf0zU5x3HX8~37jjhjoKoEESRdaI2tsrU1a7bog7FuMlsXP05rQ5SY4xrs6y2XTBbarppbKZpuprUIK3GOgOdWvwBGB06goiAiBbm9abIifwQDvl5v-8---OQnYCVbS57J0~u-X6ez~N-v7~PPd~nB~yfof6DPnHAa8Ai4NuAAWgGyoDPgYr~lQEN2AZsj4rC9MYbMHUqymCA-~eRkydRZ88iwAlgC9Dy7xh5EvTAnzWNQHY2YrcTECEggvSXgMeDlJURSEtDgDvA5KdpYLfRiJSWDgg-tnR0IBkZCFAHmJ-GeArgPX4c8XqRmhqkogLp6~uXaHc3cuYMcuwY0tKCtLYiKSkI8PunYeCz9HTE4UB2754jxcXFUllZKVlZG6SzM2gkK2utWCwWsdlssmPHu9Lejpw4gQAdQMR~I64D2nJzEYsFKSgoCIiIBAIBqa-vl~x8pLwcqa6ulv54wGq1SmEh0taGaBoCLPkmAW1wYP2h9aZNn2wy9D9OAMYkJ4PHAyaTSdXW1jJv3jxsNhtuNxgM0NjYyK5du6ioqFButxuDAcaMgbQ0AJ5~yH13xYpw65IlxlA9~YDw0fXPaTptv0J9zx3udm7M25h94eMLB-9cuKPMZkhMhPff34vJNJeSkhKysn5Bbi6MHQt5ecvYuTPAhg0bSEx08M47oBQkJABgtq1eNF4C2v4A3YvDIvE1rFqc59FrW5M~L-hWAFtyt5gdmqMOYWKoO1ePK~doxtFXr11DmzkT-vrg8mVwOuHFFyE2Npjn84HFEvydOhWMRhCBpUvh5l~1b11YlroGmB3KrZDjiblnl-sBHMqxdLA4gNFs~LE-Ut9utfpiZ84EkwlSU4f-jzo9TJ8OEhJ70AGFhZDz~en6weIAglpmW71ovAYgIs8MpQWlVETUxKhThw8H58DjoIapl5aCCM0vx8XeeEw3Tfz6aA1Ah-6iIL5hkkrsdfY~fPklrqKixxuQQfX2NtixA4A~jjKGlQHdw3SrT8Rs0QByVuZYlKi3BpmwodgM3AJ-u2YNlJcPbyB0BLo6ISsLqqoAmDPpyOkeRDJBnCFpHYh6TeXl-R~ZjDJyM6aKkvmCdEVIxKl9K~f1AlOAg8BLJp3i4wPC2rXBzy8Ufj9UV8MXv4th8ZkEKuniN9jwwwHg9cblSxJ8OlmsVMCn8~pPTTh-3g4hnyHAgcTaTvz-FkS665pcnn2wGfhgIRHm7Uxmlv8ZNu2tYdWqHoqKwOEIGmlpgVsnY1hcMJ73GI0RjQXEMJsoUrmRCbRvXx-3S~lUKwpvb6DXwfGg5oABKf3uOnz-T4CIrr4AR0-3dQAxe0kikwQi0dOKh4Vbe~D5oObNBDbcnogfIRIdozEM2dt~yGhSCKPphehf4eN1QWIQMGmmuxnHMtJzlufUKAApeykJv-8mYHR7hWVv13G2wskxnmMZ47Dj4zKd2PEy9-9W7HbQ~yCFuUQ9IihKUBK00YMPEzpSqRTv1u-o5HnJg6dObVJt0ozgUuz3LgSMAEaDIjM9DhQU04EH4U~YSKeOE69YSU6GopN6XiByMOGAeBNuUqniPl4u4lCxybFDcoHpt6fdnqzvt-4OHb8VPxpLlEnPT97-B8n-CGIJAyAlBZqaIGFPIhFDtxEAHPjZGd5Ai05HTu89Rk-J8UXGReqHSRU0XEEWneE00B7amjY3mtO7J1~5JfWeD8Z1kpv1Ju1Vi5gxA-K9xmH4gvgaB~N~vYqagx~iXjsHt8N9SNNpliHqIucPrTxk0wDUy2UdiCwFbva3-0EdSZtlTAVe7XO6fJMT4tmxcTV7Mjfzc27yNx7gJjCwCAWAWzj4VHePXpcLEZgyMZ6-xr5qFOnAlYE3F4oMPsM6GHQoFUFxafazeOhSC6pCRyQ3~lvxK9ru3ici2sSCVxZgjjJzZs9R5ouZmVuX0BU3mqhJcUSPiSb~03y-Kr~B~bttfiABaAXI~EvmJDduz-GfHW5-SDyiU7FS6spHRR~N0ZRG2Kgwpek0AaguqSb~s3y2fbgNpZQSkYFVef97-7leev0ckPZN3MPPpKFZmtvpVuHmcKXT61D9mDZrmkqalqSUUqrf6MO6CvgDCnjwZOoRwBhhvGq9bh22rbK4kvbmR-Yvzj4n4aZwGMElZUQGXD2u7MIjhQF7i~2ReF1lHROenUDJ6RKcfU4Eobe7l3NfnEOn13mA~Cdx60ZiAGhC46f2Vnt8uDmczvZOrl68SktDC26nm3Hx47Bet-LocVBVXIXX4-VSwaUjIpL9tAy86-pzrVOaosHSoG59dUt6Onu4V39P1ZbX4vP5JGZcjOpo7ZDmhmZVcb4CEXkeuAtcG6HGY6GARoJnjcHFRfBi6iR46LATvBPagK-BXSMhHwlGEdwrQkdMD7gBR3~cT3A98o-QE4B~ArxvOJmT8uQGAAAAAElFTkSuQmCC
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

View File

@ -3,7 +3,7 @@ signer=idki2p@mail.i2p
consoleLinkName=I2PFirefox
consoleLinkURL=/
consoleLinkTooltip=Firefox process manager for I2P
icon-code=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
icon-code=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
description=Firefox process manager for I2P
author=idk
updateURL=/i2psnark/i2p.plugins.firefox/i2pfirefox-update.xpi2p

View File

@ -1,5 +1,6 @@
package net.i2p.i2pfirefox;
import java.awt.AWTException;
import java.awt.Image;
import java.awt.Menu;
import java.awt.MenuItem;
@ -41,9 +42,12 @@ public class I2PBrowser extends I2PCommonBrowser {
private final I2PChromium i2pChromium = new I2PChromium();
private final I2PGenericUnsafeBrowser i2pGeneral =
new I2PGenericUnsafeBrowser();
private final Toolkit toolkit = Toolkit.getDefaultToolkit();
private final SystemTray tray = initTray();
private final Image image = toolkit.getImage("icon.png");
private final TrayIcon icon = initIcon();
private final PopupMenu menu = initMenu();
private final Menu submenuStrict = new Menu("Strict Mode");
private final MenuItem launchRegularBrowserStrict =
new MenuItem("Launch I2P Browser");
@ -57,6 +61,7 @@ public class I2PBrowser extends I2PCommonBrowser {
private final MenuItem launchConfigBrowserUsability =
new MenuItem("Launch I2P Console");
private final MenuItem closeItem = new MenuItem("Close");
public boolean firefox = false;
public boolean chromium = false;
public boolean generic = false;
@ -96,7 +101,7 @@ public class I2PBrowser extends I2PCommonBrowser {
*
* @since 0.0.16
*/
public I2PBrowser() {}
public I2PBrowser() { initIconFile(); }
/**
* Construct an I2PBrowser class which automatically determines which browser
@ -106,6 +111,7 @@ public class I2PBrowser extends I2PCommonBrowser {
*/
public I2PBrowser(String browserPath) {
I2PGenericUnsafeBrowser.BROWSER = browserPath;
initIconFile();
}
public void setBrowser(String browserPath) {
@ -282,7 +288,10 @@ public class I2PBrowser extends I2PCommonBrowser {
try {
if (useSystray) {
logger.info("Starting systray");
systray(args);
if (systray()) {
logger.info("Systray started");
}
startupSystray();
Runtime.getRuntime().addShutdownHook(new Thread() {
@Override
public void run() {
@ -313,13 +322,6 @@ public class I2PBrowser extends I2PCommonBrowser {
}
return false;
}
protected void shutdownSystray() {
tray.remove(icon);
File systrayIsRunningFile =
new File(runtimeDirectory(""), "systray.running");
if (systrayIsRunningFile.exists())
systrayIsRunningFile.delete();
}
private SystemTray initTray() {
if (systrayIsRunningExternally()) {
return null;
@ -336,46 +338,61 @@ public class I2PBrowser extends I2PCommonBrowser {
return menu;
}
private TrayIcon initIcon() {
File iconFile = new File(runtimeDirectory(""), "icon.png");
if (!iconFile.exists()) {
private File initIconFile() {
File icon = new File(runtimeDirectory(""), "icon.png");
if (!icon.exists()) {
InputStream resources =
I2PBrowser.class.getClassLoader().getResourceAsStream("icon.png");
try {
OutputStream fos = new FileOutputStream(iconFile);
OutputStream fos = new FileOutputStream(icon);
copy(resources, fos);
} catch (IOException e) {
logger.warning(e.toString());
}
}
Toolkit toolkit = Toolkit.getDefaultToolkit();
Image image = toolkit.getImage("icon.png");
return icon;
}
private TrayIcon initIcon() {
TrayIcon icon = new TrayIcon(image, "I2P Browser Profile Controller", menu);
icon.setImageAutoSize(true);
return icon;
}
public boolean systray(String[] args) throws Exception {
protected void startupSystray() {
logger.info("Setting up systray");
File systrayIsRunningFile =
new File(runtimeDirectory(""), "systray.running");
if (systrayIsRunningFile.exists()) {
try {
logger.info("Adding icon to systray");
tray.add(icon);
} catch (AWTException e) {
logger.warning(e.toString());
}
}
}
protected void shutdownSystray() {
tray.remove(icon);
File systrayIsRunningFile =
new File(runtimeDirectory(""), "systray.running");
if (systrayIsRunningFile.exists())
systrayIsRunningFile.delete();
}
public boolean systray() throws Exception {
if (tray == null)
throw new Exception("System Tray is Null Exception");
tray.add(icon);
launchRegularBrowserStrict.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ArrayList<String> argsList = new ArrayList<String>();
argsList.addAll(Arrays.asList(args));
argsList.add("-strict");
main(argsList.toArray(args));
String[] args = {"-strict"};
main(args);
}
});
submenuStrict.add(launchRegularBrowserStrict);
logger.info("Added strict mode browser");
launchPrivateBrowserStrict.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ArrayList<String> argsList =
new ArrayList<String>(Arrays.asList(new String[] {"-private"}));
argsList.addAll(Arrays.asList(args));
argsList.add("-strict");
main(argsList.toArray(args));
String[] args = {"-private", "-strict"};
main(args);
}
});
submenuStrict.add(launchPrivateBrowserStrict);
@ -384,32 +401,24 @@ public class I2PBrowser extends I2PCommonBrowser {
logger.info("Added strict mode submenu");
launchRegularBrowserUsability.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ArrayList<String> argsList = new ArrayList<String>();
argsList.addAll(Arrays.asList(args));
argsList.add("-usability");
main(argsList.toArray(args));
String[] args = {"-usability"};
main(args);
}
});
submenuUsability.add(launchRegularBrowserUsability);
logger.info("Added usability mode browser");
launchPrivateBrowserUsability.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ArrayList<String> argsList =
new ArrayList<String>(Arrays.asList(new String[] {"-private"}));
argsList.addAll(Arrays.asList(args));
argsList.add("-usability");
main(argsList.toArray(args));
String[] args = {"-private", "-strict"};
main(args);
}
});
submenuUsability.add(launchPrivateBrowserUsability);
logger.info("Added usability+private mode browser");
launchConfigBrowserUsability.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ArrayList<String> argsList = new ArrayList<String>(
Arrays.asList(new String[] {"-app", "http://127.0.0.1:7657"}));
argsList.addAll(Arrays.asList(args));
argsList.add("-usability");
main(argsList.toArray(args));
String[] args = {"-usability", "-app", "http://127.0.0.1:7657"};
main(args);
}
});
submenuUsability.add(launchConfigBrowserUsability);

View File

@ -29,7 +29,7 @@ import java.util.stream.Stream;
*/
public class I2PFirefox extends I2PCommonBrowser {
private final String[] FIREFOX_SEARCH_PATHS = FIREFOX_FINDER();
private Process p = null;
private Process process = null;
public static boolean usability = false;
private static String baseMode() {
@ -696,10 +696,10 @@ public class I2PFirefox extends I2PCommonBrowser {
}
try {
logger.info(pb.command().toString());
p = pb.start();
process = pb.start();
logger.info("I2PFirefox");
sleep(2000);
return p;
return process;
} catch (Throwable e) {
logger.info(e.toString());
}
@ -725,12 +725,12 @@ public class I2PFirefox extends I2PCommonBrowser {
}
public void launch(int privateWindow, String[] url) {
if (waitForProxy()) {
p = launchAndDetatch(privateWindow, url);
if (p == null)
process = launchAndDetatch(privateWindow, url);
if (process == null)
return;
try {
logger.info("Waiting for I2PFirefox to close...");
int exit = p.waitFor();
int exit = process.waitFor();
logger.info("I2PFirefox exited with value: " + exit);
if (isOSX())
System.exit(exit);