雪野子编程随想

A dream of Python programmer

0%

设定
名字 雪野子(しらたまこ)
誕生日 1月16日
体長 146cm
瞳の色 異色瞳(左蓝右红)
髪の色 白
キャラクターデザイン 雪野しらたま&見月&朔间棉
人设来源:
眼镜和水手服:DECO.27&GUMI 《弱虫モンブラン》 曲绘
裙子和裤袜:《星空鉄道とシロの旅》(しらたま)音理(ねり)
新增设定稿来自 米画师 舒肤鸡sama

春私服:白丝版

春私服:黑丝版

雪野子(设定稿低清版).png

设定稿(by 米画师 蓝白姬)

dngtd.png

完成效果图(by 朔间棉)

鸭子坐_waifu2x_2x_2n_jpg.png

Q版小人(by 米画师 绮罗北斗星)

立绘 by 见月

早期立绘(by 见月)

复刻自 UPC Linux 在2015年1月8日发布的原文:笔记本购机指南

相信不少同学在这个假期都要买电脑了,你是否很迷茫,不知道买一台啥样的电脑?下面大体给出一些参考。

首先说明:

  1. 本指南可以让你对购买笔记本这方面有一定的认识,但是不保证你看完就会买。如果亲自去买,最好找个懂行的人陪着,或者去专卖店。(电脑城 jianshang 多)
  2. 如果不知道为什么很多专业人员只认准苹果,请不要买苹果电脑。
  3. 系统时间用长了都会卡,不管你的电脑配置多么好。没装过 Windows 的苹果电脑除外。
  4. 现在笔记本电脑的 CPU、内存、显卡什么的性能都不差,哪怕是现在的游戏本,最差的可选配置都是 256GB 的 SSD了,所以不用担心硬盘性能不够用的问题,要担心的只有坑爹厂商给你整个什么 QLC 的 SSD唯独硬盘不太给力。所以说,更换固态硬盘是提高电脑速度的非常有效的手段

了解需求

首先要确定自己的电脑操作水平(爱不爱折腾)对电脑的需求(我买电脑要做什么)

  • 如果你明确要用到大型软件(AutoCAD、3dsMax、Solidworks)或者打大型游戏(lol和cf不算),或者搞编程(仅仅局限于 C 语言课程的不算。如果只是为了 C 语言课,一个能接键盘的手机就够用了),那当然买个配置好的了。
  • 如果你是学理工的,感觉没准会用到大型软件,也可以买个好的,但是主流配置就够用了。因为软件不是经常用,配置太好倒是浪费。
  • 如果你没什么需求,也就是看看网页,听听课看看视频什么的,主流配置其实有些浪费了。

经常有人因为不会操作,装了一堆垃圾软件导致电脑卡得要死。对于这种情况,买外星人都不够用。

基本常识

处理器

处理器只有两家,一家是Intel的,另一家是AMD,什么,你说 Apple 有 M1 和 M1 的改进版 M1X?

处理器没法更换,除非你买到了蓝天模具的准系统。可以买个好一些的,几年不过时。当然也要考虑价格。

JS (奸商) 喜欢拿“四核(AMD)比两核(Intel)快”的概念唬人。拿不同牌子的处理器比较核心数是没有意义的。虽然现在大家都说 AMD YES,因为 AMD Ryzen 靠设计和制程优势在多核上打败了 Intel,但是如果你要买 AMD 建议从 Zen 和 Zen + 之后开始买,否则那堆 bug 就有你受的,而且锐龙的 CPU 有一点小毛病,比如移动端砍三级缓存,Ryzen Master 不能和 Hyper-V 共存,Zen 3 移动版在某些使用环境下会把 CPU 频率锁死在 0.3 GHz。此外,不管电脑是几个核,电脑都是只有一个处理器,总不能比两个处理器快吧?

(1) Intel

市面上都是(酷睿)i3、i5、i7,它们都是 Intel 的,在同一代下性能 i7>i5>i3,不然就会钻进 JS 的什么 i5-6600K 免费给你换成性能更好的 i7-2700K 这样的话术中(常见于各种灵车整机) ,价格也是如此。

注意 i3、i5、i7 有低电压版本。从性能上讲 i5 低电压 = i3,i7 低电压 = i5。不过实际上差距并不像想象的那么明显。
补充:但是 11 代的 TGL-H 还是很强的,一个 1135G7 都能把我 4 年前的 7700HQ 摁在地上锤了。

