Git Product home page Git Product logo

quetre's Introduction

Quetre

Delightful Humane Tech

Quetre is an alternative front-end to Quora. It enables you to see answers without ads, trackers, and other such bloat.


Key Features

  • Privacy focused

    All requests are proxied which makes it impossible for Quora to collate meaningful data points about you.

  • No ads or tracking

    Absolutely no ads, no tracking, no browser fingerprinting, and no telemetry of any kind.

  • Fully responsive layout

    Utilises modern CSS features like CSS Grid and Flexbox to make the website fully responsive for all screen sizes.

  • Lightweight and fast

    As the website contains no bloat, pages load in a jiffy and request sizes are tiny.

  • Dark and light themes

    Whether you're a nightowl or bright screen lover, you'll enjoy curated color scheme for your taste.

  • Unofficial API support

    just add /api/v1/ after the domain name in the URL and get a JSON response.


Screenshots

website in light mode on desktop website in dark mode on mobile

Instances

Instance Tor I2P Region Provider Notes
https://quetre.iket.me/ No No CA OVHCloud Official instance
https://qr.vern.cc/ Yes Yes US Hetzner Operated by ~vern
https://quetre.pussthecat.org/ No No DE Operated by PussTheCat.org
https://quetre.tokhmi.xyz/ No No US Oracle Operated by Tokhmi
https://quetre.projectsegfau.lt/ No No EU BuyVM Operated by Project Segfault
https://quetre.odyssey346.dev/ No No PL OVHCloud Operated by Odyssey346
https://quetre.privacydev.net/ Yes No FR Clovux Operated by PrivacyDev
https://ask.habedieeh.re/ Yes No CA Oracle Operated by habedieeh.re
https://quetre.blackdrgn.nl/ No No DE Contabo Operated by blackdrgn.nl
https://quetre.lunar.icu/ No No DE Cloudflare Operated by lunar.icu
https://que.wilbvr.me/ No No NL Liga Hosting Operated by Wilbvr
https://quora.femboy.hu/ Yes No HU N/A (Self-hosted) Operated by hnhx
https://questions.whateveritworks.org/ No No DE Hetzner (Cloudflare) Operated by WhateverItWorks
https://quetre.frontendfriendly.xyz/ No No Operated by frontendfriendly.xyz
https://q.opnxng.com/ No No SG Vultr Operated by Opnxng
https://quetre.ftw.lol/ No No DE Hetzner Operated by FTW.LOL
https://quora.seitan-ayoub.lol/ No No DE Operated by seitan-ayoub.lol
https://quetre.catsarch.com/ Yes No US N/A (Self-hosted) Operated by Butter Cat
https://ask.sudovanilla.org/ No No US N/A (Self-hosted) Operated by SudoVanilla
https://quetre.drgns.space/ No No US N/A (Self-hosted) Operated with ❤️ from drgns.space
https://quetre.r4fo.com/ No No NL Oracle Operated by r4fo
https://quetre.ducks.party/ No No NL Timeweb Operated by ducks.party

Instances list in JSON format can be found in instances.json file.


Comparision

Speed

URL for comparision: https://www.quora.com/How-does-the-Z-boson-decay

Quora Quetre
No. of requests 83* 15
Load time 6.76s 4.61s
Finish time 2.44min* 4.62s
Data consumed 3.49MB 404.47KB

*the requests were ongoing even after 6 minutes


Usability

  • Quora: You can't even see an answer(unless you do some hacks) if you're not signed in. They put a big banner in front of answers to sign you up/in forcefully.

  • Quetre: There is no accounts system. Just read whatever you want to read. Zero fuss.


Privacy

Quora(when browsing anonymously)

From their privacy policy

  • Technologies used
    • cookies
    • log files
    • clear GIFs/pixel tags
    • JavaScript
    • web beacons
    • local storage objects
    • Analytics Tools
    • other tracking technologies
  • Data collected
    • searches
    • page views
    • date and time of your visit
    • browser type
    • type of computer or mobile device
    • browser language
    • IP address
    • mobile carrier
    • unique device identifier
    • location
    • requested and referring URLs
    • other information about your use of the Quora Platform

Quetre

  • Data actively collected by Quetre

    None.

  • Data passively collected by Quetre

    Whenever you hit some error page, an error object is logged to the console on the server. That error object contains the resource url you were trying to access, and the usual stack trace. That's it.

  • Data stored locally in your browser

    A key called 'theme' is stored in local storage provided by your browser to store your theme preference should you override the default theme. To prevent this behaviour, either disable JavaScript or local storage for Quetre.


