proper modding

This commit is contained in:
Anime4000 2023-10-08 18:43:22 +08:00
parent 789b5559f1
commit 804ea47d5a
26 changed files with 229 additions and 0 deletions

34
Firmware_Mod/README.md Normal file
View File

@ -0,0 +1,34 @@
# Firmware Modding
This repository contains folders corresponding to different GPON ONU SFP modules of the root filesystem.
| Vendor | Model | SoC | Interchangeable |
|----------|-------------|-----------|-----------------|
| ODI | DFP-34X-2C2 | RTL9601D | - |
| TWC | TWCGPON657 | RTL9601C1 | V2801F |
| VSOL | V2801F | RTL9601C1 | TWCGPON657 |
## How to Mod
To mod the firmware:
1. Run `qemu-test.sh`.
2. Copy and paste the relevant code.
3. Exit `qemu-test.sh`. The firmware images will be rebuilt.
# How to send
To send a modded binary or file, you can use `nc` (netcat).
## GPON ONU SFP
Start the `nc` listening server on GPON ONU SFP:
```
nc -l -p 12345 > file
```
## Ubuntu PC
Send the file from your Ubuntu PC to GPON ONU SFP:
```
nc 192.168.1.1 12345 < file
```
> Note: nc on GPON ONU SFP will not exit once the transfer is complete. You need to use CTRL+C on GPON ONU SFP Telnet to complete the transfer.
# Contribution
We welcome contributions from everyone to enhance the firmware, making it more accessible and adhering to open standards (Universal).

View File

