Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rajput-hemant/jiosaavn-api-rs
🎵 An Unofficial wrapper for the Jio Saavn API written in Rust programming language 🦀.
https://github.com/rajput-hemant/jiosaavn-api-rs
jiosaavn jiosaavn-api jiosaavn-downloader music rest-api rust rust-api saavn-api vercel-rust vercel-rust-runtime vercel-serverless vercel-serverless-functions
Last synced: 2 days ago
JSON representation
🎵 An Unofficial wrapper for the Jio Saavn API written in Rust programming language 🦀.
- Host: GitHub
- URL: https://github.com/rajput-hemant/jiosaavn-api-rs
- Owner: rajput-hemant
- License: mit
- Created: 2023-08-05T13:57:49.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-11-12T01:45:47.000Z (5 days ago)
- Last Synced: 2024-11-12T02:33:00.074Z (5 days ago)
- Topics: jiosaavn, jiosaavn-api, jiosaavn-downloader, music, rest-api, rust, rust-api, saavn-api, vercel-rust, vercel-rust-runtime, vercel-serverless, vercel-serverless-functions
- Language: Rust
- Homepage: https://jiosaavn-api-rs.vercel.app
- Size: 1.01 MB
- Stars: 9
- Watchers: 2
- Forks: 3
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![][ci] ![][views] ![][stars] ![][forks] ![][issues] ![][license] ![][code-size] ![][commit-activity]
# JioSaavn API
### A wrapper for JioSaavn API written in Rust programming language 🦀.
> [!NOTE]
> This project is for educational purposes only. The author of this project is not responsible for any misuse of this API. Use it at your own risk.## 🔨 Local Development
- Rust should be installed on your system. If not, then install it from [here](https://www.rust-lang.org/tools/install).
```sh
git clone https://github.com/rajput-hemant/jiosaavn-api-rs
cd jiosaavn-api-rs
```- Run the following command to build the project.
```sh
cargo build --release
```- Run the following command to launch the api server.
```sh
cargo run --release
```### Vercel Dev Server
- Vercel CLI should be installed on your system. If not, then install it from [here](https://vercel.com/download).
```sh
vc dev
```---
## 🌐 Deploying your own instance
### Vercel (**_Recommended_**)
```sh
vc
```**OR**
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/rajput-hemant/jiosaavn-api-rs)
> [!NOTE]
> To ensure that the API consistently respects the provided language, make sure to set the [Function region](https://vercel.com/docs/concepts/functions/serverless-functions/regions) within Vercel to `Mumbai, India (South) - bom1`.### Build and Run the Docker Image
> [!WARNING]
> You need to have [Docker](https://docs.docker.com/get-docker/) installed on your system.
> You might need to run the following commands with `sudo` depending on your system.- Start Docker daemon (Skip if already running)
```
sudo dockerd
```- Build the image
```
docker build -t jiosaavn .
```- Run the image
```
docker run -p 8080:8080 jiosaavn
```- Stop the container
```
docker ps
``````
docker stop
```---
### [Render](https://render.com/)
[![Deploy to Render](https://render.com/images/deploy-to-render-button.svg)](https://render.com/deploy)
- Login to your [Render](https://render.com/) account and create a new [Web Service](https://dashboard.render.com/select-repo?type=web).
- Fill in the details, choose `Runtime` as `Rust` and click on **Create Web Service**.---
### [Shuttle.rs](https://shuttle.rs/)
- Install the [Shuttle CLI](https://github.com/shuttle-hq/shuttle/releases)
```
cargo install cargo-shuttle
```- Make sure to change the `main.rs` file to the following:
```rust
// #[tokio::main]
#[shuttle_runtime::main]
// async fn main() {
async fn axum() -> shuttle_axum::ShuttleAxum {
// tracing_subscriber::fmt::init();...
// let addr = "[::]:8080".parse().unwrap();
// tracing::debug!("🚀 Server listening on {}", addr);
// axum::Server::bind(&addr)
// .serve(app.into_make_service())
// .await
// .unwrap();Ok(router.into())
}
``````
cargo shuttle project start
cargo shuttle deploy --allow-dirty
```---
### [Fly.io](https://fly.io/)
- Install the [Fly CLI](https://fly.io/docs/hands-on/install-flyctl)
```
curl -L https://fly.io/install.sh | sh
```- A `fly.toml` file will be automatically generated by `fly launch` command which will ask a few questions to set everything up.
```
fly launch --name jiosaavn
```- Deploy the app
```
fly deploy
```## 📜 License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## 🦾 Contributors:
[views]: https://komarev.com/ghpvc/?username=jiosaavn-api-rs&label=view%20counter&color=red&style=flat
[code-size]: https://img.shields.io/github/languages/code-size/rajput-hemant/jiosaavn-api-rs
[issues]: https://img.shields.io/github/issues-raw/rajput-hemant/jiosaavn-api-rs
[license]: https://img.shields.io/github/license/rajput-hemant/jiosaavn-api-rs
[commit-activity]: https://img.shields.io/github/commit-activity/w/rajput-hemant/jiosaavn-api-rs
[forks]: https://img.shields.io/github/forks/rajput-hemant/jiosaavn-api-rs?style=flat
[stars]: https://img.shields.io/github/stars/rajput-hemant/jiosaavn-api-rs
[ci]: https://github.com/rajput-hemant/jiosaavn-api-rs/actions/workflows/ci.yml/badge.svg