FAQs

  • How do I use this?

    Replace 'www.quora.com' in any URL with 'quetre.iket.me'(or any other instance). So, 'https://www.quora.com/Are-Nubians-nilotes' becomes 'https://quetre.iket.me/Are-Nubians-nilotes'.

  • I don't want to edit the URLs manually!

    There are a couple of solutions for that.

  • There are some unreachable routes.

    I'm working to implement them soon. Keep an eye on To-Do list.

  • Why are some math equations showing up weirdly?

    If you're browsing with JavaScript disabled, then the Mathjax library isn't able to load and format tex equations. I'd recommend to enable JavaScript for it since there's no other way to show them in the browser. Even Quora uses Mathjax.

  • Why can I only view a couple of answers?

    Quora doesn't show all answers at once. It only loads more answers as the user scrolls down. Furthermore, it uses many unique IDs to send ajax requests to fetch those answers. So, all in all, getting more answers isn't impossible but quite difficult requiring some serious amount of time on their website in order to figure out how it all happens. I'm short on time for now.

  • Why am I getting a Recheck the URL error?

    Sometimes Quora doesn't populate the answer page HTML, and hence, Quetre is unable to extract data from it. If that happens, you can refresh the page a couple of times to get the answers.

  • I have some ideas/want to help.

    You're most welcome to do that. Just contact me or fork the repo and make a pull request. You can even help by correcting some typos or translating this README to other languages.

  • Why the name Quetre?

    Quora is supposedly a portmanteau of 'Questions or answers'. In the same vein, Quetre is a portmanteau of 'Questions and answers', but in Latin.

  • I cannot view the comments. Will you add that feature?

    See this issue


To-Do

  • add missing routes like topics and profile
  • use redis
  • serve images and other assets from Quetre
  • implement a better installation method
  • implement other trivial routes like a specific answer, spaces, etc.
  • implement a way to get more answers(not a big priority as of now)

Installation

Manual

  1. Install Node.js, Git, and Redis(Optional). Instructions are on their websites.

  2. Clone and set up the repository.

    git clone https://github.com/zyachel/quetre.git # replace github.com with codeberg.org if you're cloning from there
    cd quetre
    cp .env.example .env # you can make any changes here
    # change `pnpm` to `npm run` here as well as in package.json if you use `npm`
    pnpm install
    pnpm start
    # optional
    redis-server # useful for caching api responses

Quetre will start running at http://localhost:3000.

Docker

There is a docker image made by @TheFrenchGhosty for PussTheCat.org's instance.
If you want a leaner one, you can checkout @video-prize-ranch's docker image.


Contributing

The development may seem slow as I don't have lots of free time. And whenever I do, it gets split between this service and libremdb.
If you believe you can help furthering this project in any way(be it maintaining, fixing issues, or adding features), please get in touch.
Regardless, any type of contribution is always welcome.

Misc

Automatic redirection

Following extensions can be used to automatically redirect Quora URLs to Quetre:

  • redirector
    You can manually add any redirect. Below is a basic config of Quora to Quetre. Replace quetre.iket.me in Redirect to to any instance of your choice.

    Description: Quora to Quetre
    Example URL: https://www.quora.com/What-is-Linux-4?share=1
    Include pattern: (https:\/\/.{2,}\.quora\.com\/.*)
    Redirect to: https://quetre.iket.me/redirect/$1
    Pattern type: Regular Expression
    Pattern description: redirects all Quora urls to Quetre
    

    This config should output:
    Example result: https://quetre.iket.me/redirect/https://www.quora.com/What-is-Linux-4?share=1

  • LibRedirect
    Redirects many popular services to their alternative front-ends. Has a ton of features and an active community. Quetre is supported by default. So, no need to do anything.

  • Privacy Redirector
    A userscript that redirects popular social media platforms to their privacy respecting frontends.

  • Other addons with similar functionality:

See Predirect's Comparision table for more.

Other alternative front-ends


Credits

Programming

Resources

Code hosting

Inspiration

Others

  • Contributors
  • Instance maintainers
  • Users :)

Contact

Send a message on [matrix] or go old school with email in case you wish to contact me.


License

Licensed under GNU AGPLv3.


Disclaimer

Quetre does not host any content. All content is from Quora. Quora is a tradmark of Quora Inc.

quetre's People

Contributors

abdelkd avatar blackdragon-b avatar drgns-wtd avatar esmailelbobdev2 avatar gi-yt avatar jamesbrown8532 avatar noplagiarism avatar nyuuzyou avatar privacydevel avatar seriousbusiness100 avatar shruuub avatar sudovanilla avatar tinywifi avatar torrca avatar zyachel 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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

quetre's Issues

How does it work?

Excuse me but how I use it?? normally in nitter or any other software you can replace URLs but for some reason when I do it here I get 404 page so how am I supposed to use it?

TypeScript Migration

I'd just like to ask for opinions and whether a PR for this would be accepted. I feel like maintainability would increase in the long run if it were typed before release.

This is by no means a request for a rewrite/migration.

Translating quetre into other languages: Suggestion to use Weblate

Weblate is a FOSS software for translating, we could potentially use it. Weblate has a shared instance that is free if your software is open source (we could apply).

