По telnet обычно можно всё то же самое, что и по веб-интерфейсу - настройка маршрутизации, сетей и прочего.
Раз у вас по telnet можно смотреть директории, в вашем роутере имеется операционная система. Возможно, основанная на linux. А может на каком-то RTOS.
Если хочется своего ПО и большей кастомизации - установите на роутер OpenWRT прошивку, если возможно. Пишутся модули для OpenWRT на C или C++, как и большинство подобного низкоуровневого софта. Компилировать следует под архитектуру процессора, установленного в роутере. Установить модули можно с USB флешки. Из ограничений - объём ПЗУ роутера. У моего dlink dir-620 места было всего 8 МБ, сама OpenWRT занимала 7 МБ, мало что влезло. Перешел на асусовскую прошивку от падавана, там и торрент-клиент встроенный.
Свою прошивку тоже можно написать, опять же, смотрите исходники OpenWRT или падавановской прошивки. Но порядок сложности уже другой