Show HN: Giggle – A self-hosted customizable and ad-free Google Search interface (github.com)
Hi HN!
Wanted to share my weekend project, Giggle. I started using Google's Programmable Search Engine recently and needed an easy way to use it. Let me know what you think!
25 comments
[ 5.2 ms ] story [ 45.2 ms ] thread"Custom Search JSON API provides 100 search queries per day for free. If you need more, you may sign up for billing in the API Console. Additional requests cost $5 per 1000 queries, up to 10k queries per day.
If you need more than 10k queries per day and your Programmable Search Engine searches 10 sites or fewer, you may be interested in the Custom Search Site Restricted JSON API, which does not have a daily query limit."
From Google's site on the custom search API
https://developers.google.com/custom-search/v1/overview
As far as speed, I can't really say because I haven't used Whoogle before. From what I've seen so far, result responses are pretty snappy. I will say the results could be considered more accurate since you can filter in/out the sites you actually care about and curate site lists any way you want. They both use Google search so I'm sure the quality of the results is the same.
Won’t it be better/safer to just ask the user for PSE IDs instead?
My code is a total messy hack, because I'm not really that good of a programmer yet.
Example instance: http://1426059603:7327/?q=search+engine+site%3Awikipedia.org
I really didn't want to write this as an advertisement, lol (: I made it because my slow laptop can't handle Google's homepage (:
YaCy is also worth checking out, it's a peer to peer crawling network and search engine. Though it's really CPU and RAM hungry, so in fear of that and knowing that I do not know Java, I wrote my script in C with libxml2 for requesting HTTP/1.0 and parsing and libmicrohttpd for serving results.
The interface is in Slovene, but code and README are in English. The interface is using preprocessor strings, defined in src/i18n.h, which can be edited.
I'm requesting the very lightweight WAP website for the Nokia 6020 mobile phone. When I used this phone, I noticed Google sent a more lightweight page, but that was sometimes still too much for the phone to handle.
Later on, I added h=yes&l=20 parameters for using this specific phone, so that links are rewritten to HTTP from HTTPS (which is unsupported on the phone) and limited to 20 results, because the phone can't handle that big of a website.
Soon after I just went back to using a smartphone (:
> A Google account without MFA - You'll need to inject its username and password as environment variables. If you're curious/concerned about how they're used, check out this file. Basically, Giggle uses Puppeteer to log in to Google in order to retrieve your custom search engine IDs. If you do not have an account without MFA, just go ahead and make a new one - MAKE SURE NOT TO TURN ON MFA!
I think that the idea is terrific, but the implementation is dangerous.
>GOOGLE_PASSWORD=your_password
>Basically, Giggle uses Puppeteer to log in to Google in order to retrieve your custom search engine IDs.
What are the odds of G deciding that you're doing something bad and banning your accounts?
The odds of Google deciding to ban you for using their public API are presumably similar to the odds of them deciding to ban you for using their other public services. So maybe high enough that you would t want to build a business plan around it, but I'm not sure why you're specifically worried that a user would get banned from the whole of Google for using a Google API.