Skip to content

Microservice for a safe & lightweight preview of links in online chats. Fetches websites metadata and proxies media to compress it, keeping end user's IPs and bandwidth safe and sound.

License

Notifications You must be signed in to change notification settings

squirrelchat/leaf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Leaf

License Discord

NOTE: This is in development and not usable yet.


Leaf is a microservice capable of proxying images, audio and video as well as fetching websites metadata.

While primarily designed to be used within Squirrel, Leaf can be used in your stack as it's a completely independent service which can be ran on its own.

Features

  • F a s t: Leaf is designed to handle very large amounts of requests efficiently;
  • Website metadata fetching: Leaf extracts Twitter and OpenGraph metas in websites header in a neat JSON object;
  • Media proxying: Prevent user's IP from leaking when displaying user-posted content on your application;
    • Image on-fly resize: Leaf can resize images on fly to reduce bandwidth usage and improve app's responsiveness.
    • Video & audio compression: Leaf compresses audio and video (lossy compression) to reduce bandwidth usage.
  • Reliable content detection: Leaf never uses file extensions to identify a link contents but its Content-Type header to ensure accurate results;
  • Fast lookup: Leaf uses caching to enhance loading times when pinging multiple times the same link;

And more!

Extra websites metadata

For some websites, Leaf uses more than simply metadata but also scrapes website contents. Want to see more websites supported or a website support improved? File an issue or submit a PR!

  • Twitter:
    • Tweets: Retweets, Likes, Comments count
    • Users: Bio, Location, Website, Birth date, Join date, Following count, Followers count, Tweets count
  • Reddit
    • Posts: Upvotes, Comments count, Author, Subreddit details
    • Subreddits: Members, Online, Creation date
    • Users: Karma, Cake Day, Followers
  • YouTube
  • Discord
  • Wikipedia
  • MyAnimeList
  • And more!

Robot Exclusion Protocol (REP) compliance

Leaf does not behaves according to REP. Google's proposed standard has not been accepted as a RFC yet, and we don't feel Leaf's traffic should be governed by this protocol.

About

Microservice for a safe & lightweight preview of links in online chats. Fetches websites metadata and proxies media to compress it, keeping end user's IPs and bandwidth safe and sound.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published