Giter VIP home page Giter VIP logo

extravi / araa-search Goto Github PK

View Code? Open in Web Editor NEW
106.0 6.0 14.0 5.76 MB

A privacy-respecting, ad-free, self-hosted Google metasearch engine with strong security that offers full API support and utilizes Qwant for images, and DuckDuckGo for auto-complete.

Home Page: https://araa.extravi.dev

License: GNU Affero General Public License v3.0

Python 25.01% HTML 30.53% CSS 28.00% JavaScript 15.08% Dockerfile 0.77% Shell 0.60%
privacy search self-hosted python google-api metasearch metasearch-engine privacy-search api autocomplete

araa-search's Introduction

araa-search's People

Contributors

amogusussy avatar extravi avatar narutofr avatar temthelem avatar unifegi avatar unstablemaple 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  avatar  avatar

araa-search's Issues

Requests blocked by google

image
As you can see in the image above, text results return nothing, I tried curl https://google.com and it gave me a 403 Forbidden Any workaround for this?

Docker domain env

i did uncommented
#DOMAIN=
to
DOMAIN=example.wpwdw.com

but i get error after running a container

Make a DOMAIN env. variable & set it to your domain!
    (Ex; DOMAIN=www.yourdomain.com)

changed name of opensearch.xml too

reCAPTCHA proxy

I'm working on a system that allows users to interact with reCAPTCHA. Whenever Araa gets rate-limited, it will then load a web driver to proxy the captcha, allowing users to interact with it. If the user successfully completes the captcha, the web driver will then capture the "GOOGLE_ABUSE_EXEMPTION=ID" cookie and send it in the request header to Google using makeHTMLRequest. Both SearXNG and other projects do not do this, so this will be the first.

image
image

Add settings "open in new tab"

Hello! Thanks for your work. Can you add an open in new tab settings when clicking a link on the result page? Probably need to add target="_blank" for this.

Main instance sometimes doesn't show any result

First, I'd like to say a big thank you for your incredible work!

The main instance sometimes doesn't show any result. It happened right now and at least once a few days ago. Is there a rate limit on the main instance? Thanks!

Define a security policy

Title is self-explanatory.
We should define a policy for safely reporting any security vulnerabilities or concerns.
Thoughts?

User feedback.

Is the user interface on the desktop on par with what you would expect with closed-source options for search, text, videos, settings, etc., excluding image search? If not, why? And what can I improve within the interface?

Do you think Araa Search is quite accessible and polished? For the most part, is it easy to use and easy to understand what's going on inside menus and drop-downs, like quick settings added to the search navigation bar? With visual clues (the 3 lines), do you know it's there and that you can interact with it? Is the accuracy of search highlights sufficient and well done for both Latin text and others like Japanese, Chinese, and Korean?

If there is anything you can change with the interface, what would it be? If you were to give the interface a score out of 10, how would it compare to closed-source options?

Quick settings:
image
Search highlights:
q=green+tea+benefits&t=text
image
q=goggle&t=text
image

Plans to add other search engines.

I'm planning on implementing other search engines (qwant, ddg, startpage, and maybe some others). There'll be an option in the settings to set your preferred engine.
This will most likely mean a rewrite of textResults.py, and results.html, to make them both more readable, and easier to develop, so I'm announcing that I'm going to do it so that potential merge conflicts can be avoided.
If there's any other engines I should implement, or any potential conflicts with other work that someone else is doing on the project, please tell me.
I plan to start this tomorrow.

Set default autocomplete to Google?

You would still be able to use DuckDuckGo autocomplete as a setting you can turn on in settings, but Google seems to be faster even from a connection from Germany to Canada.

2024-01-05.18-48-44.mp4

[Feature Request] Redirect to alternatives (ex. Invidious instead of YouTube)

Hi there,

I host a few other search instances like LibreY, Whoogle, 4get and of course yours.

One feature in Whoogle that I really like is replacing links to YouTube, Reddit, etc. with some other sites like Invidious, RedLib (a fork of Libreddit), etc.
Whoogle does this with a set of predefined Environment Variables

I've tested all these search front ends and have to say that yours looks and feels the best, but the redirection to Invidious and RedLib is something I really miss.

Plans for adding new search engines

In #103, you mentioned that in order to prevent no results being returned because of rate limiting, you'll implement other search engines to act as a backup.

Here's a template that I've came up with for the results:

{
  "wiki": {
    "title": "String",
    "description": "String",
    "link": "String",
    "image": "String"
  },
  "results": [
    {
      "title": "String",
      "description": "String",
      "link": "String",
      "has_sublinks": Bool,
      "sublinks": [
        {
          "title": "String",
          "description": "String",
          "link": "String"
        }
      ]
    }
  ]
}

Then we can just edit the results.html file to use this format, and it'll be much easier to implement newer engines.

Each engine should have its own file in src/textEngines/{engine}.py, and then get called in the textResults.py file.

update to community-made themes

After today, I will no longer maintain community-made themes to cut down on development time. I will only maintain the three official themes. I will likely be making my last update to all community-made themes today and in the future. If something breaks, please make a pull request for that theme.

Searching Git Repositories

I made a PoC search engine that searches Github, Sourcehut, and any Forgejo instance (live instance at https://reposearch.exozy.me/). I want to port the functionality to araa-search, since I don't see reposearch getting new functionality any time soon. Will you accept my code donation?

Issue/question: what happened to tailsx

Tailsx.extravi.dev doesnt seem to work anymore, but its still listed everywhere as the araa url, and all of the other mirrors seem to be gone, is the unofficial mirror tailsx.com really the only option now?

How to install?

Hello!
Do you have instructions on how to install this search engine?

URL and title mismatch

    # results
    result_divs = soup.findAll("div", {"class": "MjjYud"})
    
    # initialize lists to store data
    titles = []
    descriptions = []
    hrefs = []

    # loop through each div
    for div in result_divs:
        # retrieve links
        if not div.find("div", class_="cUnQKe"):
            link = div.find("a")
            if link is not None:
                hrefs.append(link.get("href"))
            
            # retrieve title
            title = div.find("h3")
            if title is not None:
                titles.append(title.text.strip())
            
            # retrieve description
            desc = div.find("div", {"class": "VwiC3b"})
            if desc is not None:
                descriptions.append(desc.text.strip())
            else:
                descriptions.append("No description available.")

Feature Request

Hi, I have a feature request for Tailsx. Is there anyway that you develop so that it has an AI chat function that uses gpt-3.5-turbo. Also is there any possibility to make the design similar to you.com or bing.com?
AI Inspiration: You.com Chat and Bing Chat.
Design Inspiration: You.com, Bing.com and Neeva.com

Changes to how requests are made.

Requests made using makeHTMLRequest should look something like this to the server, making them more reliable, and when possible, it will send available cookies to Google if 2Captcha support is enabled.
image

search integrations

I will now be adding support for search integrations, among other things. Here is a preview below.

Screenshot_20230814_214541

plans to translate TailsX into more than one language

I will be translating TailsX into more than one language over time. I will also provide documentation in more than one language to hopefully grow the project, among other things.

English:
image
French:
image
English:
image
French:
image

Feature Request: QuickAnswer

I've tested, and there's no quick answer feature. Could you create a quick answer feature? Is it possible to get a feature like DuckAssist and the regular quick answer feature?

Container image

Would be cool if there was a container image available, so this could be easily deployed with podman or docker :)

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.