那么如何区分标准版本和低电压版本?

注意问清 i3、i5、i7 的完整型号,应该类似于 i5-11300H。最后一个字母“H”表示 High-Performance 版本,而字母“G”表示低电压集成高性能核显版本,似乎从10代之后 Intel 就没有以“U”为后缀的低电压 CPU 了,AMD 的锐龙还是有的。JS 如果想坑你,会直接说那个是i5、i7。

低电压和标准电压处理器有什么区别?

  1. 前面提到了,低电压处理器的性能要比标准电压的差。
  2. 低电压处理器做工比标准电压的复杂,价格会贵一些。

以上两条都是缺点。那选用低电压处理器的理由是什么呢?

超薄本!低电压处理器功耗小,省电,也方便做得更薄。

笔记本是拿来用的。选用什么样的本子,还是要看实际需求。

(2) AMD

Athlon(速龙)、Ryzen(锐龙)是 AMD 的。

AMD 处理器比 Intel 的要便宜一些,质量也不差,现在由于制程优势,在性能方面 AMD 确实要比 Intel 强,但是 Zen 和 Zen + 这两代由于设计缺陷经常会有各种奇怪的 Bug,如果没有特别要求的可以入手。不过打大型 3D 游戏的选择 Intel 和 AMD 都一样。

如果想装黑苹果,千万不要买 AMD 处理器的电脑。苹果系统不支持 AMD 处理器

内存

一般 4GB 已经够用。如果电脑是 2GB 的话那是小了一些

在 Chrome 等内存吞噬者的加持下,我们推荐新买笔记本起码需要 8 GB 的内存,最好是 16 GB 网上。

当然,一般电脑都有两个内存插槽,所以以后内存还可以升级。联想小新、小米笔记本之类的轻薄本除外,这类笔记本的内存是焊死在主板上的,建议最好奔着 16 GB 的型号买。

显卡

显卡有三家:一家Intel的,一家Nvidia的(简称N卡),一家AMD的(简称A卡)。

很多笔记本是“双显卡”。这种情况下笔记本有两个显卡,一个叫核芯显卡,一个叫独立显卡。

注意:

  1. 显存大小基本上没有意义。你应该更关心显卡的具体型号(例如RTX3060、RX6600M、Iris Xe、Vega M)。
  2. 如果是出于游戏用途,不建议选 AMD 显卡,因为主流游戏对英伟达显卡的优化较好。
  3. 如何判断和比较显卡性能?百度“笔记本显卡天梯图”可以得到一个参考答案。
  4. 打大型游戏会产生很多热,所以还要关注一下散热。
  5. 不打大型游戏的话,实际上没必要买双显卡。现在核芯显卡(2021年的 Iris Xe 或者是 APU 的 Radeon Graphics)的性能也不差了。

(1) Intel 显卡

Intel 一般是核芯显卡。如果笔记本是单显卡,那么可能就是 Intel 的。

Intel 的性能不是很好。如果对显卡有要求,例如打大型游戏(lol、cf 不算,特别是 cf,随便捡个显卡都能玩),当然要买双显卡。

(2) N 卡

黑苹果本来是支持 N 卡的,但是我们的笔记本都用 Optimus 技术,这是苹果系统根本不支持的,而且从 macOS 10.5 往上的 Catalina,Apple 和老黄闹翻了,所以就算 OpenCore 和 Clover 带有显卡的驱动,因此还是只能使用核显。

再补充一点,2021年由于全球矿潮和芯片紧缺,我本人暂时不推荐购买任何游戏本,因为你永远不知道你的游戏本是不是在矿场里做了几天或者几个月的矿工。

硬盘

常见的硬盘分两种,一种是机械硬盘,一种是固态硬盘。由于技术和成本原因,大多数笔记本都是机械硬盘,现在大部分你能买到的笔记本一般都标配固态硬盘,少数游戏本带有可选的机械硬盘。

机械硬盘一般分 5400 转和 7200 转的,当然后者速度更快,虽然没有明显快多少。

固态硬盘速度更快。在固态硬盘上系统开机速度可以达到只有几秒。不过固态硬盘价格很贵,而且容量不是很大(120G 不足 400 元,而机械硬盘 500 元能弄到一个 T)如今一块 500 GB 的 NVMe M.2 固态硬盘一般情况下 400 以内就能拿到,更不要说便宜的 256 GB 了 。

