pov: you want to be logged into gmail but not fkn google.com. in fact you wish you were never automatically logged in while using google.com.
prixi offers a way to search on google while focusing on privacy. it's a proxy that cuts out the tracking and junk from search results.
- handles google search requests privately (kind of)
- gets rid of ads and tracking from search results
- tweakable with environment variables
- comes with a tampermonkey script for more client-side tweaks
how it operates
it sits between you and google, sending out your search, cleaning up the response, and then passing it back to you sans trackers and clutter.
set up & how to use
docker
to run prixi with docker, these commands should do the trick:
docker build -t prixi .
docker run -p 9001:9001 -e TARGET_URL=https://www.google.com -e LOCAL_HOSTNAME=localhost prixior, even easier, use docker compose:
docker-compose up --build
tune it with environment variables in your .env file or by setting them in the docker-compose.yml:
- `TARGET_URL`: url you're proxying; defaults to https://www.google.com - `LOCAL_PROTOCOL`: server protocol; defaults to http - `LOCAL_HOSTNAME`: server hostname; defaults to localhost - `LOCAL_PORT`: server port; defaults to 9001 - `PROXY_PORT`: proxy server port; defaults to 9001
configuration
prixi uses two configuration files:
.envin the project root directory for default settings./etc/prixi/prixi.conffor system-wide overrides.
to change settings, edit /etc/prixi/prixi.conf. this file will override any settings in .env.
example /etc/prixi/prixi.conf:
TARGET_URL=https://www.duckduckgo.com LOCAL_HOSTNAME=prixi.local
after changing the configuration, restart the service:
local development
to run prixi locally:
- clone the repo
- run
nvm use - run
npm install - create a .env file based on .env.example (optional)
- run
npm start
prixi should now be running at http://localhost:9001 (or whatever port you specified)
@todo
- http proxy integration
- embed userscript into server
contrib
got tweaks or fixes for prixi? awesome! here's how to get started:
- fork the repo
- create a new branch for your feature
- make your changes
- submit a pull request
