Chez Belgacom/Proximus, le plus gros FAI belge, l’abonnement internet avec volume illimité est en fait limité. Dès que vous atteignez 300 GB (download+upload) dans le mois , vous recevrez ce mail :
Pour info, 3Mbps c’est 0.375 Mo/seconde. Donc invivable depuis que les pages web font plusieurs Mo à cause de la pub vidéo et des dizaines de scripts de tracking.
Si on va sur leur site web, on galère comme un fou pour trouver la seule icône qui permet d’accéder à la seule page qui permet d’accéder à l’option et après 7 clics sur différentes pages web on peut enfin activer ces 20Gb gratuits de plus. Je vous conseille de le faire depuis une autre ligne car avec 3Mbps, vous allez y passer 20 minutes.
20GB, ça dépanne un moment mais pas longtemps. Pour rajouter encore 20 GB gratuits, il faut refaire la procédure des 7 clics sur différentes pages web à cliquer. Donc la galère.
Et tous les mois, le forfait retombe à 300GB….
C’est expressément fait pour faire chier le client. Est ce que je leur demande une facture manuscrite par paquet de 10 euros?
Donc j’ai pondu un script Python+Selenium qui automatise l’ajout de volume à son forfait Internet : belgacom_add_volume_pack.py
Ça se lance ainsi:
$ python belgacom_add_volume_pack.py toto@email.com motdepasse 10
Le dernier nombre indique la quantité de volume (de 20GB chacun) à ajouter. Avant ce sont bien sûr vos identifiants Belgacom.
Voila, je me sens plus à l’aise.
Pour le fun, on peut même demander quelques Térabits :-)
Il est à noter que les volumes pack unlimited ne sont plus valables pour les nouveaux abonnements Internet Start (mais bien pour les anciens). Ainsi, avec nouvel abonnement Internet Start, un Extra Volume de 20GB est facturé à 5€.
Pour le détail complet de la politique des volumes de Proximus, consultez la seconde page de ce document : http://www.proximus.be/dam/cdn/sites/iportal/documents/pdfs/common/Conditions_downloadpolicy_en.pdf/Conditions_downloadpolicy_en.pdf
À mon sens, Proximus a tué une de ses offres les plus intéressantes (Internet Start avec volume pack unlimited à 37.50€ par mois). Il reste l’abonnement de Scarlet, mais faut voir s’ils appliquent le FUP à 300Go (pas moyen de l’augmenter celui-ci).
Mille merci pour ce script, actuellement j’utilise imacro pour faire l’ajout des pack.
Quand j’ai vu comment les ifram inception pour le login j’ai un peut abandonné l’idée du script.
Ce script dans un cron et on ce soucie plus de savoir si on est limité.
Grand merci pour ce script, ça aide vraiment. Je ne compte plus le nombre de pack ajoutés à la main ^^
J’ai effectué qq modifs au script pour prendre en compte des packs d’autres tailles (150 GB chez moi), le passer à Python3, et quelques modifs au niveau des arguments à passer et du mode headless.
J’ai mis le tout sur un dépôt Github (oui, je sais, c’est pas bien Github ^^). J’espère avoir fait ça dans les règles. Merci de me dire si c’est bon pour vous ;-)
Encore merci :-)
Avec l’adresse du dépôt c’est mieux ^^ : https://github.com/shakasan/bgc_add_vol_pack
Super initiative, j’ai justement eu des problèmes de quotas ces derniers mois.
C’est alors que j’ai découvert l’illimité de proximus une belle arnaque surtout quand vous habitez à 10 km de la France ou les tarifs sont clairement plus attractifs.
Je me demandai une chose, est-ce que le trafic de la TV est compris dans quota internet ? car je trouve que mon quota part très vite.
Merci pour ce script je le garde bien au chaud :)
Oah. En France, c’est vraiment illimité (mais légèrement censuré). Pn’aise, je pensais que l’illimité en ADSL était la norme en Europe :/
Illimité chez VOO… pas besoin de bidouille …
@Darksidious : VOO a sa propre FUP. Même s’il n’en précise pas la limite et qu’aucun bridage d’a été signalé pour l’instant, ça ne te donne, pour autant, aucune garantie.
De toutes manières, que ce soit VOO ou Proximus, l’illimité avec un abonnement Internet hors pack est à présent à 45,95€ minimum. Bidouille ou pas, c’est clairement une arnaque.
3 Mbps c’est pas la mort hein, ça permet de surfer convenablement sur internet. A partir de 1 Mbps ça commence à être délicat. En cas de mauvaise connexion adsl, certaines personnes sont contentes d’avoir 3 Mbps
@Coco74 : Chacun son utilisation d’Internet.
@Mako : Merci!
@Tuxicoman T’as un bloqueur de pub ?
Ublock origin?
Quel FAI choisir alors, en Belgique ?
Tu sais que ce script est tout simplement merveilleux?
:-)
Un gros merci :)
Magnifique mais…
Je vois qu’on lance le script avec
$ python belgacom_add_volume_pack.py toto@email.com motdepasse 10
Mais sous dos ? powershell ? python ??
Comment fait-on ?
D’avance merci
J’avance….
J’ai maintenant cette erreur. Que faire ?
C:\Python27>.\python « c:\scripts\belgacom_add_volume_pack.py » ***@*****.be 5******Z 1
Cannot import selenium. Try: $ pip install –user selenium
Traceback (most recent call last):
File « c:\scripts\belgacom_add_volume_pack.py », line 23, in
sys.exit()
NameError: name ‘sys’ is not defined
Salut,
il faut que tu installes le paquet python « selenium ». La commande donnée fonctionne sous Linux. Sous Windows je ne sais pas comment ca marche.
Pour info, t’as une version plus à jour sur https://framagit.org/tuxicoman/belgacom_illimite si besoin.
Bonjour,
Je viens de tester ce script en python3 sous Mac. Il ne fonctionne pas.
Selenium n’est pas trouvé malgré son installation sous pip.
1/ C’est un script python 2.
2/ Est ce que dans python, tu peux faire « import selenium ». Si c’est non, c’est que selenium n’est pas bien installé.
Bonjoours,
je viens d’exécuter le script depuis mon ordi (Ubuntu 16.04) et j’obtiens l’erreur suivante:
Traceback (most recent call last):
File « ./belgacom_add_volume_pack.py », line 41, in
browser = webdriver.Firefox()
File « /home/dorian/.local/lib/python2.7/site-packages/selenium/webdriver/firefox/webdriver.py », line 135, in __init__
self.service.start()
File « /home/dorian/.local/lib/python2.7/site-packages/selenium/webdriver/common/service.py », line 71, in start
os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: ‘geckodriver’ executable needs to be in PATH.
Exception AttributeError: « ‘Service’ object has no attribute ‘process' » in <bound method Service.__del__ of > ignored
J’ai bien installé pip et selenium, mais je n’arrive pas à exécuter le script…
Est ce que quelqu’un aurait une solution ?
Merci d’avance
Salut,
Selenium a changé son connecteur avec Firefox dans sa version 3. Il te faut utiliser la version 2.53 de selenium.
Est ce que tu utilises la dernière version du script depuis https://framagit.org/tuxicoman/belgacom_illimite ?
Pour installer l’ancienne version de Selenium :
$ pip install --user selenium=2.53
Je viens d’essayer depuis le lien https://framagit.org/tuxicoman/belgacom_illimite en aillant désintaller selenium et en l’ayant réinstallé comme expliqué sur le site :
$ pip install –user selenium==2.53
Et j’obtiens l’erreur suivante :
Selenium 2.53 is preferred. Try: $ pip install –user selenium=2.53
Traceback (most recent call last):
File « belgacom_add_volume_pack.py », line 46, in
browser = webdriver.Firefox()
File « /usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py », line 135, in __init__
self.service.start()
File « /usr/local/lib/python2.7/dist-packages/selenium/webdriver/common/service.py », line 71, in start
os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: ‘geckodriver’ executable needs to be in PATH.
Exception AttributeError: « ‘Service’ object has no attribute ‘process' » in <bound method Service.__del__ of > ignored
Ma version de Firefox est la 49.0
Apparement, tu n’utilises pas selenium 2.53. Tu peux vérifier ainsi:
$ /usr/bin/python2
>>> import selenium
>>> print selenium.__version__
C’etait bien le cas, pour résoudre se problème j’ai du utilisé la commande
$ pip2 install –user selenium==2.53
et non
$ pip install –user selenium==2.53
Cela à déja solutionné le problème de version de selenium
Apparemment selenium 2.53 ne fonctionne plus avec la version 49 (j’ai une une erreur : « selenium.common.exceptions.WebDriverException: Message: Can’t load the profile. ») de firefox.
J’ai du installer la version 46 de firefox pour que le script se lance correctement et fonctionne en partie, car lors de l’execution j’obtiens le message suivant lorsqu’il s’est connecté sur le site de belgacom :
Login …
Traceback (most recent call last):
File « ./belgacom_add_volume_pack.py », line 63, in
find_element_by_xpath_until_timeout(browser, ‘//div[@class= »cm-header-tlc-title » and text()= »Welcome to MyProximus »]’)
File « ./belgacom_add_volume_pack.py », line 49, in find_element_by_xpath_until_timeout
element = WebDriverWait(browser, timeout).until(lambda browser:browser.find_element_by_xpath(xpath))
File « /home/dorian/.local/lib/python2.7/site-packages/selenium/webdriver/support/wait.py », line 80, in until
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
Stacktrace:
at FirefoxDriver.prototype.findElementInternal_ (file:///tmp/tmpjvuO3J/extensions/fxdriver@googlecode.com/components/driver-component.js:10770)
at FirefoxDriver.prototype.findElement (file:///tmp/tmpjvuO3J/extensions/fxdriver@googlecode.com/components/driver-component.js:10779)
at DelayedCommand.prototype.executeInternal_/h (file:///tmp/tmpjvuO3J/extensions/fxdriver@googlecode.com/components/command-processor.js:12661)
at DelayedCommand.prototype.executeInternal_ (file:///tmp/tmpjvuO3J/extensions/fxdriver@googlecode.com/components/command-processor.js:12666)
at DelayedCommand.prototype.execute/< (file:///tmp/tmpjvuO3J/extensions/fxdriver@googlecode.com/components/command-processor.js:12608)
screenshot de la page au moment ou le script plante:
https://s14.postimg.org/x6l7vzk75/test.png
Pour cette partie, je ne sais pas si c'est belgacom qui à changer son interface et donc le script n'est plus valide ou bien si le message s'affiche seulement sur mon compte belgacom.
Merci pour ton aide en tout cas!
C’est à cause de la popup. C’est temporaire chez proximus. Je ne l’ai plus chez moi pour tester. Je ferai la correction la prochaine qu’elle apparaitra.
En attendant si tu coches la case, ferme la popup et relance le script ca devrait marcher.
Ca fonctionne, merci beaucoup pour ton aide et pour ce super script!
J’ai lancé la commande sous python2.
Voici l’output du terminal sous Mac :
Traceback (most recent call last):
File « belgacom_add_volume_pack.py », line 42, in
browser = webdriver.Firefox()
File « /usr/local/lib/python2.7/site-packages/selenium/webdriver/firefox/webdriver.py », line 80, in __init__
self.binary, timeout)
File « /usr/local/lib/python2.7/site-packages/selenium/webdriver/firefox/extension_connection.py », line 52, in __init__
self.binary.launch_browser(self.profile, timeout=timeout)
File « /usr/local/lib/python2.7/site-packages/selenium/webdriver/firefox/firefox_binary.py », line 68, in launch_browser
self._wait_until_connectable(timeout=timeout)
File « /usr/local/lib/python2.7/site-packages/selenium/webdriver/firefox/firefox_binary.py », line 108, in _wait_until_connectable
% (self.profile.path))
selenium.common.exceptions.WebDriverException: Message: Can’t load the profile. Profile Dir: /var/folders/8g/zf77bsnx01xfhhnhp6464yr40000gn/T/tmpBsfvxU If you specified a log_file in the FirefoxBinary constructor, check it for details.
Toujours sans succès. La fenêtre Firefox se lance cependant.
Apparement il y a un probleme entre Firefox et Selenium dans ta config. Je ne saurais te dépanner, sur mon linux, je suis sur la version firefox ESR 45. Peut être que les nouvelles version de Firefox ont un API différente. Regarde sur les forums Selenium.
Bonjour Tuxicoman,
D’abord, merci pour cette superbe idée. J’ai suivi tes instructions. Les premières opérations fonctionnent sans problèmes mais tout s’arrête une fois que je suis connecté dans « mon proximus ». Voici ce qui est inscrit sur la console :
Traceback (most recent call last):
line 63, in
find_element_by_xpath_until_timeout(browser, ‘//div[@class= »cm-header-tlc-title » and text()= »Welcome to MyProximus »]’)
line 49, in find_element_by_xpath_until_timeout
element = WebDriverWait(browser, timeout).until(lambda browser:browser.find_element_by_xpath(xpath))
File « /Library/Python/2.7/site-packages/selenium/webdriver/support/wait.py », line 80, in until
raise TimeoutException(message, screen, stacktrace)
Je suis sur Mac OS 10.12.1, l'application Terminal et Firefox ESR 45.5.1
Merci d'avance !
Le script s’attend à trouver « Welcome to MyProximus » et dans ton cas, tu dois voir « Bienvenue sur MyProximus ». Bizarre puisque normalement, selenium ne connait pas tes préférences.
J’ai modifié le script pour que ca marche sii ce n’est pas en anglais aussi.
Bonjour Tuxicoman,
Merci pour te réponse rapide. En bidouillant chez moi, je suis parvenu à corriger l’erreur en supprimant la ligne suivante dans ton script :
find_element_by_xpath_until_timeout(browser, ‘//div[@class= »cm-header-tlc-title » and text()= »Welcome to MyProximus »]’)
print « Login done »
Je ne sais pas si c’était aussi l’objet de ta modification. En tous cas, chez moi ça fonctionne parfaitement désormais.
oui cette ligne a été modifiée.
Bonjour
J’aimerais exécuté le script mais j’ai juste un iPad .
Es ce possible
Hello !
Petit problème avec la selection d’éléments xpath. Ce qui est fou c’est que ça marche juste avant ( le username et password sont entrés correctement) mais pas non plus après ( j’ai essayé de modifier le code pour valider quand même mais la fois suivante où on localise un élement par xpath, ça ne marche pas non plus.)
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: {« method »: »xpath », »selector »: »//input[@id=\ »loginForm:continue\ »] »}
Vous avez une idée ?
Salut,
Leur code a du changer. J’ai apporté une modif au script. Va voir sur https://framagit.org/tuxicoman/belgacom_illimite
Merci !
J’ai refait le script sur Selenium IDE entre-temps. J’ai aussi eu quelque problèmes avec le caractère multiprocessus de Firefox ( ça m’envoie des erreurs « cross-call javascript » quand je fais des clickandWait. ) mais ça c’est réglé en le désactivant.
Ca fonctionne bien avec ta modification, j’ai du mal à comprendre comment le fait de remplacer cette étape pouvait poser problème par la suite, m’enfin bon…
Merci pour ce script génial que j’ai pas mal utilisé.
Mais apparemment ils ont un peu lâché de lest, par paquet de 250Go supplémentaires gratuits et 700Go de base. Script par ailleurs toujours utilisable en changeant le TXT.
Merci beaucoup pour l’idée et le code, j’avais parfois l’impression d’être le seul à me prendre la tête avec des abérrations pareilles, ça fait plaisir.
Bien à vous.
Dylan
Hey, je découvre ton script, c’est quand même dingue que Proximus n’a toujours pas intégré l’internet illimité dans son offre.
J’aimerais utiliser ton script mais impossible, le script se lance mais ne semble pas réagir une fois FireFox lancé.
Je vais voir si je ne trouve pas mon erreur mais si tu passes lire les commentaires, une aide serait grandement apprécié ! :)
Merci encore !
Aucune erreur, d’ailleurs, le script semble tourner dans le vide une fois firefox lancé
Proximus a changé son site et son offre : c’est 150 Go d’un coup cette fois. Je ne l’utilise plus mais un automatiseur tel que Selenium IDE m’avait permis de refaire le script à l’époque. Il suffit de lancer l’enregistrement dès qu’on ouvre Firefox et puis de lancer la procédure complète, ça fonctionne généralement assez facilement.
Fait changer le TXT
Il faut. Excusez-moi
hello avez vous un nouveau propre script pour proximus
vous envoyez à mon émail : rodrigue7973@hotmail.com et merci