Giter Club home page Giter Club logo

intellectual's Introduction

Contributors Forks Stargazers Issues Docker Pulls AGPLv3 License


Intellectual

Alternate frontend for Genius focused on privacy and simplicity

Report Bug Β· Request Feature

Table of Contents
  1. About The Project
  2. Instances
  3. Deployment
  4. Roadmap
  5. License

About The Project

Intellectual is an alternative frontend for Genius focused on privacy and simplicity.
Written in Rust, Intellectual is incredibly lightweight. Not requiring JavaScript and proxying all requests through the server, including images.

Intellectual is still very early in development and is lacking many features.
Check out the roadmap for what features will be coming next!

Instances

Want your own instance listed here? Open an issue for it!
Not sure how to host your own instance? View the deployment instructions.

Clearnet

URL Tor Country Cloudflare
https://intellectual.insprill.net/ No πŸ‡ΊπŸ‡Έ US βœ”οΈ
https://in.bloat.cat/ No πŸ‡·πŸ‡΄ RO
https://intellectual.catsarch.com/ Yes πŸ‡ΊπŸ‡Έ US

If there is a checkmark under "Cloudflare", that means the site is proxied behind Cloudflare.
This means they have the ability to monitor traffic between you and the server.

The instances list in JSON format can be found in the instances.json file.

Deployment

Deploying

Docker

The easiest way to host intellectual is via Docker, and the included Docker Compose file. To create a new directory, download the docker-compose.yml, and cd into the directory, run the following command (Requires cURL 7.10.3 or newer)

curl https://raw.githubusercontent.com/Insprill/intellectual/master/docker-compose.yml --create-dirs -o intellectual/docker-compose.yml && cd intellectual

By default, it'll bind to 127.0.0.1:8080. Once you're satisfied with the container, you can start it with

docker compose up -d

Native

If you don't want to use Docker, you can download the latest stable or nightly build from GitHub actions. Make sure to choose the version for your target operating system.

Append the -h flag when running to see all available arguments.

TLS

Intellectual supports TLS connections natively using rustls. To enable TLS, provide the --tls flag, followed by --tls-key-file and --tls-cert-file pointing to their respective files on disk.

Roadmap

  • Search for songs
  • View lyrics
  • More song info on the lryics page
    • Song name
    • Song/album image
    • Album name
    • Artist
    • Release date
  • View artist info
  • Paginated searches
  • More robust error handling
  • Show artists' work on their page
  • Improve responsiveness
  • View Albums
  • Theme support
  • Annotation support
  • More search types
    • By lyrics
    • For artists
    • For albums
  • Better accessibility
  • Support for more lyric sources

Contributions are what make the open-source community such an amazing place to learn, inspire, and create.
Any contributions you make are greatly appreciated!
If you're new to contributing to open-source projects, you can follow this guide to get up-to-speed.

License

Distributed under the GNU Affero General Public License v3.0.
See LICENSE for more information.

intellectual's People

Contributors

butteredcats avatar dependabot[bot] avatar ftonans avatar insprill avatar jamesbrown8532 avatar renovate[bot] avatar seniorcluckers avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

intellectual's Issues

Use cross for compiling other architecture

Is there an existing issue for this?

  • I have searched the existing issues

Describe the feature

Instead of manually setting up the infrastructure for compiling other architectures & targets (especially aarch64 musl), we should use the cross crate, which only requires Docker to be installed and handles the rest itself.

Search Albums/Album View

Is there an existing issue for this?

  • I have searched the existing issues

Describe the feature

I can search by song and by artist, and view pages dedicated to both. It would be nice to not only search albums, but to view albums as well.

Specifically, I'd like to have all the songs on an album listed on the bottom of a song page similar to Genius.

Server returns HTTP 200 instead of 404 for pages that don't exist

Is there an existing issue for this?

  • I have searched the existing issues

Are you using the latest version of Intellectual?

  • I am using the latest version of Intellectual.

Describe the bug

When visiting a nonexistent page or resource intellectual returns a 200 status code instead of 404.

This isn't major, but I can't imagine that it's intended behavior.

Anything else?

No response

"This Song Has No Lyrics"

Is there an existing issue for this?

  • I have searched the existing issues

Are you using the latest version of Intellectual?

  • I am using the latest version of Intellectual.

Describe the bug

It appears there are some difficulties parsing lyrics from Genius, because they're missing on certain pages. In their place, "This Song Has No Lyrics" is placed.

Compare https://intellectual.insprill.net/lyrics?path=/The-moody-blues-going-nowhere-lyrics to https://genius.com/The-moody-blues-going-nowhere-lyrics

Obviously there are lyrics, but they aren't appearing on Intellectual.

Anything else?

Go to a Dumb instance like https://sing.whatever.social/The-moody-blues-going-nowhere-lyrics and it parses the lyrics perfectly fine.

Cross compilation

Is there an existing issue for this?

  • I have searched the existing issues

Describe the feature

It would be nice to have support for the musl library for the binaries because I have to recompile it with every release. You can consider using this tool for that purpose: cross

Cloudflare blocking instance

Is there an existing issue for this?

  • I have searched the existing issues

Are you using the latest version of Intellectual?

  • I am using the latest version of Intellectual.

Describe the bug

Using the docker image

Internal Error
Content type error

If this continues to occur, please report it.

Anything else?

I am using Cloudflare.

Images on artist's page aren't proxied through server

Is there an existing issue for this?

  • I have searched the existing issues

Are you using the latest version of Intellectual?

  • I am using the latest version of Intellectual.

Describe the bug

Images on an artist's page aren't proxied through the server, causing the client to directly reach out to Genius.

This also has the side effect of making these images violate the default content security policy, making them appear as a broken link unless the server host overrides the security policy.

Anything else?

Example with default content security policy: https://intellectual.insprill.net/artist?path=artists/Joji
Example with edited content security policy: https://intellectual.catsarch.com/artist?path=artists/Joji

Text Displacement Issue

Is there an existing issue for this?

  • I have searched the existing issues

Are you using the latest version of Intellectual?

  • I am using the latest version of Intellectual.

Describe the bug

This issue occurs with songs that have long names. It occurs only on the desktop version of the website.
Screenshot_20230913-110501
Screenshot_20230913-110451
image
image

Anything else?

https://in.bloatcat.tk/lyrics?path=/2-bi-2-nobody-writes-to-the-colonel-lyrics&id=3453476
https://in.bloatcat.tk/search?q=%D0%B1%D0%B82+%D0%BF%D0%BE%D0%BB%D0%BA%D0%BE%D0%B2%D0%BD%D0%B8%D0%BA%D1%83+%D0%BD%D0%B8%D0%BA%D1%82%D0%BE+%D0%BD%D0%B5+%D0%BF%D0%B8%D1%88%D0%B5%D1%82

Page Not Found for lyrics that exist in Genius

Is there an existing issue for this?

  • I have searched the existing issues

Are you using the latest version of Intellectual?

  • I am using the latest version of Intellectual.

Describe the bug

I've found a song that exists on Genius but can't be visited within Intellectual. Trying to visit it just results in "Page Not Found"

Anything else?

Song on Genius: https://genius.com/Ck9c-the-end-of-times-annotated
Song on Intellectual: https://intellectual.catsarch.com/Ck9c-the-end-of-times-annotated

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.