diff options
author | Doadin <tbkizle@gmail.com> | 2018-05-02 00:14:02 -0400 |
---|---|---|
committer | Unknown <tbkizle@gmail.com> | 2018-05-21 13:14:15 -0400 |
commit | 196aa48727276fafeb16bc7d845c91e55995652e (patch) | |
tree | 84639640ce10417a9c4e5f1717d9ec53544182d4 /deluge/core/core.py | |
parent | af2972f6975bb3a4949fb6db84df270491c4ca7f (diff) | |
download | deluge-196aa48727276fafeb16bc7d845c91e55995652e.tar.gz deluge-196aa48727276fafeb16bc7d845c91e55995652e.tar.bz2 deluge-196aa48727276fafeb16bc7d845c91e55995652e.zip |
[#3171] Add Option To Specify Outgoing Connection Interface
Diffstat (limited to 'deluge/core/core.py')
-rw-r--r-- | deluge/core/core.py | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/deluge/core/core.py b/deluge/core/core.py index 4b80a55d8..10861c631 100644 --- a/deluge/core/core.py +++ b/deluge/core/core.py @@ -101,7 +101,7 @@ DELUGE_VER = deluge.common.get_version() class Core(component.Component): - def __init__(self, listen_interface=None, read_only_config_keys=None): + def __init__(self, listen_interface=None, outgoing_interface=None, read_only_config_keys=None): component.Component.__init__(self, 'Core') # Start the libtorrent session. @@ -163,6 +163,13 @@ class Core(component.Component): self.config['listen_interface'] = listen_interface else: log.error('Invalid listen interface (must be IP Address): %s', listen_interface) + self.__old_outgoing_interface = None + if outgoing_interface: + if deluge.common.is_ip(outgoing_interface): + self.__old_outgoing_interface = self.config['outgoing_interface'] + self.config['outgoing_interface'] = outgoing_interface + else: + log.error('Invalid outgoing interface (must be IP Address): %s', outgoing_interface) # New release check information self.__new_release = None @@ -197,6 +204,9 @@ class Core(component.Component): if self.__old_interface: self.config['listen_interface'] = self.__old_interface + if self.__old_outgoing_interface: + self.config['outgoing_interface'] = self.__old_outgoing_interface + # Make sure the config file has been saved self.config.save() |