除非你对电脑硬盘容量有特别的需求,一般人都用不到 100G

建议有钱的买个带光驱的电脑,这样就可以把光驱拆掉,把机械硬盘放到光驱位,然后再加个固态硬盘

建议在购买笔记本的时候预先看一下这个型号的拆机图,有的笔记本内置固态依然是焊死在主板上的,有的笔记本虽然有多个 M.2 硬盘接口,但是或许其中一个只能使用 NGFF 标准,也就是走传统的 SATA3 协议的固态硬盘。

显示屏

13 寸或 14 寸算是比较“标准”的尺寸了,当然如果你是大屏党,搞个15.6寸或者17.3寸也可以。

13 寸最合适的屏幕分辨率是1366x768,考虑到现在(2021年),不少轻薄本都上了 1080P ,甚至 2K 以上,而且 Windows 10 的高分屏支持也得到了一定的完善,因此我们还是不推荐低分辨率的笔记本了。,如果屏幕尺寸不加大而屏幕分辨率更大,屏幕文字看起来会很小。

由于 Windows 软件对高分屏支持有限,所以尽量不要买那种分辨率特别高的电脑。否则你会因为文字很小、放大之后变模糊而感到遗憾。

触控其实比较鸡肋。无论是Windows 8,还是 Unity 或针对触控设计的 GNOME 3 桌面环境,触控都不是很实用。不如另外买个平板电脑

除了分辨率和尺寸之外,你还要注意屏幕的材质,色域和刷新率。一般来说,现在的笔记本屏幕材质主要分为 TN、VA、IPS 和 OLED 四种,TN 色域最差,可视角度最差,但是刷新率最高;一般常见的屏幕都是 IPS 或者 OLED 的了。大部分你能买到的不是廉价的轻薄本都起码有 72% NTSC 的色域,有的也许还有 HDR 支持。一般笔记本的刷新率都是 60Hz,超过 75Hz 的高刷只有在游戏本上比较常见。

无线网卡

  • 在 Linux 系统下,Broadcom 某些型号的无线网卡需要自己装驱动。
  • 黑苹果不支持 Intel 的无线网卡,因为全世界都没有驱动(现在有了)!(Atheros 和 Broadcom 部分牌子免驱动)当然可以换网卡,不过联想和惠普的电脑要刷 BIOS 才能换!

3G 上网卡:联想和惠普电脑的 InsydeH2O BIOS 有白名单机制,需要换无线网卡或 3G 上网卡的慎买。

现在的(不是焊死在主板上的)无线网卡分为两种接口,一种是 M.2 A+E Key,一种是 M.2 E Key,前者使用的无线网卡蓝牙功能走 USB 通道;后者使用的蓝牙功能走 CNVi 或者 CNVi 2 通道,需要注意的是,通常前者的主板无法兼容后者。

操作系统

装什么系统一点都不重要。因为无论是什么系统,都是可以重装的。而且很多人用一段时间就重装了。

由于正版 Windows 是要钱的,所以预装 Windows 系统的电脑可能比其他系统的贵一些(我只是说可能)。准备换系统的请注意。

笔记本跑 Linux 系统也没问题,大多数硬件都无需再装驱动(双显卡除外)。不过还是容易在以下几方面遇到问题:

  1. 不会处理双系统问题,尤其是 UEFI 的问题。
  2. 某些无线网卡有问题,或者没装驱动(大多数无线网卡都免装驱动)
  3. 不会配置双显卡,导致电脑发热过大。(新版 Ubuntu 基本上已经解决,其他发行版就不好说了)

如果电脑预装了 Linux 系统,建议你把它留下来,因为在 Linux 里装驱动可比在 Windows 下麻烦多了。

供电

在 USB PD 标准出来以前,各大厂商的笔记本都是使用圆孔或者方孔的 DC 接口供电的,但是 PD 出来之后,你可以用一根 5A 的 USB C2C 线给笔记本充电,就算是以前那些 DC 供电的笔记本,也可以通过一个叫做“诱骗线”的东西转换。所以我们推荐最好买带有 USB PD 支持的笔记本。

其他

建议选用便于升级的电脑,例如两个内存条插口,有雷电接口等等。

