- 🚀 Standalone ishlaydi: Alohida signaling server yoki backend talab qilmaydi (barcha narsa, jumladan React frontend ham bitta Go binary fayl ichida ishlaydi).
- 🖥️ Remote Desktop: 60 FPS gacha bo'lgan to'liq DPI-moslashuvchan ekran translyatsiyasi.
- ⌨️ To'liq nazorat: Mouse (1:1 harakat) va Keyboard (barcha tugmalar, kombinatsiyalar) nazorati.
- 🧑💻 Web Terminal: Server komandalarini brauzerdan turib masofadan boshqarish.
- 📁 Fayl Menejeri: Tezkor fayl qidirish, yuklash va o'chirish.
- 🔒 Xavfsizlik & Multi-User:
bcryptorqali shifrlangan parollar. Admin va oddiy user rollari. - ⏱️ Sessiya jurnali: Faollik va ishlash vaqtini kuzatish.
FastRemote o'zining mustaqil arxitekturasi va optimallashtirilgan Go engine'i tufayli, bozordagi boshqa gigantlarga qaraganda eng barqaror va past kechikuvchanlik (Low Latency) bilan ishlaydi. Quyidagi infografikada ularning qanday farq qilishi ko'rsatilgan:
- Performance (Tezlik): FastRemote — 60 FPS va yuqori bitreyt imkoniyati.
- Latency (Kechikish): P2P va Direct aloqa tufayli eng past (ultra-low) kecikish.
- Stability (Barqarorlik): Go va React integratsiyasi evaziga 99.8% uzluksiz aloqa.
Loyihani klonlash ancha osonlashtirilgan. Barcha qismlar (Frontend va Backend) bitta joyga jamlangan.
Chet el (yoki qaysidir) serveringizda:
git clone https://github.com/Yaxyobek0877/fastremote.git
cd fastremoteDastlab, React qismini build qilib, uni Go build tizimi o'qishi uchun to'g'rilang:
# Frontend-ni build qilish
cd web
npm install
npm run build
# Frontend fayllarini Backend jildiga o'tkazish
rm -rf ../agent/dist
cp -r dist ../agent/dist
# Go Binary-ni build qilish
cd ../agent
go build -o fastremote-agent .Muhim eslatma: Bu loyiha Python emas, balki Golang (Go) tilida yozilgan. Shu sababli, Gunicorn o'rnatish shart emas! Go o'zining ichki, juda kuchli serveriga ega. Gunicorn vazifasini Systemd (dasturni fonda ushlab turish uchun) bajaradi.
Fayl yarating: sudo nano /etc/systemd/system/fastremote.service
Ichiga quyidagilarni yozing:
[Unit]
Description=FastRemote Agent Service
After=network.target
[Service]
Type=simple
User=root
# Dastur turgan papkaga yo'lni to'g'rilang
WorkingDirectory=/root/fastremote/agent
# Default port va parolni shu yerdan bering:
Environment="PORT=9090"
Environment="ADMIN_PASSWORD=admin123"
ExecStart=/root/fastremote/agent/fastremote-agent
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.targetSaqlang va xizmatni yoqing:
sudo systemctl daemon-reload
sudo systemctl enable fastremote
sudo systemctl start fastremote
sudo systemctl status fastremoteDasturning xavfsizlik protokoli va WebSocket'lar to'g'ri ishlashi uchun Nginx'da biroz to'g'rilash kerak bo'ladi. Domenizni desk.1pro.uz deb hisobga olamiz.
Konfiguratsiya yarating: sudo nano /etc/nginx/sites-available/fastremote
server {
listen 80;
server_name desk.1pro.uz; # O'zingizning domeningiz
# SSL konfiguratsiyasini Certbot orqali qo'shishingiz tavsiya etiladi
location / {
proxy_pass http://localhost:9090; # Dastur ishlayotgan port
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# Original IP larni uzatish
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}Nginx-ga ulab, serverni restart qiling:
sudo ln -s /etc/nginx/sites-available/fastremote /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginxEndi brauzeringizdan http://desk.1pro.uz (yoki SSL o'rnatilgan bo'lsa https://) orqali kiring.
Standart loginingiz:
- Username:
admin - Password:
admin123(Service faylga yozganingiz)
Kira solib Settings bo'limidan maxfiy parolingizni yangilab oling!


