Coder Social home page Coder Social logo

xrun1 / insidious Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 0.0 1.88 MB

Self-hosted alternative YouTube front-end

License: GNU Affero General Public License v3.0

Nix 3.24% Python 47.60% JavaScript 5.51% CSS 17.67% Jinja 25.65% Shell 0.33%
invidious self-hosted youtube youtube-dl yt-dlp

insidious's Introduction

Logo Insidious

Featurespip setupNix setupNixOS setupUsageShortcuts

Self-hosted alternative YouTube front-end.

Features

  • Responsive sane interface
  • Clean search results, no "People also watched" or massive shorts carousel
  • Pulls data through yt-dlp or rotates through any working Invidious instance
  • Loads video data directly from Google servers at full speed, HLS and DASH supported
  • No ads, no tracking, no YouTube scripts and cookies
  • Watch age-restricted videos without signing in
  • Directly accessible player controls, always visible outside of the video when not playing in fullscreen
  • Custom suggestions algorithm based on user-generated playlists, delivers content related to the current video rather than what was watched before and irrelevant popular junk
  • Recent comments first
  • Return YouTube Dislike integrated

Supported YouTube pages:

  • Videos: /watch, /v/ID, /live/ID, /embed/ID, (start/t/list parameters OK)
  • Shorts: /shorts/ID (uses standard interface)
  • Clips: /clip/ID
  • Searches: /results (including filtering/sorting)
  • Hashtags: /hashtag/TAG
  • Users: /user/ID, /user/ID/TAB, /user/ID/search
  • Playlists: /playlist, /watch_videos?video_ids=eXaMPLE1,examPLE2,...
  • Channels:
    • /NAME, /NAME/TAB, /NAME/search
    • /channel/ID, /channel/ID/TAB, /channel/ID/search
    • /c/ID, /c/ID/TAB, /c/ID/search
  • RSS feeds:
    • For channels: /feeds/videos.xml?channel_id=ID
    • For playlists: /feeds/videos.xml?playlist_id=ID

Missing/planned:

  • SponsorBlock integration
  • DeArrow integration
  • Live chats
  • "Most replayed" heatmap
  • Auto-generated captions

Setup

Local installation with pip

Tested with Python 3.11 only. If unavailable on your system, consider the Nix method.

Local installation:

git clone https://github.com/xrun1/insidious
cd insidious
python -m venv venv
source venv/bin/activate
pip install -e .

To start the server, assuming the current folder is the cloned repository:

./venv/bin/insidious

Add --help to the above command for info on supported options.

To update Insidious later, from the cloned repository folder:

git pull
source venv/bin/activate
pip install -e .

Direct run with Nix

Install the Nix package manager if needed, then:

nix run github:xrun1/insidious

Add -- --help to the above command for info on supported options.

System service on NixOS

With flakes: add this repository to your inputs, import the module, and enable the service.
Minimal example:

# flake.nix
{
    inputs = {
        nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
        insidious.url = "github:xrun1/insidious";
    };
    outputs = inputs @ { self, nixpkgs, ... }: {
        nixosConfigurations.example = nixpkgs.lib.nixosSystem {
            system = "x86_64-linux";
            specialArgs = { inherit inputs; };
            modules = [./configuration.nix ./insidious.nix];
        };
    };
}

# insidious.nix
{ inputs, ... }: {
    imports = [inputs.insidious.nixosModules.default];
    services.insidious.enable = true;
}

See os.nix for options beyond enable.

Usage

An up-to-date browser (released after December 2023) is required.

Keyboard shortcuts

Key Action
/ Focus search bar
Escape Leave search bar
k, Space Play/pause
f Toggle fullscreen
c Toggle subtitles if available
m Toggle mute
- Reduce volume
+ Increase volume
< Reduce playback speed
> Increase playback speed
h, j, Left Seek back 5s
l, Right Seek forward 5s
H, J Seek back 30s
L Seek forward 30s
, Seek to previous frame
. Seek to next frame
p Seek to previous chapter
n Seek to next chapter
P Go to previous playlist video
N Go to next playlist video /next suggestion

These shortcuts are always active without needing player focus.

insidious's People

Contributors

xrun1 avatar

Stargazers

Phoenix avatar Matthew McLeod avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

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.