Skip to content

A free anime streaming , using the jkanime content by scraping the jkanime website.

License

Notifications You must be signed in to change notification settings

ChrisMichaelPerezSantiago/ryuanime

Repository files navigation

All Contributors

Welcome to ryuanime 👋

Documentation Maintenance License: MIT Twitter: Chris5855M

A free anime streaming , using the jkanime content by scraping the jkanime website.ryuanime

How will the project work?

This project will be completely a desktop version. For this Electron will be used, a framework developed by GitHub which allows us to develop multiplatform systems based on web technologies, and maybe it will have its web version, but everything will depend on the development flow.

Where does the content come from?

The content comes from the page of jkanime. For this, scraping has been done on the page of jkanime.

📣Read this please!📣

I must mention that since the information comes from a Latin website, I must make it clear that the videos are with sub Spanish and voices in Japanese. I am very sorry that this application may not be useful for the English speaker, so the application does not achieve a higher popularity among users.

Apologies!

👷🚧In construction

I must say that as the days go by the project can undergo great changes. That is why I ask for your patience, to which the documentation is updated.

  • Frontend - in process
  • Backend - in process
  • Scraping jkanime web page - in process
  • Good Documentation - in process
  • Tests - SOON!
  • Deployment - SOON!

Branches

  • master branch - in use

Prerequisites

  • npm >=5.5.0
  • node >=9.3.0

Install

npm install

Usage

Backend Node/Express API

npm run start

Frontend Vuejs Web App

npm run serve

Frontend Electron Desktop App

npm run electron:serve

Packages

These are the packages that I have taken more advantage for the project.

  • cheerio Fast, flexible & lean implementation of core jQuery designed specifically for the server.
  • puppeteer Puppeteer is a Node library which provides a high-level API to control Chrome or Chromium over the DevTools Protocol. Puppeteer runs headless by default, but can be configured to run full (non-headless) Chrome or Chromium.
  • express Fast, unopinionated, minimalist web framework for node.
  • compose-middleware Compose an array of middleware into a single function for use in Express, Connect, router, etc.

Request & Response Examples

It may be that changes are made in the future in the parameterization structure.

GET /anime/[id]/[chapter]

id chapter
anime title episode number
// 20190619164418
// http://localhost:3000/api/v1/anime/tokyo-ghoul/1
{
  "video": [
    "https://storage.googleapis.com/markesito.appspot.com/tokgho/01.mp4"
  ]
}

GET /video/[id]/[chapter]/[serverNumber]

📣Read this please!📣

I recommend that you use this endpoint /video/[id]/[chapter]/[serverNumber] to obtain the videos, since you can refer directly to the server where the video comes from. If you get to use the endpoint /anime/[id]/[chapter], surely there will be series that you will not be able to get the videos

id chapter server number
anime title episode number [1 .. 7]
server number
Desu 1
Xtreme S 2
MixDrop 3
Okru 4
Openload 5
RapidVideo 6
Verystream 7
// 20191009171210
// http://localhost:3000/api/v1/video/boruto-naruto-next-generations/1/1

{
  "video": [
    "https://jkanime.net/stream/jkmedia/04bcce3274dfe2351ac5ebbf27031a56/fa0b00de20f2ba354db895a1e954c6c4/1/c56a43a4f34c542c7708000aab29c8b1/"
  ]
}

GET /search/[title]

  • For now only returns the titles of the first page of jkanime 10 title per pages
title
anime title
// 20190619165728
// http://localhost:3000/api/v1/search/tokyo

{
  "animes": [
    [
      {
        "title": "Tokyo Ghoul",
        "id": "tokyo-ghoul",
        "poster": "https://cdn.jkanime.net/assets/images/animes/image/tokyo-ghoul.jpg",
        "type": "Serie / 12 Eps",
        "synopsis": "En Tokyo ocurren asesinatos misteriosos cometidos por Ghouls, seres desconocidos que comen carne humana, un día Kaneki Ken un joven de 18 años que cursa la Universidad conoce a una chica en un restaurante y la invita a salir, pero luego se da cuenta que ella es un Ghoul y sufre un ataque de parte…"
      }
    ],
    .......
  ]
}