However, you said @zyachel, that you'd migrate from herokuapp to a VPS, and we could potentially self host Weblate, which is nice because the hosted free instance comes with some limitations, which are addressed by self hosting.

Thoughts?

[Feature request] Store scraped data

Hello,

It would be nice of Quetre to store scraped data in a database so that it doesn't ever need to scrape it again.

Here's what happened to me today :

  1. I visited a successfully loaaded Quetre page :
  2. Shared it with someone else ;
  3. Hours later, the same page returned 503 to the person I shared it with.

Thanks

Unexpected token u in JSON at position 0

Server:
Debian 11, 64 bit; 1 CPU 2.65 Ghz; 2 GB RAM
Quetre:
Docker build (latest) using Nginx frontend proxy

Troubleshooting:
Confirmed not OOM-killer, have enough disk space, fully removed container and rebuilt the container

Issue:
95% of my requests regardless of question looked up end up in a 500 Internal Server Error with the following error in the logs:

2023-04-09T19:12:52.938566622Z  🔴 Unexpected token u in JSON at position 0
2023-04-09T19:12:52.938621384Z SyntaxError: Unexpected token u in JSON at position 0
2023-04-09T19:12:52.938626294Z     at JSON.parse (<anonymous>)
2023-04-09T19:12:52.938642161Z     at file:///app/fetchers/getAnswers.js:16:16
2023-04-09T19:12:52.938646118Z     at Array.map (<anonymous>)
2023-04-09T19:12:52.938649765Z     at getAnswers (file:///app/fetchers/getAnswers.js:15:34)
2023-04-09T19:12:52.938653819Z     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
2023-04-09T19:12:52.938657546Z     at async getOrSetCache (file:///app/utils/getOrSetCache.js:9:23)
2023-04-09T19:12:52.938661156Z     at async file:///app/controllers/viewController.js:50:23

That is the full error at each load of a page. If I keep refreshing, eventually the page does correctly show the answer, but then continuing to refresh goes back to a 500 ISE with the same error in the logs.

Screenshot:
Screenshot 2023-04-09 at 3 30 07 PM

couldn't retrieve data error

i installed & started quetre with pnpm as told in README.
but i get this error when i try to go to some link

🔴 couldn't retrieve data
Error: couldn't retrieve data
    at fetcher (file:///home/ak/projects/quetre/fetchers/fetcher.js:37:25)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async getAnswers (file:///home/ak/projects/quetre/fetchers/getAnswers.js:12:15)
    at async file:///home/ak/projects/quetre/controllers/viewController.js:25:23 

Favicons PNG have a background

This commit changed the favicons from PNG with a dark background, to PNG with a white background.

This looks the PNG having a background like it wasn't done on purpose.

Farside integration

If the current instance gets rate-limited, we might want to give the user a button to switch instance using farside.link, we also might want to fix #49 to make this even more effective.

Edit: done!

Quora plus bypass

Apparently, adding ?shared=1 to the end of the URL bypass it.
You probably need to clear cookies for quora.com in your browser to make this work.

Without ?shared=1:
Screenshot 2023-04-25 at 10 11 41

With ?shared=1:
Screenshot 2023-04-25 at 10 14 18

add quetre.odyssey346.dev

I don't want to fork the repository, so I am making an issue instead.
| [quetre.odyssey346.dev](https://quetre.odyssey346.dev) | Poland | OVHCloud | Operated by [Odyssey346](https://odyssey346.dev/) |

Mark unanswered questions

We could mark an unanswered question by putting "Unanswered" to the right and in gold color (for example).

Framed answers? - Locations

I would like answers to be framed like in quora, I think it was already a future plan to do so. And between each answers the spaces should be this small.
image

The top bar probably it can't be made smaller. So the red part can be taken away and propotions wouldn't look bad. I just feel that the proportions now are unpleasent, the font looks a little small and flat so I zoom in and I'm losing all things that I look on, zoomed out I can't read.
image

Markup differences

Wonderful project! I noticed the formatting/markup is lacking a little bit.

Example 1: https://quetre.herokuapp.com/How-does-Melatonin-work-on-the-brain/

The way Quetre displays it is much more condensed, which imo lowers readability a lot. It's harder to distinguish sections and paragraphs. Not sure if this was done on purpose, but I'd suggest leaning a little closer to the way Quora renders it.

Quora
image

Quetre
image

Example 2: https://quetre.herokuapp.com/What-Skyrim-race-is-the-most-Croatian/

Missing formatting.

Quora
image

Quetre
image

Doesn't work for french version

Hello,

I'd like to use it with the french version of quora, but it doesn't work since it uses the "fr" subdomain and give me a http 404 error.

Instance does not render JavaScript

So I followed the instructions (I cloned from both GitHub and Codeberg) on my Raspberry Pi and this is the result I get:
image

It seems like JavaScript isn't being rendered, but I have no idea why

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.