openserp

command module
v0.4.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 18, 2025 License: MIT Imports: 3 Imported by: 0

README

OpenSERP (Search Engine Results Page)

OpenSERP

Go Report Card Go Reference release

API access for search engines results if available isn't free.

Using OpenSERP, you can get search results from Google, Yandex, Baidu via API or CLI!

See Docker and CLI usage examples below (search, images).

Docker usage 🐳

  • Run API server:
# Use prebuilt image
docker run -p 127.0.0.1:7000:7000 -it karust/openserp serve -a 0.0.0.0 -p 7000

# Or build one and run using docker-compose.yaml
docker-compose up --build
Request parameters
Param Description
text Text to search
lang Search pages in selected language (EN, DE, RU...)
date Date in YYYYMMDD..YYYYMMDD format (e.g. 20181010..20231010)
file File extension to search (e.g. PDF, DOC)
site Search within a specific website
limit Limit the number of results
answers Include google answers as negative rank indexes (e.g. true, false)
Example request

Get 20 Google results for hello world, only in English:

GET http:/127.0.0.1:7000/google/search?lang=EN&limit=20&text=hello world

You can replace google to yandex or baidu in query to change search engine. |

Example response
[
    {
        "rank": 1,
        "url": "https://en.wikipedia.org/wiki/%22Hello,_World!%22_program",
        "title": "\"Hello, World!\" program",
        "description": "A \"Hello, World!\" program is generally a computer program that ignores any input, and outputs or displays a message similar to \"Hello, World!\".",
        "ad": false
    },
]
Images [WIP]
Example request

Get 100 Google results for golden puppy:

GET http://127.0.0.1:7000/google/image?text=golden puppy&limit=100

CLI ⌨️

  • Use -h flag to see all commands.
  • You can use serve command to serve API:
openserp serve
  • Or print results in CLI using search command:
openserp search google "how to get banned from google fast" # Change `google` to `yandex` or `baidu`

As a result you should get JSON output containting search results:

[
  {
    "rank": 1,
    "url": "https://www.cyberoptik.net/blog/6-sure-fire-ways-to-get-banned-from-google/",
    "title": "11 Sure-Fire Ways to Get Banned From Google | CyberOptik",
    "description": "How To Get Banned From Google · 1. Cloaking: The Art of Deception · 2. Plagiarism: Because Originality is Overrated · 3. Keyword Stuffing: More is Always Better · 4 ...",
    "ad": false
  }
]
Proxy Support

Both browser mode and raw mode support HTTP and SOCKS5 proxies with authentication:

# HTTP proxy with auth
openserp search google "query" --proxy http://user:pass@127.0.0.1:8080

# Serve with SOCKS5 proxy
openserp serve --proxy socks5://127.0.0.1:1080

# For HTTPS sites through HTTP proxy, use --insecure to ignore certificate errors
openserp search google "query" --proxy http://127.0.0.1:8080 --insecure
openserp search google "query" -x http://127.0.0.1:8080 -k

License

This project is licensed under the MIT License - see the LICENSE file for details

Bugs + Questions 👾

If you have some issues/bugs/questions, feel free to open an issue.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL