All Projects → ytmous → ytmous

ytmous / ytmous

Licence: BSD-3-Clause license
Anonymous Youtube Proxy

Programming Languages

EJS
674 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects
Nix
1067 projects

Projects that are alternatives of or similar to ytmous

QArchive
Async C++ Cross-Platform library that modernizes libarchive using Qt5 🚀. Simply extracts 7z 🍔, Tarballs 🎱 and other supported formats by libarchive. ❤️
Stars: ✭ 66 (+10%)
Mutual labels:  simple, small, easy-to-use
StringDB
StringDB is a modular, key/value pair archival DB designed to consume *tiny* amounts of ram & produce *tiny* databases.
Stars: ✭ 56 (-6.67%)
Mutual labels:  lightweight, small, easy-to-use
Wondercms
WonderCMS - fast and small flat file CMS (5 files)
Stars: ✭ 330 (+450%)
Mutual labels:  lightweight, simple, small
youtube-lite
No more wasting time on watching random, irrelevant videos on Youtube. https://youtube-lite.js.org
Stars: ✭ 22 (-63.33%)
Mutual labels:  simple, watch, lite
Lang-app
Add a multi lang configuration to your WEB APP 'from scratch' [ANY FRAMEWORK, ANY PLUGIN, ANY API]
Stars: ✭ 15 (-75%)
Mutual labels:  simple, easy-to-use, easy
Discord bot.py
🍺 A simple discord bot that helps you getting started within discord.py
Stars: ✭ 313 (+421.67%)
Mutual labels:  simple, small, easy
DM-BOT
📧 DM-BOT is discord bot that can record direct messages. One of us! You can also reply to those messages! DM-BOT is easy to use & understand! I decided to use Discord.js, it's literally the best.
Stars: ✭ 31 (-48.33%)
Mutual labels:  simple, easy-to-use, easy
CalDOM
An agnostic, reactive & minimalist (3kb) JavaScript UI library with direct access to native DOM.
Stars: ✭ 176 (+193.33%)
Mutual labels:  lightweight, simple, small
docker-alpine-wkhtmltopdf
wkhtmltopdf alpine docker container with headless qt patches
Stars: ✭ 150 (+150%)
Mutual labels:  lightweight, small
picamera-motion
Raspberry Pi python PiCamera Lightweight Motion Detection. Includes easy curl script install/upgrade, whiptail admin menu system, single file web server and Rclone for uploading to a variety of web storage services.
Stars: ✭ 80 (+33.33%)
Mutual labels:  lightweight, simple
DuiMini
Cross-platform, lightweight DirectUI GUI framework.
Stars: ✭ 13 (-78.33%)
Mutual labels:  lightweight, easy-to-use
MatrixLib
Lightweight header-only matrix library (C++) for numerical optimization and machine learning. Contact me if there is an exciting opportunity.
Stars: ✭ 35 (-41.67%)
Mutual labels:  lightweight, simple
query2report
Query2Report is a simple open source business intelligence platform that allows users to build report/dashboard for business analytics or enterprise reporting
Stars: ✭ 43 (-28.33%)
Mutual labels:  lightweight, easy-to-use
tb-grid
tb-grid is a super simple and lightweight 12 column responsive grid system utilizing css grid.
Stars: ✭ 19 (-68.33%)
Mutual labels:  lightweight, simple
Qview
Practical and minimal image viewer
Stars: ✭ 460 (+666.67%)
Mutual labels:  lightweight, simple
brute-md5
Advanced, Light Weight & Extremely Fast MD5 Cracker/Decoder/Decryptor written in Python 3
Stars: ✭ 16 (-73.33%)
Mutual labels:  lightweight, easy-to-use
Simple Php Router
Simple, fast and yet powerful PHP router that is easy to get integrated and in any project. Heavily inspired by the way Laravel handles routing, with both simplicity and expand-ability in mind.
Stars: ✭ 279 (+365%)
Mutual labels:  lightweight, easy-to-use
Machinelearning
An easy neural network for Java!
Stars: ✭ 122 (+103.33%)
Mutual labels:  lightweight, easy-to-use
Bonsai
🌱 a tiny distro-independent package manager
Stars: ✭ 188 (+213.33%)
Mutual labels:  lightweight, simple
Redux Zero
A lightweight state container based on Redux
Stars: ✭ 1,977 (+3195%)
Mutual labels:  lightweight, small

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.

  • LIMIT: Search / Video result from playlist, channel, or search result limit. The smaller, The faster.
  • VIDINFO_LIMIT: Video information caching limit, Mostly used for streaming after watch page has been loaded. Default is 20.
  • USER_AGENT: This variable is where we fake our user agent to request youtube.
  • DLCHUNKSIZE: Download Chunk Size. Default is 1 MB (1024 * 1024)
  • NO_API_ENDPOINTS: Disable API endpoints. By default, API Endpoints is enabled.
  • NO_CACHE: Disable Youtube Video Information caching. By default, caching is enabled for improving streaming speed, But also avoiding ratelimits as possible
  • MAX_SPACE_SIZE: node --max-old-space-size=${process.env.MAX_SPACE_SIZE}. Default is freemem / 1.2 MB.
  • NO_AUTO_KILL: Do not automatically exit when memory usage reached MAX_SPACE_SIZE limit. By default, Server automatically exit and restart when limit reached.
  • 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

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].