Skip to content

Commit

Permalink
Minor changes on Forward Proxy
Browse files Browse the repository at this point in the history
  • Loading branch information
celeron533 committed Feb 20, 2018
1 parent 85bd65e commit 5db7c79
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 42 deletions.
14 changes: 2 additions & 12 deletions shadowsocks-csharp/Controller/ShadowsocksController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -240,19 +240,9 @@ public void ToggleShareOverLAN(bool enabled)
}
}

public void DisableProxy()
public void SaveProxy(ProxyConfig proxyConfig)
{
_config.proxy.useProxy = false;
SaveConfig(_config);
}

public void EnableProxy(int type, string proxy, int port, int timeout)
{
_config.proxy.useProxy = true;
_config.proxy.proxyType = type;
_config.proxy.proxyServer = proxy;
_config.proxy.proxyPort = port;
_config.proxy.proxyTimeout = timeout;
_config.proxy = proxyConfig;
SaveConfig(_config);
}

Expand Down
54 changes: 24 additions & 30 deletions shadowsocks-csharp/View/ProxyForm.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ public partial class ProxyForm : Form
private ShadowsocksController controller;

// this is a copy of configuration that we are working on
private ProxyConfig _modifiedConfiguration;
private ProxyConfig _modifiedProxyConfig;

public ProxyForm(ShadowsocksController controller)
{
Expand Down Expand Up @@ -49,54 +49,48 @@ private void controller_ConfigChanged(object sender, EventArgs e)

private void LoadCurrentConfiguration()
{
_modifiedConfiguration = controller.GetConfigurationCopy().proxy;
UseProxyCheckBox.Checked = _modifiedConfiguration.useProxy;
ProxyServerTextBox.Text = _modifiedConfiguration.proxyServer;
ProxyPortTextBox.Text = _modifiedConfiguration.proxyPort.ToString();
ProxyTimeoutTextBox.Text = _modifiedConfiguration.proxyTimeout.ToString();
ProxyTypeComboBox.SelectedIndex = _modifiedConfiguration.proxyType;
_modifiedProxyConfig = controller.GetConfigurationCopy().proxy;
UseProxyCheckBox.Checked = _modifiedProxyConfig.useProxy;
ProxyServerTextBox.Text = _modifiedProxyConfig.proxyServer;
ProxyPortTextBox.Text = _modifiedProxyConfig.proxyPort.ToString();
ProxyTimeoutTextBox.Text = _modifiedProxyConfig.proxyTimeout.ToString();
ProxyTypeComboBox.SelectedIndex = _modifiedProxyConfig.proxyType;
}

private void OKButton_Click(object sender, EventArgs e)
{

if (UseProxyCheckBox.Checked)
if (_modifiedProxyConfig.useProxy=UseProxyCheckBox.Checked)
{
int port;
int timeout;
if (!int.TryParse(ProxyPortTextBox.Text, out port))
if (!int.TryParse(ProxyPortTextBox.Text, out _modifiedProxyConfig.proxyPort))
{
MessageBox.Show(I18N.GetString("Illegal port number format"));
return;
}

if (!int.TryParse(ProxyTimeoutTextBox.Text, out timeout))
if (!int.TryParse(ProxyTimeoutTextBox.Text, out _modifiedProxyConfig.proxyTimeout))
{
MessageBox.Show(I18N.GetString("Illegal timeout format"));
return;
}

var type = ProxyTypeComboBox.SelectedIndex;
var proxy = ProxyServerTextBox.Text;
_modifiedProxyConfig.proxyType = ProxyTypeComboBox.SelectedIndex;

try
{
Configuration.CheckServer(proxy);
Configuration.CheckPort(port);
Configuration.CheckTimeout(timeout, ProxyConfig.MaxProxyTimeoutSec);
Configuration.CheckServer(_modifiedProxyConfig.proxyServer = ProxyServerTextBox.Text);
Configuration.CheckPort(_modifiedProxyConfig.proxyPort);
Configuration.CheckTimeout(_modifiedProxyConfig.proxyTimeout, ProxyConfig.MaxProxyTimeoutSec);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}

controller.EnableProxy(type, proxy, port, timeout);
}
else
{
controller.DisableProxy();
}

controller.SaveProxy(_modifiedProxyConfig);

this.Close();
}

Expand All @@ -119,17 +113,17 @@ private void UpdateEnabled()
{
if (UseProxyCheckBox.Checked)
{
ProxyServerTextBox.Enabled = true;
ProxyPortTextBox.Enabled = true;
ProxyTimeoutTextBox.Enabled = true;
ProxyServerTextBox.Enabled =
ProxyPortTextBox.Enabled =
ProxyTimeoutTextBox.Enabled =
ProxyTypeComboBox.Enabled = true;
}
else
{
ProxyServerTextBox.Enabled = false;
ProxyPortTextBox.Enabled = false;
ProxyTimeoutTextBox.Enabled = false;
ProxyTypeComboBox.Enabled = false;
ProxyServerTextBox.Enabled =
ProxyPortTextBox.Enabled =
ProxyTimeoutTextBox.Enabled =
ProxyTypeComboBox.Enabled = false;
}
}
}
Expand Down

0 comments on commit 5db7c79

Please sign in to comment.