Skip to content

Instantly share code, notes, and snippets.

View ak4zh's full-sized avatar
🏔️
Working from mountains

ak4zh

🏔️
Working from mountains
View GitHub Profile

Hardware and Operating System

The router is built on a MediaTek (MTK) System-on-a-Chip (SoC). This was identified by the presence of the mt7603eap Wi-Fi kernel module. The SoC includes an integrated hardware switch, which the system identifies internally as chiptype: 7.

The device runs a customized version of embedded Linux. Crucially, it does not use the standard Linux swconfig utility for switch management. Instead, it relies on a set of proprietary, command-line tools to control the hardware.


Default Network Architecture

In its standard configuration, the router functions as a simple access point by creating a single, flat network.

@ak4zh
ak4zh / enable_root_jio_router.py
Created November 20, 2025 12:34 — forked from ankurpandeyvns/enable_root_jio_router.py
Enable Root Access in Jio Router
import requests
from bs4 import BeautifulSoup
import urllib3
import sys
import json
import os
# --- Configuration ---
BASE_URL = "http://192.168.0.51"
USERNAME = "superadmin"
@ak4zh
ak4zh / create_env_jfibersip.py
Created November 20, 2025 12:33 — forked from ankurpandeyvns/create_env_jfibersip.py
Provision .env for JioFiber SIP Proxy
#!/usr/bin/env python3
"""
Flow:
- Try http://jiofiber.local.html:8080/request_account
- If DNS fails, prompt for router LAN IP and retry
- If still unreachable, explain prerequisites and exit
- Drive OTP flow against https://<router>:8443/ using a deterministic MAC
derived from the hardcoded hostname "AnkurSIPProxy" (JFC hashing logic)
- Parse SIP config to obtain password and username
- Generate a .env in the project root with Jio-friendly defaults
@ak4zh
ak4zh / DG-GR6011_GPON_Guide.md
Created November 20, 2025 12:33 — forked from ankurpandeyvns/DG-GR6011_GPON_Guide.md
Digisol DG-GR6011 Guide
@ak4zh
ak4zh / zyxel_backup_restore.py
Created November 20, 2025 12:32 — forked from ankurpandeyvns/zyxel_backup_restore.py
AOT-5221ZY Backup/Restore Decryption+Encryption
#!/usr/bin/env python3
"""
================================================================================
Zyxel Router Configuration Backup/Restore Tool
================================================================================
DESCRIPTION:
This tool provides comprehensive functionality for working with Zyxel router
configuration backups. It can download, decrypt, encrypt, and restore
@ak4zh
ak4zh / DG-GR6011_GPON_CLI.py
Created November 20, 2025 12:32 — forked from ankurpandeyvns/DG-GR6011_GPON_CLI.py
A comprehensive Python library for managing BOA-based GPON routers (like DG-GR6011 and similar devices).
#!/usr/bin/env python3
"""
GPON ONU/ONT Router Configuration Manager
==========================================
A comprehensive Python script for managing BOA-based GPON devices.
INSTALLATION
------------
pip install requests

Zyxel Router Configuration Analysis Guide

Overview

  • Router Model: Zyxel (ISP-branded variants)
  • Configuration Format: TR-069 InternetGatewayDevice XML schema
  • Typical Parameter Count: 4,000+ configurable settings

Key Modifiable Settings by Category

Zyxel AOT-5221ZY - Complete Web Interface Analysis

Device: Zyxel AOT-5221ZY GPON ONT/ONU Analysis Date: 2025-10-06 Web Root: /usr/shared/web/


Table of Contents

{"brands":[{"id":107,"name":"AC","models":[{"id":1351,"name":"OVERIGE"}]},{"id":1,"name":"Abarth","models":[{"id":979,"name":"124 SPIDER"},{"id":1,"name":"500"},{"id":2,"name":"595"},{"id":2233,"name":"600E"},{"id":3,"name":"695"},{"id":1046,"name":"959 COMPETIZIONE"},{"id":1378,"name":"ANDEREN"},{"id":1306,"name":"GRANDE PUNTO"},{"id":1307,"name":"PUNTO"},{"id":980,"name":"PUNTO EVO"},{"id":1352,"name":"T JET 1.4"}]},{"id":147,"name":"Aiways","models":[{"id":3079,"name":"U5"}]},{"id":2,"name":"Aixam","models":[{"id":1320,"name":"(NIEUW) E CROSSOVER"},{"id":5,"name":"400"},{"id":1159,"name":"A.721"},{"id":1374,"name":"ANDEREN"},{"id":6,"name":"BROMMOBIEL"},{"id":7,"name":"CITY"},{"id":8,"name":"COUPE"},{"id":3106,"name":"CROMLINE"},{"id":11,"name":"CROSS"},{"id":9,"name":"CROSSLINE"},{"id":10,"name":"CROSSOVER"},{"id":981,"name":"D TRUCK"},{"id":2234,"name":"D TRUCK VAN NIEUW!"},{"id":1106,"name":"E CITY"},{"id":12,"name":"E CITY PACK [NIEUW]"},{"id":1365,"name":"E CITY SPORT"},{"id":13,"name":"E COUPE"},{"id
@ak4zh
ak4zh / migration.sql
Created September 22, 2022 08:48
Double Entry Book Keeping with Journals and Voucher
CREATE TABLE public.vouchers (
id serial PRIMARY KEY,
name text NOT NULL
);
INSERT INTO vouchers
(name)
VALUES
('Sales'),
('Purchase'),