GithubHelp home page GithubHelp logo

rajput-hemant / jiosaavn-api-rs Goto Github PK

View Code? Open in Web Editor NEW
9.0 2.0 3.0 1.04 MB

๐ŸŽต An Unofficial wrapper for the Jio Saavn API written in Rust programming language ๐Ÿฆ€.

Home Page: https://jiosaavn-api-rs.vercel.app

License: MIT License

Rust 99.89% Dockerfile 0.11%
jiosaavn jiosaavn-api jiosaavn-downloader music rest-api rust rust-api saavn-api vercel-rust-runtime vercel-serverless

jiosaavn-api-rs's Introduction

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.
git clone https://github.com/rajput-hemant/jiosaavn-api-rs
cd jiosaavn-api-rs
  • Run the following command to build the project.
cargo build --release
  • Run the following command to launch the api server.
cargo run --release

Vercel Dev Server

  • Vercel CLI should be installed on your system. If not, then install it from here.
vc dev

๐ŸŒ Deploying your own instance

Vercel (Recommended)

vc

OR

Deploy with Vercel

Note

To ensure that the API consistently respects the provided language, make sure to set the Function region within Vercel to Mumbai, India (South) - bom1.

Build and Run the Docker Image

Warning

You need to have 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 <container-id>

Deploy to Render

  • Login to your Render account and create a new Web Service.
  • Fill in the details, choose Runtime as Rust and click on Create Web Service.

cargo install cargo-shuttle
  • Make sure to change the main.rs file to the following:
// #[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

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 file for details.

๐Ÿฆพ Contributors:

jiosaavn-api-rs's People

Contributors

rajput-hemant avatar renovate[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

jiosaavn-api-rs's Issues

[Help Wanted] Implement DES-ECB Decipher for Decrypting Encrypted URLs

I have a function create_download_links that takes an encrypted_media_url as input and should return the decrypted URL.
The decryption process requires the use of the DES ECB (Data Encryption Standard, Electronic Codebook mode) cipher. However, I'm facing challenges in implementing the DES ECB decipher in Rust, and I'm seeking assistance from the community to overcome this issue.

Please let me know if any further information is needed to investigate and resolve this issue. Thank you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.