⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 configurationchecker.java

📁 java 文件下载器。可自定义
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space 
// Source File Name:   ConfigurationChecker.java

package org.gudy.azureus2.core3.config.impl;

import com.aelitis.azureus.core.proxy.socks.AESocksProxy;
import com.aelitis.azureus.core.proxy.socks.AESocksProxyFactory;
import com.aelitis.azureus.core.util.FeatureAvailability;
import java.io.*;
import java.lang.reflect.Field;
import java.net.InetAddress;
import java.util.*;
import org.gudy.azureus2.core3.config.COConfigurationManager;
import org.gudy.azureus2.core3.config.ParameterListener;
import org.gudy.azureus2.core3.logging.*;
import org.gudy.azureus2.core3.security.SESecurityManager;
import org.gudy.azureus2.core3.util.*;

// Referenced classes of package org.gudy.azureus2.core3.config.impl:
//			ConfigurationDefaults, ConfigurationManager

public class ConfigurationChecker
{

	private static final LogIDs LOGID;
	private static boolean system_properties_set = false;
	private static boolean checked = false;
	private static boolean new_install = false;
	private static AEMonitor class_mon = new AEMonitor("ConfigChecker");
	private static boolean new_version = false;

	public ConfigurationChecker()
	{
	}

	protected static void setSystemProperties()
	{
		class_mon.enter();
		if (system_properties_set)
		{
			class_mon.exit();
			return;
		}
		COConfigurationManager.preInitialise();
		String app_path = SystemProperties.getApplicationPath();
		String user_path = SystemProperties.getUserPath();
		loadProperties(app_path);
		if (!app_path.equals(user_path))
			loadProperties(user_path);
		COConfigurationManager.addAndFireParameterListener("IPV6 Prefer Addresses", new ParameterListener() {

			private boolean done_something;

			public void parameterChanged(String name)
			{
				boolean prefer_ipv6 = COConfigurationManager.getBooleanParameter(name);
				boolean existing = !System.getProperty("java.net.preferIPv6Addresses", "false").equalsIgnoreCase("false");
				if (existing && !done_something)
					return;
				if (existing != prefer_ipv6)
				{
					done_something = true;
					System.setProperty("java.net.preferIPv6Addresses", prefer_ipv6 ? "true" : "false");
					try
					{
						Field field = java/net/InetAddress.getDeclaredField("preferIPv6Address");
						field.setAccessible(true);
						field.setBoolean(null, prefer_ipv6);
					}
					catch (Throwable e)
					{
						Debug.out("Failed to update 'preferIPv6Address'", e);
					}
				}
			}

			
			{
				done_something = false;
			}
		});
		int connect_timeout = COConfigurationManager.getIntParameter("Tracker Client Connect Timeout");
		int read_timeout = COConfigurationManager.getIntParameter("Tracker Client Read Timeout");
		if (Logger.isEnabled())
			Logger.log(new LogEvent(LOGID, (new StringBuilder()).append("TrackerClient: connect timeout = ").append(connect_timeout).append(", read timeout = ").append(read_timeout).toString()));
		System.setProperty("sun.net.client.defaultConnectTimeout", String.valueOf(connect_timeout * 1000));
		System.setProperty("sun.net.client.defaultReadTimeout", String.valueOf(read_timeout * 1000));
		boolean TEST_PROXY = false;
		if (TEST_PROXY)
			try
			{
				AESocksProxy proxy = AESocksProxyFactory.create(16234, 0L, 0L);
				System.setProperty("socksProxyHost", "127.0.0.1");
				System.setProperty("socksProxyPort", (new StringBuilder()).append("").append(proxy.getPort()).toString());
			}
			catch (Throwable e)
			{
				Debug.printStackTrace(e);
			}
		else
		if (COConfigurationManager.getBooleanParameter("Enable.Proxy"))
		{
			String host = COConfigurationManager.getStringParameter("Proxy.Host");
			String port = COConfigurationManager.getStringParameter("Proxy.Port");
			String user = COConfigurationManager.getStringParameter("Proxy.Username");
			String pass = COConfigurationManager.getStringParameter("Proxy.Password");
			if (user.trim().equalsIgnoreCase("<none>"))
				user = "";
			if (COConfigurationManager.getBooleanParameter("Enable.SOCKS"))
			{
				System.setProperty("socksProxyHost", host);
				System.setProperty("socksProxyPort", port);
				if (user.length() > 0)
				{
					System.setProperty("java.net.socks.username", user);
					System.setProperty("java.net.socks.password", pass);
				}
			} else
			{
				System.setProperty("http.proxyHost", host);
				System.setProperty("http.proxyPort", port);
				System.setProperty("https.proxyHost", host);
				System.setProperty("https.proxyPort", port);
				if (user.length() > 0)
				{
					System.setProperty("http.proxyUser", user);
					System.setProperty("http.proxyPassword", pass);
				}
			}
		}
		SESecurityManager.initialise();
		class_mon.exit();
		break MISSING_BLOCK_LABEL_398;
		Exception exception;
		exception;
		class_mon.exit();
		throw exception;
	}

