A GUI torrent client built with Go, using the anacrolix/torrent library and Fyne for the user interface.
- Install Go (version 1.18 or later)
- Install GCC for Windows
- Install MSYS2
- Open MSYS2 terminal and run:
pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-pkg-config
- Add MSYS2 bin to your PATH:
C:\msys64\mingw64\bin - Open Command Prompt and run:
git clone https://github.com/your-username/reed.git
cd reed
go mod tidy
go get -u github.com/go-gl/gl/v3.2-core/gl
go build -o reed.exe
.\reed.exe
- Install Go and Xcode Command Line Tools
- Run:
git clone https://github.com/your-username/reed.git cd reed go mod tidy go build ./reed
- Install Go and required packages:
sudo apt-get install gcc libgl1-mesa-dev xorg-dev - Run:
git clone https://github.com/your-username/reed.git cd reed go mod tidy go build ./reed
- Add torrents via magnet links
- Open torrent files from your computer
- View download progress
- Remove torrents
- Automatically saves files to your Downloads folder
Before building and running the application, you need to install the following dependencies:
- Install Go (version 1.18 or later)
- Install GCC for CGo support
- Install MSYS2 and run the following commands in the MSYS2 terminal:
pacman -S mingw-w64-x86_64-gcc pacman -S mingw-w64-x86_64-pkg-config - Add the MSYS2 bin directory to your PATH (typically
C:\msys64\mingw64\bin)
- Install Go (version 1.18 or later)
- Install Xcode Command Line Tools
- Install Go (version 1.18 or later)
- Install the required packages:
sudo apt-get install gcc libgl1-mesa-dev xorg-dev
-
Clone the repository:
git clone https://github.com/your-username/reed.git cd reed -
Install dependencies:
go mod tidy -
Build the application:
# On Linux/macOS go build # On Windows go build -o reed.exe -
Run the application:
# On Linux/macOS ./reed # On Windows .\reed.exe
If you encounter build errors related to missing packages or build constraints, ensure that:
- All prerequisites are installed correctly (Go, GCC, MSYS2 on Windows)
- Your PATH environment variable includes the MSYS2 bin directory
- You've installed all required packages with MSYS2
For Windows users specifically:
- Make sure you've run the MSYS2 commands in the Prerequisites section
- Verify your PATH includes
C:\msys64\mingw64\bin(or your MSYS2 installation path) - You may need to restart your terminal or computer after updating PATH
If you see errors related to github.com/go-gl/gl, try running:
go get -u github.com/go-gl/gl/v3.2-core/gl
If you encounter linking errors with pthread (multiple definition of pthread functions), this is a known issue with CGo on Windows. The project includes a gl_windows.go file that adds a linker flag to allow multiple definitions and resolve this issue. Make sure this file is present in your project directory before building.
- Launch the application
- Enter a magnet link in the text field and click "Add Torrent" or click "Open File" to select a .torrent file
- The torrent will appear in the list and start downloading automatically
- To remove a torrent, select it from the list and click "Remove"
The application is built using:
- Go as the programming language
- anacrolix/torrent for torrent functionality
- Fyne for the GUI
This project is licensed under the MIT License - see the LICENSE file for details.