常见配置

轻薄本配置

  • CPU: 11代低压酷睿 i5/i7 或者 Zen 3 R3/R5
  • 内存:8 GB 或者 16 GB
  • 硬盘:256 GB 往上的 SSD
  • 显卡:Iris Xe 核显或者 Vega 核显,当然,也有 NVIDIA 的 MX 系列独显
  • 适合人群:轻度办公或者拿来做终端
  • 价格区间: 3000-6000
  • 主流机型:戴尔灵越,联想 ThinkPad E 系列,联想 ThinkBook,小新,RedmiBook,小米笔记本,惠普星系列,战66

游戏配置

  • CPU: 11代标压 H35/H45 酷睿或者 Zen 3 R3/R5
  • 内存:16 GB 往上
  • 硬盘:256 GB 往上的 SSD
  • 显卡:NVIDIA RTX 30 系显卡或者 AMD Radeon RDNA2 显卡
  • 适合人群: Steam 玩家
  • 价格区间:6000-12000
  • 主流机型:戴尔游匣,联想拯救者,华硕幻系列,天选系列(二次元笔记本警告)

不折腾配置/果吹配置

Apple MacBook Pro/Air 2021/2020

只要用了它,你就会断绝一切使用 x86-64 的想法。

(现在是2021年了,我觉得该买什么配置大家心里都有数了吧,因此下面的配置各位看看就好。)

主流配置

  • CPU:第四代酷睿 i5
  • 内存:4GB 或 8GB
  • 硬盘:7200 转机械硬盘 500G(更大的硬盘容量有需求可以选择)
  • 显卡:锐炬核芯显卡,或者1G/2G入门级别英伟达显卡
  • 适合人群:聊个 QQ 看个网页做个 CAD 没事了撸两把的(LOL 流畅运行没问题)
  • 价格区间:3000~5000 之间
  • 主流机型:戴尔灵越系列、联想、华硕、宏碁、微星、东芝、三星,总之这个价格区间的电脑一板砖拍下去能拍一大把。

喜欢折腾的配置

  • CPU:第四代酷睿 i7 标准电压版(好吧其实预算不足的话 i5 标压也可以)
  • 内存:8~16GB 多了更好
  • 硬盘:最好上固态硬盘,装系统开虚拟机都快一点,并且多次装系统对固态硬盘的影响较小
  • 显卡:无所谓,尤其是玩黑苹果的,有独显也用不了,不如直接上锐炬
  • 适合人群:运行各种运算软件,各种装系统,各种虚拟机,顶多玩个 LOL,不怎么玩大型游戏的可以考虑一下
  • 价格区间:5000~6000
  • 机型:一般这么用电脑的动手能力不是问题吧?建议买了 CPU 好的电脑自己买件升级内存和硬盘,性价比最高,一套下来也就 6000 元

因为某人比较懒,直接买的顶配未来人类 X411,6600 大洋。

为这一类附上升级指南:

  • 想升级处理器:基本不太现实,选的时候尽量一步到位,还有 i7HQ 是焊死的,无法升级
  • 想升级内存条:各家差距不太大,反正别入杂牌的就好
  • 想升级机械硬盘:虽然我不知道你是怎么想的,反正我是不会闲的去换机械硬盘——不如买移动硬盘(如果非要买机械硬盘,希捷,西部数据,东芝,日立)
  • 想升级固态硬盘:浦科特,三星,东芝的比较好,寿命长,速度快,有人说英特尔的发热很恐怖,我也不知道实际情况,但是英特尔的速度也很快哦,金士顿的速度比较呵呵,质量还是比较可信,至于别的杂牌货,入了也是添堵

游戏玩家

注:LOL、CF等网游不属于此列。

  • CPU:其实没有更高的要求,不过建议上i7标准电压版本
  • 内存:建议 8GB 或以上
  • 硬盘:其实没有更高的要求,固态硬盘只是减少了打开游戏的时间,运行起来之后就没有任何区别了。由于大型游戏动不动就十几个几十个G,所以经常换游戏打的注意一下。
  • 显卡:预算充足可以选择英伟达较高端的显卡,预算不足的情况下可以选择 AMD R9 卡
  • 适合人群:大型 3D 游戏玩家(LOL、CF 不算!!!)
  • 价格区间:神舟、机械革命的话 6000 元左右,神舟据说质量还可以,机械革命不知道。微星、华硕、技嘉的本本质量也很可信哦,有些机型价格也可以承受(六千以内)。联想和戴尔游侠价格也是6000左右,不过散热渣渣,最好别入。
  • 未来人类,雷蛇,外星人,惠普傲慢价格感人

