
Security News
AI Agent Lands PRs in Major OSS Projects, Targets Maintainers via Cold Outreach
An AI agent is merging PRs into major OSS projects and cold-emailing maintainers to drum up more work.
foxy-proxy
Advanced tools
If you are unsure on how to proceed check the Docs.
npm i -g foxy-proxy
foxy-proxy
A docker image based on alpine linux is built automatically on every commit to master as well as on tags.
latest : Latest master build of the proxy
1.19.0, 1.19, 1 : Version 1.19.0 of the proxy
To run the proxy on the fly use:
docker run --volume /path/to/conf/dir:/conf -p 12345:12345 --name foxy-proxy --rm felixbrucker/foxy-proxy
Or set it up via compose as a service:
version: '2'
services:
app:
image: felixbrucker/foxy-proxy
restart: always
volumes:
- /path/to/conf/dir:/conf
ports:
- "12345:12345"
Be sure to edit the config.yaml to listen on 0.0.0.0 for docker.
git clone https://github.com/felixbrucker/foxy-proxy
cd foxy-proxy
npm ci
npm start
This will download the proxy, install its dependencies and setup the default config with some example upstream configs.
Edit the created config.yaml file so that your desired proxy/proxies and upstream(s) are configured. More on the valid config options here.
Make sure you do not break the yaml format or the file can not be read correctly.
When installed via npm just run npm update -g foxy-proxy
When using docker just pull the latest image or tag you want to update to and replace the running container. This can be automated via watchtower.
When installed as a git repository just git pull.
If the changes have new dependencies required one needs to execute npm update --no-save as well before starting the proxy.
The proxy can be setup with a custom config and db file path, see --help for more info:
Options:
-V, --version output the version number
--config <config.yaml> The custom config.yaml file path
--db <db.sqlite> The custom db.sqlite file path
--live Show a live dashboard with stats
--update-historical-stats Update all historical stats
--no-colors Do not use colors in the cli output
-h, --help output usage information
A config example can be found here
I personally use pm2 to manage my nodejs based apps. An example ecosystem.config.js has been included. Just cp ecosystem.config.js.dist ecosystem.config.js.
Then just use pm2 start ecosystem.config.js.
To startup pm2 on boot use pm2 save to save the current running config and pm2 startup to startup pm2 on boot.
This will only work when installed via git.
Alternatively docker (tag) based deployments with automatic updates through watchtower can be used as well.
To allow fine granular control each miner which supports urls instead of simple ip:port can subscribe to their own maxScanTime. This was tested with scavenger only.
To do so, just append the preferred maxScanTime in seconds to the url, like so: http://localhost:12345/burst-bhd/25. That would result in that miner setting its maxScanTime to 25 seconds.
An embedded web ui is available on the listenAddr address and port. Alternatively some basic live stats are available via the --live cli parameter.
A Changelog can be found here
One can deploy the proxy to Heroku, though you'll want the config to contain the ignoreMinerIP config option per proxy because Heroku assigns each request a different internal ip based on the load balancer route the request took.
GNU GPLv3 (see LICENSE)
FAQs
A Proof of Capacity proxy which supports solo and pool mining upstreams.
We found that foxy-proxy demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
An AI agent is merging PRs into major OSS projects and cold-emailing maintainers to drum up more work.

Research
/Security News
Chrome extension CL Suite by @CLMasters neutralizes 2FA for Facebook and Meta Business accounts while exfiltrating Business Manager contact and analytics data.

Security News
After Matplotlib rejected an AI-written PR, the agent fired back with a blog post, igniting debate over AI contributions and maintainer burden.