Mixxx is the only free cross-platform vinyl control software and has the most advanced MIDI/HID controller support.
Here is the official site where you can download it for free: 
http://www.mixxx.org/

This is mixxx's main window. Click on "Options" -> "Preferences".





This is the window that will appear.




You can either use mixxx's console or your hardware (for example http://www.hercules.com/en/DJ-Music/ ).
If you want to use your own hardware, firstly, you have to select the source of sound that you will use and then you should go to "Controllers", choose the type of the console and load it.

Now, go to "Live Broadcasting" to set up the server info.

To find the required information go to the "Broadcast" tab in the "Settings" section of your station's administration panel. 





Fill in the blanks with this information.





Fist, in the section "Type" select "IceCast 2".
In the section "Host" type the IP address which you can find at "Host" of your Broadcast link.
In the section "Login" write "source".
In section "Mount" fill in the info displayed in "Mount Point" of your Broadcast link.

In the section "Port" write "80".

In the section "Password" fill in the "Mount password" of your Broadcast link.
Then, in the "Format" section select "MP3" and "Stereo" at "Channels".
We recommend you to choose a Bitrate of 128kbps.


Don't forget to click on "Enable live broadcasting" before you press OK.

Now you are ready to broadcast!