Improved Intra 42

The ultimate browser extension for 42's Intranet, adding many improvements, such as dark mode, customizable profiles and much more!

What is Improved Intra 42?

Improved Intra 42 is a Chrome extension developed by Freek Bes, and its main feature is "The ultimate browser extension for 42's Intranet, adding many improvements, such as dark mode, customizable profiles and much more!".

Extension Screenshots

screenshot
screenshot
screenshot
screenshot
screenshot

Download Improved Intra 42 Extension CRX File

Download Improved Intra 42 extension files in crx format, manually install Chrome extensions in the browser, or share the crx files with friends to easily install Chrome extensions.

Extension Usage Instructions

                        A small list of well-liked and highly requested features added by this extension:
- Dark Theme! Finally, your eyes can rest when working at night.
- Customizable user profiles! Now you can show a bit of your personality through your user page: add a custom banner image to your profile, visible to everyone with the extension installed, or add a link to your GitHub-page and personal website.
- Stars next to projects rated "Outstanding" during evaluations! Finally, having an "Outstanding Project" flag means something.
- An option to use the old Black Hole countdown instead of showing one's absorption date.
- Removal of the broadcasts button, which is unused by most campuses.
- Sort finished projects on user profiles alphabetically, or by completion date.
- A beautiful settings page where you can select which options you wish to enable, with previews of what each feature can do.
- Omnibox search: write "intra " in the URL bar, add a login and surf to their profile directly.

This extension's code is open sourced on GitHub. In case you find something that does not appear to be working correctly (like light spots in dark mode), create an issue in the GitHub repository, or, even better; modify the code yourself and create a pull request. A guide on how to do this is available in the repository. Campuses may also add their own functionality, limited to their students.                    

Extension Basic Information

