# 🚀 FRP Client Automated Service for Ubuntu / Linux

โฟลเดอร์นี้รวบรวมเครื่องมือสำหรับการตั้งค่าและรัน **FRP Client (`frpc`)** เป็น **Background Service (Systemd)** บนเซิร์ฟเวอร์หรือเครื่องคอมพิวเตอร์ระบบปฏิบัติการ Ubuntu/Linux อย่างอัตโนมัติ

---

## 📦 โครงสร้างไฟล์ในโฟลเดอร์นี้

- **`bin/frpc`** : ไฟล์ไบนารี FRP Client สำหรับ Linux (x64)
- **`config/frpc.toml`** : ไฟล์ตัวอย่างคอนฟิกสำหรับการตั้งค่าการเชื่อมต่อ Proxy
- **`install.sh`** : สคริปต์ติดตั้งระบบอัตโนมัติ (รองรับการดึงคอนฟิกผ่านเว็บ API, กรอกเอง, หรือใช้ไฟล์ตัวอย่าง)
- **`uninstall.sh`** : สคริปต์สำหรับถอนการติดตั้งและลบ Service ออกจากระบบอย่างสะอาดหมดจด

---

## ⚡ วิธีการติดตั้งและใช้งาน (Quick Start)

### วิธีที่ 1: ติดตั้งแบบบรรทัดเดียวผ่านเว็บ (One-Line Auto Install via URL) 🌟 แนะนำที่สุด!
เมื่อคุณอัปโหลดโฟลเดอร์นี้หรือตั้งค่าเซิร์ฟเวอร์ไว้ที่ **`https://wld.ddshop-th.com`** เรียบร้อยแล้ว สำหรับเครื่อง Linux/Ubuntu อื่นๆ ที่ต้องการเชื่อมต่อ สามารถเปิด Terminal แล้วรันคำสั่งเดียวนี้เพื่อดาวน์โหลดและติดตั้งทันที:

#### 1) ติดตั้งแบบโต้ตอบ (Interactive Menu):
```bash
curl -sSL https://wld.ddshop-th.com/install.sh | sudo bash
```
*(หรือหากเครื่องไม่มี curl สามารถใช้ `wget -qO- https://wld.ddshop-th.com/install.sh | sudo bash` ได้)*

#### 2) ติดตั้งอัตโนมัติแบบไม่ถาม (Unattended / Auto Mode):
```bash
curl -sSL https://wld.ddshop-th.com/install.sh | sudo bash -s -- -y
```
*(ระบบจะดาวน์โหลดไฟล์ไบนารี ดึงคอนฟิกเริ่มต้นจากเซิร์ฟเวอร์ และสร้าง Systemd Service ให้รันพื้นหลังอัตโนมัติทันที)*

---

### วิธีที่ 2: ติดตั้งแบบอัปโหลดโฟลเดอร์ด้วยตนเอง (Manual Folder Setup)

#### 1. อัปโหลดไฟล์ขึ้นเซิร์ฟเวอร์ Ubuntu ของคุณ
นำโฟลเดอร์ `ubuntu_client` ทั้งหมดไปวางบนเครื่อง Ubuntu ที่ต้องการรัน Client

#### 2. ให้สิทธิ์การรันไฟล์สคริปต์ (Execution Permission)
เปิด Terminal ในโฟลเดอร์ `ubuntu_client` แล้วพิมพ์คำสั่ง:
```bash
chmod +x install.sh uninstall.sh bin/frpc
```

#### 3. รันสคริปต์ติดตั้งด้วยสิทธิ์ Root
```bash
sudo ./install.sh
```

เมื่อรันสคริปต์ ระบบจะมีเมนูให้เลือกวิธีการตั้งค่าคอนฟิก 3 รูปแบบ:
1. **ดึงค่าคอนฟิกอัตโนมัติจาก FRP Manager Server** (แนะนำ 🌟) - เพียงระบุ URL ของหน้าเว็บ Manager (เช่น `http://123.45.67.89:3000`) ระบบจะดาวน์โหลดคอนฟิกทั้งหมดมาตั้งค่าให้ทันที!
2. **กำหนดค่าด้วยตนเอง (Manual Input)** - พิมพ์ระบุ IP, Port, Token และชื่อ Proxy ทีละขั้นตอนทางหน้าจอ
3. **ใช้ไฟล์คอนฟิกที่มีอยู่** - ใช้การตั้งค่าจากไฟล์ `config/frpc.toml` ที่คุณเตรียมไว้ล่วงหน้า

---

## 🛠️ คำสั่งสำหรับการจัดการ Service (Systemd Commands)

หลังจากติดตั้งเสร็จแล้ว `frpc` จะทำงานอยู่เบื้องหลังตลอดเวลา และจะเริ่มทำงานใหม่อัตโนมัติทุกครั้งที่เปิดเครื่อง (Auto-restart on boot)

| คำสั่ง | รายละเอียด |
| :--- | :--- |
| `sudo systemctl status frpc` | ตรวจสอบสถานะการทำงานของ FRP Client |
| `sudo journalctl -u frpc -f` | ดูล็อกการเชื่อมต่อแบบเรียลไทม์ (Real-time Logs) |
| `sudo systemctl restart frpc` | รีสตาร์ทการทำงานของ Service |
| `sudo systemctl stop frpc` | หยุดการทำงานของ Service ชั่วคราว |
| `sudo systemctl start frpc` | เริ่มการทำงานของ Service อีกครั้ง |

---

## ✏️ การแก้ไขคอนฟิกภายหลัง

หากต้องการปรับเปลี่ยนพอร์ตหรือเพิ่มพร็อกซีภายหลังจากที่ติดตั้งไปแล้ว สามารถแก้ไขไฟล์คอนฟิกหลักได้ที่:
```bash
sudo nano /etc/frp/frpc.toml
```
เมื่อบันทึกไฟล์เสร็จแล้ว ให้ทำการรีสตาร์ท Service หนึ่งครั้งเพื่อให้ระบบโหลดคอนฟิกใหม่:
```bash
sudo systemctl restart frpc
```

---

## 🗑️ การถอนการติดตั้ง

หากต้องการยกเลิกการใช้งานและลบ FRP Client ออกจากเครื่อง ให้รันคำสั่ง:
```bash
sudo ./uninstall.sh
```
สคริปต์จะทำการหยุด Service, ลบการตั้งค่า Systemd และลบไฟล์ไบนารีออกจากระบบทันที
