This project is used to extract media from various posting platforms like Twitter, Reddit, Pixiv, Youtube and many others. It's written for Node.js and it works as local service for other local services, e.g. Anime Ultra Bot or Social Picker Vue.
Usage: give a link to the post and receive its content.
There are some configuration files:
service.json
– service port and external service for viewing some contenttokens.json
– tokens for some platformspm2.production.json
– config forpm2
daemonnodemon.dev.json
– config development hot-reloadernodemon
Development config files can be created and placed along production ones (e.g. tokens.dev.json
). You can also install all npm modules (including dev) one with npm install
. npm run dev
will run service in dev-environment, npm run lint
will use eslint
.
- Install necessary dependencies –
npm i --production
- Run production server –
npm run production
After launching you can access Picker with fetching it like curl http://localhost:8080/?url=__LINK_TO_ANY_POST__
(change 8080
to real port you specified in service.json
). If you're planning opening your Picker instance to the world, I'd suggest creating your own middleware service for handling user access, downloading combined videos (something like that)
- Twitter – images, videos and gifs
- Twitter's direct media – from
*.twimg.com
- Nitter – Twitter clone
- Instagram – images, videos and galleries
- Pixiv – images and Ugoira-gifs. Uses external service for end-user viewing of high-res images due to Referer Header issues. Uses
ugoira-builder
for creating mp4 video from Ugoira zip (viaffmpeg
) - Pixiv's direct images – from
*.pximg.net
- Reddit – images, videos, gifs and galleries. Uses
video-audio-merge
for merging separate streams (viaffmpeg
) - Youtube – video with response in default type containing all streams (via
yt-dlp
) - Osnova – images, videos, gifs and galleries. Also extracts Twitter and Instagram blocks/links from within and handles them with parsers above
- Tumblr – images and galleries
- Danbooru – images
- Gelbooru – images
- Konachan – images
- Yandere – images
- Eshuushuu – images
- Sankaku – images
- Zerochan – images
- AnimePictures – images
- KemonoParty – images
- Joyreactor – images and gifs from
[joy/safe/anime./etc…]reactor.сс
includingm.
subdomains and direct links to media files - Coub – looped videos with linear audio. Uses
video-audio-merge
for merging separate streams (viaffmpeg
)