Giter VIP home page Giter VIP logo

ytmous's Introduction

ytmous

Anonymous Youtube Proxy

Search, Click, and watch

ytmous is an lightweight, and Anonymous Youtube Proxy. Designed for device with limited resource.

There's no tracker and ads

Only with a simple UI, ready for you to watch some videos in a second

Free and Open source

ytmous is licensed under BSD 3 Clause and it's code is free. You can also host your own ytmous server. It's easy!

Customizeable

ytmous server owner could customize the frontend to what they would like. See Customizing Frontend

DISCLAIMER: ytmous could fetch, stream or download videos from YouTube, even copyrighted ones. Please respect all copyright laws.

Screenshots

ytmous_homepage.png ytmous_mobile_search.png ytmous_mobile_channel.png ytmous_mobile_playlists.png ytmous_mobile_watch.png ytmous_desktop_watch.png

Server Requirement

  • Node v16+ is advised.
  • Fast server network connection with ability to reach YouTube

Configuration

The code is reading the provided configuration from Environment Variable that comes from your system. These variable is optional.

  • GEOLOCATION: YouTube Geolocation. Default is US.
  • USER_AGENT: This variable is where we fake our user agent to request youtube.
  • DLCHUNKSIZE: Download Chunk Size. Default is 10 MB (1024 * 1024 * 10)
  • NO_CLUSTERS: Do not run ytmous with clusters. Useful for debugging
  • CLUSTERS: Number of clusters to fork. By default is depending on os.availableParallelism() integer or os.cpus().length.
  • PORT: Server port to listen to.

Customizing frontend

You can customize your frontend by creating local directory to replace files from views or public directory.

  • local/views/ for backend rendering (views)
  • local/public/ for static page (public)
local
├── public
│   ├── Ubuntu-R.ttf
│   ├── css
│   │   ├── Toard.css
│   │   └── style.css
│   ├── index.html
│   └── robots.txt
└── views
    ├── channel.ejs
    ├── comments.ejs
    ├── error.ejs
    ├── playlist.ejs
    ├── search.ejs
    └── watch.ejs

Deployment

Table of contents

  • Quick & easy deployment
  • Deployment configuration explaination
  • how to use email OTP Verification mode
  • Advanced Deployment
  • Filesystem
  • Works For School/Home Computers

Quick & Easy Deployment Options

Deploy to Heroku
Run on Replit
Deploy to IBM Cloud
Deploy to Amplify Console
Run on Google Cloud
Deploy on Railway
Deploy To Koyeb
Deploy to Render
Remix on Glitch

Starting the server

If this is your first time running this server, You may need to install it's dependencies first by executing npm install.

Then, you can start the server by executing:

npm start

or

PORT=3000 npm start

API endpoints

You can use ytmous API endpoints for your applications. The following endpoints are supported:

/api/search

Endpoint to search videos.

Queries

  • q (String) (Required) String to search with.

  • page (Number) Next page listing.

/api/getPlaylistInfo/[playlistID]

Endpoint to list videos from playlist / channel.

Parameters

  • playlistID (Required) String of Playlist or Channel ID.

/api/getVideoInfo/[videoID]

Endpoint to give information of an YouTube video.

Parameters

  • videoID (Required) String of YouTube video ID

/api/getComments/[videoID]

Parameters

  • videoID (Required) String of YouTube video ID.

Queries

  • continuation (String) Continuation ID of an Comments. Used to fetch the next comment section.

  • replyToken (String) Reply token. Used to view an reply of a comment. To view continuation of an Reply comments, Put continuationID in replyToken query instead of continuation.

ytmous's People

Contributors

brandon421-ops avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

habataku

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.