La Fibre

Fournisseurs d'accès à Internet mobile et 5G/4G fixe => 4G 5G Mobile => mobile QoS mobile => Discussion démarrée par: vivien le 04 août 2016 à 22:17:30

Titre: Tutoriel : Désactiver ByteMobile
Posté par: vivien le 04 août 2016 à 22:17:30
Tutoriel : Désactiver ByteMobile

(https://lafibre.info/images/logo/201301_logo_Citrix_ByteMobile.png)

Le proxy transparent ByteMobile est utilisé par de nombreux opérateurs mobiles, tels que SFR, Bouygues Telecom, Vodafone,...

Ce proxy effectue diverses modifications sur les pages web http :
- Compression des images JPEG (chez certains opérateurs il y a aussi une compression des images PNG).
- Suppression des noms de domaine dans le code source, remplacé par des IP 1.1.1.1 ; 1.1.1.2 ; 1.1.1.3 ; ...
- Suppression des retours à la ligne et commentaires dans le code source pour diminuer la taille des fichiers html
- Optimisation du code html et des scripts pour gagner de la place
- Ajout de certains headers HTTP pouvant modifier le comportement du cache du navigateur
- ByteMobile propose aussi a son catalogue de la compression de vidéos

Ces améliorations permettent d'alléger la page et donc de gagner en temps de chargement, pour ceux qui ont une connexion 2G ou 3G. En 4G, les connexions sont tellement rapide qu'il n'y a pas de gain de chargement.

On subit alors uniquement les aspects négatifs de ByteMobile en http :
- Dégradation de la qualité des images affichées (personnellement, j'arrive a reconnaître directement via la qualité des aplats si il est activé)
- Dégradations des performances de temps de chargement jusqu'à plusieurs secondes, sur certain sites web
- Site web refusant d'afficher du contenu car pensant qu'un bloquer de pub est présent
- Site web avec des erreurs d'affichage

A noter qu'il est impossible de modifier un flux https au niveau du réseau, donc ByteMobile ne touche pas aux sites qui sont entièrement en https (si le site est en https mais les images en http, alors les images seront compressées)




Je vais donc vous expliquer comment désactiver ByteMobile sur Firefox et Chrome. Cela se fait en rajoutant une en-tête http "Cache-Control" a chaque requête émise par le navigateur. On va utiliser la directive "no-transform" qui indique aux proxies et autres systèmes de cache comme ByteMobile, qu'ils ne doivent pas transformer le corps du message qu'ils reçoivent, ni compresser les images.
Titre: Tutoriel : Désactiver ByteMobile
Posté par: vivien le 04 août 2016 à 22:18:15
Désactiver ByteMobile avec Mozilla Firefox
(https://lafibre.info/images/logo/logo_mozilla_firefox_150.png)

Dans le menu Modules, cliquez sur Catalogue (http://about:addons) puis cherchez l'extension Modify Headersvet installez l'extension :
(https://lafibre.info/images/4g/201608_desactiver_bytemobile_1.png)

L'extension prend la forme d'une petite tête. Cliquez sur Open ModifyHeaders, le menu suivant s'affiche.
Cliquez sur l’Icône Headers puis Add dans la liste déroulante :
(https://lafibre.info/images/4g/201608_desactiver_bytemobile_2.png)

- Header name : Cache-Control
- Header value : no-transform
- Descriptive comment : Arrêter ByteMobile
cliquez ensuite sur le bouton Add
(https://lafibre.info/images/4g/201608_desactiver_bytemobile_3.png)

La règle a un rond vert qui indique qu'elle est active.
Il faut ensuite activer l'extension en cliquant sur L’icône Start, tout en haut à gauche.
Start se transforme alors en Stop de couleur rouge : (cliquer sur Stop désactive l'extension)
(https://lafibre.info/images/4g/201608_desactiver_bytemobile_4.png)

Extension et règle active => ByteMobile désactivé
Extension désactivée => ByteMobile actif si c'est le choix de votre FAI
Titre: Tutoriel : Désactiver ByteMobile
Posté par: vivien le 04 août 2016 à 22:18:31
Désactiver ByteMobile avec Google Chrome
(https://lafibre.info/images/logo/logo_google_chrome_150.png)

Dans le menu Paramètres, cliquez sur Extensions (http://chrome://extensions/). En bas de la page, cliquez sur Plus d'extensions et recherchez ModHeader et ajoutez l'extension à Chrome.
(https://lafibre.info/images/4g/201608_desactiver_bytemobile_5.png)

Remplisez la ligne sous "Request Headers" :
- Name : Cache-Control
- Value : no-transform

(https://lafibre.info/images/4g/201608_desactiver_bytemobile_6.png)
Titre: Tutoriel : Désactiver ByteMobile
Posté par: vivien le 04 août 2016 à 22:25:01
Vérifier que ByteMobile est désactivé

Rendez-vous sur le test de neutralité de l'Internet https://ip.lafibre.info/neutralite.php

On note que avant la qualité de l'image était dégradée :
(https://lafibre.info/images/4g/201608_desactiver_bytemobile_7.png)

Ce n'est plus le cas après l'actiation de l'en-tête http "Cache-Control no-transform" :

(https://lafibre.info/images/4g/201608_desactiver_bytemobile_8.png)
Titre: Tutoriel : Désactiver ByteMobile
Posté par: vivien le 04 août 2016 à 22:39:05
Un exemple concret d'une dégradation liée ByteMobile (+6 seconde de temps de chargement de la page web)

On charge la page http://ipv4.lafibre.info/images_test/ avec BytelMobile, voici la capture Wireshark: https://lafibre.info/images/wireshark/201606_bytemobile_lenteur.pcapng.gz
(Wireshark sait ouvrir directement les fichiers .pcapng.gz sans décompression préalable)

Je vois que toutes les connexions vers des IP 1.1.1.x (BytelMobile) ne donneront jamais lieu à autre chose que des "302 Moved Temporarily"

BytelMobile répond "302 Moved Temporarily" aux images demandées :
(https://lafibre.info/images/wireshark/201606_bytemobile_lenteur_1.png)

Regardez le temps de réponse :
(plus de 6 secondes)
(https://lafibre.info/images/wireshark/201606_bytemobile_lenteur_2.png)

En connexion directe, pas de "302 Moved Temporarily" : les images sont directement téléchargées
=> https://lafibre.info/images/wireshark/201606_connexion_directe.pcapng.gz

(https://lafibre.info/images/wireshark/201606_connexion_directe.png)
Titre: Tutoriel : Désactiver ByteMobile
Posté par: Marin le 04 août 2016 à 22:53:44
En complèment ou alternativement, vous pouvez utiliser l'extension HTTPS Everywhere, qui devrait forcer le HTTPS sur une large partie des sites que vous visitez.

https://www.eff.org/https-everywhere (Firefox, Chrome, Opera)

(https://lafibre.info/images/logo/201608_logo_HTTPS_Everywhere.png)

Utiliser le HTTPS au maximum a une utilité immédiate pour vous, contre la dégradation du surf, si vous utilisez :

Et contre l'interception par des tiers, si vous utilisez :
Titre: Tutoriel : Désactiver ByteMobile
Posté par: Aize147 le 04 août 2016 à 23:30:35
Et donc du coup pour corriger ce phénomène directement à la source (sans partage de connexion), c'est à dire sur le terminal mobile ?

Parce que j'ai essayer bon nombre d'applis ainsi que des modules complèmentaires que je peux d'ailleurs pas installer sur Firefox Android et ni Chrome Android...

Et le seul moyen pour l'instant de naviguer normalement et que cela soit fluide, c'est de passer par le proxy de Google (Economisation des Données) sur Chrome Android.
Titre: Tutoriel : Désactiver ByteMobile
Posté par: vivien le 05 août 2016 à 08:59:00
Pour les données téléchargées par les applications iOS, ByteMobile sera bientôt un vieux souvenir : Apple va imposer le https, d'ici la fin de l'année 2016.

Apple va obliger les connexions HTTPS des applications iOS en 2017

Vos applications sur un iDevice (iPhone, iPad) sont sur le point d’être beaucoup plus sécurisées. Apple a lancé App Transport Security (ATS) il y a un an, un service qui impose des connexions sécurisées entre les applications et les serveurs. Cependant, à partir de maintenant, la société va rendre obligatoire l’usage d’ATS.

Toutes les applications sur l’App Store devront utiliser la fonction de sécurité App Transport Security d’ici le 1er janvier 2017, selon TechCrunch (https://techcrunch.com/2016/06/14/apple-will-require-https-connections-for-ios-apps-by-the-end-of-2016/).

« Aujourd’hui, je suis fier de dire qu’à la fin de 2016, App Transport Security deviendra une exigence pour les applications sur l’App Store », a déclaré Ivan Krstic, responsable de la sécurité chez Apple, lors d’une présentation à la WWDC. « Cela va fournir une véritable sécurité pour nos utilisateurs et les communications que vos applications ont sur le réseau », poursuit-il.

ATS, qu’est-ce ?

Alors, qu’est-ce que ATS ? ATS a été montré pour la première fois dans iOS 9. Dès lors que le service est activé, ce dernier force les applications à se connecter à Internet en utilisant des connexions HTTPS, qui sont plus sûres que les connexions HTTP traditionnelles. Cela signifie que, lorsque les données sont transférées à partir d’une application à un serveur, celles-ci sont cryptées.

Bien sûr, un bon nombre d’applications utilisent déjà ATS — il a été activé par défaut dans iOS 9, mais les développeurs ont pu le désactiver s’ils le souhaitaient. Il était plus que probable que ce ne soit qu’une question de temps avant que la fonctionnalité soit obligatoire.

Apple n’est pas le seul à s’initier dans la sécurisation des données en ligne. Depuis les révélations de Edward Snowden, beaucoup de choses se sont passées afin de sécuriser les données. D’ailleurs, Apple a pris ceci très au sérieux, comme en témoigne son combat contre le FBI sur l’accès aux iPhone des utilisateurs — Apple encrypte toutes les données sur un iPhone, ce qui signifie que les agences comme le FBI sont incapables d’accéder à ces données.


Source : BlogNT (https://www.blog-nouvelles-technologies.fr/87285/apple-app-transport-security-ios-2017/), le 20 juin 2016 par  par Yohann Poiron.
Titre: Tutoriel : Désactiver ByteMobile
Posté par: Snickerss le 05 août 2016 à 09:16:41
Bien joué :) merci !
Titre: Tutoriel : Désactiver ByteMobile
Posté par: vivien le 05 août 2016 à 09:58:32
Le Google Online Security Blog (https://security.googleblog.com/2016/08/adding-youtube-and-calendar-to-https.html) détaille l'évolution http => https des services Google :

(https://lafibre.info/images/doc/201608_https_services_google.png)

Si Drive était 100% en https en janvier 2014 et Gmail était à 99% en https, Youtube l'était seulement à 25% et la publicité à 10%.
Aujourd'hui 97 % du trafic YouTube est aujourd'hui en https et 80% de la publicité Google.
Titre: Tutoriel : Désactiver ByteMobile
Posté par: willemijns le 05 août 2016 à 10:17:50
Tutoriel : Désactiver ByteMobile
- Optimisation du code html et des scripts pour gagner de la place

hello, cette chose m'interpelle... ca veut tout dire et rien dire.....
Titre: Tutoriel : Désactiver ByteMobile
Posté par: vivien le 05 août 2016 à 10:32:21
Cela signifie que tout ce qui permet de gagner quelques octets est fait, sans changer les fonctions.

Le code est écrit de manière plus compact.

A noter que de nombreuses bibliothèques javascript sont livrées pré-optimisées, donc ByteMobile ne pourras rien faire pour elle (a part supprimer les nom de domaines, remplacées par des 1.1.1.1).

Par contre les sites qui utilise des bibliothèques lisibles pour nous les humains (non optimisé pour gagner de la place) seront fortement réduites par ByteMobile.
Titre: Tutoriel : Désactiver ByteMobile
Posté par: Marin le 05 août 2016 à 10:47:42
Cela signifie que tout ce qui permet de gagner quelques octets est fait, sans changer les fonctions.

À ma connaissance, les scripts inclus sont au contraire mis en inline dans les page chargées, ce qui alourdit les pages (au moins dans une configuration qui est/était utilisée en France).

Si le postulat est que le code JavaScript serait aujourd'hui re-minifié, je voudrais bien avoir un extrait du code modifié pour avoir une idée du moteur utilisé.
Titre: Tutoriel : Désactiver ByteMobile
Posté par: DM61 le 06 août 2016 à 17:20:27
Dommage, mais impossible d'installer le module "modify headers" à priori non compatible avec firefox 48.
Titre: Tutoriel : Désactiver ByteMobile
Posté par: vivien le 06 août 2016 à 19:07:07
J'ai Firefox 48 et je ne rencontre aucun problème avec l'extension modify headers.

Tu aurais forcé l'activation Electrolysis ? (nouveauté de Firefox 48)

Electrolysis est une nouvelle approche de l’architecture de Firefox qui lui permet de bénéficier de processus en parallèle plutôt que de simplement de reposer sur un processus unique.

Electrolysis est incompatibles avec les extensions pour le moment et se désactive automatiquement pour ceux qui ont des extensions.

Pour vérifier si Electrolysis est activée chez vous, vous pouvez taper about:support dans la barre d’url et vérifier la ligne « Fenêtres multiprocessus ».
- 0/1 (Désactivé) => déactivé
- 1/1 (Activé) => activé
- 1/1 (Activé par l'utilisateur) => activé (forcé par l'utilisateur)

1% des utilisateurs de Firefox 48 sans extension ont Electrolysis d'activé. Si tout va bien (pas de retour négatif de ce test massif), alors 50% du parc de Firefo 48 sans extension sera activé la semaine prochaine.
Cela devrait être 100% pour Firefox 49 qui sort le 13 septembre 2016. Je me demande si il sera nécessaire de ré-écrire les extensions pour Electrolysis, car modify headers ne semble plus maintenu depuis quelques années.

(message posté avec modify headers active, sur Firefox 48, depuis l’Autoroute A11, avec lla 4G Bouygues)
Titre: Tutoriel : Désactiver ByteMobile
Posté par: DM61 le 06 août 2016 à 20:39:39
Je viens de vérifier et sur ma version de firefox android, l'option est désactivée.
2 secondes de téléchargement, puis plus rien, il n'est pas ajouté.
Je ne vois pas où ça bloque.
D'ailleurs, j' ai une autre extension installée.
Titre: Tutoriel : Désactiver ByteMobile
Posté par: corrector le 07 août 2016 à 00:08:45
Comment ça, ceux qui ont des extensions?

Qui a ZERO extensions?
Titre: Tutoriel : Désactiver ByteMobile
Posté par: Marin le 07 août 2016 à 00:15:01
Electrolysis est incompatibles avec les extensions pour le moment

Pour plus de nuance, voir le tableau : https://www.arewee10syet.com/
Titre: Tutoriel : Désactiver ByteMobile
Posté par: DM61 le 07 août 2016 à 13:35:08
En revanche, je l'ai installé sur Firefox 48 (windows) sans soucis et dans ce cas la procédure est exactement celle du tuto.
Android semble plus hermétique que windows et je n'ai pas trop envie de déverrouiller des sécurités. ;)   
Titre: Tutoriel : Désactiver ByteMobile
Posté par: yrousse le 07 août 2016 à 17:13:13
En 4G, les connexions sont tellement rapide qu'il n'y a pas de gain de chargement.
Et pourtant, je vois bien une dégradation des images transmises en HTTP via 4G Bouygues Telecom. Tweet ici : https://twitter.com/YRousse/status/762297237963694080
(Un screenshot de Safari sur iPad)
Titre: Tutoriel : Désactiver ByteMobile
Posté par: Makara le 06 octobre 2016 à 09:00:22
4G Bouygues, et j'ai bien la qualité dégradée.

Toutefois, impossible à installer sur mon mobile avec Firefox 49.
Fenêtres multiprocessus 0/1 (désactivé).
J'ai depuis longtemps HTTPS Everywhere et Adblock Plus qui tournent sans problèmes.

Lorsque je clic sur "Ajouter à Firefox", j'ai une simple notification "Téléchargement du Module" qui apparait en bas, et disparait au bout de 2 secondes.  :(
Titre: Tutoriel : Désactiver ByteMobile
Posté par: Boris de Bouygues Telecom le 06 octobre 2016 à 09:02:40
J'ai une bonne nouvelle à vous annoncer :

Concernant Bouygues Telecom, il ne sera bientôt plus nécessaire de désactiver ByteMobile, vu qu'il va être supprimé de notre réseau les prochains mois.
Titre: Tutoriel : Désactiver ByteMobile
Posté par: Boris de Bouygues Telecom le 12 janvier 2017 à 08:48:56
J'ai oublié de vous faire un retour : Il n'y a plus de compression ByteMobile chez Bouygues Telecom.
Titre: Tutoriel : Désactiver ByteMobile
Posté par: Makara le 12 janvier 2017 à 09:12:34
Je confirme, la dégradation a disparu. Merci :)
Titre: Tutoriel : Désactiver ByteMobile
Posté par: corrector le 12 janvier 2017 à 13:33:09
Bravo!
Titre: Tutoriel : Désactiver ByteMobile
Posté par: Kactoo le 21 mai 2017 à 17:34:03
Il y a des plans chez SFR de supprimer ByteMobile ?
Je félicite Bouygues !
Titre: Tutoriel : Désactiver ByteMobile
Posté par: vivien le 21 mai 2017 à 18:16:19
Il est probable que SFR désactive ByteMobile rapidement vu sa couverture 4G.

ByteMobile permet d’accélérer le chargement des pages en 3G, du fait de la compression. Quand on additionne le temps mis par les serveurs pour compresser les images et qu'on soustrait le temps gagné en transfert, on y gagne.

En 4G, le temps de compression est supérieur au temps gagné par le gain réalisé sur le transport: les pages se charges plus lentement avec ByteMobile.

Bref, je parie sur un kill en 2017.
Titre: Tutoriel : Désactiver ByteMobile
Posté par: Kactoo le 21 mai 2017 à 18:44:48
Intéressant, car Bytemobile fait de temps en temps bugger des sites avec les framework JS récent.
Ce serait bien qu'une personne chez SFR nous informe ou nous donne des infos sur le futur de ByteMobile.
Titre: Tutoriel : Désactiver ByteMobile
Posté par: Hugues le 21 mai 2017 à 18:46:23
Y'a des sites récents sans HTTPS ?
Titre: Tutoriel : Désactiver ByteMobile
Posté par: Kactoo le 21 mai 2017 à 18:49:10
Oui, exemple les sites de presse français sont souvent sans HTTPS ...
Titre: Tutoriel : Désactiver ByteMobile
Posté par: Leon le 21 mai 2017 à 18:59:08
Y'a des sites récents sans HTTPS ?
Plein, oui!

Il n'y a pas que Google, Facebook et Lafibre dans la vie!  ;)

Leon.
Titre: Tutoriel : Désactiver ByteMobile
Posté par: corrector le 21 mai 2017 à 19:13:22
La grande majorité des sites d'information et quasiment tous ceux français sont en HTTP!
Titre: Tutoriel : Désactiver ByteMobile
Posté par: Hugues le 21 mai 2017 à 21:03:51
Plein, oui!

Il n'y a pas que Google, Facebook et Lafibre dans la vie!  ;)

Leon.

Même des récents ? ^^
Titre: Tutoriel : Désactiver ByteMobile
Posté par: Leon le 22 mai 2017 à 06:43:08
Même des récents ? ^^
Qu'est-ce que tu appelles "récent"? Moi pas comprendre. Google n'est pas "récent", par exemple, ça fait 15 ans qu'il existe. Pourtant, Google est plutôt à la pointe.

Des sites à très forte audience sans https, oui, ça existe. Comme disent Kactoo et corrector, une grosse partie des sites de presse sont comme ça.
J'avoue que je ne sais pas si on passe en https quand on s’authentifie, mais souvent la page authentification est en http, donc c'est un vrai problème de sécurité.
D'ailleurs, il est possible que plusieurs de ces sites utilisent les mêmes "moteurs" pour gérer leur contenu.

http://www.lemonde.fr/
http://www.telerama.fr/
http://www.humanite.fr/
http://www.liberation.fr/
http://tempsreel.nouvelobs.com/
etc...

Le site de l'INA, qui est une mine d'or
http://www.ina.fr/

La météo
http://www.meteofrance.com/accueil

Et il y en a plein d'autres. Encore une fois, le "web" ne s'arrête pas à Facebook, Google, Twitter, Apple (et Lafibre bien sur).

Leon.
Titre: Tutoriel : Désactiver ByteMobile
Posté par: Nico le 22 mai 2017 à 07:34:01
Et on peut surement remercier la publicité sans qui la plupart de ces sites ne seraient probablement pas en http !
Titre: Tutoriel : Désactiver ByteMobile
Posté par: Leon le 22 mai 2017 à 07:59:20
Et on peut surement remercier la publicité sans qui la plupart de ces sites ne seraient probablement pas en http !
Salut Nico.

Tu peux expliquer un peu plus, stp?
En quoi la présence de pub nécessiterai un site http? Il y a plein de sites https avec de la pub, non?

Leon.
Titre: Tutoriel : Désactiver ByteMobile
Posté par: Marin le 22 mai 2017 à 08:11:00
En quoi la présence de pub nécessiterai un site http? Il y a plein de sites https avec de la pub, non?

Le problème est qu'une grande partie des régies n'a pas migré en HTTPS. Un contenu actif (frame, script) HTTP ne peut pas être inclus dans une page HTTPS, les navigateurs modernes bloquent ça ; ce qui oblige le site à renoncer ou à la régie ou au HTTPS.

Un site ayant souvent plusieurs régies, qui peuvent elles-mêmes charger du contenu depuis plusieurs origines (résultant en des schémas de distribution complexes), cela créé un problème de dépendances.
Titre: Tutoriel : Désactiver ByteMobile
Posté par: underground78 le 22 mai 2017 à 08:13:18
C'est un sujet qui a été notamment largement traité par NextInpact.
Titre: Tutoriel : Désactiver ByteMobile
Posté par: vivien le 22 mai 2017 à 09:40:52
Statistiques sur le TOP50 des site les plus consultées en France :

Colonne http :

IPv6 : seuls 11 sites sont accessibles en IPv6, tous en haut du classement.
 
(https://lafibre.info/images/ipv6/201512_top50_mediametrie_decembre2015.png)

Cela date de décembre 2015, il faut que je remette à jour pour voir les évolutions.
Plusieurs sites sont passés en https comme Le Bon Coin ou Pages Jaunes.
Titre: Tutoriel : Désactiver ByteMobile
Posté par: alain_p le 22 mai 2017 à 09:59:59
Il semble que ce soit le cas d'Universfreebox en particulier. Il y a une authentification sur la page, qui se fait en HTTP. Ils ne passent pas à https à cause des régies publicitaires en http, d'après un sujet du forum que j'avais lu il y a quelque temps.

J'ai retrouvé (voir l'intervention de vfiber) :
http://forum.universfreebox.com/viewtopic.php?t=60479
Titre: Tutoriel : Désactiver ByteMobile
Posté par: alain_p le 22 mai 2017 à 10:20:39
C'est un sujet qui a été notamment largement traité par NextInpact.
Pour NextInpact, voir ici :
https://www.nextinpact.com/blog/97835-pourquoi-next-inpact-arrete-publicite-classique-et-passe-au-https-pour-tous.htm
Titre: Tutoriel : Désactiver ByteMobile
Posté par: Hugues le 22 mai 2017 à 10:20:58
Site récent : Site qui existe depuis peu de temps, ou qui a été refait depuis peu de temps. Chez moi, quand un client refait un site, il demande systématiquement que HTTPS soit supporté coté serveur.
Titre: Tutoriel : Désactiver ByteMobile
Posté par: corrector le 22 mai 2017 à 14:37:52
Salut Nico.

Tu peux expliquer un peu plus, stp?
En quoi la présence de pub nécessiterai un site http? Il y a plein de sites https avec de la pub, non?
Un site HTTPS peut contenir des images publicitaires en HTTP bien sûr, mais

- ça affiche un avertissement sur certains vieux navigateurs
- cela dégrade l'indicateur de sécurité de sécurisé en partiellement sécurisé