特别建议: * 此类别电脑不建议在京(er’shou)东(dong)上购买 * 不建议购入没有保修的准系统

不喜欢找麻烦的配置

单击此处

此电脑虽然稍微有些贵,但是系统非常稳定,从来不中毒,时间长了也不卡,不像某些系统隔三岔五就得重装。当然,你不能手贱装了 Windows,要不然这个配置的性价比太低了。

某人的笔记本配置

  • 电脑型号:X411

  • 操作系统:Windows 8.1 专业版 64 位(准备折腾黑苹果)

  • 处理器:Intel Core i7-4760HQ @ 2.10GHz 四核

  • 主板:Terrans Force X411(Intel Crystal Well)

  • 内存:16GB(SAMSUNG DDR3L 1600MHz)

  • 硬盘:Terrans Force 128GB SSD

  • 显卡:Intel Crystal Well Integrated Graphics Controller(2GB / 蓝天(CLEVO))

  • 显示器:LG LGD03FF(14 英寸)

  • 声卡:VIA

  • 网卡:Intel Enternet Connection I2170V / 蓝天(CLEVO)

我的笔记本配置

 - 型号:ASUStek GL553VD-7700
 - 操作系统: Windows 10 21H1 专业版 64 位/Apple macOS Catalina 10.15
 - 处理器: Intel Core i7-7700HQ @ 2.80GHz 四核八线程
 - 主板:Intel Kaby Lake-H HM175
 - 内存:三星 DDR4 2400 16GB
 - 硬盘: 海康威视 C2000 256GB NVMe M.2
 - 显卡:Intel 核芯显卡 630(GT2)/NVIDIA GeForce GTX1050 4GB
 - 显示器:AU Optronics B156HAN06.0 72% NTSC VA
 - 无线网卡: Intel Wireless-AC 9260 160MHz

首先,我们知道 EndangeredF1sh 大佬改进的 UPCNet 是不兼容 Padavan 的,因为hiboy的Padavan在存储位置上与OpenWRT有很大的不同,笔者在执行autoinstall.sh的时候就出现了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
./autoinstall.sh: line 3: readlink: not found
BusyBox v1.29.3 (2018-12-10 05:22:45 CST) multi-call binary.

Usage: dirname FILENAME

Strip non-directory suffix from FILENAME
ash: openwrt: unknown operand
Auto install start ...
./autoinstall.sh: line 20: opkg: not found
./autoinstall.sh: line 21: opkg: not found
Connecting to raw.githubusercontent.com (151.101.76.133:443)
UPCNet.sh 100% |********************************************************************************************************************************************************************************************| 1026 0:00:00 ETA
input stuID ->
input password ->
Select your service:
1. Campus Network Service
2. China Unicom Network Service
3. China Mobile Network Service
4. China Telecom Network Service
5. Campus Intranet

Enter selection [1-5] ->
sed: /etc/rc.local: No such file or directory
Auto Install Finished. Enjoy.

这样的一连串错误,那么这是不是代表着 Padavan 并不能使用 UPCNet 脚本呢?答案是可以的,但是需要比较麻烦的步骤。

  1. 确认自己打开了路由器的SSH功能
    在[高级设置]-[系统管理]-[服务]-[终端服务]-[启用 SSH 服务] 将 SSH 功能打开。如图所示:

  2. 使用 putty 或者 XShell 这样的 SSH 服务端连接上路由器,并且执行下列命令,切换到 /etc/storage 目录底下:

1
cd /etc/storage
  1. 通过下列命令或者 WinSCP 和 Putty SCP 等工具将 UPCNet.sh 上传到 /etc/storage 目录底下:
1
wget --no-check-certificate https://raw.githubusercontent.com/EndangeredF1sh/UPCNet/bash/UPCNet.sh && chmod +x UPCNet.sh && sh UPCNet.sh
  1. 执行 UPCNet.sh :
1
2
3
4
5
6
7
8
9
10
11
./UPCNet.sh
input stuID ->
input password ->
Select your service:
1. Campus Network Service
2. China Unicom Network Service
3. China Mobile Network Service
4. China Telecom Network Service
5. Campus Intranet

