Openwrt的自动化配置

Openwrt的luci给用户带来了易用的图形化界面,然而Openwrt终归是Linux,命令行依旧是无法抛弃的。

命令行高效,强大,但不够人性化。于是乎,把一些简单常用的功能用c#写了个小程序,一键完成。

以修改一个宽带账号密码为例,首先还是模拟登录SSH。这里用到了SharpSSH这个开源的组件

项目的主页在此http://www.tamirgal.com/blog/page/sharpssh.aspx

里面也有源码下载。下载源码编译一下,得到dll文件,这源码就先放一边了

新建一个c#工程。既然要用SharpSSH,添加引用是必须的,代码自然也要引用相应的命名空间

using Tamir.SharpSsh;

连接很简单,基本设置好地址,用户名,密码就可以了

string IP = "192.168.1.1";
string Username = "Usr";
string Password = "Pwd";
SshStream ssh = new SshStream(IP, Username, Password);
ssh.Prompt = "#";
ssh.RemoveTerminalEmulationCharacters = true;
ssh.Write("uci set network.vwan"+Number+".username=" + Account);
ssh.Flush();ssh.Write("uci set network.vwan"+Number+".password=" + Account_Pwd);ssh.Flush();ssh.Write("uci commit network");ssh.Flush();ssh.Write("ifup vwan"+Number);ssh.Flush();

这里没有读取输出,一键操作嘛,输出不看也罢,测试过没问题就OK了~

以上程序完成的就是简单修改宽带账号密码,保存配置,然后重新拨号的过程。

时间: 2025-01-17 09:13:13

Openwrt的自动化配置的相关文章

Spring Boot 探索系列 - 自动化配置篇

26. Logging Prev  Part IV. Spring Boot features  Next 26. Logging Spring Boot uses Commons Logging for all internal logging, but leaves the underlying log implementation open. Default configurations are provided for Java Util Logging,Log4J, Log4J2 an

Esxi自动化配置脚本

记录一下ESXi自动化配置脚本,脚本功能及脚本如下: 创建站点名称: 配置IP和vmotion IP及子网掩码 配置Vlan 删除默认端口组 增加vSwitch 设置NTP ##################################################################################################################### ##  $FileName: esx_conf.ps1 ##  $Version: 1.2

PHP网站自动化配置的实现

一直都在用yii2做项目,有在用自动化配置,但是没有自己去配置过.中午没事去看了下yii的初始化代码,发现都是php而已! yii2初始化项目代码 所以,我们做项目肯定是可以用php做的,于是我新建了个文件夹,名为autoConfig,里面创建了个init,里面写了如下代码: if(!file_exists('./uploads/')){ if(!mkdir('./uploads/')){ echo 'fail to make ./uploads/ file!'; }else{ echo 'ma

Ansible自动化配置实战

Ansible自动化配置实战 1.Ansible基本概述 ? Ansible是一个配置管理系统configuration management system你只需要可以使用ssh访问你的服务器或设备就行. 2. Ansible能做什么 ? ? ansible可以帮助我们完成一些批量任务,或者完成一些需要经常重复的工作. ? 比如:同时在100台服务器上安装nginx服务,并在安装后启动服务. ? 比如:将某个文件一次性拷贝到100台服务器上. ? 比如:每当有新服务器加入工作环境时,你都要为新服

Ubuntu 16.04 163网易源设置(自动化配置脚本)

1.简介 1.1 介绍 ????很多时候,为了方便 操作,条件允许的情况下,直接 联网 进行安装,但是 系统 所配置的 apt源 配置的 url 地址 并非 国内的,获取资源很慢,所以 需要 配置成 国内的 源,本人 喜欢 163网易源,根据个人喜好 自行选择???? 1.2 操作系统 ## 本文操作系统 Ubuntu 16.04 amd64 ## 发行版本号 xenial # lsb_release -a ???? 2.apt 源 2.1 源备份 ## 备份原有的源配置文件 # cd /etc

OpenWrt 中安装配置Transmission

参考文章https://wiki.openwrt.org/doc/uci/transmission 1. 安装包必装的 transmission-daemon-openssl (后台服务)选装的 transmission-cli-openssl (命令行管理) transmission-remote-openssl (远程UI管理) transmission-web-openssl (web管理)我选择的是 daemon 和 remote, 在编译OpenWrt的时候已经加入另外需要安装一个客户

使用工具自动化配置读取

当你知道使用配置代替HardCode说明你从新手变成了一名初级程序,当有一天你意识到你的配置是需要使用工具去驱动的,这时候你已经走在了进阶为行家的路上了.我之前看有些朋友写的配置读取工具类是针对一个一个Model去写,每个Model都翻一种花样去写,我想说这代码看起来就像是喝醉酒之后写的.好了,现在该醒醒酒了,下文讲一个胡乱编造的故事权当娱乐 小明在开发一款游戏,由于游戏中需要调整的参数太多,于是小明把各个人物的属性都序列化在Unity的Inspect中显示.开发了几天之后小明发现自己需要配置的

智能小车25:openwrt的网络配置

先看一下如何用上级路由器来访问我们的openwrt.之前老配错,错了就成了板砖,不敢配了.今天买了个openwrt,好好学习了下,实现了几十次,排除了路由器不稳定等情况,终于实验和学习到了正确的配置. 1.刷好的openwrt路由器一般都有一个桥接了lan和wan的一个接口,有默认的无线连接master.这样我们才可能通过无线来访问到这个路由器.如下图: 原来这个ip是192.168.1.251,我们先把它改成192.168.2.251,注意一定要同时改网关为192.168.2.251,不然就连

基于echarts,java的自动化配置报表项目构建

概述 新增条件 新增输入框类型条件 新增固定单选列表类型条件 新增动态单选列表类型条件 新增固定多选框类型条件 新增动态多选框类型条件 新增表格 新增图形 保存报表 资源管理配置 查看报表是否成功 手动写报表 概述 原文链接:http://blog.csdn.net/u011506468/article/details/47682417 因为之前公司对内的报表需求太多,开发太累,便自己写了一个自动化构建报表的东西,后续还可以更加完善.现在把我的思路写下来.最近可能会完成更高级的配置化报表,完成后