I have created a real people to people magnet torrent protocol and its system: magic_magnet

# Introduction

My system is based on Python and Linux, you can see the source code in here:

https://gitlab.com/yingshaoxo/yppm/-/tree/main/yppm/resources/magic_magnet?ref_type=heads



# Install method

```

sudo su

curl -sSL  https://raw.githubusercontent.com/yingshaoxo/yppm/main/Install.sh | bash

```



# How to use

```

yppm start_magic_magnet_service

yppm upload *.mp4

yppm search *.mp4

yppm download <hash_link>

```



# Core Idea

```

Yingshaoxo Torrent Protocol:

For all those clients, it will need at least one tracker service. That service has an public ip address. It only need to have one open port.

When a client open a new torrent, I mean seeding. That client will do a report to the tracker with the following infomation: {"has_public_ip": "...", "hash": "", "size": 100}

When a client want to download a file with certain hash from a magnet link, it will do a asking to the tracker. If the tracker found there has a resource that matchs the hash code, if the seeder has public ip address, then it will let the client do a download directly from that seeder, otherwise, if that seeder does not have an public ip address, then the tracker will ask the seeder to upload its resources first, then transfer it to the client that asks the resources.

```