Introduction

Hey everyone! 👋 I'm excited to share GRIQ. Inspired by tools like ngrok and jprq, I thought, why not reinvent the wheel? After all, if you don’t build the wheel, you’ll never learn how to make cars, right? 😄

This journey was both challenging and super fun, and in this blog post, I'll walk you through what GRIQ is, how it works, and what’s next.

What is GRIQ?

GRIQ is a lightweight HTTP tunneling service that allows you to expose your local servers to the internet through secure tunnels. It provides a simple and reliable way to create public URLs for your local servers without complex network configurations.

Why Build GRIQ?

Sure, ngrok and jprq are amazing tools that already exist. But building GRIQ from scratch taught me a lot about HTTP tunneling, WebSocket handling, CLI creation, and backend architecture. Plus, making it open-source felt like a good way to give back to the community and let others learn from my journey.

Features

🚀 Expose local servers to the internet instantly

🔀 Custom subdomains for better branding

📁 Static file serving built-in

🔄 Automatic reconnection for reliable connections

💻 User-friendly CLI with real-time status updates

🌐 WebSocket support for real-time communication

⚡ Lightweight client with minimal dependencies

Installation

Setting up GRIQ is super easy. You can install it with a single command:

curl -fsSL https://griq.site/install.sh | bash

Once installed, you can expose your local application by running:

griq http 3000 # Expose localhost:3000

You'll get a public URL like:

http://[random-subdomain].griq.site

Roadmap

Here are some features planned for future releases:

✅ User authentication and authorization

✅ HTTPS support

✅ Custom domain mapping

✅ Request/response logging

✅ Rate limiting

✅ API for programmatic access

Security Notice

⚠️ GRIQ does not include authentication yet. It will be added in future updates to ensure secure tunneling.

Contributing

Contributions are always welcome! Feel free to submit a pull request if you'd like to contribute to GRIQ's development.

Check it out on GitHub!

The entire project is open-source. You can find the code here: [https://github.com/sem22-dev/griq]

Conclusion

Building GRIQ from scratch has been an incredible learning experience. Re-inventing the wheel is sometimes necessary to understand how cars are made. I’m excited to keep improving it and hope others can learn from it, too.

Feel free to contribute, suggest improvements, or just try it out and let me know what you think. Stay tuned for more updates! 😊

Happy Tunneling! 🌍