ๅบๆผ FreeTube ็ Fork๏ผๅขๅ Web ๆจกๅผๆฏๆด๏ผ่ฎไฝ ๅฏไปฅๅจๆๆฉ็่ฆฝๅจไธ่ง็ YouTube ๅฝฑ็ใ
- Web ๆจกๅผ - ๅจไปปไฝ็่ฆฝๅจไธญ่ง็ YouTube๏ผๅ ๆฌๆๆฉ
- ็กๅปฃๅ - ๅฎๅ จๆฒๆ YouTube ๅปฃๅ
- ้ฑ็งไฟ่ญท - ไธไฝฟ็จ Google cookies ๆ่ฟฝ่นค
- ้ณๆจๆจกๅผ - ๅฐ็บ้ณๆจ่่ฝๅชๅ็ไป้ข๏ผๆฏๆดๆญ่ฉ้กฏ็คบ
- ๆฌๅฐ API - ่ชๅปบ API ไผบๆๅจ๏ผไธไพ่ณด็ฌฌไธๆน Invidious ๅฏฆไพ
- ๅฝฑ็ไปฃ็ - ๅฎๆด็น้ CORS ้ๅถ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๆๆฉ/็่ฆฝๅจ โ
โ http://ไฝ ็้ป่
ฆIP:9080 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ LAN
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ไฝ ็้ป่
ฆ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Web Dev Server (Port 9080) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Local API + Video Proxy Server (Port 3001) โ โ
โ โ ็ซฏ้ป: /api/v1/search, /api/v1/videos/:id, etc. โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
YouTube
- Node.js 18+
- npm ๆ yarn
# ๅฎ่ฃไพ่ณด
npm install# ๅๅ Web ็ๆฌ (ๅซ API ไผบๆๅจ)
npm run dev:web
# ็่ฆฝๅจ้ๅ http://localhost:9080
# ๆๆฉ้ๅ http://ไฝ ็้ป่
ฆIP:9080# ๅๅๆก้ขๆ็จ
npm run dev- ็ขบไฟๆๆฉๅ้ป่ ฆๅจๅไธๅ WiFi ็ถฒ่ทฏ
- ๆฅ็้ป่
ฆ็ๅ็ถฒ IP (ไพๅฆ:
192.168.0.181) - ๅจ FreeTube ่จญๅฎไธญ๏ผๅฐ Invidious ๅฏฆไพๆน็บ:
http://ไฝ ็้ป่ ฆIP:3001 - ๆๆฉ็่ฆฝๅจ้ๅ:
http://ไฝ ็้ป่ ฆIP:9080
| ๆไปค | ่ชชๆ |
|---|---|
npm start |
ๅๆๅๅ Web ๅ API ไผบๆๅจ (ๆจ่ฆ) |
npm run dev:all |
ๅๆๅๅ Web ๅ API ไผบๆๅจ |
npm run dev |
ๅๅ Electron ๆก้ขๆ็จ |
npm run dev:web |
ๅๅ Web ็ๆฌ (็่ฆฝๅจ) |
npm run dev:api |
ๅฎ็จๅๅ API ไผบๆๅจ |
npm run build |
ๅปบ็ฝฎ็็ข็ๆฌ |
npm run lint |
็จๅผ็ขผๆชขๆฅ |
npm run lint-fix |
่ชๅไฟฎๅพฉ็จๅผ็ขผ้ขจๆ ผ |
ไฝฟ็จ PM2 ็ฎก็ๆๆๆๅ๏ผๆนไพฟ้จ็ฝฒๅฐๅ ถไปไผบๆๅจ๏ผ
# ๅฎ่ฃ PM2
npm install -g pm2
# ๅๅๆๆๆๅ (API + Web + Cloudflare Tunnel)
pm2 start ecosystem.config.js
# ๆฅ็็ๆ
pm2 status
# ๆฅ็ๆฅ่ช
pm2 logs
# ้ๅๆๆๆๅ
pm2 restart all
# ๅๆญขๆๆๆๅ
pm2 stop all
# ๅช้คๆๆๆๅ
pm2 delete all| ๆๅๅ็จฑ | ่ชชๆ | ็ซฏๅฃ |
|---|---|---|
freetube-api |
ๆฌๅฐ API ไผบๆๅจ | 3001 |
freetube-web |
Webpack Dev Server | 9080 |
freetube-tunnel |
Cloudflare Tunnel | - |
- ่ค่ฃฝๅฐๆกๅฐๆฐไผบๆๅจ
- ๅฎ่ฃไพ่ณด:
npm install && npm install -g pm2 - ๅฎ่ฃ cloudflared (ๅฏ้ธ๏ผ็จๆผๅ ฌ็ถฒ่จชๅ)
- ่จญๅฎ Cloudflare Tunnel (ๅ่ CLOUDFLARE_TUNNEL_SETUP.md)
- ๅๅ:
pm2 start ecosystem.config.js
FreeTube/
โโโ src/
โ โโโ main/ # Electron ไธป็จๅบ
โ โโโ renderer/ # Vue.js ๅ็ซฏ
โ โ โโโ components/ # UI ๅ
ไปถ
โ โ โโโ views/ # ้ ้ข่ฆๅ
โ โ โโโ store/ # Vuex ็ๆ
็ฎก็
โ โโโ preload/ # Electron preload ่
ณๆฌ
โโโ static/ # ้ๆ
่ณๆบ
โ โโโ locales/ # ๅค่ช่จ็ฟป่ญฏ
โโโ docs/ # ๆไปถ
โโโ _scripts/ # ๅปบ็ฝฎ่
ณๆฌ
โโโ local-api-server.js # ๆฌๅฐ API ไผบๆๅจ
โโโ package.json
่ฉณ็ดฐๆ่กๆไปถ่ซๅ่ docs/ ็ฎ้๏ผ
- FREETUBE-WEB-MOBILE.md - Web/ๆๆฉ็ๆถๆง่ชชๆ
- MUSIC_MODE_SPEC.md - ้ณๆจๆจกๅผ่ฆๆ ผ
- LYRICS_SYSTEM.md - ๆญ่ฉ็ณป็ตฑ่ชชๆ
- CLOUDFLARE_TUNNEL_SETUP.md - Cloudflare ้ง้่จญๅฎ
- ๅ็ซฏ: Vue 3, Vuex, Vue Router
- ๅฝฑ็ๆญๆพ: Shaka Player
- YouTube API: youtubei.js
- ๆก้ขๆ็จ: Electron
- ๅปบ็ฝฎๅทฅๅ ท: Webpack
ๆฌๅฐๆก Fork ่ช FreeTube๏ผๆ่ฌๅไฝ่ ็่ฒข็ปใ