Skip to content

📻 Yandex.Radio Desktop (un-official port of website). Please note: this is only webview port of Yandex.Radio website as desktop app for macOS and Windows 10 (GNU/Linux coming soon)!

License

Notifications You must be signed in to change notification settings

koddr/yandex-radio-desktop

Repository files navigation

📻 Yandex.Radio Desktop (un-official port of website)

Yandex.Radio Desktop (un-official port of website)

Please note: this is only webview port of Yandex.Radio website as desktop app!


Looking for a similar desktop app for Yandex.Music?


💭 The Why?

Yandex.Radio logo

I love listen music 🥰 and always want to do it as easy as possible. Concept of Yandex.Radio service (web for desktop clients and app for mobile) are great, but not so really.

  • First (and most important): I would like to always keep application music app on hand while working at Mac/MacBook. Quickly click on the icon in macOS dock, open app, switch to another song and collapse again. At the same time, without opening a browser and not looking for the desired tab with Yandex.Radio.
  • Second (and important too): my smartphone is always busy with other applications that use headphones with mic, like Skype, Zoom, Discord, mobile calls and so on. In order not to run into browser, look for a tab and pause music. Just took off these headphones and put on others!
  • Third (and no less important): as an active macOS user, I got used to native desktop apps for listening music (for example, built-in Apple iTunes) and place it on side-mode with another apps (like Telegram) on a separate workspace.

Therefore, I was very upset that Yandex.Radio does not have a macOS (or Windows/Linux) desktop application... and created this port of the official Yandex.Radio website! 😉

🔗 Download latest version:

GNU/Linux → coming as soon as possible.

⚙️ Under the hood

Since this is an open source project, you can easily see how it all actually works. The code is written with Go (Golang) 1.13.4 and using Go Modules.

Yandex.Radio Desktop source code
package main

import "github.com/zserge/webview"

func main() {
	// Webview options:
	//  - name: Yandex.Radio Desktop
	name := "Yandex.Radio Desktop"
	//  - URL to login screen: https://passport.yandex.ru/auth?...
	url := "https://passport.yandex.ru/auth?origin=radio&retpath=https%3A%2F%2Fradio.yandex.ru"
	//  - sizes: 800x800 px
	width := 800
	height := 800
	//  - resizable: true
	resizable := true

	// Let's open window app with options:
	webview.Open(name, url, width, height, resizable)
}

But all magic is done by absolutely awesome webview module by Serge Zaitsev.

More about webview module

A tiny cross-platform webview library for C/C++/Golang to build modern cross-platform GUIs. Also, there are Rust bindings, Python bindings, Nim bindings, Haskell and C# bindings available.

It supports two-way JavaScript bindings (to call JavaScript from C/C++/Go and to call C/C++/Go from JavaScript).

It uses Cocoa/WebKit on macOS, gtk-webkit2 on Linux and MSHTML (IE10/11) on Windows.

zserge/webview demo

Installation .dmg images for macOS was created by node-appdmg (many thx to Linus Unnebäck).

MS Windows 10 version available thanks to xgo (Go CGO cross compiler by Péter Szilágyi).

For developers

Click to view
  1. Clone this repository and go to folder yandex-radio-desktop:
foo@bar:~$ git clone https://github.com/koddr/yandex-radio-desktop.git
foo@bar:~$ cd yandex-radio-desktop
  1. Change anything you want 👌
  2. Build app binary again for macOS (it's required Go 1.13+):
foo@bar:~$ make build-macos # build .app for macOS
  • OR for Windows 10:
foo@bar:~$ go get github.com/karalabe/xgo # install xgo cross compiler
foo@bar:~$ make build-windows # build .exe for Windows 10
  1. Go to ./build/<macOS|Windows> folder
  • Copy Yandex.Radio Desktop.app to your /Applications folder on macOS:
foo@bar:~$ sudo cp -R ./build/macOS/Yandex.Radio\ Desktop.app /Applications
  • OR copy Yandex.Radio Desktop.exe to anything you want on Windows 10 system!

(Optional) Create macOS installation images

  • Install node-appdmg (required Node.js and npm):
foo@bar:~$ npm install -g appdmg
  • Create macOS installation image (.dmg):
foo@bar:~$ make installer-macos # for macOS 10.11+
  • You can found created image into ./releases/macOS folder.

(Optional) Create zip-archive for Windows 10

  • Create zip-archive:
foo@bar:~$ make archive-zip-windows # for Windows 10
  • You can found created ZIP into ./releases/Windows folder.

For designers

At ./static/macOS folder you can found layered Adobe Photoshop source file (.psd) of macOS installation image: yaradio_desktop.background.psd (CC0 1.0 Universal).

For Windows 10 users, who removed Microsoft Edge browser

Yandex.Radio Desktop app running from default OS webview layer, if you removed Edge browser — webview layer is Internet Explorer 11 (not Google Chrome/FireFox/Opera/etc., because it's third-party software for Windows!).

⚠️ Terms of Use of Yandex.Radio

All logos, images and Yandex.Radio service website — belong to their respective owners, namely YANDEX LLC.

If you download, install and run Yandex.Radio Desktop application from current repository, you're already agree with official Terms of Use of Yandex.Radio: RU, EN.

Developers

The author (Vic Shóstak) of this Yandex.Music desktop port is not responsible for work of this desktop application, because YANDEX LLC may changes the way it provides content and/or releases its own desktop application.

Project assistance

If you want to say «thank you» or/and support active development Yandex.Radio Desktop:

  1. Add a GitHub Star to project.
  2. Twit about project on your Twitter.
  3. Donate some money to project author via PayPal: @paypal.me/koddr.
  4. Join DigitalOcean at my referral link (your profit is $100 and I get $25).

Thanks for your support! 😘 Together, we make this project better every day.

License

Yandex.Radio Desktop by Vic Shóstak is an open source software under MIT license.

Background image for macOS installer is designed by Vic Shóstak and under CC0 1.0 Universal license protection.

About

📻 Yandex.Radio Desktop (un-official port of website). Please note: this is only webview port of Yandex.Radio website as desktop app for macOS and Windows 10 (GNU/Linux coming soon)!

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published