Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zyachel/quetre
A libre front-end for Quora
https://github.com/zyachel/quetre
alternative-frontends foss front-end javascript privacy pug quora sass scraping
Last synced: 5 days ago
JSON representation
A libre front-end for Quora
- Host: GitHub
- URL: https://github.com/zyachel/quetre
- Owner: zyachel
- License: agpl-3.0
- Created: 2022-04-17T13:00:23.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-01T19:07:24.000Z (3 months ago)
- Last Synced: 2024-10-01T06:34:17.465Z (2 months ago)
- Topics: alternative-frontends, foss, front-end, javascript, privacy, pug, quora, sass, scraping
- Language: JavaScript
- Homepage: https://quetre.iket.me
- Size: 1.35 MB
- Stars: 434
- Watchers: 6
- Forks: 29
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-privacy-front-ends - Quetre - An alternative front-end to Quora that enables you to see answers without ads, trackers, and other such bloat. `JavaScript/AGPL-3.0`. (List / Quora)
- alternative-frontends - x
- alternative-front-ends - Quetre - end for Quora (Overview / Quora)
- alternative-frontends - x
README
# Quetre
[![Delightful Humane Tech](https://codeberg.org/teaserbot-labs/delightful-humane-design/raw/branch/main/humane-tech-badge.svg)](https://codeberg.org/teaserbot-labs/delightful-humane-design)
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](public/misc/img/preview.png) | ![website in dark mode on mobile](public/misc/img/preview2.png) |---
## Instances
| Instance | Tor | I2P | Region | Provider | Notes |
| ----------------------------------------- | ------------------------------------------------------------------------------------ | --------------------------------------------------------------------------- | ------- | -------------------- | --------------------------------------------------------------------------- |
| | No | No | CA | OVHCloud | Official instance |
| | [Yes](http://qr.vernccvbvyi5qhfzyqengccj7lkove6bjot2xhh5kajhwvidqafczrad.onion/) | [Yes](http://vernnflenvsqccuanaun7yydnmturi4jkyxlyzhn6ultpje66c3q.b32.i2p/) | US | Hetzner | Operated by [~vern](https://vern.cc/) |
| | No | No | DE | – | Operated by [PussTheCat.org](https://pussthecat.org/) |
| | No | No | US | Oracle | Operated by [Tokhmi](https://tokhmi.xyz/) |
| | [Yes](http://quetre.g4c3eya4clenolymqbpgwz3q3tawoxw56yhzk4vugqrl6dtu3ejvhjid.onion/) | No | FR | Clovux | Operated by [PrivacyDev](https://privacydev.net/) |
| | [Yes](http://ask.habeehrhadazsw3izbrbilqajalfyqqln54mrja3iwpqxgcuxnus7eid.onion/) | No | CA | Oracle | Operated by [habedieeh.re](https://www.habedieeh.re/) |
| | No | No | DE | Contabo | Operated by [blackdrgn.nl](https://blackdrgn.nl/) |
| | No | No | DE | Cloudflare | Operated by [lunar.icu](https://lunar.icu/) |
| | No | No | SG | Vultr | Operated by [Opnxng](https://about.opnxng.com/) |
| | No | No | US | N/A (Self-hosted) | Operated by [SudoVanilla](https://sudovanilla.org/) |
| | No | No | US | N/A (Self-hosted) | Operated with ❤️ from [drgns.space](https://drgns.space/) |
| | No | No | NL | Oracle | Operated by [r4fo](https://r4fo.com/) |
| | No | No | NL | Timeweb | Operated by [ducks.party](https://ducks.party/) |
| | [Yes](http://quetre.nadekobxalvyqrhvp3m2atfgdmzp5vcwdmu3wo4htecwjkodancfmgid.onion) | No | CL | Oracle | Operated by [Fijxu](https://nadeko.net) |
| | [Yes](http://quetre.coffee2m3bjsrrqqycx6ghkxrnejl2q6nl7pjw2j4clchjj6uk5zozad.onion) | No | AT | Alwyzon | Operated by [Private.coffee](https://private.coffee) |
| | No | No | US | RoyaleHosting | Operated by [canine.tools](https://canine.tools/) |
| | No | No | DE | Datalix | Operated by [bloat.cat](https://bloat.cat/) |
| | No | No | DE | Hetzner | Operated by [Gitro](https://gitro.xyz) |
| | No | No | DE | Hetzner (Cloudflare) | Operated by [Shindou Jeikobu](https://jeikobu.net) |Instances list in JSON format can be found in [instances.json](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](https://www.quora.com/about/privacy)
- 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](#automatic-redirection) for that.
- There are some unreachable routes.
I'm working to implement them soon. Keep an eye on [To-Do list](#to-do).
- 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](#contact) or fork [the repo](https://github.com/zyachel/quetre/fork) 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](https://www.quora.com/Why-is-Quora-called-Quora-4) a portmanteau of 'Questions or answers'. In the same vein, Quetre is a portmanteau of 'Questions and answers', but [in Latin](https://lingva.ml/en/la/questions%20and%20answers%0A).
- I cannot view the comments. Will you add that feature?
See [this issue](https://codeberg.org/zyachel/quetre/issues/11)
---
## To-Do
- [x] add missing routes like topics and profile
- [x] use redis
- [x] serve images and other assets from Quetre
- [x] 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](https://nodejs.org/en/), [Git](https://git-scm.com/), and [Redis](https://redis.io)(Optional). Instructions are on their websites.
2. Clone and set up the repository.
```bash
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](https://github.com/PussTheCat-org/docker-quetre-quay) made by [@TheFrenchGhosty](https://github.com/TheFrenchGhosty) for [PussTheCat.org](https://pussthecat.org/)'s [instance](https://quetre.pussthecat.org/).
If you want a leaner one, you can checkout [@video-prize-ranch](https://codeberg.org/video-prize-ranch)'s [docker image](https://codeberg.org/video-prize-ranch/-/packages/container/quetre/latest).---
## 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](https://github.com/zyachel/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](#contact).
Regardless, any type of contribution is always welcome.## Misc
### Automatic redirection
Following extensions can be used to automatically redirect Quora URLs to Quetre:
- [redirector](https://github.com/einaregilsson/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](https://github.com/libredirect/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](https://github.com/dybdeskarphet/privacy-redirector)
A userscript that redirects popular social media platforms to their privacy respecting frontends.- Other addons with similar functionality:
- [Dynamic Privacy Redirect](https://github.com/PrivacyDevel/DPR-addon)
- [Alter](https://github.com/w3bdev1/alter)- [Predirect](https://github.com/libreom/predirect), A modern, manifest v3 based extension that requires minimal permissions(even for embeds).
See [Predirect's Comparision table](https://github.com/libreom/predirect/blob/main/COMPARISON.md) for more.
### Other alternative front-ends
- [digitalblossom/alternative-frontends](https://github.com/digitalblossom/alternative-frontends): contains other alternative front-ends.
- [mendel5/alternative-front-ends](https://github.com/mendel5/alternative-front-ends): a bit more general, containing alternative clients too.---
## Credits
### Programming
- [JavaScript](https://www.ecma-international.org/technical-committees/tc39/): programming language
- [Sass](https://sass-lang.com/): CSS preprocessor
- [Pug](https://pugjs.org/): Template engine
- [Node.js](https://nodejs.org/en/): JS runtime environment
- [Express](http://expressjs.com/): Application framework for Node.js### Resources
- [Inkscape](https://inkscape.org/): Vector graphics editor. Made Quetre logo and favicons
- [Material Design Icons](https://materialdesignicons.com/): SVGs
- [Font Awesome](https://fontawesome.com/): SVGs### Code hosting
- [GitHub](https://github.com/). Quetre source code: [github.com/zyachel/quetre](https://github.com/zyachel/quetre)
- [Codeberg](https://codeberg.org/). Quetre source code: [codeberg.org/zyachel/quetre](https://codeberg.org/zyachel/quetre)### Inspiration
- [Teddit](https://codeberg.org/teddit/teddit)
- [Nitter](https://github.com/zedeus/nitter)### Others
- Contributors
- Instance maintainers
- Users :)---
## Contact
Send a message on [\[matrix\]](https://matrix.to/#/@ninal:matrix.org) or go old school with [email](mailto:[email protected]) in case you wish to contact me.
---
## License
Licensed under [GNU AGPLv3](./LICENSE).
---
## Disclaimer
*Quetre does not host any content. All content is from Quora. Quora is a tradmark of Quora Inc.*