Skip to content

Example use case - when Microsoft pretends that "Linux x86_64" must be a either Android or iOS #6

@velle

Description

@velle

The company I work for uses some Exchange (or whatever it is called) suite from Microsoft, probably in the cloud, to handle emails and much else. I want to access my work email from my Linux machine, and I did so for a long time, simply using Outlook webmail.

After recent security policy changes in the company, only "registered" devices are allowed to access any of these MS services. All Windows PCs must be registered under the domain, even if trying to access webmail via a browser. However, I persuaded the company to add me to a group of users who were allowed to access from non-domain PCs. So now I can acces from a non-domain Windows machine.

When I try to access from a Linux machine, MS inspects various details about the client, including navigator.platform which returns "Linux x86_64". MS then requires me to install their Intune app, which is only available for mobile devices like iOS and Android. I actually don't know what happens if one tries from a Macintosh.

So I needed to spoof being a Windows machine. I know that MS inspects both the UserAgent part of the HTTP request and navigator.platform javascript object. All of the plugins I tried did not work for me, even after experimenting with various values. Some plugins might have worked, if I had taken more time to experiment with settings.

In any case. X-Agent worked out of the box :) And furthermore, it turned out that it worked on Firefox too :) And then I added one line to the manifest.json for the Owl plugin (for Thunderbird) , pointing to background.js from X-Agent, and now Thunderbird/Owl can also handle my emails again.

Thanks :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions