コード例 #1
0
    def test_export(self) -> None:
        # Seems the format of this may need discussion
        ipf = lt.ip_filter()
        self.assertEqual(ipf.export_filter(), "something")

        ipf = lt.ip_filter()
        ipf.add_rule("0.0.0.0", "0.255.255.255", 123)
        ipf.add_rule("::", "::ffff", 456)
        self.assertEqual(ipf.export_filter(), "something")
コード例 #2
0
ファイル: download_manager.py プロジェクト: hbiyik/tribler
 def update_ip_filter(self, lt_session, ip_addresses):
     self._logger.debug('Updating IP filter %s', ip_addresses)
     ip_filter = lt.ip_filter()
     ip_filter.add_rule('0.0.0.0', '255.255.255.255', 1)
     for ip in ip_addresses:
         ip_filter.add_rule(ip, ip, 0)
     lt_session.set_ip_filter(ip_filter)
コード例 #3
0
ファイル: ip_filter_test.py プロジェクト: Chocobo1/libtorrent
    def test_empty(self) -> None:
        ipf = lt.ip_filter()
        self.assertEqual(ipf.access("0.1.2.3"), 0)
        self.assertEqual(ipf.access("::123"), 0)

        self.assertEqual(
            export(ipf),
            (
                [("0.0.0.0", "255.255.255.255")],
                [("::", "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff")],
            ),
        )
コード例 #4
0
ファイル: ip_filter_test.py プロジェクト: Chocobo1/libtorrent
    def test_export(self) -> None:
        ipf = lt.ip_filter()
        self.assertEqual(
            export(ipf),
            (
                [("0.0.0.0", "255.255.255.255")],
                [("::", "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff")],
            ),
        )

        ipf = lt.ip_filter()
        ipf.add_rule("0.0.0.0", "0.255.255.255", 123)
        ipf.add_rule("::", "::ffff", 456)
        self.assertEqual(
            export(ipf),
            (
                [("0.0.0.0", "0.255.255.255"), ("1.0.0.0", "255.255.255.255")],
                [
                    ("::", "::ffff"),
                    ("::1:0", "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"),
                ],
            ),
        )
コード例 #5
0
ファイル: ip_filter_test.py プロジェクト: Chocobo1/libtorrent
    def test_with_rule_ip4(self) -> None:
        ipf = lt.ip_filter()
        ipf.add_rule("0.0.0.0", "0.255.255.255", 123)
        self.assertEqual(ipf.access("0.1.2.3"), 123)
        self.assertEqual(ipf.access("1.2.3.4"), 0)
        self.assertEqual(ipf.access("::123"), 0)

        self.assertEqual(
            export(ipf),
            (
                [("0.0.0.0", "0.255.255.255"), ("1.0.0.0", "255.255.255.255")],
                [("::", "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff")],
            ),
        )
コード例 #6
0
ファイル: test.py プロジェクト: v1p/libtorrent
    def test_export(self):

        f = lt.ip_filter()
        self.assertEqual(f.access('1.1.1.1'), 0)
        f.add_rule('1.1.1.1', '1.1.1.2', 1)
        self.assertEqual(f.access('1.1.1.0'), 0)
        self.assertEqual(f.access('1.1.1.1'), 1)
        self.assertEqual(f.access('1.1.1.2'), 1)
        self.assertEqual(f.access('1.1.1.3'), 0)
        exp = f.export_filter()
        self.assertEqual(exp, ([
            ('0.0.0.0', '1.1.1.0'), ('1.1.1.1', '1.1.1.2'),
            ('1.1.1.3', '255.255.255.255')
        ], [('::', 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff')]))
コード例 #7
0
    def set_whitelist_filter(self, whitelisted):
        """Set an IP whitelist so that the torrent client will ONLY seed (and
        download from) those IPs.
        This is to prevent seeding to everyone if you only want to seed to your
        seedbox.
        """

        blocked = 1  # From include/libtorrent/ip_filter.hpp
        unblocked = 0

        filter_bt = libtorrent.ip_filter()
        filter_bt.add_rule('0.0.0.0', '255.255.255.255', blocked)
        try:
            for addr in whitelisted:
                filter_bt.add_rule(addr, addr, unblocked)
        except RuntimeError:
            raise Exception('A bad IP was passed as a whitelist filter!')

        self.session.set_ip_filter(filter_bt)
コード例 #8
0
 def test_empty(self) -> None:
     ipf = lt.ip_filter()
     self.assertEqual(ipf.access("0.1.2.3"), 0)
     self.assertEqual(ipf.access("::123"), 0)
コード例 #9
0
 def test_with_rule_ip6(self) -> None:
     ipf = lt.ip_filter()
     ipf.add_rule("::", "::ffff", 123)
     self.assertEqual(ipf.access("::123"), 123)
     self.assertEqual(ipf.access("1.2.3.4"), 0)
     self.assertEqual(ipf.access("::1:0"), 0)
コード例 #10
0
 def test_with_rule_ip4(self) -> None:
     ipf = lt.ip_filter()
     ipf.add_rule("0.0.0.0", "0.255.255.255", 123)
     self.assertEqual(ipf.access("0.1.2.3"), 123)
     self.assertEqual(ipf.access("1.2.3.4"), 0)
     self.assertEqual(ipf.access("::123"), 0)
コード例 #11
0
 def test_peer_class_ip_filter(self):
     s = lt.session({'enable_dht': False})
     s.set_peer_class_type_filter(lt.peer_class_type_filter())
     s.set_peer_class_filter(lt.ip_filter())
コード例 #12
0
ファイル: test.py プロジェクト: SteveShaw/libtorrent
 def test_peer_class_ip_filter(self):
     s = lt.session(settings)
     s.set_peer_class_type_filter(lt.peer_class_type_filter())
     s.set_peer_class_filter(lt.ip_filter())
コード例 #13
0
ファイル: test.py プロジェクト: sudarshan-reddy/libtorrent
	def test_peer_class_ip_filter(self):
		s = lt.session({'enable_dht': False})
		s.set_peer_class_type_filter(lt.peer_class_type_filter())
		s.set_peer_class_filter(lt.ip_filter())
コード例 #14
0
ファイル: test.py プロジェクト: aldenml/libtorrent
 def test_peer_class_ip_filter(self):
     s = lt.session(settings)
     s.set_peer_class_type_filter(lt.peer_class_type_filter())
     s.set_peer_class_filter(lt.ip_filter())