Rode um servidor VNC padrao no seu Mac e compartilhe a tela, area de transferencia, arquivos e ate o IME com o QuickRemote, tudo na sua rede local, sem retransmissao na nuvem.
Primeiros passos
1. Defina uma senha
Abra Ajustes (icone de engrenagem na barra inferior) e preencha a VNC password. Clientes VNC padrao usam o desafio DES do RFB, que so respeita os primeiros 8 bytes compativeis com ASCII; escolha uma senha de no maximo 8 caracteres.
2. Inicie o servidor
- Na janela principal, clique em Start. O indicador de status muda para Running.
- Quatro listeners sobem ao mesmo tempo: VNC
5900, controle QREX5911, media QREX4010e a API de arquivos8766. - Clique em Copy Info para copiar para a area de transferencia uma linha com o host, as portas e o PIN atual.
3. Conecte um cliente
Para um visualizador VNC padrao (macOS Screen Sharing, RealVNC, TightVNC, apps VNC moveis):
- Abra o visualizador e informe
vnc://<your-mac-ip>:5900como endereco - Digite a VNC password definida no passo 1
- Controle seu Mac imediatamente: teclado, mouse e copiar/colar via RFB
Para o app QuickRemote:
- Abra o QuickRemote no telefone ou tablet e escolha Add Mac
- Informe o PIN de pareamento de 6 digitos mostrado pelo DeskVNCServer (ou escaneie o QR code, se sua versao do QuickRemote suportar)
- O QuickRemote armazena o token Bearer retornado e libera os recursos estendidos: IME, audio, sincronizacao de area de transferencia e transferencia de arquivos
Visao geral da interface
Linha de status
| Elemento | Descricao |
|---|---|
| Rotulo do servidor | Identifica este painel. |
| Selo de status | Running enquanto os listeners estao ativos; Stopped caso contrario. |
Botoes de acao
- Start: levanta os quatro listeners.
- Stop: fecha todos os listeners e desconecta as sessoes ativas.
- Copy Info: copia um resumo curto de conexao (host, porta VNC, porta de controle, PIN) para a area de transferencia, facilitando o compartilhamento com um cliente.
Painel de conexao
Exibe o host de bind, as portas, o Server ID atual e o PIN de pareamento ativo. O texto e atualizado automaticamente quando as configuracoes mudam.
Painel QuickRemote API
Referencia rapida dos protocolos que o servidor fala. Lista as versoes de RFB suportadas, o formato dos endpoints QREX e o conjunto de comandos IME, para que o QuickRemote (ou seu proprio cliente) saiba o que esta disponivel.
Protocolos e portas
| Servico | Porta padrao | Protocolo | Usado por |
|---|---|---|---|
| VNC / RFB | TCP 5900 | RFB 3.8 / 3.7 / 3.3 | Qualquer cliente VNC padrao |
| QREX control | TCP 5911 | HTTP JSON RPC + WebSocket | QuickRemote e outros clientes QREX |
| QREX media | UDP 4010 | Pacotes compativeis com o QuickRemote | Mensagens IME, streaming de audio |
| File API | TCP 8766 | HTTP compativel com o QuickRemote | Navegacao e transferencia de arquivos |
Autenticacao
- Clientes VNC: senha RFB DES (primeiros 8 bytes compativeis com ASCII da senha configurada).
- Clientes QREX: a troca inicial do PIN de 6 digitos em
POST /qr/v1/pairretorna um token Bearer. Todas as chamadas HTTP QREX e frames WebSocket subsequentes precisam incluirAuthorization: Bearer <token>. - Se a VNC password estiver vazia, o servidor anuncia o modo no-auth padrao do RFB. Util apenas em segmentos LAN confiaveis.
Referencia rapida de endpoints QREX
GET /qr/v1/capabilities # public, returns supported features
POST /qr/v1/pair # public, exchange PIN for Bearer token
GET /qr/v1/ws # WebSocket, auth required
POST /qr/v1/ime/get # auth required, query active IME
POST /qr/v1/ime/list # auth required, list available IMEs
POST /qr/v1/ime/set # auth required, switch IME
POST /qr/v1/ime/toggle # auth required, toggle IME on/off
POST /qr/v1/ime/commit # auth required, commit a text string
Configuracoes
| Configuracao | Padrao | Descricao |
|---|---|---|
| Bind host | 0.0.0.0 | Interface em que escutar. Defina como 127.0.0.1 para usar apenas localhost. |
| VNC port | 5900 | Porta TCP do listener RFB padrao. |
| QREX control port | 5911 | Porta TCP para o trafego HTTP + WebSocket QREX. |
| QREX media UDP port | 4010 | Porta UDP para pacotes auxiliares de IME e audio. |
| QuickRemote file API port | 8766 | Porta TCP da API de navegacao e transferencia de arquivos. |
| VNC password | (vazio) | Ate 8 bytes compativeis com ASCII. Vazio significa sem autenticacao no canal VNC. |
| QREX bearer token | (gerado) | Token ativo emitido no pareamento. Para regerar, faca novo pareamento ou edite este campo. |
| Pairing PIN | (gerado) | PIN de 6 digitos mostrado ao QuickRemote durante o pareamento. Roda quando regerado. |
| Stable server ID | (gerado) | Identificador de longa duracao que o QuickRemote usa para reconhecer este Mac. |
| Start server automatically | Off | Sobe os listeners no inicio do app. |
| Allow remote keyboard and mouse | On | Desligue para tornar as sessoes somente visualizacao. |
| Enable IME bridge | On | Permite que clientes QREX consultem e controlem o metodo de entrada do macOS. |
| Enable audio API | Off | Permite streaming de audio Opus via QREX media UDP. Desativado por padrao para economizar CPU. |
| Enable clipboard sync | On | Espelha o conteudo da area de transferencia entre o Mac e o cliente remoto. |
| Enable file transfer | On | Permite ao QuickRemote listar e ler arquivos. Apenas leitura, a menos que mutacoes tambem estejam ativadas. |
| Enable file mutations | Off | Permite uploads, renomeacoes e exclusoes. Desativado por padrao; ative apenas para clientes confiaveis. |
| Max frame width | 1440 | Limite da largura de captura de tela. Valores menores reduzem o uso de banda. |
| Max frame height | 900 | Limite da altura de captura de tela. |
| Frame rate | 12 | Quadros por segundo alvo enviados aos clientes. |
Exemplos de cliente
macOS Screen Sharing
- Finder → Ir → Conectar ao servidor
- Digite
vnc://<your-mac-ip>:5900 - Informe a VNC password
cURL: descobrir as capabilities
curl http://<your-mac-ip>:5911/qr/v1/capabilities
cURL: parear e chamar o IME bridge
# 1. Exchange the PIN for a Bearer token
TOKEN=$(curl -s http://<your-mac-ip>:5911/qr/v1/pair \
-H "Content-Type: application/json" \
-d '{"pin":"123456"}' | jq -r .token)
# 2. Commit text via the IME bridge
curl http://<your-mac-ip>:5911/qr/v1/ime/commit \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"text":"hello from remote"}'
Dicas
- Reduza a taxa de quadros e as dimensoes maximas de quadro em conexoes Wi-Fi lentas ou quando rotear via VPN.
- Pareie cada dispositivo apenas uma vez. Depois da troca inicial de PIN, o token Bearer sobrevive a reinicializacoes, e o QuickRemote reconecta silenciosamente.
- Use Copy Info como atalho para enviar os dados de conexao via chat ou email: inclui tudo o que um cliente precisa.
- Mantenha Enable file mutations desligado a menos que realmente precise de uploads. O modo somente leitura ja basta para examinar capturas, notas ou downloads.
- Desative a audio API quando nao estiver em uso. Codecs ociosos ainda consomem um pouco de CPU no caminho de codificacao.
Solucao de problemas
O servidor nao inicia
- Outro servidor VNC (por exemplo, macOS Screen Sharing) pode ja estar usando a porta 5900. Pare-o em System Settings → General → Sharing, ou altere a porta nas configuracoes do DeskVNCServer.
- As portas 5911 / 4010 / 8766 devem estar livres. Verifique com
lsof -i :5911e similares.
Clientes VNC falham na autenticacao
- Garanta que a senha tenha no maximo 8 bytes compativeis com ASCII. Caracteres multibyte ou strings mais longas sao truncados silenciosamente pela autenticacao RFB DES.
- Se quiser intencionalmente nao usar senha, deixe o campo vazio e conecte com um visualizador que suporte o modo no-auth do VNC.
QuickRemote nao pareia
- Confirme que o telefone ou tablet esta na mesma Wi-Fi do Mac.
- Abra o painel de conexao e releia o PIN. O PIN pode ser regerado pelas configuracoes.
- Verifique as configuracoes de firewall do macOS: as conexoes de entrada nas portas QREX precisam ser permitidas.
O controle remoto fica lento
- Reduza a taxa de quadros e as dimensoes maximas de quadro nas configuracoes.
- Desative recursos que voce nao esta usando (audio, area de transferencia, IME) para liberar CPU.
Os arquivos nao sao transferidos
- Confirme que Enable file transfer esta ligado. Listagens somente leitura funcionam sem Enable file mutations.
- Se os uploads falharem, ative tambem Enable file mutations. Caso contrario, a File API so responde a requisicoes de leitura.
Privacidade
- Todas as sessoes ocorrem diretamente entre o cliente e seu Mac. Nao ha retransmissao na nuvem, nem telemetria, nem analytics.
- A VNC password, o token Bearer QREX, o PIN de pareamento e o Stable Server ID sao armazenados somente nas configuracoes locais do app.
- Mutacoes de arquivos vem desligadas por padrao. Clientes remotos podem apenas ler ate que voce conceda acesso de escrita explicitamente.
- Voce pode desativar qualquer extensao (audio, area de transferencia, transferencia de arquivos, IME, entrada remota) a qualquer momento para revogar essa capacidade imediatamente.
- Se quiser manter o servidor restrito ao Mac, defina o bind host como
127.0.0.1.