
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
web3pi-proxy
Advanced tools
A reverse proxy for Geth intended for use within Web3Pi ecosystem.
RPC Reverse Proxy comes out-of-the-box with several features:
Simply install web3pi-proxy package using your Python package manager, using pip for example:
pip install web3pi-proxy
RPC Reverse Proxy expects you to provide ETH_ENDPOINTS environment variable to your system.
It should be a list of endpoint descriptors for JSON-RPC over HTTP communication with Geth.
Refer to the following example:
export ETH_ENDPOINTS='[{"name": "rpi geth 1", "url": "http://eop-1.local:8545/"}, {"name": "infura", "url": "https://mainnet.infura.io/v3/<YOUR_INFURA_API_KEY>"}]'
You can define as many endpoints as you wish and chose their names however suits you.
After configuring endpoints, you can run your reverse proxy with command
web3pi-proxy
Admin service starts alongside the reverse proxy.
You can access admin webpage with your browser using admin server's URL and providing admin auth token as a 'token' query param, like so:
http://0.0.0.0:6561/?token=<ADMIN_AUTH_TOKEN>

The admin auth token will be output to your terminal, during the launch.
Token is not stored and will be randomly generated on each launch.
Outside of admin portal, the admin service allows several operations, performed by submitting JSON-RPC requests. Use admin auth token in Authorization header of your HTTP POST request for authentication.
Get list of currently configured endpoints, no parameters required.
Add new endpoint at runtime by providing its name and URL. For example, in order to add endpoint local under URL localhost:8545 :
{"jsonrpc": "2.0", "method": "add_endpoint", "params": ["local", "http://localhost:8545/"], "id": 0}
IMPORTANT: Resulting changes are saved in local .env file for reuse.
Change existing endpoint's configuration at runtime by providing its name and URL. For example, in order to change endpoint's local port to 8546 :
{"jsonrpc": "2.0", "method": "update_endpoint", "params": ["local", "http://localhost:8546/"], "id": 0}
IMPORTANT: Resulting changes are saved in local .env file for reuse.
Remove endpoint at runtime by providing its name. For example, in order to remove endpoint local :
{"jsonrpc": "2.0", "method": "update_endpoint", "params": ["local"], "id": 0}
IMPORTANT: Resulting changes are saved in local .env file for reuse.
FAQs
RPC Reverse Proxy - proxy to Web3 Pi Ethereum nodes
We found that web3pi-proxy demonstrated a healthy version release cadence and project activity because the last version was released less than 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
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.