Giter Club home page Giter Club logo

libtorrent's People

Contributors

anthonyryan1 avatar compnerd avatar edwardbetts avatar extravagant avatar klusark avatar pastly avatar paulbalomiri avatar pyroscope avatar rakshasa avatar robertborg avatar taylorchu avatar x-cela avatar

Watchers

 avatar  avatar

libtorrent's Issues

IPv4 filter enhancement

Rebase @sallyswiss's IPv4 filter mod on current master branch, only small change was made:

  • enhance readability
  • remove extra spaces and unnecessary comments

A. Overview

IPv4 filter enhancement is:

  • not a memory hog
  • supports p2p lists as well (along with cidr notaion: 10.0.0.0/8)
    • e.g. from bluetack
    • line format: foo bar:1.2.3.4-5.6.7.8
    • strores ranges as in p2p file format
    • supports comments in file
    • with LOG_PEER_INFO log level it logs when connection to unwanted peer is prevented
  • still has quick log n lookup time for extents data structure
    • use ordered map instead of sparse hash

B. Usage

Download and extract one of the links into your session directory (first one is updated daily):

Add this into your rtorrent config:

# Loads unwanted peers from external text file into IPv4 Filter every day, e.g.:
#   - https://silo.glasz.org/antip2p.list.gz (https://gist.github.com/glaszig/bf96beccf4694ae25d4f1f7cc6224985)
#   - https://www.wael.name/wael.list.p2p.gz (https://www.wael.name/other/best-blocklist/)
schedule2 = load_ipv4_filter, 0, 24:00:00, "ipv4_filter.load=(cat,(session.path),antip2p.list),unwanted"
#schedule2 = load_ipv4_filter, 0, 24:00:00, "ipv4_filter.load=(cat,(session.path),Wael-Blacklist-v8.dat),unwanted"

You can debug it with CTRL+X and one of the following:

print=(ipv4_filter.size_data)
print=(ipv4_filter.get,10.10.10.10)
print=(ipv4_filter.dump)

B. References

More info about IPv4 Filtering in rtorrent.

Depended by: chros73/rtorrent#21
Makes this duplicate: rakshasa#32
Closes: rakshasa/rtorrent#71, rakshasa/rtorrent#106

Fix honoring "throttle.min_peers*" settings in rtorrent

Fix honoring throttle.min_peers.normal and throttle.min_peers.seed settings in rtorrent:

Due to this bug, handling interval of announce tracker request is broken:

  • it never use interval but min interval instead

Required behavior:

  • it will use tracker interval if:
    • the client has more than min_peers - (peer_list_size / 2) connections for a download
    • or Peer Exchange is enabled and gives connections for a download
  • it will use tracker min interval otherwise:
    • the client has less than min_peers - (peer_list_size / 2) connections for a download and Peer Exchange isn't enabled

Default values for throttle.min_peers* settings: 100

Fixes: rakshasa#167, rakshasa/rtorrent#386
Refers to: #12

Fix honoring system.file.allocate.set=1 rtorrent config setting

Fix honoring system.file.allocate.set=1 rtorrent config setting:

  • allocate space for those files only that don't have priority set to off.

It's useful with the following watch directory entry that only loads (in closed state) but not starts torrents, so priority of files can be set.
schedule2 = watch_dir_5, 7, 10, "load.normal=/path/to/watch-dir/load_but_not_start/*.torrent"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.