An open API service indexing awesome lists of open source software.

https://github.com/zorig/gopeerflix

Peerflix in Go POC
https://github.com/zorig/gopeerflix

Last synced: 3 months ago
JSON representation

Peerflix in Go POC

Awesome Lists containing this project

README

        

# ๐Ÿš€ GoPeerflix

> **The Lightweight, High-Performance Torrent Streaming CLI for VLC**

[![GitHub Release](https://img.shields.io/github/v/release/zorig/gopeerflix)](https://github.com/zorig/gopeerflix/releases)
[![Build Status](https://github.com/zorig/gopeerflix/actions/workflows/release.yml/badge.svg)](https://github.com/zorig/gopeerflix/actions)
![Made with Go](https://img.shields.io/badge/Made%20with-Go-00ADD8.svg?style=flat&logo=go)

---

## โœจ Features

- ๐Ÿš€ **Blazing Fast:** Stream torrents instantlyโ€”no need to wait for full downloads!
- ๐Ÿฆ‹ **Lightweight & Efficient:** Minimal memory usage and optimized chunk streaming.
- ๐Ÿ“บ **VLC Ready:** Seamlessly integrates with VLC media player.
- ๐Ÿ› ๏ธ **Cross-Platform:** Supports Windows, Linux, and macOS.
- ๐ŸŒŽ **Magnet & Torrent Support:** Stream from magnet links or `.torrent` files.

## Planning to implement

- ๐Ÿ”„ **Auto Updates:** Automatically checks and updates itself.
- ๐Ÿ“ˆ **Real-time TUI:** Interactive terminal UI showing real-time progress, speed, and ETA.

---

## ๐Ÿ“ฆ Installation

### ๐Ÿ“ฅ Download Pre-Built Binaries

Visit the [Releases](https://github.com/zorig/gopeerflix/releases) page to download binaries for Linux, Windows, or macOS.

### ๐Ÿ› ๏ธ Build from Source

Ensure you have [Go installed](https://golang.org/dl/):

```bash
git clone https://github.com/zorig/gopeerflix.git
cd gopeerflix
go build -o gopeerflix ./cmd
```

## ๐Ÿšฉ Usage

```sh
./gopeerflix [magnet-link | torrent-file] --vlc
```

### ๐ŸŽฌ Example

Stream from a magnet link:

```sh
./gopeerflix "magnet:?xt=urn:btih:yourmagnetlinkhere" --vlc
```

Or stream from a local torrent file:

```sh
./gopeerflix ./myvideo.torrent --vlc
```

---

### ๐Ÿ“บ VLC Integration

Ensure VLC is installed:

- Linux:

```sh
sudo apt install vlc
```

- macOS:

```sh
brew install vlc
```

- Windows
[Download VLC](https://www.videolan.org/vlc/download-windows.html)

GoPeerflix automatically opens VLC for instant streaming.

### โšก Performance Optimizations

- Efficient Buffering: Low memory footprint.
- Direct Chunk Streaming: Streams immediately without full downloads.
- Connection Management: Limited torrent connections for optimized performance.
- HTTP Range Requests: Smooth seeking and playback.

### ๐Ÿ”จ Contributing

Contributions are welcome! Please fork, submit pull requests, or open issues if you encounter bugs or have suggestions.

๐ŸŒŸ Star the Project!
If you find this useful, please โญ๏ธ star the repositoryโ€”it helps keep me motivated!

### ๐Ÿ“ License

MIT License