About Project: iBroadcast

Project iBroadcast is where we keep a collection of various apps in one place. Most of what is here is for uploading songs to your iBroadcast library.

If you are interested in the iBroadcast public API, you can get started with that here: devguide.ibroadcast.com.

You will need a free iBroadcast account to use just about everything here.

iBroadcast MediaSync Lite

MediaSync Lite is a very lean, powerful and simple uploader for Windows, Mac and also Linux (however the Linux version lacks some of the features of Windows and Mac version). It is configurable to upload 1 - 6 files at the same time and skips files already in your library so you can run it over and over without duplicates. It also creates a debugging log which you can examine to troubleshoot any problems.

iBroadcast Web Uploader

You can also upload just using your web browser but this will not skip files already uploaded in your library:

iBroadcast MediaSync (retired, legacy)

This version of MediaSync is no longer supported or updated, but we keep it here as long as it still functions with our system. We retired this in favor of MediaSync Lite which is now leaner, more powerful, faster and our most stable uploader for Mac and Windows. MediaSync is a music uploader but also functions as a limited music player. It skips files already in your library just like MediaSync Lite.

iBroadcast Simple Uploader

Please Note: These uploaders are for our more advanced users.

The iBroadcast Simple Uploader is a script/program which uploads supported music files to your iBroadcast library from the command line/shell. It skips files already in your library by comparing an MD5 hash against the local file(s) before uploading (to avoid uploading duplicates, saving time and bandwidth). It is written in a variety of languages and is usable as-is or is a good starting point for a more complex implementation. Just run it in the directory or parent directory of your music files.

Usage example:
ibroadcast-uploader.py <login_token>
  • ibroadcast-uploader.py - Python 3 port. Requires requests and glob, available via the Python package manager (pip).
  • ibroadcast-uploader.php - PHP port. Tested with PHP v5.3. Requires nothing but what most php installations already provide.
  • ibroadcast-uploader.rb - Ruby 2.0 port. Requires the multipart-post library available via the ruby package manager (gem).
  • ibroadcast-uploader.pl - Perl 5.0 port. Requires JSON::XS and Bundle::LWP (Digest::MD5, LWP::UserAgent and HTTP::Request::Common) available via the Perl package manager (cpan).
  • ibroadcast-java-uploader.zip - Java Eclipse project port. This can also be compiled without Eclipse using ant (ant jar). Or you can download the jar file which has been tested on Windows, Mac and Linux (usage: java -jar ibroadcast-uploader.jar <login_token>).
  • ibroadcast-uploader.cs - C# .Net port. Requires .Net Framework 4, Newtonsoft.Json.dll (https://json.codeplex.com/) and RestSharp.dll (http://restsharp.org). Or download the compiled Windows executable (zipped) here.
  • ibroadcast-c-uploader.tgz - C port for Linux. Download, unpack and compile. Requires libcurl, openssl, libcrypt, libpthread and libjansson (http://www.digip.org/jansson/). This port is threaded (allows for simultaneous uploads).
  • ibroadcast-cpp-uploader.tar.gz - C++ port for Linux. Download, unpack and compile. Requires boost-devel, libcurl-devel, autoconf, automake, libtool and cUrlPP (cUrlPP is included in the archive).

iBroadcast Community Contributions

The iBroadcast community is a passionate group and our users have written and released software for iBroadcast which we list here below. If you wish to add your contribution, create a repository on Github and then let us know and we will add it here. Please note: we do not support, test or review all software listed, you should know what you are doing. Software written by our users is not endorsed by iBroadcast (but we love our users for doing so!) and your use of third party software is at your own risk. If you find software here that is no longer maintained or broken, please let us know by sending us feedback via the mobile app or website so we can remove it.

  • Python Uploader - Improvements based on the original Python uploader script listed above
  • Python Client - This Python package provides a client for working with your iBroadcast music collection
  • F# Uploader - This is an F# script written for LinqPad to upload a music library to iBroadcast
  • PowerShell iBroadcast Uploader - A Windows PowerShell uploader script requiring no additional dependencies
  • Beets iBroadcast Plugin - This plugin lets you upload music from your beets library to the iBroadcast streaming service
  • iBroadcast Desktop - Electron wrapper for iBroadcast web player