树莓派安装koa2/flask+react+nginx获取内网内路由器WAN口ip并发布在服务器上

前言

学校的上网是通过dr.com客户端(v6.0pppoe)版拨号上网,所以可以通过路由器pppoe的方式拨号上网,但是经常会重连,而且分配的ip是变化的,所以在图书馆或者实验室不好操作宿舍的电脑,所以通过这样的办法实时获取路由器wan口ip,顺便尝试一下koa2+react前后端分离的东西,同时顺便以后在树莓派上扩展aria2等工具。

依赖

  • nodejs
  • python
  • nginx
  • create-react-app koa2
  • ssh2-utils或paramiko
    ssh2-utils是js的一个ssh库,可以连接路由器的ssh获取wanip地址

源代码

  1. 文件夹和文件结构如图所示
  • koa2
    • controllers
      • index.js
    • app.js
    • controller.js
    • package.json
  • rasp
    • public
    • src
    • package.json
  1. 进入koa2文件夹
    npm install koa2 koa2-bodyparser koa2-cors koa-router ssh-utils
  • koa2/App.js
const Koa = require('koa');//导入koa
const router = require('koa-router')();
const bodyParser = require('koa-bodyparser');
//创建一个Koa对象表示webapp
const app = new Koa();
const controller = require('./controller');
var cors = require('koa2-cors');
app.use(cors());
app.use(controller());
//监听3000端口
app.listen(5000);
console.log('app started at port 5000...');
  • koa2/controller.js
const fs = require('fs');
function addMapping(router, mapping) {
    for (var url in mapping) {
        if (url.startsWith('GET ')) {
            var path = url.substring(4);
            router.get(path, mapping[url]);
            console.log(`register URL mapping: GET ${path}`);
        } else if (url.startsWith('POST ')) {
            var path = url.substring(5);
            router.post(path, mapping[url]);
            console.log(`register URL mapping: POST ${path}`);
        } else {
            console.log(`invalid URL: ${url}`);
        }
    }
}

function addCo
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值