发现你身边的“优质应用”

0%

文章更新

20200502 重构文章以增加可读性

写在前面

OpenWrt 是适合于嵌入式设备的一个 Linux 发行版,小苏为大家带来的是自己编译的 OpenWrt 固件~

经过很长时间的打磨 (咕咕),“自编译 OpenWrt 固件” 现已支持树莓派全系设备(1B~4B),竞斗云和 x86_64 设备。

得益于 Github Action 的支持,在之后的版本中,固件将会基于 Github Action 进行更新,暂定每日更新一个版本。这种 “偏向激进” 的更新策略可以让大家以最快速度体验到上游源码和第三方包项目在 OpenWrt 上提交的优化和新特性,当然可能会出现一些 Bug 和不稳定因素,但考虑到折腾 OpenWrt 的目标用户都是 “极客” 用户,长远来说,这种更新策略应该利大于弊。

阅读全文 »

文章更新

20191006 初次成文

20191117 修复文章内因 Markdown 渲染导致的命令错误问题

写在前面

今天小苏为大家带来的是(咕很久的)在 Docker 中运行 OpenWrt 做旁路网关的教程~

场景1

众所周知,OpenWrt 是面向嵌入型设备的 Linux 发行版,所以 OpenWrt 系统运行时的资源占用率会很低。而树莓派的硬件性能要比普通路由器要高很多。虽然树莓派在硬件配置上的绝对优势能让 OpenWrt 有更大的施展空间,但相应的,硬件上的优势也带来了资源的浪费(OpenWrt 在树莓派上正常运行时,资源占用率只有不到 1/10)。再加上 OpenWrt 的可扩展性不是很强,所以很多能在 Raspbian/Debian 上能做的事情在 OpenWrt 上往往无法实现。

所以,可不可以让 OpenWrt 与我们常用的系统共存呢?这样,我们可以享受到 OpenWrt 的功能,又可以让在我们常用的系统中完成一般性的 Linux 工作。

通过 Docker,完全可以。

场景2

OpenWrt 的功能固然强大,但是树莓派的板载网卡无线吞吐能力实在是无力吐槽,能否将现有路由器与树莓派结合使用,同时发挥现有路由器的信号优势与 OpenWrt 的软件优势呢?

通过旁路网关,完全可以。

阅读全文 »

文章更新

20190625 初次成文

写在前面

LXC (LinuX Contains) 是操作系统级别的虚拟化技术,它可以提供轻量级的虚拟化、以便隔离进程和资源。容器有效地将操作系统管理的资源划分到独立的组中,并把各个独立的组进行隔离,可以让各自的组占用独立的资源,完成自己独立的任务。

LXC 容器已经成为 OpenWrt 项目的一部分,简单来说,LXC 允许你在 OpenWrt 中运行多个不同的系统,比如 Ubuntu、CentOS、Alpine Linux 等。

如此一来,很多 OpenWrt 上跑不起来或者暂时未适配的应用现在就都能跑啦~

LXC 的 Luci APP 源码托管在:

https://github.com/openwrt/luci/tree/master/applications/luci-app-lxc

在小苏的“自编译 OpenWrt 固件”中也加入了 LXC 及其 Luci APP 的支持,但是在国内范围内介绍 OpenWrt LXC 特性的文章不是很多,而 LXC 自身又是极其强大的一个东西,所以值得 鸽子王 小苏特地写一篇文章来介绍~

阅读全文 »

文章更新

20190323 初次成文

写在前面

很久之前就打算写一篇有关 OpenWrt 编译的教程,结果因为自己的原因,这篇教程从 2018 年拖(咕)到了 2019 年 3 月 (也就是说这算一篇跨年教程了?),趁着论文前的这段空档时间,再不抓紧时间把之前挖过的坑填上的话以后就有可能咕更久了,于是就有了这篇教程~

在之前的文章中小苏有提到过 “我的编译教程要比别人的更简单”,为了“让编译更简单”,在这篇教程中小苏将会使用打包好的 Docker 镜像作为 OpenWrt 的编译环境,并且会将编译过程中需要下载的众多源码和依赖包单独提供出来,尽量减少大家编译时漂洋过海下载源码包的麻烦。

特别说明:本文中提供的 dl.tar.gz (下文中会提及) 不保证 100% 适用于除树莓派外的其他情况和设备,除此之外的内容应该适用于其他大部分设备。

阅读全文 »

文章更新

20190324 初次成文

写在前面

在上一篇文章中,小苏介绍了 OpenWrt 编译环境的搭建,源码的拉取,以及编译前的一些准备,对于编译前参数的选择,以及编译时可能遇到的问题虽然在上一篇文章中一笔带过,但实际上,这两部分才是 OpenWrt 编译过程中的重头戏,接下来小苏就以树莓派的 OpenWrt 编译过程为例,为大家详细说说这两部分的内容吧~

阅读全文 »

文章更新

20170525 初次成文

问题提出

在实际网络环境中,树莓派常常处于内网环境下,由于内外网相互隔离的原因,我们无法在外网访问处于内网中的树莓派。为了解决这个问题,"内网穿透"技术应运而生。

FRP是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https协议。在这篇文章中,小苏将为大家介绍FRP服务端和客户端的配置,通过FRP,让树莓派穿透内网,使大家在外网环境下也能轻松访问处于内网中的树莓派~

本篇文章只做抛砖引玉目的 ,请大家在看完文章之后再仔细阅读一下FRP官方文档以了解详情~

阅读全文 »

文章更新##

20170328 初次成文

20170417 更正了有关Autojump的内容

问题提出

今天小苏要为大家介绍的是如何在树莓派上安装和配置zsh,zsh和系统默认的bash一样,都是Linux系统的一种Shell。相对于默认的bash来说,zsh的长处在于自定义与可扩展程度强,人性化程度高。在写这篇文章之前,小苏拿"树莓派 zsh"做关键词在Google上搜索了一下,搜索结果中似乎没有文章能比较系统地介绍如何在树莓派上安装和配置树莓派,所以干脆自己写一篇喽~

阅读全文 »

文章更新

20170606 初次成文

问题提出

在之前的文章中:

FolderSync:文件夹同步&备份利器

小苏介绍过使用FolderSync在设备间同步文件的方法,同样的,FolderSync也适用于树莓派,比如你可以采用FTP方式或者SFTP方式在树莓派和局域网设备之间同步文件。但这两种方式有一个最大的缺点,就是"速度慢"。在一般情况下,在局域网中使用FTP或者SFTP的传输方式只能达到3m/s左右的速度(树莓派的网口为100Mbps),因此FTP/SFTP方式显然不能满足我们对于文件同步的需求,所以,我们需要一种更快的的方式来完成树莓派与各设备间的文件同步工作,Syncthing就是方案之一,使用Syncthing在局域网各设备之间同步文件,可以达到6m/s的速度。

阅读全文 »