Mark Ku's Blog

Problem to Solve

Since I live in a rented apartment, I wanted to host a website but couldn't get access to the router. I tried third-party hosting providers, but they were all slow and expensive. ngrok also has bandwidth limits, and ngrok itself is essentially a reverse proxy application.

What is a Reverse Proxy

A reverse proxy is a "proxy server" that acts on behalf of the "target server" to exchange data with the "client". Its purposes include: hiding the server's real IP, load balancing, improving access speed, providing security (preventing DoS/DDoS), and allowing you to swap out the underlying application server.

Network diagram of cloud, proxy, and web server in internal network
Network diagram of cloud, proxy, and web server in internal network

Frp Service

Frp is a popular reverse proxy service that can map internal services through a free reverse proxy service (Freefrp). freefrp is a well-known free frp service.

Environment

This article uses a QNAP NAS TS-253D to set up the container service.

First, log in to the NAS backend and create the frpc container service

  1. Search for oldiy/frpc on Docker Hub QNAP Container Station UI displaying oldiy/frpc Docker search results

  2. Create the container /bin/sh -c "/frpc -c Public/frpc.ini" QNAP container creation dialog showing frpc image and command

  3. Mount a local folder for easier configuration management QNAP Create Container window mounting local folder to /Public

  4. Set the container network mode to Host QNAP frp-c container network settings with Host mode selected

  5. Configure the frpc config file (create frpc.toml under \qnapnas\Container\data\frpc)

serverAddr = "your server"
serverPort = 7000
auth.token = "your token"
transport.poolCount = 10000

[[proxies]]
name = "jks"
type = "https"
customDomains = ["jks.letgo.com.tw"]
[proxies.plugin]
type = "https2http"
localAddr = "127.0.0.1:8080"
crtPath = "/var/frpc/letgo/fullchain.crt"
keyPath = "/var/frpc/letgo/cert.key"
hostHeaderRewrite = "jks.letgo.com.tw"
requestHeaders.set.x-from-where = "frp"
  1. Now you can use this frpc to map services on your NAS
    http://markku646.b.freefrp.net:49183/

Author

Mark Ku

擁有 10+ 年經驗的資深軟體工程師,現為 AI 應用 Builder,專注於大型平台架構與簡化複雜系統設計,從電商系統到訂閱與收費平台,結合 AI Agent、AI 整合與自動化開發,打造高效率且可持續演進的產品技術基礎。Read More

Found this useful?

The author's free tools, daily podcasts and newsletter are all here.

Mark Ku · This article is licensed under CC BY 4.0. Credit the author and link back to the original when reusing it.

Comments

Subscribe to Newsletter

Subscribe to get new posts delivered instantly — never miss a tech share.

By submitting, you agree to receive emails. You can anytime.

Popular Posts

View all
Mark Ku
··602

Oracle Cloud Always Free Tier: Linux Host and Static IP for a $0 Cloud Solution

Oracle Cloud Always Free Tier: Linux Host and Static IP for a $0 Cloud Solution
Mark Ku
··490

Say Goodbye to Postman's Fee Trap! A Hands-on Guide to Bruno, the Open-Source Git-Native API Testing Powerhouse.

Say Goodbye to Postman's Fee Trap! A Hands-on Guide to Bruno, the Open-Source Git-Native API Testing Powerhouse.
Mark Ku
··333

A Free, Open-Source, Notion-like Knowledge Base — A Complete Guide to Deploying and Backing Up Outline Wiki

A Free, Open-Source, Notion-like Knowledge Base — A Complete Guide to Deploying and Backing Up Outline Wiki
Mark Ku
··264

Training Your Own AI Voice: Hardware Requirements, Open-Source Model Comparison, and LoRA Fine-Tuning

Training Your Own AI Voice: Hardware Requirements, Open-Source Model Comparison, and LoRA Fine-Tuning
Mark Ku
··221

Building an Efficient API Management Platform: Deploying Kong Gateway from Scratch - Part 1

Building an Efficient API Management Platform: Deploying Kong Gateway from Scratch - Part 1
Mark Ku
··215

Setting Up Samba on Ubuntu to Share Folders with Windows 11

Setting Up Samba on Ubuntu to Share Folders with Windows 11