ProxyNet is an open-source project that provides a reliable alternative to cloudflare for simple proxying needs. It is designed to be easy to setup and use. Build with Rust
Github Copilot for helping me code and fix errors.
ProxyNet is an open-source project that provides a reliable alternative to cloudflare for simple proxying needs. It is designed to be easy to setup and use. Build with Rust
Github Copilot for helping me code and fix errors.
Removed the dashboard and am ready to ship the first version. PS: it now has dynamic routes!!!
Log in to leave a comment
The domain and stuff relating to the domain like ratelimits and more are now in the sqlite database instead of a config.toml. This will make it easier for the planned dashboard to manage stuff. I think maybe I will run a seperate API for managing this stuff instead of directly putting this into main.rs
Log in to leave a comment
Made a stats api to get information about the current configuration and details about the proxy. I will use this to control the proxy via an SvelteKit Frontend
Log in to leave a comment
I added rate limiting. Seems awfully lot of time but I kept encountering a bug so add the end I decided to just use AI assistance. Sorry fellow anti-vibecoders.
Log in to leave a comment
I implemented caching. This will reduce load on the origin servers
Log in to leave a comment
I finally got SQL to work. It now successfully stores the logs in proxynet.db. Here is a preview of how it looks (using SQLite DB Viewer)
Log in to leave a comment
I am working on storing the logs and the config in an SQLite Database. My verdict is that I like SQL, but SQL doesn’t like me. Same goes for Rust
Log in to leave a comment
I added logging. It now checks how long the response time was, which IP and which User-Agent type requested the information. Now I have to put all of the collected information in an SQLite DB and see how to check how many bytes I sent. Below is an example Log when i run:
curl.exe -H “Host: test.local” http://localhost:8080
Log in to leave a comment
Ok added support to read of config files. so basically at the root of the project you have to create an config.toml and write stuff like the domain you want to proxy and which port and host the server should run on
Ok I build a minimal working version of the proxy. It now maps the domain to the origin.
Log in to leave a comment
I have decided to stick with rust and use svelte for the frontend dashboard since python has poor async support and will consume more CPU. I have to lock in and get better at rust ig.
Log in to leave a comment
I explored different stuff cloudflare provides and also decided to use python. I intially planned on using Rust, but I feel more comfortable with Python
Log in to leave a comment