Coder Social home page Coder Social logo

psidex / custombangsearch Goto Github PK

View Code? Open in Web Editor NEW
50.0 50.0 11.0 1013 KB

A browser extension to use custom DuckDuckGo-like bangs directly from the address bar.

Home Page: https://addons.mozilla.org/en-US/firefox/addon/custombangsearch/

License: GNU General Public License v3.0

JavaScript 12.45% CSS 0.44% HTML 0.98% TypeScript 84.52% Shell 1.62%
addon bang chrome chrome-extension custom-search duckduckgo extension firefox firefox-addon firefox-extension search webextension

custombangsearch's People

Contributors

befocken avatar dependabot[bot] avatar jad3n avatar obar avatar psidex avatar vankessel 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

Watchers

 avatar  avatar  avatar

custombangsearch's Issues

Decide on clear behaviour for a bang with empty query

For example, if !m new york takes you to https://www.google.com/maps/search/New+York, should !m on it's own take you to https://www.google.com/maps/? Or https://www.google.com/? or https://www.google.com/maps/search/?

Maybe the behaviour should be customisable in the options page? per bang?

[feature request] Inverting searX bang syntax

In relation to issue #35, since authors of SearX(NG) don't really want to provide such ability, it would be really cool if this extension was capable of switching around behaviour of single ! and double !!, i.e. it will convert !gh to !!gh.

Improve Chrome Web Store / Firefox Add-ons store listings

  • Promo tiles, probably just the name and the icon?
    • Small promo tile - 440x280 Canvas - JPEG or 24-bit PNG (no alpha)
    • Marquee promo tile - 1400x560 Canvas - JPEG or 24-bit PNG (no alpha)
  • Better "screenshots"
    • Show off functionality
    • Up to a maximum of 5 - 1280x800 - JPEG or 24-bit PNG (no alpha)
  • A bit more info in the description, instead of relying on people to click though to the GitHub page
  • Maybe a better demo video (low priority)

[Feature Request] Option for a custom bang prefix

Thank you for creating this project!

A feature I've been searching for in projects similar to this one is having the option to change the bang prefix.

For example, instead of "!yt example" if the prefix was set to ";" it would be typed as ";yt example"

Store ddg bangs in storage.local

The current limit for storage.local is 5MB for Firefox and 10MB for Chrome. With these limits it should be possible to store all ddg bangs by default in storage.local. One would package a ddg-all.json (currently 1.7MB, thus fitting in the storage.local quota) with the plugin and on installation/setup load these into storage.local.

On usage, the plugin would then first search for custom bangs in storage.sync, if none are found do a lookup in storage.local (i.e. all ddg bangs packaged by default). An option could be provided to not fall back onto the ddg bangs in storage.local.

Additionally, if that is not enough storage for some reason one could use the unlimitedstorage permission (available in both Firefox and Chrome).

[Feature Request] Case insensitivity

Currently when using the extension, using a bang like !G does not work as expected (identical to !g). It would be a nice quality-of-life improvement for me and my fat-fingered brethren to support case-insensitivity

Feature request: 1 bang, multiple searches

Looked at this FF plugin which is too elaborate, however it would be quite useful to be able to define multiple searches such as:
!d -->

https://wordpress.org/search/%s?in=developer_documentation;https://developer.mozilla.org/en-US/search?q=%s;site:w3schools.com %s

which could open in 3 tabs.

searX instances

As of now, extension supports only two instances of searX (searx.be, searx.tiekoetter.com), but since one of the selling points of searX is having own instance of it, it would be nice to be have to either:

  • automatic detection of searX regardless of domain
  • glob patterns
  • manually specified by user list of instances

Allow for the creation of aliases

Thanks for the extension :)

Coming from DuckDuckGo, I've found myself wanting to create aliases for certain websites.