GET /letter/[a-z]/[page]

  • Returns a list of 20 titles per N pages
a-z page
list of animes that the title begin with a letter [a-z] actual page
// 20190619171717
// http://localhost:3000/api/v1/letter/a/1

{
  "animes": [
    [
      {
        "title": "Abarenbou Kishi!! Matsutarou",
        "id": "abarenbou-kishi-matsutarou",
        "poster": "https://cdn.jkanime.net/assets/images/animes/image/abarenbou-kishi-matsutarou.jpg",
        "type": "Serie / 23 Eps",
        "synopsis": "Matsutarou Sakaguchi es un hombre matón gigante con fuerza mucho más allá de la gente común. Él nunca pronunció palabras como \"trabajar duro\", \"luchar\" y \"sueño\" como el típico protagonista del manga shonen. Sin embargo, él es más fuerte que nadie y sin igual en la lucha de sumo. Su mayor…"
      }
    ],
    .......
  ]
}

GET /latest

  • Returns a list of 40 latest titles
latest page
list of last titles added. one page
{
  "animes": [
    [
      {
        "title": "Re:Zero kara Hajimeru Isekai Seikatsu: Memory Snow",
        "id": "rezero-kara-hajimeru-isekai-seikatsu-memory-snow",
        "poster": "https://cdn.jkanime.net/assets/images/animes/image/rezero-kara-hajimeru-isekai-seikatsu-memory-snow.jpg",
        "type": "unknown",
        "synopsis": "unknown"
      }
    ], 
    .......
  ]
}

GET /calender

  • It will return the content that will be transmitted throughout the week
calender
7 days a week
// 20190706125207
// http://localhost:3000/api/v1/calender

{
  "calender": [
    {
      "monday": [
        {
          "title": [
            "Dororo",
            "NAMU AMIDA BUTSU!: RENDAI UTENA",
            "YATOGAME-CHAN KANSATSU NIKKI",
            "KING OF PRISM: SHINY SEVEN STARS",
            "ROBIHACHI"
          ],
          "id": [
            "dororo",
            "namu-amida-butsu-rendai-utena",
            "yatogame-chan-kansatsu-nikki",
            "king-of-prism-shiny-seven-stars",
            "robihachi"
          ],
          "poster": [
            "https://cdn.jkanime.net/assets/images/animes/image/dororo.jpg",
            "https://cdn.jkanime.net/assets/images/animes/image/namu-amida-butsu-rendai-utena.jpg",
            "https://cdn.jkanime.net/assets/images/animes/image/yatogame-chan-kansatsu-nikki.jpg",
            "https://cdn.jkanime.net/assets/images/animes/image/king-of-prism-shiny-seven-stars.jpg",
            "https://cdn.jkanime.net/assets/images/animes/image/robihachi.jpg"
          ]
        }
      ],
      .......
    }
  ]
}

GET /genders/[gender]/[page]

  • Returns a list of 20 titles per N pages
