npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

iptv-vod-organizer

v1.5.14

Published

Um organizador de VODs por categoria para facilitar dentro do XUI.one

Downloads

174

Readme

XUI-VOD-ORGANIZER

Telegram

Através desse projeto você pode reorganizar os seus VODS presentes no XUI.one como você quiser. Com o código fonte completamente aberto, e seguro, você pode organizar os seus vods localmente em seu computador.

Por que?

Voce deve estar se perguntando, por que ter um projeto gratuito e de codigo fonte aberto? Sou programador, e fiquei cansado de verem pessoas cobrando fortunas por projetos mal feitos, ou roubados de outros dev, Então, por que não, fazer algo completamente gratuito, em que posso ajudar outras pessoas

Esse projeto te ajudou?

Se esse projeto te ajudou, considere fazer uma doação para meu trabalho, para que eu continue trazendo novidades, basta acessar o Github Sponsors nesse link: https://github.com/sponsors/icleitoncosta

Iniciando

Baixe os arquivos aqui: https://github.com/xui-managers/iptv-vod-organizer/releases Altere o arquivo cat-movies.json e cat-series.json como voce preferir. As categorias ficaram ordenadas de acordo com a ordem que você coloca nos arquivos cat-movies.json e cat-series.json

Configuração

Crie e altere o arquivo .env com suas informações. (obrigatório ter uma API TMDB, ou use essa padrão, mas lembre-se que ela pode ser bloqueada a qualquer momento, entao, de preferencia use uma API TMDB propria)

# Configurações do Banco de Dados MySQL
DB_HOST=""
DB_USER="root"
DB_PASSWORD=""
DB_NAME="xui"

TMDB_API_KEY="19041a97d3fbf32a60a77a486022e7ca"
TMDB_LANGUAGE="pt-BR"
OUTPUT_FILE="movies.json"

Abrindo

Existem duas formas de fazer o projeto rodar, a primeira e mais fácil: Utilize o arquivo executavel XUI Organizer.exe, ele irá executar o projeto e voce pode selecionar o que deseja fazer, sincronizar filmes ou series, a outra é instalando o NodeJs, NPM, etc, porém, apenas para desenvolvedores, se você é um, com certeza, já sabe o processo.

Formas de configuração

// por ano
{
    "id": 1,
    "name": "Lançamentos 2025",
    "type": "year",
    "year": 2025
},

// por gênero (busque o genreId aqui no fim dessa página)
{
    "id": 6,
    "name": "Filmes | Animação",
    "type": "genre",
    "genreId": 16
},

// por produtora (a produtora basta colocar em minusculo o streamName, que irá buscar no tmdb o nome da produtora)
{
    "id": 4,
    "name": "Séries | Globoplay",
    "type": "stream",
    "streamName": "globoplay"
},

// adultos
{
    "id": 6969,
    "name": "Filmes | [XXX] Adultos",
    "type": "adult"
}

// series especiais (categorias especiais)
{
    "id": 12,
    "name": "Séries | Novelas",
    "type": "novelasbr"
},
{
    "id": 13,
    "name": "Séries | Novelas Turcas",
    "type": "novelasturcas"
},
{
    "id": 14,
    "name": "Séries | Doramas",
    "type": "doramas"
},
{
    "id": 14,
    "name": "Séries | Animes",
    "type": "animes"
},

Informação importante

Sempre deixe uma categoria para os não categorizados, pois caso o sistema não encontre de forma automatica, ele irá colocar nessa categoria, e o usuario consegue achar.

{
    "id": 15000,
    "name": "Séries | Outras Produtoras",
    "type": "uncategorized"
},

Todos os tipos de generos ids de filmes e series

const categories = [
  // MOVIES
  { type: 'movie', id: 28, name_en: 'Action', name_pt: 'Ação' },
  { type: 'movie', id: 12, name_en: 'Adventure', name_pt: 'Aventura' },
  { type: 'movie', id: 16, name_en: 'Animation', name_pt: 'Animação' },
  { type: 'movie', id: 35, name_en: 'Comedy', name_pt: 'Comédia' },
  { type: 'movie', id: 80, name_en: 'Crime', name_pt: 'Crime' },
  { type: 'movie', id: 99, name_en: 'Documentary', name_pt: 'Documentário' },
  { type: 'movie', id: 18, name_en: 'Drama', name_pt: 'Drama' },
  { type: 'movie', id: 10751, name_en: 'Family', name_pt: 'Família' },
  { type: 'movie', id: 14, name_en: 'Fantasy', name_pt: 'Fantasia' },
  { type: 'movie', id: 36, name_en: 'History', name_pt: 'História' },
  { type: 'movie', id: 27, name_en: 'Horror', name_pt: 'Terror' },
  { type: 'movie', id: 10402, name_en: 'Music', name_pt: 'Música' },
  { type: 'movie', id: 9648, name_en: 'Mystery', name_pt: 'Mistério' },
  { type: 'movie', id: 10749, name_en: 'Romance', name_pt: 'Romance' },
  { type: 'movie', id: 878, name_en: 'Science Fiction', name_pt: 'Ficção Científica' },
  { type: 'movie', id: 10770, name_en: 'TV Movie', name_pt: 'Filme para TV' },
  { type: 'movie', id: 53, name_en: 'Thriller', name_pt: 'Suspense' },
  { type: 'movie', id: 10752, name_en: 'War', name_pt: 'Guerra' },
  { type: 'movie', id: 37, name_en: 'Western', name_pt: 'Faroeste' },

  // TV SHOWS
  { type: 'tv', id: 10759, name_en: 'Action & Adventure', name_pt: 'Ação e Aventura' },
  { type: 'tv', id: 16, name_en: 'Animation', name_pt: 'Animação' },
  { type: 'tv', id: 35, name_en: 'Comedy', name_pt: 'Comédia' },
  { type: 'tv', id: 80, name_en: 'Crime', name_pt: 'Crime' },
  { type: 'tv', id: 99, name_en: 'Documentary', name_pt: 'Documentário' },
  { type: 'tv', id: 18, name_en: 'Drama', name_pt: 'Drama' },
  { type: 'tv', id: 10751, name_en: 'Family', name_pt: 'Família' },
  { type: 'tv', id: 10762, name_en: 'Kids', name_pt: 'Infantil' },
  { type: 'tv', id: 9648, name_en: 'Mystery', name_pt: 'Mistério' },
  { type: 'tv', id: 10763, name_en: 'News', name_pt: 'Notícias' },
  { type: 'tv', id: 10764, name_en: 'Reality', name_pt: 'Reality Show' },
  { type: 'tv', id: 10765, name_en: 'Sci-Fi & Fantasy', name_pt: 'Ficção Científica e Fantasia' },
  { type: 'tv', id: 10766, name_en: 'Soap', name_pt: 'Novela' },
  { type: 'tv', id: 10767, name_en: 'Talk', name_pt: 'Talk Show' },
  { type: 'tv', id: 10768, name_en: 'War & Politics', name_pt: 'Guerra e Política' },
  { type: 'tv', id: 37, name_en: 'Western', name_pt: 'Faroeste' },
];