OpenWrt电信闪讯插件编译与使用
在 GitHub 上有个基于 OpenWrt 的开源闪讯项目,通过这个项目可以为 pppd 添加一个加密用户名的插件,使得路由器可以根据时间随机数动态生成用于拨号的真实用户名。虽然这个项目在几年前已经没有人维护了,但在目前(2020年)的杭州地区,实测还是可以使用。
下面就是针对这个闪讯插件的编译与使用情况,在网上资料的整合与测试下,进行的相关总结。
闪讯插件编译- 编译环境搭建编译所需操作系统使用Linux进行编译,OpenWrt 官方推荐使用 64 位的 Ubuntu 系统,推荐使用 18.04 的版本进行编译,如需在 Windows 虚拟机下安装,可以参考《言小五系列教程之Win10电脑VirtualBox虚拟机安装Ubuntu18.04.4 LTS上篇》和《言小五系列教程之Win10电脑VirtualBox虚拟机安装Ubuntu18.04.4 LTS下篇》
安装编译所需依赖包12345sudo apt-get updatesudo apt-get upgrade -ysudo apt-get install -y g++ libncurses5-dev zlib1g- ...
Teambition 网盘评测 | 一个打破现有网盘市场格局的产品
国内云盘业务从2009年开始有所生机,国内第一批网盘产品陆续出现,正式标志着中国互联网用户步入个人云存储时代。2012年,金山推出了百G大容量的免费网盘,网盘大战随即拉开序幕,多家互联网巨头闻风而动,纷纷力推自家的网盘业务。
国内网盘市场之困但是好景不长,各个巨头通过打价格战,赠送几T到几十T不等的网盘储存空间,以便保留用户。但是网盘付费转化率过低还是让这些巨头在网盘业务下持续亏损。
2016年3月,115网盘关停部分功能、阿里旗下UC网盘终止存储服务。4月,新浪微盘停止普通用户存储服务、迅雷快盘(原金山快盘)停止个人用户的存储服务、腾讯微云关闭部分功能;5月,华为网盘停止用户数据存储分享服务;10月,360网盘宣布逐步关闭个人云盘服务。
2016年被称为国内网盘市场最黑暗的一年,众多玩家宣布退场,网盘行业被重新洗牌。
机遇尽管网盘市场众多玩家纷纷退场,但是网盘受众用户的热情却丝毫不减。根据艾媒咨询统计的数据显示,在近五年除了因为2016年众多网盘产品退出市场,使2017年网盘行业的用户规模有所下降之外,其他的时间段均呈现上涨趋势。截止至2019年个人云储存市场的用户规模已经达到4.0 ...
ListView控件的创建与使用
通过创建ListView控件并利用适配器将数据传入ListView以达到目标效果,使用ViewHolder对运行效率进行优化并添点击item产生的交互作用,增强实用性。
ListView效果:
1. 添加ListView控件1234<ListViewandroid:id="@+id/list_view"android:layout_width="match_parent"android:layout_height="match_parent" />
2. 创建自定义ListView中每一item的布局fruit_layout.xml
12345678910111213141516<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layou ...
Android UI布局基础知识总结
对于UI的基础内容的学习,包括弹出对话框的创建与自建控件布局的练习
AlertDialog效果:
AlertDialog可以在当前的界面弹出一个对话框,这个对话框是置顶于所有界面元素之上的,能够屏蔽掉其他控件的交互能力,因此AlertDialog一般都是用于提示一些非常重要的内容或者警告信息。比如为了防止用户误删重要内容,在删除前弹出一个确认对话框。修改MainActivity中的代码,如下所示:
1234567891011121314151617181920212223242526public void onClick(View v) { switch (v.getId()){ case R.id.button: AlertDialog.Builder dialog = new AlertDialog.Builder (MainActivity. this); dialog.setTitle("This is Dialog"); ...
C++ Primer Plus 笔记
学习C++ Primer Plus本书,有感觉比较重要的点进行相关记录
第三章cout控制符dex hex oc 分别指示cout以十进制 十六进制 八进制方式显示整数 (默认以dex显示)
修改格式后,之后所有的cout所输出的数字均为所修改的格式。
用法:
12345678910111213141516171819// hexoct2.cpp -- display values in hex and octal#include <iostream>using namespace std;int main(){ using namespace std; int chest = 42; int waist = 42; int inseam = 42; cout << "Monsieur cuts a striking figure!" << endl; cout << "chest = " << chest << &quo ...
Java对于字符串的处理总结
操作少量的数据使用 String;单线程操作大量数据使用 StringBuilder;多线程操作大量数据使用 StringBuffer。
==charAt() 方法==
charAt() 方法的作用是按照索引值获得字符串中的指定字符。Java规定,字符串中第一个字符的索引值是0,第二个字符的索引值是1,依次类推。例如:
12String str = "123456789";System.out.println(str.charAt(0) + " " + str.charAt(5) + " " + str.charAt(8));
==contains() 方法==
contains() 方法用来检测字符串是否包含某个子串,例如:
12String str = "weixueyuan";System.out.println(str.contains("yuan"));
==re ...
C语言文件及其读写
1. 需要了解的概念包括:数据流、缓冲区、文件类型、文件存取方式
1.1 数据流:
指程序与数据的交互是以流的形式进行的。进行C语言文件的存取时,都会先进行“打开文件”操作,这个操作就是在打开数据流,而“关闭文件”操作就是关闭数据流。
1.2 **缓冲区(Buffer)**:
指在程序执行时,所提供的额外内存,可用来暂时存放做准备执行的数据。它的设置是为了提高存取效率,因为内存的存取速度比磁盘驱动器快得多。
C语言中带缓冲区的文件处理:
C语言的文件处理功能依据系统是否设置“缓冲区”分为两种:一种是设置缓冲区,另一种是不设置缓冲区。由于不设置缓冲区的文件处理方式,必须使用较低级的I/O函数(包含在头文件io.h和fcntl.h中)来直接对磁盘存取,这种方式的存取速度慢,并且由于不是C的标准函数,跨平台操作时容易出问题。
下面只介绍第一种处理方式,即设置缓冲区的文件处理方式:
当使用标准I/O函数(包含在头文件stdio.h中)时,系统会自动设置缓冲区,并通过数据流来读写文件。当进行文件读取时,不会直接对磁盘进行读取,而是先打开数据流,将磁盘上的文 ...