Otimize a largura de banda da rede por aplicativo no Mac OS X


37

Percebo que o iTunes parece absorver toda a minha largura de banda e não funciona bem com outros aplicativos que usam a Web durante o download. Na verdade, ele nem se dá largura de banda suficiente ao navegar na iTunes Store ao baixar arquivos grandes ou muitos (podcasts, programas de TV, aplicativos grandes, etc.).

Não estou preocupado em obter todos os meus downloads o mais rápido possível, eles são realmente de baixa prioridade e prefiro não fazer isso enquanto estiver acordado, mas não posso pressionar o botão de atualização se eu ' estou na cama e já esqueci.

Existe um aplicativo ou ferramenta no Terminal para limitar a largura de banda de download obtida pelo iTunes sem atrapalhar também os navegadores da Web ou outros aplicativos?

O software FOSS / GPL é preferível, mas o software pago também pode ser aceitável.


11
Link de rede condicionador é muito bom para limitar a largura de banda para todas as aplicações apple.stackexchange.com/questions/164959/...
Khaled Annajar

Esta questão foi amplamente obsoleta para meu uso particular. Eu raramente baixa conteúdo regularmente no iTunes (podcasts agora usando um aplicativo de terceiros apenas no iPhone, AppleTV para compras de vídeo do iTunes e não sincronizando aplicativos no computador).
dotHTM 3/09/15

Respostas:


9

GUI:

CLI (sem filtragem específica da porta, mas pode ser adaptada):

Essas ferramentas contam com portas ou intervalos de portas como um critério de filtro. Se você não souber quais portas seu aplicativo usa, verifique sua documentação ou use lsofenquanto o aplicativo está em execução para revelar os números de portas.

sudo lsof -i -P

A maioria ou todas as ferramentas usam o ipfw, que foi oficialmente descontinuado em favor do pf , portanto, não tenho certeza se essas soluções funcionarão no OS X 10.9 e além.


5

Pergunta antiga, mas acabei de entrar em um problema semelhante, por isso pensei em responder.

O problema provavelmente se deve, na verdade, à configuração do tráfego no seu ISP. Eles priorizam agressivamente o tráfego para provedores de conteúdo conhecidos, em um esforço para fornecer um melhor serviço de streaming aos clientes. Eu diria que eles foram longe demais em alguns casos - acabei de diagnosticar um problema semelhante em que um upload de fotos em segundo plano do iCloud estava causando tempos de ping superiores a 45000 ms.

Para resolver o problema, você pode simplesmente reduzir a quantidade de largura de banda total que seu computador utilizará para impedir que o tráfego do ISP roube completamente a largura de banda de todos os outros aplicativos. Ironicamente, isso melhorará o desempenho da navegação no seu próprio computador, além de obviamente melhorar o desempenho de outros computadores na sua rede. Se, por exemplo, você tem um limite de downstream de 15 Mbps, pode limitar seu computador a usar apenas 12Mbps, e o algoritmo ISP não verá mais a necessidade de moldar seu tráfego de forma mais agressiva:

sudo ipfw pipe 1 config bw 12Mbits/s
sudo ipfw add 1 pipe 1 tcp from any to me

No meu caso, era a largura de banda upstream (limitada a 1 Mbps pelo meu ISP) que era o fator limitante, então executei o seguinte, o que resolveu o meu problema:

sudo ipfw pipe 1 config bw 768Kbits/s
sudo ipfw add 1 pipe 1 tcp from me to any

Observe que esses comandos só serão efetivos até uma reinicialização, mas para cancelar a regra, faça o seguinte:

ipfw delete 1

Eu acho a página de manual do FreeBSD para o ipfw, mas de acordo com a Wikipedia, o ipfw foi enfatizado no OS X, começando de 10,4 a 10,5. Hoje não encontro o ipfw na minha instalação da 10.10, e o Homebrew e o MacPorts não possuem instalações ativamente desenvolvidas para o ipfw.
dotHTM 24/09/14

2
ipfwfoi interrompido em OS X, mas não hápf
Chris


4

Use IceFloor no Leão [Montanha]


Estou votando negativamente nesta resposta depois de descobrir que o IceFloor é mais centrado no protocolo do que centrado no aplicativo. Então, se eu quiser restringir apenas um aplicativo, é difícil.
knocte