genders page
  • accion
  • artes-marciales
  • autos
  • aventura
  • colegial
  • comedia
  • cosas-de-la-vida
  • dementia
  • demonios
  • deportes
  • drama
  • ecchi
  • fantasia
  • harem
  • historico
  • josei
  • juegos
  • magia
  • mecha
  • militar
  • misterio
  • musica
  • nios (niño)
  • parodia
  • policial
  • psicologico
  • romance
  • samurai
  • sci-fi
  • seinen
  • shoujo
  • shoujo-ai
  • shounen
  • shounen-ai
  • sobrenatural
  • space
  • super-poderes
  • terror
  • thriller
  • vampiros
  • yaoi
  • yuri
  • number of pages unknown
    // 20190706120738
    // http://localhost:3000/api/v1/genders/accion/1
    
    {
      "animes": [
        {
          "title": "Sekirei",
          "id": "sekirei",
          "poster": "https://cdn.jkanime.net/assets/images/animes/image/sekirei.jpg",
          "type": "Serie / 12 Eps",
          "synopsis": "Sahashi Minato ha fallado el examen de ingreso a la Universidad dos veces, no es muy popular con las mujeres y esta desempleado. Un día, Minato se encuentra con una chica llamada Musubi, que literalmente le cae del cielo. Minato pronto aprende que él es un Ashikabi, un ser humano con genes especiales…",
          "state": "Concluido"
        },
        .......
      ]
    }

    GET /movies/[page]

    • Returns a list of 10 titles per N pages
    movies page
    list of last titles added. number of pages unknown
    / 20190707195746
    // http://localhost:3000/api/v1/movies/1
    
    {
      "movies": [
        {
          "title": ".hack//G.U. Trilogy",
          "id": "hack-g-u-trilogy",
          "poster": "https://cdn.jkanime.net/assets/images/animes/image/hack-g-u-trilogy.jpg",
          "type": "Pelicula / 1 Eps",
          "synopsis": "La trama sigue centrándose en Haseo, quien ya se dio cuenta de que \"The World R:2\" no es un juego común y corriente, ya que el fenómeno del \"AIDA\" afecta a los jugadores en la vida real de forma peligrosa. Para salvar a su amiga Shino, Haseo tratara de encontrar alguna respuesta pero solo se topara…",
          "state": "Concluido"
        },
        .......
      ]
    }

    GET /ovas/[page]

    • Returns a list of 10 titles per N pages
    movies page
    list of last titles added. number of pages unknown
    // 20190707214521
    // http://localhost:3000/api/v1/ovas/1
    
    {
      "ovas": [
        {
          "title": "[Locodol] Yatte Mita.: Nagarekawa, Annai Shite Mita.",
          "id": "futsuu-no-joshikousei-ga-locodol-yatte-mita-nagarekawa-annai-shite-mita",
          "poster": "https://cdn.jkanime.net/assets/images/animes/image/futsuu-no-joshikousei-ga-locodol-yatte-mita-nagarekawa-annai-shite-mita.jpg",
          "type": "OVA / 2 Eps",
          "synopsis": "Episodio especial incluido en el Volumen 1 de Blu-ray/DVD. ",
          "state": "Concluido"
        },
        .......
      ]
    }

    Middleware

    As the project grows, more functions will be implemented soon.

    Function Info
    requestLoggerMiddleware
  • req.method
  • req.originalUrl
  • req.statusCode
  • errorHandler
  • err.message
  • err.stack
  • notFound
  • Error - req.originalUrl
  • 🚀 Deployment

    Now.sh is a Realtime Global Deployments platform. It provides an easy way to deploy websites, applications and services built and powered with JavaScript (Node.js) or Docker

    Author

    👤 Chris Michael

    ❤️ Contributors

    If you are interested in contributing to this project, you can contact me at my email, and I will gladly respond to the messages. For more see the CODE OF CONDUCT

    💩 Issue Template

    If you have a problem, you can visit the BUG REPORT or FEATURE REQUEST template for more details.

    Show your support

    Give a ⭐️ if this project helped you!

    📝 License

    Copyright © 2019 Chris Michael.
    This project is MIT licensed.


    This README was generated with ❤️ by readme-md-generator

    Contributors ✨

    Thanks goes to these wonderful people (emoji key):

    Chris Michael
    Chris Michael

    💬 💻 🎨 📖 🤔 🚧 ⚠️
    CJ R.
    CJ R.

    💻 🖋 💡 🤔
    Bruno P. Kinoshita
    Bruno P. Kinoshita

    🐛 💻 🤔

    This project follows the all-contributors specification. Contributions of any kind welcome!