# PicoTorrent | A Tiny Hackable BitTorrent Client Written In Modern C++ | High Performance & Low Memory Usage

**URL:** <https://onehack.st/t/picotorrent-a-tiny-hackable-bittorrent-client-written-in-modern-c-high-performance-low-memory-usage/108772>\
**Category:** Tools & Scripts\
**Tags:** piracy, business, downloaders\
**Created:** [September 13, 2020, 6:06pm UTC](https://onehack.st/t/picotorrent-a-tiny-hackable-bittorrent-client-written-in-modern-c-high-performance-low-memory-usage/108772 "2020-09-13T18:06:52Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![cetipabo](https://onehack.st/user_avatar/onehack.st/cetipabo/32/45133_2.png) [@cetipabo](https://onehack.st/u/cetipabo)\
**Post date:** [September 13, 2020, 6:06pm UTC](https://onehack.st/t/picotorrent-a-tiny-hackable-bittorrent-client-written-in-modern-c-high-performance-low-memory-usage/108772/1 "2020-09-13T18:06:52Z")

</div>

# PicoTorrent

[![AppVeyor](https://camo.githubusercontent.com/982532f810b365a5592c83ca2e7b130d9e975f72/68747470733a2f2f63692e6170707665796f722e636f6d2f6170692f70726f6a656374732f7374617475732f6769746875622f7069636f746f7272656e742f7069636f746f7272656e743f7376673d74727565)](https://ci.appveyor.com/project/picotorrent/picotorrent) [![Join the chat at https://gitter.im/picotorrent/picotorrent](https://camo.githubusercontent.com/da2edb525cde1455a622c58c0effc3a90b9a181c/68747470733a2f2f6261646765732e6769747465722e696d2f4a6f696e253230436861742e737667)](https://gitter.im/picotorrent/picotorrent?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

A tiny, hackable BitTorrent client written in modern C++. Based on Rasterbar-libtorrent to provide high performance and low memory usage.

[![](https://github.com/picotorrent/picotorrent/raw/master/res/screenshot1.png?raw=true)](https://github.com/picotorrent/picotorrent/blob/master/res/screenshot1.png?raw=true)

## Quick facts

- Full support for BitTorrent 2.0 ([BEP-52](http://bittorrent.org/beps/bep_0052.html)), v1, v2 and v1+v2 hybrid torrents.
- Supports DHT, PeX, LSD, UPnP.
- (Azureus-style) peer ID: `-PI-` . Example: `-PI0151-` (major: 0, minor: 15, patch: 1).
- User agent: `PicoTorrent/x.y.z` .
- Native look-and-feel across Windows versions.
- Easy to use with high performance.

_The portable version of PicoTorrent requires manual installation of [the Microsoft Visual C++ Redistributable for Visual Studio 2019](https://visualstudio.microsoft.com/downloads/)_

## Building PicoTorrent

To successfully build PicoTorrent, you need the following libraries and applications installed,

- [CMake (\>= v3.14)](https://cmake.org/download/).
- [Visual Studio 2019 Build Tools](https://visualstudio.microsoft.com/downloads/) (or regular Visual Studio 2019 with the C++ toolset).
- [OpenSSL v1.1.1](https://slproweb.com/products/Win32OpenSSL.html) ( _not_ the light version) for the architecture you plan on building. Both Win32 and Win64 can be installed side by side.
- [Boost 1.73.0](https://www.boost.org/).
- [Chocolatey](https://chocolatey.org/install) (Optional) if you plan to build or test the Chocolatey package.

Make sure all submodules are updated.

```auto
λ git submodule update --init --recursive

```

Build your desired configuration and architecture.

```auto
λ .\build.ps1 --platform [x86|x64] --configuration [Debug|Release]

```

## License

Copyright (c) Viktor Elofsson and contributors. PicoTorrent is provided as-is under the MIT license. For more information see [LICENSE](https://github.com/picotorrent/picotorrent/blob/master/LICENSE).

## GitHub:

[https://github.com/picotorrent/picotorrent](https://github.com/picotorrent/picotorrent)

## Furthermore:

## PicoTorrent v0.20.0

- [PicoTorrent-0.20.0-x64.exe](https://github.com/picotorrent/picotorrent/releases/download/v0.20.0/PicoTorrent-0.20.0-x64.exe)
- [PicoTorrent-0.20.0-x64.symbols.zip](https://github.com/picotorrent/picotorrent/releases/download/v0.20.0/PicoTorrent-0.20.0-x64.symbols.zip)
- [PicoTorrent-0.20.0-x64.zip](https://github.com/picotorrent/picotorrent/releases/download/v0.20.0/PicoTorrent-0.20.0-x64.zip)
- [PicoTorrent-0.20.0-x86.exe](https://github.com/picotorrent/picotorrent/releases/download/v0.20.0/PicoTorrent-0.20.0-x86.exe)
- [PicoTorrent-0.20.0-x86.symbols.zip](https://github.com/picotorrent/picotorrent/releases/download/v0.20.0/PicoTorrent-0.20.0-x86.symbols.zip)
- [PicoTorrent-0.20.0-x86.zip](https://github.com/picotorrent/picotorrent/releases/download/v0.20.0/PicoTorrent-0.20.0-x86.zip)

### Release notes

ℹ Full release notes in the blog - [Behind the release - v0.20](https://picotorrent.blog/behind-the-release-v020/).

In a nutshell 🐿

- Rasterbar-libtorrent has been updated to 2.0. This adds real v2 and v1+v2 hybrid torrent support. Yay! ([#863](https://github.com/picotorrent/picotorrent/pull/863), [#874](https://github.com/picotorrent/picotorrent/pull/874), [#883](https://github.com/picotorrent/picotorrent/pull/883), [#884](https://github.com/picotorrent/picotorrent/pull/884))
- Fixed a bug when displaying Cyrillic characters. ([#865](https://github.com/picotorrent/picotorrent/pull/865))
- Removed the minimum size constraint. PicoTorrent can now be resized freely. ([#866](https://github.com/picotorrent/picotorrent/pull/866))
- Added GitVersion to automagically version everything. No more VERSION.txt juggling. ([#868](https://github.com/picotorrent/picotorrent/pull/868))
- Updated the C++ redistributable version downloaded when installing. ([#869](https://github.com/picotorrent/picotorrent/pull/869))
- Added empty columns to the list views to prevent the last column from stretching. ([#875](https://github.com/picotorrent/picotorrent/pull/875))
- Activating the torrent selection (either double clicking or pressing Enter) will open the paths in Explorer. ([#877](https://github.com/picotorrent/picotorrent/pull/877))
- Updated Russian translations - thanks [@birkoffe](https://github.com/birkoffe)! ([#878](https://github.com/picotorrent/picotorrent/pull/878), [#881](https://github.com/picotorrent/picotorrent/pull/881))
- Fixed a bug where the status bar didn’t place itself correctly when restoring from the taskbar. ([#880](https://github.com/picotorrent/picotorrent/pull/880))

**Enjoy!**