@ -0,0 +1,195 @@
# Boa v0.94 configuration file
# File format has changed little from 0.92
# version changes are noted in the comments
#
# The Boa configuration file is parsed with a lex/yacc or flex/bison
# generated parser. If it reports an error, the line number will be
# provided; it should be easy to spot. The syntax of each of these
# rules is very simple, and they can occur in any order. Where possible
# these directives mimic those of NCSA httpd 1.3; I saw no reason to
# introduce gratuitous differences.
# The "ServerRoot" is not in this configuration file. It can be compiled
# into the server (see defines.h) or specified on the command line with
# the -c option, for example:
#
# boa -c /usr/local/boa
# Port: The port Boa runs on. The default port for http servers is 80.
# If it is less than 1024, the server must be started as root.
Port 80
# User: The name or UID the server should run as.
# Group: The group name or GID the server should run as.
User 0
Group 0
# ServerAdmin: The email address where server problems should be sent.
# Note: this is not currently used.
#ServerAdmin root@localhost
# ErrorLog: The location of the error log file. If this does not start
# with /, it is considered relative to the server root.
# Set to /dev/null if you don't want errors logged.
#ErrorLog /var/log/boa/error_log
# AccessLog: The location of the access log file. If this does not
# start with /, it is considered relative to the server root.
# Comment out or set to /dev/null (less effective) to disable
# Access logging.
#AccessLog /var/log/boa/access_log
# RefererLog: The location of the referer log file. If this does not
# start with /, it is considered relative to the server root.
# Comment out or set to /dev/null (less effective) to disable
# referer logging.
#RefererLog /var/log/boa/referer_log
# AgentLog: The location of the agent log file. If this does not
# start with /, it is considered relative to the server root.
# Comment out or set to /dev/null (less effective) to disable
# User-Agent logging.
#AgentLog /var/log/boa/agent_log
# VerboseCGILogs: this is just a logical switch.
# Comment out to disable.
#VerboseCGILogs
# ServerName: the name of this server that should be sent back to
# clients if different than that returned by gethostname -- often
# this is www.foo.bar.
#ServerName www.your.org.here
#ServerName localhost
# DocumentRoot: The root directory of the HTML documents.
DocumentRoot web
# ChRoot: Boa root '/' directory. This is useful to improve security of
# your system. Don't forget that ALL DIRECTORIES used by boa except logs
# must be in this directory. If you need cgi scripts, you must copy shared
# libraries to this directory (see ldconfig(8) for more info)
#Chroot /var
# UserDir: The name of the directory which is appended onto a user's home
# directory if a ~user request is recieved.
#UserDir www
# DirectoryIndex: Name of the file to use as a pre-written HTML
# directory index. Please MAKE AND USE THESE FILES. On the
# fly creation of directory indexes can be _slow_.
#
DirectoryIndex index.html
#DirectoryMaker /usr/local/sbin/boa_indexer
# LocalCodepage: Local codepage. This is send to client in 'Content-Type:'
# header by default.
#LocalCodepage iso-8859-1
# Codepage: Load codepage conversion table from file. This table will be used
# on-the-fly conversion.
#Codepage us-ascii /usr/lib/boa/iso-8859-2/us-ascii
# CodepageByURL: Specify URL prefix codepage. This command is used for manual
# codepage selection. For example, http://www.cz.boa.org/asc/document.html
# converts /document.html to us-ascii
#CodepageByURL /asc us-ascii
# CodepageByBrowser: Specify codepage by $USER_AGENT. This command is used for
# automatic codepage selection. You can use characters '*' and '?' in browser
# string. For example, "CodepageByBrowser Lynx/* us-ascii" will send for Lynx
# users all documents in us-ascii.
#CodepageByBrowser Lynx/* us-ascii
# KeepAliveMax: Number of KeepAlive requests to allow per connection
# Comment out, or set to 0 to disable keepalive processing
KeepAliveMax 100
# KeepAliveTimeout: seconds to wait before keepalive connection times out
KeepAliveTimeout 10
# MimeTypes: This is the file that is used to generate mime type pairs
# and Content-Type fields for boa.
MimeTypes /etc/mime.types
# DefaultType: MIME type used if the file extension is unknown, or there
# is no file extension.
DefaultType text/plain
# AddType: adds types without editing mime.types
# Example: AddType type extension [extension ...]
# Uncomment the next line if you want .cgi files to execute from anywhere
AddType application/x-httpd-cgi cgi
AddType application/x-httpd-cgi asp
AddType text/html html
AddType text/css css
AddType text/javascript js
AddType image/gif gif
AddType image/jpeg jpg
AddType image/jpeg jpeg
AddType image/png png
AddType image/x-icon ico
# Redirect, Alias, and ScriptAlias all have the same semantics -- they
# match the beginning of a request and take appropriate action. Use
# Redirect for other servers, Alias for the same server, and ScriptAlias
# to enable directories for script execution.
# Redirect allows you to tell clients about documents which used to exist in
# your server's namespace, but do not anymore. This allows you to tell the
# clients where to look for the relocated document.
# Example: Redirect /bar http://elsewhere/feh/bar
# Aliases: Aliases one path to another.
# Example: Alias /path1/bar /path2/foo
#Alias /doc /usr/doc
# ScriptAlias: Maps a virtual path to a directory for serving scripts
# Example: ScriptAlias /htbin/ /www/htbin/
ScriptAlias /boaform/ /web
ScriptAlias /boaform/admin /web/admin
# VirtualHost: Maps a virtual host to a directory.
# Example: VirtualHost cz.boa.org /html/htdocs/boa/
#VirtualHost www.second.company.com /var/www/second_company/
# Auth: HTTP Basic authorization. Format is "Auth <Directory> <PasswdFile>".
# Password file should be readable _ONLY_ by root or trusted user(s). This file
# is opened before boa gives out privs.
# Example: Auth /secret /var/www/secret.passwd
Auth / /var/boaSuper.passwd
Auth /admin /var/boaUser.passwd
Auth /boaform/admin /var/boaUser.passwd
Auth /graphics /var/boaUser.passwd
#Digest / /var/DigestSuper.passwd:ADSL@Realtek
#Digest /admin /var/DigestUser.passwd:ADSL@Realtek
#Digest /boaform/admin /var/DigestUser.passwd:ADSL@Realtek