Promovido porque explorar IceFloor me levou a encontrar Vallum, o que me permite bloquear o acesso à rede por aplicativo.
precisa saber é o seguinte


2

Em relação aos desenvolvimentos atuais de OS X 10.10, o ipfwexecutável comumente referido, não está mais disponível. No entanto, existe um pfexecutável, que pode lidar com configurações de firewall semelhantes.

Há uma interface GUI chamada "Murus" ( http://www.murusfirewall.com ), que você pode usar para configurar pf. Tanto quanto eu entendo, ele também suporta ativamente a limitação de largura de banda (na interface do usuário).

[EDITAR]

Caso alguém não possa ficar sem ipfw, você pode tentar compilá-lo. O código fonte (do FreeBSD) está disponível aqui: http://www.freebsd.org/cgi/cvsweb.cgi/src/sbin/ipfw/

A Apple também publica o código fonte dos projetos de código aberto que usa (d). ipfwpode ser encontrada aqui: http://www.opensource.apple.com/source/network_cmds/network_cmds-329.2.2/


11
Consegui configurar com êxito o Murus para acelerar o Skype 8 no OS X 10.14 Mojave usando as instruções aqui: murusfirewall.com/forum/viewtopic.php?t=428
Jon Schneider

1

gotejamento é o que você procura.

Os únicos problemas são que ele não suporta executáveis ​​que utilizam kqueue e não suporta executáveis ​​vinculados estaticamente. O iTunes deve ficar bem.


11
Não consegui obter o 1.0.6 ou 1.0.7 lento para compilar. Depois de executar ./configure, recebo um erro dizendo que o libevent não pode ser encontrado. Instalei o libevent via MacPorts e recebi o mesmo erro quando tentei novamente.
dotHTM

As versões do @Kio> 1.06 não são criadas devido a problemas com a chamada para poll(). Os mais velhos devem funcionar no entanto.
John T

4
Eu baixei o trickle 1.0.5, executei "$ sudo ./configure" e obtive o seguinte erro como antes: "configure: error: libevent not found". Eu verifiquei e o MacPorts possui o libevent instalado. Além disso, não gosto de softwares que não são atualizados há anos.
dotHTM


0

Recentemente, descobri (e ainda estou testando) Vallum como tendo controle sobre meus aplicativos:

É um Firewall de aplicativos do macOS que permite restringir quais aplicativos podem usar a Internet. Até agora, é realmente esperto. Acabei de criar um perfil padrão que permite tudo o que quero ter acesso e um perfil de hotspot para celular que restringe mais aplicativos quando estiver em trânsito.


Atualização: não consegui "otimizar" a largura de banda de aplicativos usando Vallum , apenas configurando perfis diferentes nos quais restringi mais / menos aplicativos.


3
parece não permitir limitação
GJ.

@GJ. verdade, também não consegui ver essa capacidade ... até agora, só posso permitir que um aplicativo tenha acesso à rede ou não. Eu tenho configurado perfis diferentes como "aceleradores" para minha solução alternativa para isso.
Skplunkerin

0

A melhor maneira de otimizar a largura de banda no macOS é usando o Dummynet, que é incorporado ao kernel do macOS e funciona com o filtro de pacotes pf. Na minha opinião, a única maneira de ajustar efetivamente a largura de banda por processo é identificar quais portas locais estão vinculadas pelo processo e, em seguida, criar as regras pf dummynet correspondentes. Tanto quanto sei, o único aplicativo do macOS que oferece essa opção é o Scudo (eu sou o desenvolvedor do Scudo, Vallum e Murus). Atualmente, o Scudo 1.0 beta 3 está disponível gratuitamente, mais informações sobre o ajuste da largura de banda por processo do Scudo podem ser encontradas aqui: http://www.murusfirewall.com/forum/viewtopic.php?f=2&t=1919&p=3281#p3281


Eu tentei isso e parece funcionar. Agora, este é o beta 6 (o beta 3 não funciona mais) - murusfirewall.com/forum/viewtopic.php?f=2&t=1949 Gosto do Network Monitor que permite adicionar ao firewall e acelerar a largura de banda.
f01 17/04
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.