Enter selection [1-5] ->

关于账号密码的填写请参考 EndangeredF1sh 大佬的项目主页

  1. 在 Padavan 的设置下保存 /etc/storage: 高级设置 - 系统管理 - 恢复/导出/上传设置 - 点击 保存 /etc/storage/ 内容到闪存 右侧的“提交”按钮。如图所示:

如果觉得不放心,请在 SSH 环境下执行:

1
mtd_storage.sh save

Save storage files to MTD partition “/dev/mtdblock5”
Unlocking ‘Storage’ …
Writing from ‘/tmp/storage.tar.bz2’ to MTD ‘Storage’ … [ok]
Done.

  1. 在 高级设置 - 自定义设置 - 脚本 - 路由器启动后 里添加计划任务,以使脚本随着路由器开机而启动:
1
bash /etc/storage/UPCNet.sh
  1. 在 高级设置 - 系统管理 - 服务 - 其他服务 - Cron守护程序 (计划任务) 里添加计划任务,以使路由器能根据 crontab 运行脚本。
    定时规则可在 crontab guru 中生成。
1
* * * * * bash /etc/storage/UPCNet.sh

如图所示:

  1. 这样路由器应该就可以自动登录并且验证校园网了。

作者测试环境:
newifi 3 D2 (MT7261A)
Padavan hiboy版 3.4.3.9-099_8-11-4

  本文基于原 UPC Linux 博客记载的“石大与Linux”,基于现在(2019年年初)的校内情况整理而成。

校园网

  校内现有四家运营商承载网络:校园网(CERNET),中国移动(CMCC),中国联通(China Unicom),中国电信(ChinaNet),四家运营商在无线可以通过UPC这个SSID统一进行认证,也可以通过专用的802.1x接入点进行认证,有线仍然是统一认证方式。对于UPC和有线连接使用的锐捷ePortal认证方式,当然是支持Linux的;对于使用802.1x的认证方式,你有可能需要做一些改动才能让Linux连接上。

IPv6

  Linux 很早就支持 IPv6 了,如果你是在文理楼机房或者使用有线网络直接连接电脑上网的方式,那么你是可以在认证完之后直接连接到 IPv6 网络上的。在2018年9月开学后,无线网络(仅UPC)也支持了IPv6(仅电脑),所以连接UPC获取IPv6地址也是可行的。但是如果你想让手机获得校园网的IPv6地址或者是想给更多的设备接入IPv6网络,那么使用一台路由器是很有必要的了。普通的路由器并不能直接为连接至其上的设备提供到IPv6网络的连接,你可能需要一台类似极路由这样的设备或者是内置了NAPT66这个模块的Padavan固件路由器,这样你才能为路由器获得一个2001开头的IPv6地址并向其下的设备也分配内网IPv6地址。

校内网站与线上服务

  1. 教务系统
      在2019年4月8日之前的旧版教务系统只支持开启了兼容性视图的IE浏览器,所以显然和Linux无缘;但是在清明节假期之后,新版的教务系统大幅度改善了兼容性,所以在Linux下也能够正常访问了。(会长在 Chrome/Chromium 环境下测试能够正常工作)
  2. 联创打印
      显然不行,驱动程序必须在Windows环境下才能工作。当然你也可以选择基于手机客户端的替代品,多拉打印来解决。

    教学

      绝大多数老师,包括计通院的老师都在使用 Windows,除了会长上回在计通院某老师的办公室里发现了一台正在做训练的Ubuntu。

由于几周前在宿舍用学校的IPv6瞎折腾导致网络接口无法连接,而路由器端性能又弱,无法连接到学校的无加密ePortal认证网络或者是带有802.1x认证的加密网络,所以使用了一台 Nano Pi M1+360随身WiFi 充作无线转有线。
参考:https://www.raspberrypi.org/forums/viewtopic.php?f=27&t=17702
https://blog.csdn.net/wr132/article/details/78986190
需要:
1x 树莓派3 Model B/树莓派 Zero W/Nano Pi等单板电脑,最好是带有一个以太网接口,并且正在运行Debian或者Debian系的Linux发行版本
1x Debian系统支持的无线网卡(如果使用的是Pi 3B或者Zero W,则无需无线网卡)
1x 稳定的无线网络访问(可以在单板电脑上预先连接并设定好)

