FKTECH LogoFKTECH
export class SecurityGateway {
  private readonly firewall: Firewall;
  private readonly encryption: AES256;

  constructor(token: string) {
    this.firewall = new Firewall(token);

    this.encryption = new AES256();
    this.startWatchdog();
  }

  public async verifyRequest(req: Request) {
    const isValid = await this.firewall.check(req);

    if (!isValid) {
      throw new SecurityError("Blocked");
    }

    return this.encryption.decrypt(req.body);
  }

  private startWatchdog() {
    setInterval(() => {
      
      this.firewall.updateRules();
      this.encryption.rotateKeys();
      
    }, 1000 * 60 * 60);

    console.log("Watchdog active");
  }

  public async blockIP(ip: string) {
    await this.firewall.addToBlacklist(ip);

    this.firewall.broadcastUpdate();
  }
}
export class SecurityGateway {
  private readonly firewall: Firewall;
  private readonly encryption: AES256;

  constructor(token: string) {
    this.firewall = new Firewall(token);

    this.encryption = new AES256();
    this.startWatchdog();
  }

  public async verifyRequest(req: Request) {
    const isValid = await this.firewall.check(req);

    if (!isValid) {
      throw new SecurityError("Blocked");
    }

    return this.encryption.decrypt(req.body);
  }

  private startWatchdog() {
    setInterval(() => {
      
      this.firewall.updateRules();
      this.encryption.rotateKeys();
      
    }, 1000 * 60 * 60);

    console.log("Watchdog active");
  }

  public async blockIP(ip: string) {
    await this.firewall.addToBlacklist(ip);

    this.firewall.broadcastUpdate();
  }
}
export class SecurityGateway {
  private readonly firewall: Firewall;
  private readonly encryption: AES256;

  constructor(token: string) {
    this.firewall = new Firewall(token);

    this.encryption = new AES256();
    this.startWatchdog();
  }

  public async verifyRequest(req: Request) {
    const isValid = await this.firewall.check(req);

    if (!isValid) {
      throw new SecurityError("Blocked");
    }

    return this.encryption.decrypt(req.body);
  }

  private startWatchdog() {
    setInterval(() => {
      
      this.firewall.updateRules();
      this.encryption.rotateKeys();
      
    }, 1000 * 60 * 60);

    console.log("Watchdog active");
  }

  public async blockIP(ip: string) {
    await this.firewall.addToBlacklist(ip);

    this.firewall.broadcastUpdate();
  }
}
export class SecurityGateway {
  private readonly firewall: Firewall;
  private readonly encryption: AES256;

  constructor(token: string) {
    this.firewall = new Firewall(token);

    this.encryption = new AES256();
    this.startWatchdog();
  }

  public async verifyRequest(req: Request) {
    const isValid = await this.firewall.check(req);

    if (!isValid) {
      throw new SecurityError("Blocked");
    }

    return this.encryption.decrypt(req.body);
  }

  private startWatchdog() {
    setInterval(() => {
      
      this.firewall.updateRules();
      this.encryption.rotateKeys();
      
    }, 1000 * 60 * 60);

    console.log("Watchdog active");
  }

  public async blockIP(ip: string) {
    await this.firewall.addToBlacklist(ip);

    this.firewall.broadcastUpdate();
  }
}
export class SecurityGateway {
  private readonly firewall: Firewall;
  private readonly encryption: AES256;

  constructor(token: string) {
    this.firewall = new Firewall(token);

    this.encryption = new AES256();
    this.startWatchdog();
  }

  public async verifyRequest(req: Request) {
    const isValid = await this.firewall.check(req);

    if (!isValid) {
      throw new SecurityError("Blocked");
    }

    return this.encryption.decrypt(req.body);
  }

  private startWatchdog() {
    setInterval(() => {
      
      this.firewall.updateRules();
      this.encryption.rotateKeys();
      
    }, 1000 * 60 * 60);

    console.log("Watchdog active");
  }

  public async blockIP(ip: string) {
    await this.firewall.addToBlacklist(ip);

    this.firewall.broadcastUpdate();
  }
}
export class SecurityGateway {
  private readonly firewall: Firewall;
  private readonly encryption: AES256;

  constructor(token: string) {
    this.firewall = new Firewall(token);

    this.encryption = new AES256();
    this.startWatchdog();
  }

  public async verifyRequest(req: Request) {
    const isValid = await this.firewall.check(req);

    if (!isValid) {
      throw new SecurityError("Blocked");
    }

    return this.encryption.decrypt(req.body);
  }

  private startWatchdog() {
    setInterval(() => {
      
      this.firewall.updateRules();
      this.encryption.rotateKeys();
      
    }, 1000 * 60 * 60);

    console.log("Watchdog active");
  }

  public async blockIP(ip: string) {
    await this.firewall.addToBlacklist(ip);

    this.firewall.broadcastUpdate();
  }
}
Farman Khan
FULL STACK

DEVELOPER

</>

I BUILD SOLUTIONS,
NOT JUST WEBSITES.

Clean Code. Smart Logic.
Scalable Systems.
That's my Standard.

TECH STACK

HTML5
HTML5
CSS3
CSS3
JS
JavaScript
Tailwind
Tailwind
React
React
Node.js
Node.js
Express
Express
MongoDB
MongoDB
GitHub
GitHub
Docker
Docker
TypeScript
TypeScript
Python
Python
PostgreSQL
PostgreSQL
Next.js
Next.js
Redis
Redis

WHAT I DO

  • > Web Development
  • > API Development
  • > Database Design
  • > Problem Solving
>_let's_build_together

Crafting seamless web applications by bridging pixel-perfect React and Next.js frontends with scalable Node.js, Express, and PostgreSQL backends. From UI animations to database architecture — every layer of the product lifecycle is handled with precision.

Design and engineering aren't separate jobs — they're one process. Complete products. Looks sharp, runs fast, scales without compromise.

Farman
DEVELOPER</>

Loading 3D Experience...