{"id":30451920,"url":"https://github.com/varppi/goramq","last_synced_at":"2025-08-23T14:19:07.260Z","repository":{"id":183458335,"uuid":"670011656","full_name":"varppi/goramq","owner":"varppi","description":"A fast Golang program to load files into memory and search through then via an API","archived":false,"fork":false,"pushed_at":"2025-08-21T14:26:07.000Z","size":192,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-21T17:01:35.237Z","etag":null,"topics":["backend-api","data-search","database-search","file-search","golang","rest-api"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/varppi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-07-24T05:22:18.000Z","updated_at":"2025-08-21T14:26:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"ea8450f0-29ac-4661-a644-f53ffe0fbefe","html_url":"https://github.com/varppi/goramq","commit_stats":null,"previous_names":["r00tendo/goramq","spoofimei/goramq","varppi/goramq"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/varppi/goramq","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/varppi%2Fgoramq","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/varppi%2Fgoramq/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/varppi%2Fgoramq/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/varppi%2Fgoramq/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/varppi","download_url":"https://codeload.github.com/varppi/goramq/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/varppi%2Fgoramq/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271751989,"owners_count":24814717,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-23T02:00:09.327Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backend-api","data-search","database-search","file-search","golang","rest-api"],"created_at":"2025-08-23T14:19:06.765Z","updated_at":"2025-08-23T14:19:07.252Z","avatar_url":"https://github.com/varppi.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://github.com/Varppi/goramq/blob/main/images/goramq.png?raw=true\"\u003e\u003c/img\u003e\n\n# GORAMQ (Golang Ram Query)\n\u003cb\u003eLike the name suggests, Goramq loads user supplied files into memory and then lets you search strings inside the files via a restful API.\u003c/b\u003e\n\n## How it works\n\u003cb\u003eGoramq reads all files provided in chunks (defined by blocksize) and adds the read data to a variable. By default after reading the files Goramq will ask Golang garbage collector to do a cycle,  this frees up memory.\n\nWhen a query comes through, Goramq activates a \"lock\" that prevents other queries from being taken while the current one is being executed, to the person/bot doing the query that was put on hold, it will look like the website is just loading slowly.\u003c/b\u003e\n\n## Installation\nNote: Make sure you have Golang installed and the go bin directory added to your PATH variable.\n```bash\ngo install github.com/Varppi/goramq@latest\n```\n\n## API Docs\n```\nAPI endpoint: `/search/`\n\nParameters:\n  q: The query\n    Example values:\n      - badperson@gmail.com --\u003e Searches for a line that contains single string (\"badperson@gmail.com\")\n      - peter::@randomcompany.com --\u003e Searches for a line that contains both strings, \"peter\" and \"@randomcompany.com\"\n \n  caseins: Make the query case insensitive\n \n  amount: How many results you want to receive (faster and doesn't require as much bandwith)\n    Example value:\n      - 10 --\u003e Returns first 10 results\n\nExample requests:\n  - http://127.0.0.1:9112/search?q=randomguy::Estonia::2003\u0026caseins=true\n  - http://127.0.0.1:9112/search?q=username@protonmail.com\u0026pass=verysecretAPIpassword\n```\n\n## Basic usage examples\n```\n#Load a file and start the web server in local only mode\ngoramq --filenames \"database.sql\"\n\n#Loads 2 files and let the password protected API listen on all interfaces on port 80\ngoramq --listener :80 --filenames \"documents/database.sql::documents/randomtextfile.txt\" --password APIsecret\n\n#Loads a file and does garbage collection only after all files have been loaded\ngoramq --filenames \"database.sql\" --pcgo \n```\n\n\n## Help page\n```\n________________ ________ _______ ______  __________\n__  ____/__  __ \\___  __ \\___    |___   |/  /__  __ \\\n_  / __  _  / / /__  /_/ /__  /| |__  /|_/ / _  / / /\n/ /_/ /  / /_/ / _  _, _/ _  ___ |_  /  / /  / /_/ /\n\\____/   \\____/  /_/ |_|  /_/  |_|/_/  /_/   \\___\\_\\\n\nUsage of goramq:\n  -blocksize int\n        How big chunks the files will be loaded in (default 1024)\n  -filenames string\n        Files to serve (separated with ::)\n  -listener string\n        Web server listener (IP:PORT) (default \"127.0.0.1:9112\")\n  -nogc\n        Disables garbage collection (uses twice as much ram)\n  -password string\n        Password protects the API\n  -pcgo\n        Only does garbage collection after all files are loaded.\n  -quiet\n        When used, Goramq will not display the file loading progress (perfomance boost)\n  -result-limit int\n        How many results you can receive (over limit = error message) (default 50000)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvarppi%2Fgoramq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvarppi%2Fgoramq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvarppi%2Fgoramq/lists"}