一. 准备工作

1. 将系统内置的IPv4地址转发功能打开:

nano /etc/sysctl.conf
在文件中加入一行:

1
net.ipv4.ip_forward = 1

然后重启

2. 安装必要的软件包

1
2
3
4
apt update && apt upgrade -y
apt install bridge-utils
apt install iptables
apt install dnsmasq

二.配置工作

1.使用bridge-utils在eth0(不同设备可能不一样)建立网桥

1
2
3
4
brctl addbr br0
brctl addif br0 eth0
ifconfig br0 192.168.1.1 up
ifconfig eth0 0.0.0.0 up

(为了防止与已有的IP地址设置发生冲突,你也可以修改第三行的“192.168.1.1”这个数值)

2. 配置iptables,在wlan0上启用NAT:

1
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

3. 启用dnsmasq,也就是DHCP服务器和DNS服务器

1
nano /etc/dnsmasq.conf

在其中添加一行:

1
dhcp-range=192.168.1.50,192.168.1.150,255.255.255.0,12h

(等号后面的四个参数:IP池起始段,IP池末尾段,子网掩码,租约有效期)
如果你在配置bridge-utils时修改了默认的192.168.1.1,请根据实际情况修改第一第二项参数的值。

三. 完成

到这步应该配置工作就全部完成了,你可以直接用网线把电脑和Pi的以太网口连接起来,有可能在电脑上需要手动设置dns才能访问网络,如果电脑迟迟没有获取到DHCP提供的IP地址,请重启Pi并再次执行设置步骤中的第一步和第二步。

众所周知,身为教育网 PT 站的北邮人是无法通过公网的 IPv4 环境访问的,访问需要使用教育网 IPv6 或者是公网 IPv6,那么如果在仅有 IPv4 的环境下应该怎么访问北邮人 PT 呢?

