Skip to content

Repository files navigation

Contributors Forks Stargazers Issues CC BY-NC 4.0 License


Kytiris Logo

Kytiris ⚡

An ultra-fast, zero-footprint browser extension accelerating the FBR IRIS 2.0 Return Filing Portal UI by up to 15x.
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Privacy & Security
  5. Chrome Web Store Compliance
  6. Contributing
  7. License
  8. Contact

About The Project

Kytiris is a lightweight Chrome Extension (Manifest V3) specifically engineered for tax professionals, accountants, and taxpayers using Pakistan's Federal Board of Revenue (FBR) IRIS 2.0 portal (https://iris.fbr.gov.pk).

The native IRIS form suffers from significant input typing lag (~500ms per character) due to synchronous client-side CryptoJS AES decryptions running repeatedly during Angular change detection cycles. Kytiris resolves this performance bottleneck by hooking into Webpack module decryptions in memory, reducing input latency down to ~25ms (10x-15x typing speedup).

(back to top)

Key Features

  • ⚡ Webpack CryptoJS AES Decryption Memoization: Hooks into IRIS Webpack chunk loading (webpackChunkweb_ui, module 13788) and caches payload decryptions in volatile browser RAM. Eliminates heavy CPU re-decryption during typing and tab switching.
  • 🔓 DevTools & Inspection Tool Unblocker: Overrides custom window event listeners blocking standard browser accessibility, F12, Ctrl+Shift+I/J/C, and right-click Inspect element.
  • 🚀 CSS Animation & Transition Killer: Injects lightweight CSS overrides (* { transition: none !important; animation: none !important; }) for instant tab navigation without visual reflow delay.
  • 💾 Storage Layer Memory Caching: Caches repeated synchronous localStorage.getItem queries (_s_user_details, _s_user_person_code) in RAM memory.
  • 🟢 Subtle Status Indicator: Displays a discreet, semi-transparent thunder emoji () at the bottom-right corner showing saved decryption stats on hover/click.

(back to top)

Built With

  • Manifest V3
  • JavaScript
  • HTML5
  • CSS3

(back to top)

Getting Started

Follow these simple steps to install Kytiris locally in your browser.

Prerequisites

  • Google Chrome, Brave, or Microsoft Edge browser.

Installation

  1. Clone the repository:
    git clone https://github.com/ayan-sketch/Kytiris.git
  2. Open your browser and navigate to the extensions page:
    chrome://extensions
    
  3. Enable Developer mode via the toggle switch in the top-right corner.
  4. Click Load unpacked in the top-left menu.
  5. Select the Kytiris root directory.
  6. Navigate to https://iris.fbr.gov.pk — Kytiris will activate automatically!

(back to top)

Usage

  1. Automatic Acceleration: Once installed, open any return filing form on the IRIS 2.0 portal. Kytiris injects silently at document_start.
  2. Status Indicator: Look for the small, semi-transparent thunder emoji () at the bottom-right corner of the page. Hover or click it to view live decryption stats.
  3. Control Popup: Click the Kytiris icon in your browser toolbar to toggle features (AES Memoization, DevTools Unblocker, CSS Animations, Status Indicator).

(back to top)

Privacy & Security

  • 100% Client-Side: Operates strictly within your local browser RAM session.
  • Zero External Calls: Contains no fetch(), XMLHttpRequest, or WebSocket connections to external servers.
  • Zero Disk Logging: Passwords, PINs, CNICs, property details, and tax figures are never logged, tracked, or saved to disk.
  • Volatile RAM Cache: All in-memory decryptions are destroyed instantly when the browser tab is closed.

(back to top)

Chrome Web Store Compliance

Kytiris is designed for Manifest V3 store policies:

  • Execution World: Uses "world": "MAIN" in content_scripts with an inline DOM script injection fallback to safely hook page-scope Webpack chunks.
  • Event Override Declaration: Overrides page-level event listeners to restore standard browser accessibility and developer inspection tools (F12 / contextmenu).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) License. Free to use, modify, and distribute for non-commercial purposes; commercial sale or resale is strictly prohibited. See LICENSE for details.

(back to top)

Contact

Project Link: https://github.com/ayan-sketch/Kytiris

(back to top)

Releases

Packages

Contributors

Languages