Name Improved Intra 42 Improved Intra 42
ID hmflgigeigiejaogcgamkecmlibcpdgo
Official URL https://chromewebstore.google.com/detail/improved-intra-42/hmflgigeigiejaogcgamkecmlibcpdgo
Description The ultimate browser extension for 42's Intranet, adding many improvements, such as dark mode, customizable profiles and much more!
File Size 333 KB
Installation Count 6,713
Current Version 4.3.1
Last Updated 2024-02-01
Publish Date 2021-10-14
Rating 5.00/5 Total 15 Ratings
Developer Freek Bes
Email [email protected]
Payment Type free
Extension Website https://iintra.freekb.es/
Help Page URL https://github.com/FreekBes/improved_intra/issues?q=
Privacy Policy Page URL https://github.com/FreekBes/improved_intra/blob/main/PRIVACY-POLICY.md
Supported Languages en,fr
manifest.json
{
    "update_url": "https:\/\/clients2.google.com\/service\/update2\/crx",
    "manifest_version": 3,
    "name": "__MSG_appName__",
    "short_name": "__MSG_shortAppName__",
    "version": "4.3.1",
    "version_name": "4.3.1",
    "description": "__MSG_appDesc__",
    "default_locale": "en",
    "icons": {
        "16": "images\/logo16.png",
        "32": "images\/logo32.png",
        "48": "images\/logo48.png",
        "64": "images\/logo64.png",
        "96": "images\/logo96.png",
        "128": "images\/logo128.png",
        "256": "images\/logo256.png",
        "512": "images\/logo512.png"
    },
    "incognito": "spanning",
    "options_page": "options\/options.html",
    "action": {
        "default_popup": "generic\/popup\/popup.html"
    },
    "permissions": [
        "storage",
        "scripting"
    ],
    "host_permissions": [
        "https:\/\/iintra.freekb.es\/*",
        "https:\/\/*.intra.42.fr\/*"
    ],
    "web_accessible_resources": [
        {
            "resources": [
                "generic\/inject.js",
                "features\/themes\/apply.css",
                "features\/themes\/light.css",
                "features\/themes\/dark.css",
                "features\/themes\/colors\/cetus.css",
                "features\/themes\/colors\/green.css",
                "features\/themes\/colors\/pyxis.css",
                "features\/themes\/colors\/vela.css",
                "features\/themes\/colors\/windows.css",
                "features\/themes\/colors\/yellow.css",
                "options\/options.html"
            ],
            "matches": [
                "*:\/\/*.intra.42.fr\/*",
                "*:\/\/iintra.freekb.es\/*",
                "*:\/\/darkintra.freekb.es\/*"
            ]
        }
    ],
    "content_scripts": [
        {
            "matches": [
                "*:\/\/*.intra.42.fr\/*"
            ],
            "css": [
                "generic\/fonts.css",
                "fixes\/improv.css",
                "fixes\/animations.css",
                "features\/themes\/apply.css"
            ],
            "js": [
                "generic\/useful.js",
                "generic\/console.js",
                "generic\/lib\/storage.js",
                "generic\/lib\/network.js",
                "generic\/init.js",
                "features\/themes\/loader.js"
            ],
            "run_at": "document_start"
        },
        {
            "matches": [
                "*:\/\/iintra.freekb.es\/*"
            ],
            "js": [
                "generic\/useful.js",
                "generic\/console.js",
                "generic\/lib\/storage.js",
                "generic\/lib\/network.js",
                "generic\/init.js"
            ],
            "run_at": "document_start"
        },
        {
            "matches": [
                "*:\/\/*.intra.42.fr\/*"
            ],
            "js": [
                "features\/externalclustermap.js",
                "fixes\/blackhole.js",
                "fixes\/banners.js",
                "fixes\/general.js",
                "fixes\/optional.js",
                "fixes\/improv.js"
            ],
            "run_at": "document_end"
        },
        {
            "matches": [
                "*:\/\/profile.intra.42.fr\/*",
                "*:\/\/projects.intra.42.fr\/*",
                "*:\/\/elearning.intra.42.fr\/*",
                "*:\/\/meta.intra.42.fr\/*",
                "*:\/\/shop.intra.42.fr\/*",
                "*:\/\/admin.intra.42.fr\/*"
            ],
            "js": [
                "options\/sync.js"
            ],
            "run_at": "document_idle"
        },
        {
            "matches": [
                "*:\/\/signin.intra.42.fr\/users\/sign_in"
            ],
            "js": [
                "options\/unsync.js"
            ],
            "run_at": "document_end"
        },
        {
            "matches": [
                "*:\/\/iintra.freekb.es\/*"
            ],
            "js": [
                "options\/auth2.js"
            ],
            "run_at": "document_end"
        },
        {
            "matches": [
                "*:\/\/iintra.freekb.es\/options.php*",
                "*:\/\/iintra.freekb.es\/connect.php*"
            ],
            "js": [
                "options\/options.js"
            ],
            "run_at": "document_start"
        },
        {
            "matches": [
                "*:\/\/iintra.freekb.es\/v2\/options\/*"
            ],
            "js": [
                "options\/options2.js"
            ],
            "run_at": "document_end"
        },
        {
            "matches": [
                "https:\/\/admin.intra.42.fr\/*"
            ],
            "js": [
                "features\/admin.js"
            ],
            "run_at": "document_end"
        },
        {
            "matches": [
                "*:\/\/profile.intra.42.fr\/",
                "*:\/\/*.intra.42.fr\/users\/*"
            ],
            "exclude_matches": [
                "*:\/\/signin.intra.42.fr\/users\/sign_in"
            ],
            "js": [
                "features\/profiles.js",
                "features\/logtimes.js",
                "features\/campus\/codam\/coa-titles.js"
            ],
            "run_at": "document_idle"
        },
        {
            "matches": [
                "https:\/\/projects.intra.42.fr\/*"
            ],
            "js": [
                "features\/projects.js"
            ],
            "run_at": "document_end"
        },
        {
            "matches": [
                "https:\/\/meta.intra.42.fr\/clusters",
                "https:\/\/meta.intra.42.fr\/campus\/*\/clusters"
            ],
            "js": [
                "features\/clustermap.js"
            ],
            "run_at": "document_end"
        }
    ],
    "background": {
        "service_worker": "sw.js"
    },
    "omnibox": {
        "keyword": "intra"
    }
}