准备环境:

  1. 一台拥有公网 IP 的 VPS,如 Vultr,Cloudcone 等
  2. 一个搭建在上述VPS上的代理服务,如 SSR,V2Ray
    修改/etc/hosts,在文件的最下面加入两行:
    1
    2
    2001:da8:215:4078:250:56ff:fe97:654d bt.byr.cn
    2001:da8:215:4078:250:56ff:fe97:654d tracker.byr.cn
    然后保存即可,使用 curl -v https://bt.byr.cn,如果返回的内容如下面所示,则说明测试成功:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    * Rebuilt URL to: https://bt.byr.cn/
    * Trying 2001:da8:215:4078:250:56ff:fe97:654d...
    * TCP_NODELAY set
    * Connected to bt.byr.cn (2001:da8:215:4078:250:56ff:fe97:654d) port 443 (#0)
    * ALPN, offering h2
    * ALPN, offering http/1.1
    * Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
    * successfully set certificate verify locations:
    * CAfile: /etc/ssl/certs/ca-certificates.crt
    CApath: /etc/ssl/certs
    * TLSv1.2 (OUT), TLS header, Certificate Status (22):
    * TLSv1.2 (OUT), TLS handshake, Client hello (1):
    * TLSv1.2 (IN), TLS handshake, Server hello (2):
    * TLSv1.2 (IN), TLS handshake, Certificate (11):
    * TLSv1.2 (IN), TLS handshake, Server key exchange (12):
    * TLSv1.2 (IN), TLS handshake, Server finished (14):
    * TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
    * TLSv1.2 (OUT), TLS change cipher, Client hello (1):
    * TLSv1.2 (OUT), TLS handshake, Finished (20):
    * TLSv1.2 (IN), TLS change cipher, Client hello (1):
    * TLSv1.2 (IN), TLS handshake, Finished (20):
    * SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
    * ALPN, server accepted to use h2
    * Server certificate:
    * subject: CN=bt.byr.cn
    * start date: Oct 21 06:00:12 2018 GMT
    * expire date: Jan 19 06:00:12 2019 GMT
    * subjectAltName: host "bt.byr.cn" matched cert's "bt.byr.cn"
    * issuer: C=US; O=Let's Encrypt; CN=Let's Encrypt Authority X3
    * SSL certificate verify ok.
    * Using HTTP2, server supports multi-use
    * Connection state changed (HTTP/2 confirmed)
    * Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
    * Using Stream ID: 1 (easy handle 0x563501c8d9f0)
    > GET / HTTP/1.1
    > Host: bt.byr.cn
    > User-Agent: curl/7.52.1
    > Accept: */*
    >
    * Connection state changed (MAX_CONCURRENT_STREAMS updated)!
    < HTTP/2 302
    < server: nginx
    < date: Tue, 15 Jan 2019 04:37:03 GMT
    < content-type: text/html; charset=utf-8
    < x-powered-by: HHVM/3.7.0-dev
    < vary: Accept-Encoding
    < location: https://bt.byr.cn/login.php
    <
    * Curl_http_done: called premature == 0
    * Connection #0 to host bt.byr.cn left intact
    此时便可以通过这台服务器上搭建的代理服务访问北邮人PT,注意请设置代理客户端为全局模式,或者将 hosts 中的两个域名加入客户端的代理列表中。

源代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <ctime>
#include <Windows.h>
using namespace std;
int interval;
int cnt=0;

void delay(const int time){
clock_t now=clock();
while(clock()-now<time);
}
int main(){
SetConsoleTitle("Auto Refresh");
cout<<"注意,在使用本实用程序的时候请把要刷新的网页放在前台,后台无法使用."<<endl;
cout<<"提示:请最好不要在使用这个实用程序的过程中使用别的软件,尤其是以F5为快捷键的软件."<<endl;
cout<<"请输入要刷新网页的延迟时间(单位:毫秒):";
cin>>interval;
for(;;){
delay(interval);
keybd_event(116,0,0,0);
keybd_event(116,0,KEYEVENTF_KEYUP,0);
cnt++;
cout<<"已经刷新了"<<cnt<<"次"<<endl;
}
return 0;
}

教程需要的文件:

PepperFlashPlayer 21.0.0.1082(flash21.tar.xz)

在上述网站下载好Flash插件后,通过FTP或者别的方式传到RPi上。

然后

1
2
3
4
tar Jxvf flash21.tar.xz
cd pepper-flash
sudo mkdir /usr/lib/PepperFlash
sudo cp * /usr/lib/PepperFlash

安装PepperFlash库到系统内部

对于Firefox ESR浏览器,只要执行

1
sudo apt-get install browser-plugin-freshplayer-pepperflash

就可以使用了。

对于Chromium浏览器,需要修改

1
/etc/chromium-browser/default

更改内容为:

1
CHROMIUM_FLAGS="--ppapi-flash-path=/usr/lib/PepperFlash/libpepflashplayer.so --ppapi-flash-version=21.0.0.182"

就可以使用了

(或者: sudo apt install rpi-chromium-mods 也可以)

本文参考:

[Tutorial] - Flash Player for Chromium and Firefox

HOWTO: pepperflash in FireFox 2017

悲报:BWG再次被墙,而且即将停止对 OpenVZ VPS 的支持,本教程的时效性可能将会有很大的问题。

1月24日,GFW大发威导致墙外众多IP被屏蔽,本人的搬瓦工年付5刀OpenVZ主机也很不幸中枪了。在付了8美元更换了IP地址之后,VPS的访问虽然正常了,但是主机却无法访问互联网。由于CentOS 6.5使用的网络配置方式与GNU\Linux有很大的不同,于是我更换系统到VPS能安装的最新的 Debian 6 minimal。

SSH重新连接,使用 apt-get update 更新系统软件包,但是返回了一大堆的404错误,显然,Debian 6已经停止支持了。

所以,用vim打开 /etc/apt/sources.list ,将其中所有的 wheezy 换成 stretch (Debian 9 代号),然后执行 apt-get update && apt-get upgrade 执行 Debian 的最小化升级。在升级的过程中会有重启服务,更新配置文件的选项,一律选择Yes即可。

最小化升级完成后,执行 apt-get dist-upgrade 升级系统内核。

在升级的过程中,SSH有可能会弹出一个密码登录的提示,如果选择No的话有可能会导致SSH无法连接,所以建议在此过程之前先备份一下 /etc/ssh/sshd_config 。

升级完成之后用 apt cleanapt autoremove --purge 清理冗余的软件包,然后 reboot 重启VPS。

重启之后输入 lsb_release -a ,如果返回的内容显示

1
Codename:stretch 

那么Debian就从wheezy(6)升级到了stretch(9)。