For example, for amazon.com I would like to register the !a and !az bangs, but use the same search URL for both. To do this currently, I would need to add a new entry for az and copy and paste the URL from my existing entry. This isn't a huge deal, but having them linked would allow for updating the URL in a single place if needed instead of for both bangs.

Reduce number of re-renders in options page

The text inputs work fine, but can occasionally experience some lag when a lot of inputs are done, e.g. holding backspace.

This is essentially down to the fact that editing the text in those boxes causes way too much re-rendering. This needs to be reduced.

Restrict Google permission to search sites only

I'm a new user for this plugin and it seems great to me so far. Thanks for putting it together! The only suggestion I've got—and I'm happy to make a pull request if you'd like but it's so small of a change—would be to restrict the Google permission a little. There's a lot on that domain that the plugin would never need to access, like mail.google.com or drive.google.com. I'd suggest changing it from a wildcard subdomain match in the manifest to just www. Does that make sense to do? I might be overlooking something with that suggestion.

Allow for the Bangs list to be sorted

Thanks for the extension :)

I believe sorting the list of Bangs would improve the user experience of adding/changing/deleting custom bangs.

Fully custom ordering may be overkill, but automatically sorting alphanumerically by bang name could work well.

Mobile permissions do not apply

Hi, i'm loving the extension so far and your commitment to synchronized storage. I'd love to use it on FF mobile but currently the permissions cannot be applied and so it cannot be used. Pressing "Enable Required Permissions" does not work, nor do any of its required permissions show up in the Add-Ons Manager

Does not work if the first character of query is non-ascii

When the first non-whitespace character after the bang is not an ascii word character, the bang is not matched

Examples:

  • !bang words works
  • !bang Français works
  • !bang çççççççç does not work
  • !bang にほんご does not work
  • !bang 👍 does not work
  • !bang emoji 👍 works
  • !bang #👍 does not work

Seems that the issue comes from how \b treats non-ascii characters

searX uses `!!` for external bangs

As in the title, searX uses !! for bangs instead of !.
Could the extension match it for the sake of consistency?
(preferably with the behaviour togglable)

DDG and Brave bangs overwrite CBS bangs on Chrome

This only affects Chrome.

Set this bang:

p and https://www.ebay.co.uk/sch/i.html?_nkw=%s

Go to either Brave search or DDG, type !p clothes, it takes you to pinterest, it should take you to ebay

Increase storage capacity by striping data accross objects in sync storage

Currently we can only store the settings as a compressed object that is under 8192 bytes in size.

This is because we are storing it in a single sync storage entry, but browsers allow for 512 entries, which are allowed to total 102400 bytes in size. Splitting the settings data up into multiple objects and striping it across these entries will allow us to use that whole allowance.

This library may be of use - https://github.com/dtuit/chrome-storage-largeSync.

!e only works with hard-coded definition

I defined a bang for !e as site:w3schools.com %s but it does not work. The !e bang only works when it is set to the example.com default.

Great idea for a plugin, thank you 8)

Sync browser configurations via NextCloud (e.g. webdav)

As a user of multiple computer devices, I want to be able to have a synced configuration over several devices. To achieve this, I would like the opportunity to sync them with my Nextcloud as soon as I get home with my home server. Disconnects will be occur.

Suggested ACs:

  • the user can define a custom cloud service provider as nextcloud or owncloud
  • the user can fetch newer configurations
  • the user can push newer configurations
  • the application does not panic, when server is not available

Coast of not doing:

  • Inconsistent configurations over multiple devices

Notes:
🥳 thank you for this really awesome extension!

Import DuckDuckGo Bangs / Presets

Would it be possible for the extension to have a bangs preset feature that allows us to easily select for instance DuckDuckGo's bangs automatically without having to add them manually?

Are there any problems with using these files / links to allow updating the presets by pulling them from DuckDuckGo directly?
https://duckduckgo.com/bv2.js
https://duckduckgo.com/bang.v260.js

If there aren't any problems with this, I'd be happy to work on a PR for this.

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.