Sacha Senchuk

Bloquer les appels non-sollicités sur Free Mobile

Publié le 29 novembre 2024

Pour mieux organiser ma vie, j’ai récemment souscrit à un abonnement Free Mobile pour avoir un deuxième numéro mobile.

Le problème

J’ai commencé à recevoir énormément d’appels non sollicités.

Et ce, malgré mon inscription sur Bloctel.

Certains démarcheurs ne se gênent plus pour vous appeler avec des robots pour vous extorquer des informations personnelles, sans vous laisser la possibilité de vous opposer aux appels.

Chose qui malheureusement risque de ne pas s’arranger avec les progrès de l’intelligence artificielle.

D’autres prétendent qu’ils ne font pas du démarchage, qu’ils vous donnent simplement des conseils (!) et donc que la loi ne s’appliquerait pas à eux.

Hélas, il y aura toujours des individus peu scrupuleux qui ne respecteront pas les règles du jeu tant qu’ils n’auront pas suffisamment peur des sanctions.

La solution

En attendant, il se trouve que depuis 2023, la plupart de ces entreprises de démarchage utilisent des plages de numéros spécifiques, grâce à la décision de l’ARCEP obligeant les opérateurs à utiliser des plages de numéros dédiées pour les centres d’appels.

Les numéros utilisés par les démarcheurs commencent toujours par :

  • 0162, 0163
  • 0270, 0271
  • 0377, 0378
  • 0424, 0425
  • 0568, 0569
  • 0948, 0949

Si vous êtes chez Free Mobile, vous pouvez justement bloquer des plages de numéros de téléphone.

Pour cela, il suffit de saisir le préfixe que vous souhaitez bloquer, suivi d’un astérisque (*).

Vous pouvez le faire directement sur votre compte Free Mobile, sur la page des filtres.

Paramétrer manuellement les 12 plages peut être assez fastidieux. J'ai donc écrit un script qui automatise ce paramètrage. Vous pouvez l’utiliser si vous êtes devant votre ordinateur.

Pour cela, ouvrez la console de votre navigateur (touche F12, ou Ctrl + Shift + I sur Windows, ou + + I sur macOS), puis collez le code ci-dessous.

let prefixesToBlock = ['0162', '0163', '0270', '0271', '0377', '0378', '0424', '0425', '0568', '0569', '0948', '0949']

let existingRulesSelector = document.querySelectorAll('#container div.f-rules div.f-rules__item')

let activateUrl = 'https://mobile.free.fr/account/mes-services/filtres?activate=1'
let deleteUrl = 'https://mobile.free.fr/account/mes-services/filtres?action=delete'
let saveUrl = 'https://mobile.free.fr/account/mes-services/filtres?action=save'

async function addPrefixes() {
  console.log("Activating filters...")
  await fetch(activateUrl)

  console.log("Blocking prefixes...")
  await Promise.all(prefixesToBlock.map(prefix => addRule(prefix)))
}

async function addRule(prefix) {
  console.log("Adding rule for prefix:", prefix, "...")

  let data = {
    'rule-id': '',
    'direction': '2', // 1 = outbound, 2 = inbound
    'media': '1', // 1 = voice, 2 = sms
    'action': '1', // 0 = allow, 1 = block, 2 = voicemail
    'pattern': prefix + '*',
    'description': 'Démarchage ' + prefix,
    'full-day': '1',
    'full-week': '1',
  }

  let formData = new FormData()
  for (let [key, value] of Object.entries(data)) {
    formData.append(key, value)
  }

  try {
    let response = await fetch(saveUrl, {
      method: 'POST',
      body: formData
    })

    if (!response.ok) {
      console.error("Error adding rule, response status:", response.status)
    }
  } catch (error) {
    console.error("Error adding rule", error)
  }
}

async function deleteExistingRules() {
  console.log("Deleting existing rules...")
  let existingRulesIds = Array.from(existingRulesSelector).map(rule => rule.getAttribute('data-id'))

  // deletes rules in parallel using Promise.all
  await Promise.all(existingRulesIds.map(id => fetch(deleteUrl + '&id=' + id)))
}

async function wait(ms) {
  return new Promise(resolve => setTimeout(resolve, ms))
}

// pour supprimer toutes les règles existantes, décommentez la ligne ci-dessous
// await deleteExistingRules()

await addPrefixes()
location.reload()

Une fois le script exécuté, voilà à quoi devrait ressembler votre page des filtres :

Filtres Free Mobile

Et si vous n’avez pas Free Mobile ?

Dans tous les cas, inscrivez-vous sur Bloctel si ce n’est pas déjà fait.

Votre inscription sur Bloctel rend les appels non sollicités sur votre numéro illégaux, ce qui réduit considérablement le nombre d’appels non sollicités que vous recevrez.

Essayez de paramétrer ces filtres au niveau de votre téléphone, ou au niveau de votre opérateur, si l’option existe. D’ailleurs, dites-moi si vous avez trouvé une autre solution qui fonctionne bien pour vous.