	protected static void loadProperties(String dir)
	{
		Properties props;
		InputStream is;
		File prop_file = new File(dir, "azureus.properties");
		if (!prop_file.exists())
			break MISSING_BLOCK_LABEL_206;
		Logger.log(new LogEvent(LOGID, (new StringBuilder()).append("Loading properties file from ").append(prop_file.getAbsolutePath()).toString()));
		props = new Properties();
		is = new FileInputStream(prop_file);
		props.load(is);
		String key;
		String value;
		for (Iterator it = props.entrySet().iterator(); it.hasNext(); System.setProperty(key, value))
		{
			java.util.Map.Entry entry = (java.util.Map.Entry)it.next();
			key = (String)entry.getKey();
			value = (String)entry.getValue();
			Logger.log(new LogEvent(LOGID, (new StringBuilder()).append("    ").append(key).append("=").append(value).toString()));
		}

		is.close();
		break MISSING_BLOCK_LABEL_206;
		Exception exception;
		exception;
		is.close();
		throw exception;
		Throwable e;
		e;
	}

	public static void checkConfiguration()
	{
		class_mon.enter();
		if (checked)
		{
			class_mon.exit();
			return;
		}
		checked = true;
		boolean changed = false;
		String last_version = COConfigurationManager.getStringParameter("azureus.version", "");
		String this_version = "4.2.0.0";
		if (!last_version.equals(this_version))
		{
			if (!Constants.getBaseVersion(last_version).equals(Constants.getBaseVersion()))
			{
				COConfigurationManager.setParameter("Last Version", last_version);
				new_version = true;
			}
			if (!COConfigurationManager.hasParameter("First Recorded Version", true))
			{
				COConfigurationManager.setParameter("First Recorded Version", last_version.length() != 0 ? last_version : this_version);
			} else
			{
				String sFirstVersion = COConfigurationManager.getStringParameter("First Recorded Version");
				String sMinVersion = Constants.compareVersions(sFirstVersion, this_version) <= 0 ? sFirstVersion : this_version;
				if (last_version.length() > 0)
					sMinVersion = Constants.compareVersions(sMinVersion, last_version) <= 0 ? sMinVersion : last_version;
				COConfigurationManager.setParameter("First Recorded Version", sMinVersion);
			}
			COConfigurationManager.setParameter("azureus.version", this_version);
			changed = true;
		}
		if (last_version.length() == 0)
		{
			new_install = true;
			if (COConfigurationManager.doesParameterNonDefaultExist("diagnostics.tidy_close"))
			{
				if (!COConfigurationManager.doesParameterNonDefaultExist("Use default data dir"))
				{
					COConfigurationManager.setParameter("Use default data dir", true);
					changed = true;
				}
				if (!COConfigurationManager.doesParameterNonDefaultExist("Tracker Port Enable"))
				{
					COConfigurationManager.setParameter("Tracker Port Enable", true);
					changed = true;
				}
			}
			if (COConfigurationManager.getBooleanParameter("Use default data dir") && !COConfigurationManager.doesParameterNonDefaultExist("Default save path"))
			{
				COConfigurationManager.setParameter("Default save path", (new StringBuilder()).append(SystemProperties.getUserPath()).append("downloads").toString());
				changed = true;
			}
			if (!COConfigurationManager.doesParameterNonDefaultExist("User Mode"))
			{
				COConfigurationManager.setParameter("User Mode", 0);
				changed = true;
			}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -