分类 博客文章 下的文章

HP39gs计算器改装锂电池供电

前言:

简而言之,就是切断电池仓正极连接,换成锂电池。为锂电池并联一个充电模块,充电模块供电从MINI USB接口取电。ADC电压采样电阻是R17和R18,把R17 换成 1MΩ 、R18 保持 2MΩ 不变,这样修改后,使用锂电池时电压高于3.85V,应当不会再提示Low Bat。按照这个核心方案干就完了,下面全是废话。

(回忆···)

首先说明,下文讲述的笔者是5年前干的事情的,前端时间看见欠陥電気大佬写的搞机贴,觉得此事我可以水一篇博文。那时我还是在校学生,是校电协成员。记不清是哪位朋友发现这款型号为HP 39gs的计算器在某宝以非常便宜的价格销售,仅27.58元。从来没有接触过图形计算器的我,通过搜索引擎了解到这款计算器属于图形计算器,2006年上市,当时售价千元。里面是一枚SAMSUNG S3C2410A ARM处理器,该处理器最高频率约200MHz,在该计算器中,官方设计为75MHz。据说可使用HP Basic编程语言编写程序以在此计算器上运行,另外其不支持CAS,这些我不懂。我们几位社员一合计,咱们也从来没用过图形计算器,现在有机会必须试试。好家伙,这计算器值!于是大家就入手(Keng)了。注:经简单了解,目前此计算器价格有所上涨;另外因年代久远且其设计理念不佳(S3C2410A上运行的Saturn CPU模拟器,然后模拟器上运行SysRPL),所以在当今看来,功能少,运算慢,据说其根本不适合日常工程计算使用。购(Ru)买(Keng)需谨慎!当然,笔者拿来当普通计算器算个加减乘除感觉还是可以的。算的数多了也慢。

基本规格:

*
型号: 惠普 HP 39gs 图形计算器
CPU: Samsung S3C2410A(ARM920T单核) @75MHz (实际最高约200MHz)
Memory: 256KB RAM (用户实际可用约200KB) ,1MB Flash
通信接口: USB Mini-B(Kermit 或 XModem协议) , IrDA ,4PIN 3.3V异步串口
供电: 4×AAA电池作为主电源 ,CR2032纽扣电池用于数据保持
屏幕: 131×64 像素+上方状态条 单色LCD,对比度可调
语言: sRPL , HP-Basic
其他: 内置蜂鸣器,带有硬质保护壳,不支持CAS
上市时间: 2006年 06月

注:上表信息来自维基百科

准备工作:

实践本文内容需要如下硬件准备:

  • HP 39gs 计算器
  • 合适大小的锂聚合物电池
  • 锂电池充电模块
  • 导线若干(建议线规约22AWG)
  • 螺丝刀(十字 1.0左右)
  • 薄型撬片(或撬棒)
  • 万用表(选配)

需要在技能树中点亮如下技能:

  • 电子产品拆卸技术
  • 基础电路知识
  • 基本锡焊技术

警告:电子DIY需要有一定的相关知识与技能,操作过程有静电损坏元器件风险,使用烙铁焊接有烫伤风险。请谨慎操作,避免受伤或损坏设备。笔者不会对您的改装行为所造成的任何损失负责!

改装:

我们在使用一周后发现了这一问题,耗电太快了。四枚普通AAA电池,使用一个星期就低电警告了。这对于我们这种穷苦学生怎么承受的了,所以大家想改锂电。原有供电系统为6V,考虑S3C2410A为3.3V IO系统,外围器件也多为3.3V供电,所以考虑单节锂电池供电是可能的。那年正是MPOS火爆推广的时候,1元即可买到一个MPOS还包邮,里面可以拆出拇指电池、4055单节锂电池充电IC、3.3V LDO、高精度运放IC、蓝牙模块、单片机(运气好可能是STM32)。这便给改装提供了思路,杀一只MPOS即可提供电池和锂电池充电IC,如果嫌一节电池容量太小,可以杀两只POS鸡。整个改装过程主要分为以下几步:

  1. 拆机
  2. 验证实际工作电压范围
  3. 查找并改装电压采样
  4. 制作充电电路
  5. 装配以完成改装

1.拆机:

该机器拆机简单,首先取下硬质塑料保护壳,使用薄撬片小心取下屏幕保护盖,避免划伤。使用螺丝刀拆下两颗螺丝,然后使用撬片沿机身四周撬开并取下底壳。需小心注意底壳上有电源与蜂鸣器的连接线,避免失手扯断连线。必要可使用烙铁拆焊部分连接线。请牢记各连线焊接位置,必要可拍照记录,以确保在装配时能正确复原

2.验证工作电压范围:

拆下主电源(电池仓)连接线,临时焊接测试线,连接到数控电源,使用数控电源输出模拟锂电池电压变化。经过粗略测试,电压需要保持在3.68V以上计算器才能正常工作。虽然锂电池可以放电到更低的电压,但是计算器不能在那个电压下正常工作。这表示,虽然使用单节锂电池方案不能完全使用电池的电量,但也是可行的。

3.查找并改装电压采样:

首先检查主板上的所有IC,发现没有ADC。猜测低电检测是使用CPU内置的ADC实现的,4枚AAA电池电压高达6V以上,必有分压电路进行电源电压采样后再输入ADC。一般来说,电压采样电路可能更靠近ADC,此处即应靠近S3C2410A。考虑专业设计一般会引出测试点,先对周围测试点进行电压测量,如果能测到一个会随电源电压变化而变化的电压,大概就是电压采样测试点,如果测不到那就该对周围的电阻两端进行测量,找出会随电源电压变化的点。经过测量发现,S3C2410A右上角的测试点明显符合预期。观察PCB走线,发现与R17和R18有连接。测量两颗电阻阻值分别为1.8MΩ和2MΩ,皆在兆欧级别,也符合电压采样分压电阻的规格。至此,便成功的找到了分压电路。

理论上,接下来通过数控电源提供各种电压进行测试,确定ADC输入的电压低于多少时触发低电提醒。测量后我们确认到的是2.4V,实际电池低电电压与ADC触发电压的差与ADC触发电压的比值即为R17和R18的比值。经过估算,R17 = 1.5MΩ 、R18 = 3.9MΩ应当是个不错的组合。但是实际更换后并不能按照预期提示低电,无论电量多低都没有低电提示,直到电压低至无法开机也没有低电提示。鄙人学艺不精,无法理解什么原因,但这是无法接受的。经过多次实际测试,最终我们选择将R17 换成 1MΩ 、R18 保持 2MΩ 不变,这样计算器大约会在低于3.84V提示低电,充电至高于此电压后便不会出现低电提示。

4.制作充电电路:

可充电的锂电池装到计算器里面,当然不能没有充电电路。大家可以某宝购买TP4055、TP4056等充电模块,价格很便宜。笔者当年使用了中指甲盖大小的一片单面洞洞板,将MPOS机中拆出的4055充电IC整到了上面。4055充电IC为SOT23封装,以左下角为起点1脚,逆时针旋转依次为2~5脚。1脚接充电指示LED负极,LED正极过1K电阻上4脚,与其一同连接至输入+;2脚接GND;5脚为充电电流编程脚,过一个电阻接地,阻值大小视电池容量决定;3脚为输出,连接到电池+。

5.装配:

最后我们需要将计算器装起来,前面如果都能搞定,这个并不难。把电池的正负极与充电模块的输出正负极分别连接,然后连接到计算器的主电池输入。从USB口附近或其他方便的地方引出5V电源和GND到充电模块的输入。切断电池仓正极的连接,把电池粘在底壳合适位置以保证能盖好底壳,然后把充电模块粘在电池仓缝隙处,保证能从外面看到充电指示灯。最后把底壳装回去就大功告成了。

参考:

HP 39gs --惠普官网

hpcalc.org

The HP HOME view

将 HP 39gs 升级为 HP 48gII--欠陥電気

计算器自检/HP-39GS

HP39gs 从入门到精通(完全教程)

我该用什么词典?——翻译工具的选择

前言

在研究电子技术和计算机技术的过程中,大家都不可避免的需要接触英文资料;如果英语水平不够,遇到不懂的单词、甚至成段看不懂的情况,那便需要翻译了。传统的纸质词典、电子词典等使用相对低效,在我们使用电脑看英文文档的当下,翻译这件事自然也是用电脑完成。通常,我们会通过浏览器使用谷歌、必应、百度、有道等提供的在线翻译网页查单词、整段翻译,也会在电脑上安装翻译工具程序进行翻译。而后者,作为一个应用程序,通常能提供比通过浏览器工作的在线翻译更好的使用体验。本文前部分会使用较小的篇幅记录笔者翻译工具使用史,后面的部分则介绍笔者如何配置、使用商业词典欧路词典和开源词典GoldenDict。

笔者的翻译工具使用史

说起笔者最开始使用的翻译工具,那应该是有道,那时我刚接触电脑时间不长,只是偶尔用词典软件查过几个单词,安装词典可能只是为了体验通过电脑查单词的这个过程。那时有道有鼠标取词的功能,闲暇时刻我会用鼠标胡乱指向一些中文的词语,将其翻译成英语。

后来笔者入了电子技术这个坑,阅读Datasheet的困难便随之而来,虽然我英语从未挂科,但只满足不挂科的英语水平的确不足以阅读Datasheet,更别提里面很多专业的词汇上课也不会学。可能那时比较流行使用破解版商业软件,又可能是因为PDF文档中取词的需求。看了百度上众多网友的推荐,我选择了使用破解版的金山词霸企业版,因为里面多个词库看起来蛮专业的,而且它有Adobe Reader取词插件,可以很方便的在PDF文件中拖动光标选取内容进行整段的翻译,翻译结果会自动显示。而有道不支持Adobe Reader,自然不会再使用它。

转眼来到2021年的某一天,我秃然发觉金山词霸是用了那么多年,想来这么多年过去,翻译工具是否会有更好的选择呢?一番搜索之后发现很多人都推荐欧路词典,下载安装后发觉界面不错,自带词库查词返回内容也挺多,支持整段的翻译,甚至它还有一个截屏取词的功能。取词与划词默认配置可能不适合所有人,其选项可以根据个人需求进行更改。虽然是商业软件,它的免费版本也没有广告,这点值得称赞。欧路词典可以挂载第三方提供的词库扩展,支持常见的Mdict和灵格斯格式。针对扩展词库,免费版本只能显示前两个。其实对于非英语专业来说,两个可能也够了。如果需要挂载更多扩展词库,欧路词典的价格也不贵,也就三箱桶面的样子。

通过对欧路词典几天的使用,我发现它经常出现划词翻译失灵的现象,这个问题也有可能是和其他翻译工具冲突的原因。抛开此问题不谈,我还发现它的鼠标取词功能识别率略低,之前使用金山词霸几乎没有的识别错误问题,短短几天欧路发生了好几次,但是后来的几天错误率降低了。但是软件版本并没有更新,这个表现很迷,难道是后台直接更新了部分文件还是什么其他的东西自动改变了?这些表现可能与我电脑软件环境有关,但我还是对欧路词典的稳定性抱有怀疑。

在发现欧路词典可能不稳后,开始寻找其他替代方案。想起前面看到的Mdict格式,便打算去了解了一下Mdict是什么,通过搜索引擎搜索后了解到这也是一款词典,功能不是很强,但是很多权威大辞典都是打包成这种格式。然后看到有人对Mdict、欧路词典和GoldenDict进行了简单对比,我了解到了GoldenDict是一款开源软件,它支持的词典格式较多,同时它也支持Mdict格式。然后发现了nonwill大佬优化过后的GoldenDict++OCR,这是支持OCR取词的GoldenDict版本。下载简单使用了一下后发现,功能确实挺不错,它还有一个称之为构词法规则的功能很实用。但它没有欧路词典这种商业软件那么美观的界面,配置也会比较复杂,想要使用它需要一定的折腾能力,但它是免费的。

目前我主要尝试使用欧路词典,而GoldenDict为辅。因为我不是英语专业类工作,也不是英语研究爱好者。我只是需要一个翻译工具用来翻译我无法读懂的文档。这种情况,一个简单易用美观的翻译工具是有必要的。如果欧路词典的划词稳定性没有问题,我可能会考虑购买付费版本;如果有问题,则会考虑换用GoldenDict。

词典的配置与使用

以下记录笔者使用时的配置,系统为Windows10,其他系统没有测试。仅供参考。

欧路词典:

首先是第三方词库的安装,因为免费用户只能加载两个扩展词库,所以需要做一些取舍。如可以安装一部带发音的词频词典和一部权威大词典(或行业词典),排序时把词频词典放第一,自带英汉汉英放第二,权威大辞典放第三以避免长篇幅挡住自带词典内容。如果不使用权威大辞典而是使用词条篇幅较短的行业词典,可以考虑和自带英汉汉英对调。

添加词典的操作过程。单文件的词典直接在词库管理中点击安装词库>选择文件,按照提示添加即可。多文件的词典安装时需要点击安装词库>选择文件夹。包含外观样式文件的词典,需要现在设置中心中点击打开软件配置目录,打开欧路的配置文件目录,复制词典自带的样式文件到这个目录。

欧路词典的划词翻译功能可能有问题,勾选开启划词翻译功能选项,使用光标选择一段内容后会出现翻译按钮,点击此按钮有时会出现无效的情况。但是手动划词快捷键F7按下还是能正常翻译的。这个问题可能是本人系统环境造成,也可能是欧路词典本身的Bug。针对此问题,建议记住快捷键F7,去掉开启划词翻译功能选项勾选,后期使用快捷键调用划词翻译。再记住一个截屏翻译快捷键:Ctrl+Alt+D,必要时可以直接截屏翻译。我个人始终认为:快捷键比点击图标更高效

其他设置就是比较常规的,比如我勾选了关闭窗口时最小化到状态栏。这样就可以缩到通知区域里面,不占用任务栏了。勾选启动Windows系统时自动运行,这样就可以随系统启动。如果不喜欢它的每日一句等在线内容,可以取消这个勾选,主页就会更清爽一些。其他一些快捷键也可以按实际习惯修改。

GoldenDict:

主程序安装与配置官网提供的版本已经太旧了,不支持mdx和mdd格式的词典文件,可以去SourceFORGE下载。建议使用nonwill大佬优化过后功能更强大的GoldenDict++OCR,这个有OCR功能,我也是用的这个。大佬针对Windows编译的版本都是便携版(Portable),根据自己系统下载主程序包解压到合适位置后,可以下载Dictionary文件,里面有一些共享的词典样式表和字体文件。

确保GoldenDict++OCR未打开,在其主目录下,新建portable文件夹和content文件夹。解压Dictionary文件中的dicts目录下的内容到content文件夹,解压portable目录下内容到portable文件夹。然后运行GoldenDict++OCR,点击编辑~~>首选项,打开首选项的设置页面。在此可以设置显示风格(即主题)和附加样式(查词结果显示区域的样式),.该词典上古风格的主题,在现在的审美看来糟糕透了,咱肯定不能指望免费的东西有什么漂亮的主题,但还是有必要按照自己喜好修改一下。我分别选择了灵格斯-蓝色调modern-yeah。如果需要随开机启动,可勾选随系统启动。取词和划词选项卡可以修改相应功能的快捷键,OCR取词默认快捷键是Ctrl+B+B,这个快捷键与Adobe Acrobat冲突,所以我的改成了Ctrl+Shift+C+C

词典的安装:与欧路词典需要付费不同,GoldenDict不需要付费即可加载多本词典,但是加载过多的词典可能带来使用卡顿。如果是对英语进行研究,可能需要查看大量不同词典;如果只是一般应用,建议尽量少装词典,像上文欧路配置两本词典也可以。具体按照操作:将词典文件解压到content目录,点击编辑~~>辞书在来源选项卡的文件选项卡引入前文创建的content目录的路径,然后在辞书选项卡中可以看到已经扫描到的词典。辞书排序栏中不需要的辞书,可以托拽到禁用栏中。

启用构词法规则:学习英语过程中,有时我们可能需要了解这个单词的来源是什么单词,以便更好地记忆、学习、理解单词。如果之前我们正确的将morphology文件夹放到了content目录,那么在来源选项卡下的构词法规则库页面,我们可以勾选需要的构词法(比如英语),应用设置后我们查询单词时如果在构词法库中有记录,则会在单词页面上附加显示来源词的释义。比如搜索sustainable,除了给出此单词释义是形容词可持续的,还会给出sustain的释义是动词维持。这个功能欧路词典是没有的。构词法词库还用于拼写错误时给出拼写建议。比如我听了一个词:algorithm,但我不知道如何拼写,我随手打出:aogerithm,然后GoldenDict便会给出拼写建议:algorithm,而欧路词典的建议是通过联网的网络释义实现的。

整句翻译:与其他商业公司的翻译软件相比,GoldenDict一个很大的缺点就是没有整句翻译。这个需求可以通过调用外部程序实现。因为Google翻译等对自己的翻译API做了限制,经过大佬们的努力,他们通过调用外部的一个Python程序实现,Python程序负责调用Google翻译API并把结果返回GoldenDict。笔者使用的xinebf提供的项目,托管于GitHub,项目页有详细的安装说明。

首先需要安装Python3.7以上版本,然后通过pip3 install google-translate-for-goldendict命令配置这个项目,接下来在GoldenDict中点击 编辑 - 字典 - 字典来源 - 程式,添加如下条目:

类型: Html
名称: Google Translate
命令行: python -m googletranslate zh-CN %GDWORD% -s "translate.google.cn"

图示请从GitHub项目中下载保存到合适位置,然后设置位置。保存设置后尝试使用快捷键对英文句子取词,即可看到整句翻译结果。

到此,本文结束。其他使用技巧大家可自行摸索,如果有什么见解,也可以在下面留言。

参考:

整理部分Linux主机测试脚本

整理部分Linux主机测试脚本

前言

本文整理了部分大佬的Linux主机测速脚本,方便本人使用,也介绍给大家。

千影大佬的脚本:

此脚本来自千影大佬。网站地址:https://www.94ish.me
千影大佬将此脚本命名为:Linux性能/网络测试综合脚本。可见此脚本功能非常全面。根据大佬介绍,此脚本支持以下功能:

  • 获取系统基本信息
  • 测试硬盘存取延迟iops存取速度
  • 测试本机带宽
  • 测试本机到25个国外节点下载速度
  • 测试本机到8个国内节点下载速度
  • 测试本机到国内9个节点的路由
  • 测试本机到国内9个节点的延迟与丢包

使用以下命令下载脚本:

wget https://raw.githubusercontent.com/chiakge/Linux-Server-Bench-Test/master/linuxtest.sh -N --no-check-certificate

运行说明:

#不含UnixBench的测试,无网页分享
bash linuxtest.sh

#不含UnixBench的测试,带网页分享
bash linuxtest.sh s

#含UnixBench的测试,不带网页分享
bash linuxtest.sh a

#含UnixBench的测试,带网页分享
bash linuxtest.sh as

#网页分享不包含任何VPSip信息

测试样本:

========== 开始记录测试信息 ==========
测试时间:2018-05-13 12:12:31
----------------------------------------------------------------------
CPU model            : Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz
Number of cores      : 1
CPU frequency        : 1999.830 MHz
Total size of Disk   : 59.0 GB (0.6 GB Used)
Total amount of Mem  : 512 MB (205 MB Used)
Total amount of Swap : 512 MB (10 MB Used)
System uptime        : 0 days, 9 hour 30 min
Load average         : 0.07, 0.02, 0.00
OS                   : Debian GNU/Linux 8
Arch                 : x86_64 (64 Bit)
Kernel               : 2.6.32-042stab127.2
ipaddr               : 美国 加利福尼亚州 洛杉矶  colocrossing.com
vm                   : openvz
----------------------------------------------------------------------
===== 开始硬盘性能测试 =====
ioping: seek rate
    min/avg/max/mdev = 39.9 us / 61.8 us / 37.3 ms / 345.1 us
ioping: sequential speed
    generated 14.4 k requests in 5.00 s, 3.52 GiB, 2.88 k iops, 720.3 MiB/s
===== 硬盘性能测试完成 =====
----------------------------------------------------------------------
===== 开始speedtest =====
Retrieving speedtest.net configuration...
Testing from ColoCrossing (198.23.239.***)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Time Warner Cable (Los Angeles, CA) [0.74 km]: 4.27 ms
Testing download speed................................................................................
Download: 462.86 Mbit/s
Testing upload speed................................................................................................
Upload: 491.93 Mbit/s
Share results: http://www.speedtest.net/result/7306266209.png
===== speedtest完成 =====
----------------------------------------------------------------------
Node Name:                      IPv4 address:                  Download Speed
CacheFly:                       205.234.175.175:          81.66 MiB/s |  653.25 Mbps
Linode, Tokyo, JP:              106.187.96.148:            6.48 MiB/s |   51.85 Mbps
Linode, Tokyo2, JP:             139.162.65.37:             3.56 MiB/s |   28.46 Mbps
Linode, Singapore, SG:          139.162.23.4:              2.23 MiB/s |   17.86 Mbps
Linode, Fremont, CA:            50.116.14.9:               7.88 MiB/s |   63.06 Mbps
Linode, Newark, NJ:             50.116.57.237:             7.56 MiB/s |   60.45 Mbps
Linode, London, UK:             176.58.107.39:             4.52 MiB/s |   36.16 Mbps
Linode, Frankfurt, DE:          139.162.130.8:             2.22 MiB/s |   17.76 Mbps
Softlayer, Tokyo, JP:           161.202.125.20:            2.48 MiB/s |   19.86 Mbps
Softlayer, Singapore, SG:       119.81.28.170:             4.08 MiB/s |   32.64 Mbps
Softlayer, Seoul, KR:           119.81.28.170:             5.76 MiB/s |   46.09 Mbps
Softlayer, HongKong, CN:        119.81.130.170:            5.56 MiB/s |   44.49 Mbps
Softlayer, Dallas, TX:          169.48.124.82:            10.88 MiB/s |   87.07 Mbps
Softlayer, Seattle, WA:         67.228.112.250:           18.33 MiB/s |  146.61 Mbps
Softlayer, Frankfurt, DE:       159.122.69.4:              3.15 MiB/s |   25.18 Mbps
Softlayer, Paris, FR:           159.8.64.212:              3.58 MiB/s |   28.67 Mbps
Leaseweb, HongKong, CN:         43.249.36.49:              3.46 MiB/s |   27.68 Mbps
Leaseweb, Singapore, SG:        103.254.153.18:            6.09 MiB/s |   48.74 Mbps
Leaseweb, Washington D.C., US:  207.244.94.80:            14.61 MiB/s |  116.92 Mbps
Leaseweb, San Francisco, US:    209.58.135.187:           44.27 MiB/s |  354.13 Mbps
Leaseweb, Netherlands, NL:      5.79.108.33:               1.09 MiB/s |    8.70 Mbps
OVH, Montreal, CA:              192.99.19.165:             8.55 MiB/s |   68.39 Mbps
ChinaTelecom, Shanghai, CN:     101.95.48.41:            771.88 KiB/s |    6.03 Mbps
ChinaTelecom, Beijing, CN:      60.247.96.2:               6.16 MiB/s |   49.31 Mbps
ChinaUnicom, Beijing, CN:       61.135.202.2:             20.94 KiB/s |    0.16 Mbps
ChinaTelecom, Guangzhou, CN:    119.145.88.166:          706.60 KiB/s |    5.52 Mbps
ChinaMobile, Guangzhou, CN:     221.179.46.218:            2.44 KiB/s |    0.02 Mbps
ChinaTelecom, Hefei, CN:        61.191.111.11:             6.07 MiB/s |   48.55 Mbps
ChinaUnicom, Hefei, CN:         112.122.10.26:            24.36 KiB/s |    0.19 Mbps
ChinaMobile, Hefei, CN:         120.209.140.60:           10.31 KiB/s |    0.08 Mbps
Hinet, Taiwan, TW:              210.61.132.1:              2.43 MiB/s |   19.42 Mbps
----------------------------------------------------------------------
===== 测试 [四川电信] 的回程路由 =====
traceroute to 125.64.38.178 (125.64.38.178), 30 hops max, 60 byte packets
 1  ear.la.hiformance.net (198.23.239.2)  0.09 ms  AS36352  美国 加利福尼亚州 洛杉矶 colocrossing.com
 2  10.9.3.9  0.72 ms  *  局域网
 3  las-b3-link.telia.net (62.115.146.158)  9.17 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 4  213.248.92.130  1.13 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 5  202.97.50.234  3.79 ms  AS4134  美国 加利福尼亚州 洛杉矶 电信
 6  202.97.52.161  264.52 ms  AS4134  中国 广东 广州 电信
 7  *
 8  202.97.94.133  274.12 ms  AS4134  中国 广东 广州 电信
 9  202.97.36.222  299.99 ms  AS4134  中国 四川 成都 电信
10  *
11  118.123.217.86  302.58 ms  AS38283  中国 四川 成都 电信
12  *
13  125.64.38.178  297.95 ms  AS38283  中国 四川 成都 电信

===== 回程 [四川电信] 路由测试结束 =====
===== 测试 [北京电信] 的回程路由 =====
traceroute to 106.120.243.142 (106.120.243.142), 30 hops max, 60 byte packets
 1  ear.la.hiformance.net (198.23.239.2)  0.32 ms  AS36352  美国 加利福尼亚州 洛杉矶 colocrossing.com
 2  10.9.3.9  0.21 ms  *  局域网
 3  las-b3-link.telia.net (62.115.146.158)  0.39 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 4  213.248.92.130  5.29 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 5  202.97.50.234  7.61 ms  AS4134  美国 加利福尼亚州 洛杉矶 电信
 6  202.97.52.169  256.38 ms  AS4134  中国 北京 电信
 7  202.97.85.29  223.65 ms  AS4134  中国 北京 电信
 8  202.97.48.245  229.90 ms  AS4134  中国 北京 电信
 9  *
10  2.254.120.106.static.bjtelecom.net (106.120.254.2)  250.87 ms  AS4847  中国 北京 电信
11  142.243.120.106.static.bjtelecom.net (106.120.243.142)  221.05 ms  AS4847  中国 北京 电信

===== 回程 [北京电信] 路由测试结束 =====
===== 测试 [北京联通] 的回程路由 =====
traceroute to 103.254.70.52 (103.254.70.52), 30 hops max, 60 byte packets
 1  ear.la.hiformance.net (198.23.239.2)  0.32 ms  AS36352  美国 加利福尼亚州 洛杉矶 colocrossing.com
 2  10.9.3.9  0.17 ms  *  局域网
 3  las-b3-link.telia.net (62.115.146.158)  3.51 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 4  213.248.92.130  6.09 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 5  202.97.50.234  0.51 ms  AS4134  美国 加利福尼亚州 洛杉矶 电信
 6  202.97.25.233  258.66 ms  AS4134  中国 电信
 7  202.97.84.213  283.28 ms  AS4134  中国 北京 电信
 8  202.97.53.25  281.32 ms  AS4134  中国 北京 电信
 9  *
10  *
11  *
12  119.40.40.74  436.57 ms  AS4847  中国 北京 cnispunion.org 联通
13  *
14  103.254.70.52  269.65 ms  AS4808,AS4847  中国 北京 联通/电信

===== 回程 [北京联通] 路由测试结束 =====
===== 测试 [北京移动] 的回程路由 =====
traceroute to 218.205.152.14 (218.205.152.14), 30 hops max, 60 byte packets
 1  ear.la.hiformance.net (198.23.239.2)  0.29 ms  AS36352  美国 加利福尼亚州 洛杉矶 colocrossing.com
 2  10.9.3.13  0.23 ms  *  局域网
 3  las-b3-link.telia.net (62.115.146.156)  0.50 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 4  chinamobile-ic-327136-las-b24.c.telia.net (62.115.37.99)  96.87 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 5  223.120.6.17  97.05 ms  AS58453  美国 加利福尼亚州 洛杉矶 移动
 6  223.120.13.14  314.15 ms  AS58453  中国 移动
 7  *
 8  *
 9  *
10  *
11  *
12  *
13  218.205.152.14  348.18 ms  AS56048  中国 北京 移动

===== 回程 [北京移动] 路由测试结束 =====
===== 测试 [上海移动] 的回程路由 =====
traceroute to 117.131.14.202 (117.131.14.202), 30 hops max, 60 byte packets
 1  ear.la.hiformance.net (198.23.239.2)  0.31 ms  AS36352  美国 加利福尼亚州 洛杉矶 colocrossing.com
 2  10.9.3.13  53.19 ms  *  局域网
 3  las-b3-link.telia.net (62.115.146.156)  1.21 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 4  chinamobile-ic-327136-las-b24.c.telia.net (62.115.37.99)  97.32 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 5  223.120.6.17  97.42 ms  AS58453  美国 加利福尼亚州 洛杉矶 移动
 6  *
 7  *
 8  *
 9  221.183.25.189  344.80 ms  AS9808  中国 上海 移动
10  221.176.22.9  344.28 ms  AS9808  中国 上海 移动
11  *
12  *
13  *
14  *
15  117.131.14.202  345.54 ms  AS24400  中国 上海 移动

===== 回程 [上海移动] 路由测试结束 =====
===== 测试 [上海电信] 的回程路由 =====
traceroute to 211.144.205.58 (211.144.205.58), 30 hops max, 60 byte packets
 1  ear.la.hiformance.net (198.23.239.2)  0.30 ms  AS36352  美国 加利福尼亚州 洛杉矶 colocrossing.com
 2  10.9.3.9  0.42 ms  *  局域网
 3  las-b3-link.telia.net (62.115.146.158)  13.91 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 4  chinaunicom-ic-155914-las-bb1.c.telia.net (213.248.82.206)  274.78 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 5  219.158.96.25  273.72 ms  AS4837  中国 北京 联通
 6  219.158.3.137  308.87 ms  AS4837  中国 北京 联通
 7  219.158.5.149  316.10 ms  AS4837  中国 北京 联通
 8  219.158.16.90  286.87 ms  AS4837  中国 上海 联通
 9  *
10  112.64.252.86  324.28 ms  AS17621  中国 上海 联通
11  *
12  208.162.dsnet (211.144.208.162)  162.06 ms  AS23853  中国 上海 shuxun.net 电信/联通
13  208.134.dsnet (211.144.208.134)  160.57 ms  AS23853  中国 上海 shuxun.net 电信/联通
14  *
15  *
16  *
17  *
18  205.58.dsnet (211.144.205.58)  287.26 ms  AS17621,AS23853  中国 上海 shuxun.net 电信/联通

===== 回程 [上海电信] 路由测试结束 =====
===== 测试 [上海联通] 的回程路由 =====
traceroute to 220.196.42.133 (220.196.42.133), 30 hops max, 60 byte packets
 1  ear.la.hiformance.net (198.23.239.2)  0.37 ms  AS36352  美国 加利福尼亚州 洛杉矶 colocrossing.com
 2  10.9.3.13  16.81 ms  *  局域网
 3  las-b3-link.telia.net (62.115.146.156)  0.41 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 4  chinaunicom-ic-324374-las-b24.c.telia.net (62.115.154.91)  314.46 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 5  219.158.96.25  289.92 ms  AS4837  中国 北京 联通
 6  219.158.3.137  327.08 ms  AS4837  中国 北京 联通
 7  219.158.5.149  314.17 ms  AS4837  中国 北京 联通
 8  219.158.16.90  296.00 ms  AS4837  中国 上海 联通
 9  *
10  139.226.203.6  308.53 ms  AS17621  中国 上海 联通
11  112.65.207.162  331.72 ms  AS17621  中国 上海 联通
12  140.207.207.165  339.75 ms  AS17621  中国 上海 联通
13  140.207.207.126  349.24 ms  AS17621  中国 上海 联通
14  220.196.42.133  303.40 ms  AS17621  中国 上海 联通

===== 回程 [上海联通] 路由测试结束 =====
===== 测试 [广东联通] 的回程路由 =====
traceroute to 27.40.0.30 (27.40.0.30), 30 hops max, 60 byte packets
 1  ear.la.hiformance.net (198.23.239.2)  0.10 ms  AS36352  美国 加利福尼亚州 洛杉矶 colocrossing.com
 2  10.9.3.9  0.26 ms  *  局域网
 3  las-b3-link.telia.net (62.115.146.158)  27.72 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 4  chinaunicom-ic-151188-las-bb1.telia.net (213.248.94.126)  382.24 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 5  219.158.96.25  290.72 ms  AS4837  中国 北京 联通
 6  *
 7  219.158.18.69  319.49 ms  AS4837  中国 北京 联通
 8  219.158.112.46  371.24 ms  AS4837  中国 广东 广州 联通
 9  120.81.0.34  293.30 ms  AS17816  中国 广东 广州 联通
10  221.4.6.2  310.94 ms  AS17816  中国 广东 广州 联通
11  27.40.0.30  325.19 ms  AS17816  中国 广东 广州 联通

===== 回程 [广东联通] 路由测试结束 =====
===== 测试 [广东移动] 的回程路由 =====
traceroute to 211.139.129.222 (211.139.129.222), 30 hops max, 60 byte packets
 1  ear.la.hiformance.net (198.23.239.2)  0.12 ms  AS36352  美国 加利福尼亚州 洛杉矶 colocrossing.com
 2  10.9.3.13  2.57 ms  *  局域网
 3  las-b3-link.telia.net (62.115.146.156)  0.42 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 4  chinamobile-ic-327136-las-b24.c.telia.net (62.115.37.99)  96.56 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 5  223.120.6.17  96.39 ms  AS58453  美国 加利福尼亚州 洛杉矶 移动
 6  *
 7  *
 8  *
 9  221.176.19.37  322.20 ms  AS9808  中国 广东 广州 移动
10  221.176.24.5  372.73 ms  AS9808  中国 广东 广州 移动
11  *
12  *
13  *
14  *
15  211.139.129.222  327.84 ms  AS56040  中国 广东 广州 移动

===== 回程 [广东移动] 路由测试结束 =====
----------------------------------------------------------------------
【四川电信】 - 125.64.38.178
10 packets transmitted, 6 received, 40% packet loss, time 9001ms
rtt min/avg/max/mdev = 297.731/297.816/297.870/0.548 ms
----------------------------------------------------------------------
----------------------------------------------------------------------
【北京电信】 - 106.120.243.142
10 packets transmitted, 10 received, 0% packet loss, time 8999ms
rtt min/avg/max/mdev = 202.605/229.378/247.753/17.592 ms
----------------------------------------------------------------------
----------------------------------------------------------------------
【北京联通】 - 103.254.70.52
10 packets transmitted, 10 received, 0% packet loss, time 9009ms
rtt min/avg/max/mdev = 234.315/251.105/265.916/13.239 ms
----------------------------------------------------------------------
----------------------------------------------------------------------
【北京移动】 - 218.205.152.14
10 packets transmitted, 4 received, 60% packet loss, time 9004ms
rtt min/avg/max/mdev = 347.991/348.252/348.489/0.177 ms
----------------------------------------------------------------------
----------------------------------------------------------------------
【上海移动】 - 117.131.14.202
10 packets transmitted, 5 received, 50% packet loss, time 9001ms
rtt min/avg/max/mdev = 344.769/345.570/347.109/0.827 ms
----------------------------------------------------------------------
----------------------------------------------------------------------
【上海电信】 - 211.144.205.58
10 packets transmitted, 6 received, 40% packet loss, time 9007ms
rtt min/avg/max/mdev = 284.695/289.510/296.363/5.161 ms
----------------------------------------------------------------------
----------------------------------------------------------------------
【上海联通】 - 220.196.42.133
10 packets transmitted, 9 received, 10% packet loss, time 9006ms
rtt min/avg/max/mdev = 287.089/299.335/308.720/6.880 ms
----------------------------------------------------------------------
----------------------------------------------------------------------
【广东联通】 - 27.40.0.30
10 packets transmitted, 10 received, 0% packet loss, time 9008ms
rtt min/avg/max/mdev = 320.965/331.647/340.094/7.365 ms
----------------------------------------------------------------------
----------------------------------------------------------------------
【广东移动】 - 211.139.129.222
10 packets transmitted, 1 received, 90% packet loss, time 8999ms
rtt min/avg/max/mdev = 326.090/326.090/326.090/0.000 ms
----------------------------------------------------------------------
----------------------------------------------------------------------
min:最低延迟
avg:平均延迟
max:最高延迟
mdev:平均偏差
----------------------------------------------------------------------
----------------------------------------------------------------------

老鬼的博客脚本:

此脚本来自于oooldking大佬。网站地址:https://www.oldking.net
Shell中输入以下内容并按Enter键执行脚本即可。

wget -qO- git.io/superbench.sh | bash

此脚本默认测试主机配置信息、磁盘IO性能、多地的上传下载速度,如下所示。

wget -qO- git.io/superbench.sh | bash

 =========================================================
 \                 Superbench.sh  Script                 /
 \       Basic system info, I/O test and speedtest       /
 \                   v1.1.5 (14 Jun 2019)                /
 \                   Created by Oldking                  /
 =========================================================

 Intro: https://www.oldking.net/350.html
 Copyright (C) 2019 Oldking oooldking@gmail.com
 Happy New Year!

 Installing Speedtest-cli ...
 Installing tools.py ...
 Installing Fast.com-cli ...
----------------------------------------------------------------------
 Superbench.sh -- https://www.oldking.net/350.html
 Mode  : Standard    Version : 1.1.5
 Usage : wget -qO- git.io/superbench.sh | bash
----------------------------------------------------------------------
 CPU Model            : Virtual CPU 82d9ed4018dd
 CPU Cores            : 1 Cores @ 2593.904 MHz x86_64
 CPU Cache            : 16384 KB
 OS                   : CentOS 7.6.1810 (64 Bit) KVM
 Kernel               : 3.10.0-957.27.2.el7.x86_64
 Total Space          : 1.7 GB / 55.0 GB
 Total RAM            : 96 MB / 1838 MB (629 MB Buff)
 Total SWAP           : 0 MB / 0 MB
 Uptime               : 4 days 8 hour 19 min
 Load Average         : 0.00, 0.01, 0.05
 TCP CC               : cubic
 ASN & ISP            : AS20473, Choopa
 Organization         : Vultr Holdings, LLC
 Location             : Queenstown Estate, Singapore / SG
 Region               :
----------------------------------------------------------------------
 I/O Speed( 1.0GB )   : 344 MB/s
 I/O Speed( 1.0GB )   : 370 MB/s
 I/O Speed( 1.0GB )   : 494 MB/s
 Average I/O Speed    : 402.7 MB/s
----------------------------------------------------------------------
 Node Name        Upload Speed      Download Speed      Latency
 Speedtest.net    2149.18 Mbit/s    4895.81 Mbit/s      2.045 ms
 Fast.com         0.00 Mbit/s       138.9 Mbit/s        -
 Guangzhou CT     3.57 Mbit/s       13.11 Mbit/s        -
 Wuhan     CT     0.77 Mbit/s       1.31 Mbit/s         -
 Hangzhou  CT     1.28 Mbit/s       0.75 Mbit/s         -
 Lanzhou   CT     0.22 Mbit/s       1.17 Mbit/s         -
 Shanghai  CU     12.34 Mbit/s      17.57 Mbit/s        -
 Heifei    CU     15.54 Mbit/s      44.01 Mbit/s        -
 Chongqing CU     15.67 Mbit/s      16.70 Mbit/s        -
 Xizang    CM     2.08 Mbit/s       118.36 Mbit/s       -
----------------------------------------------------------------------

Shell还有以下使用方法:

wget git.io/superbench.sh; chmod +x superbench.sh

或者 curl -LsO git.io/superbench.sh; chmod +x superbench.sh

./superbench.sh info

./superbench.sh io

./superbench.sh speed

./superbench.sh share

SpeedTest 的Jinan Wo 节点测速:

以下脚本使用SpeedTest网站的Jinan Wo节点测速。

wget https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py

chmod +x speedtest.py

./speedtest.py --server 5563

RTL2838电视棒EEPROM分析-基于RTL2832U,PID为2838的SDR硬件

RTL2838电视棒EEPROM分析-基于RTL2832U,PID为2838的SDR硬件

前言:

前几天水群时看到有网友聊起要买RTL2832U电视棒,看起来很贵,记得自己买的电视棒很便宜。于是问了一下,然后有网友表示RTL28382U电视棒pid为2832,而便宜的那个是RTL2838且其pid为2838,某些软件不识别这种硬件。然后我翻出自己的试了一下,还真的被识别为RTL2838(pid2838)。难道为了兼容性,必须要多花很多钱?通过大家的努力,我们把RTL2838电视棒改成了RTL2832U电视棒。

正文:

我的电视棒之前曾经拆解过,里面IC丝印为RTL2832U,且不存在任何打磨重新雕刻的痕迹。当我发现计算机将电视棒名字识别为RTL2838UHIDIR而不是RTL2832U的时候,我第一感觉也怀疑到了IC,但是IC的外观并不像假货。又有网友提供了osmocom论坛相关WIKI,它有一句话:Many devices with EEPROM have 0x2838 as PID and RTL2838 as product name, but in fact all of them have an RTL2832U inside.Realtek never released a chip marked as RTL2838 so far.从此处我们了解到实际并没有RTL2838这款IC。

想到很多IC都会用外挂EEPROM的方式存储配置信息,我便再次想到,这款电视棒是否也是如此,而它的设备名称、PID&VID是否也如此?于是便将外壳再次拆下,果然在RTL2832U附近看到了一枚型号为24C02N的EEPROM。直接将24C02拆焊上编程器,将其数据dump到文件中。文件内容:

B1.jpg

我们发现在dump出的EEPROM数据中存在部分区域对应USB设备信息。很明显可以看到RTL2838UHIDIR这段文字的数据存在于0x1B~0x33地址区域,且字符间都相隔一个00。从计算机上给出的信息中得知,这段数据是这个设备的产品名称。我们还发现,0x0B~0x17地址区域中存储的内容为Realtek,与前面一样,字符间相隔一个00,这段便是这个设备的制造商。最终我们还发现,0x02~0x05这段中存储的数据就是USB设备的PID和VID,且是以倒序的方式存储的。其中0x050x04中存储的是PID,即2838;而0x030x02中存储的是VID,即0BDA。这些数据也是能和计算机读出的信息相匹配的。而其他地址中存储的数据具体含义与用途,我没有查到。如果有大佬知道,欢迎补充。

有了以上的信息,我们就可以着手尝试改变它了。上面提到,有网友表示:某些软件只支持PID为2832的设备。根据上文我们获取的信息,我们将EEPROM中的数据做如下修改,把他焊回到电视棒上,插入计算机,发现果然如预期,它变成了名为RTL2832U、PID为2832的电视棒。

B2.jpg

这还没有结束,我在搜索资料的时候,意外的发现了一个叫做rtl-sdr的实用程序包。这个工具可以运行在Linux系统下,它包含了一个叫做rtl_eeprom的工具,可以将连接到计算机的RTL电视棒的EEPROM数据dump到一个文件中,也可以将修改后的文件写回EEPROM。此工具通过shell操作,命令如下。

CentOS7下安装:

yum install -y rtl-sdr

将数据dump到文件中:

 rtl_eeprom -r <文件名>

将文件写入EEPROM中:

警告:此操作非常危险,写入错误的数据或写入失败损坏数据等意外将导致电视棒无法再次被计算机正常识别!

 rtl_eeprom -w <文件名>

有网帖表示若因写错EEPROM文件导致电视棒无法工作,可尝试用镊子等导电物体短路EEPROM的SDA和SCL引脚,使RTL2832U无法识别EEPROM而直接被识别为PID=2832,然后使用rtl_eeprom工具提供的-g选项直接生成默认文件。具体参考:rtl_eeprom一文,鄙人未对此方法的有效性做验证

有了上文的方案,没有烙铁或焊台等工具的CS大佬们便可以尝试不拆硬件修改EEPROM了。

此处附上本人RTL电视棒修改前后的EEPROM中dump到的文件:

EEPROM.zip

本文主要整理了鄙人发现EEPROM中部分数据对电视棒作用的过程,希望本文能对大家有所帮助。

参考:

1:RealTek RTL2832U
linuxtv.org/wiki/index.php/RealTek_RTL2832U

2:WIKI:rtl-sdr
https://osmocom.org/projects/rtl-sdr/wiki/Rtl-sdr

3:rtl-eeprom工具帮助文档
http://manpages.ubuntu.com/manpages/trusty/man1/rtl_eeprom.1.html

CentOS7下编译安装Shadowsocks-libev

CentOS7下编译安装Shadowsocks-libev

前言:

Shadowsocks是一种基于Socks5代理方式的加密传输协议,也可以指实现这个协议的各种开发包。在中国大陆,本工具广泛用于解决长城防火墙的未知错误而导致的Google、YouTube、Facebook等正常境外网站不能正常访问。网上有大量热心网友提供了各种版本的一键安装脚本,用于支持那些非计算机从业人员快速方便的在服务器上搭建服务端。但是某些情况下,一键脚本的安全性难以保证;另一方面,使用一键脚本不能让我们具体了解到这个工具是如何工作的。而本文则提供了一步一步从源代码手动编译安装Shadowsocks-libev的过程。

阅读本文,您可能需要基本的Linux系统操作技术与网络技术基础。

步骤:

  1. 准备编译环境,在CentOS7下运行以下两条命令完成环境准备。

     yum install epel-release -y
     yum install gcc gettext autoconf libtool automake make pcre-devel asciidoc xmlto c-ares-devel libev-devel libsodium-devel mbedtls-devel -y
  2. 安装Git,并从GitHub下载源码。

     yum install git -y
     cd /usr/local/src
     git clone https://github.com/shadowsocks/shadowsocks-libev.git
  3. 配置并编译源代码。

     cd shadowsocks-libev
     git submodule update --init --recursive
     sh autogen.sh
     ./configure --disable-documentation
     make
     make install
  4. 配置Shadowsocks服务端配置文件,文件位于 .../shadowsocks-libev/debian/config.json,将此文件复制到/etc/shadowsocks-libev/config.json

     mkdir /etc/shadowsocks-libev
     cp ./debian/config.json /etc/shadowsocks-libev/config.json
  5. 使用vi编辑器打开/etc/shadowsocks-libev/config.json

     vi /etc/shadowsocks-libev/config.json
  6. 按照自己的需求填写服务端参数。

     {
     "server":"0.0.0.0",    //服务端IP地址,Linux系统下0.0.0.0表示本地
     "server_port":8388,    //服务端端口号
     "local_port":1080,     //本地端口号
     "password":"barfoo!",   //密码
     "timeout":10,    超时时长(秒)
     "method":"chacha20-ietf-poly1305"     //加密方式
     }
     #加密方式据说有如下几种:
     aes-256-gcm
     aes-192-gcm
     aes-128-gcm
     aes-256-ctr
     aes-192-ctr
     aes-128-ctr
     aes-256-cfb
     aes-192-cfb
     aes-128-cfb
     camellia-128-cfb
     camellia-192-cfb
     camellia-256-cfb
     chacha20-ietf-poly1305
     chacha20-ietf
     chacha20
     rc4-md5
  7. shadowsocks-libev.default文件复制到/etc/sysconfig/shadowsocks-libev
    shadowsocks-libev.service文件复制到/usr/lib/systemd/system/目录。因为本例中编译安装的程序文件位置为/usr/local/bin/,需要修改一下文件中的启动命令。

    cp /usr/local/src/shadowsocks-libev/rpm/SOURCES/systemd/shadowsocks-libev.default /etc/sysconfig/shadowsocks-libev
    cp /usr/local/src/shadowsocks-libev/rpm/SOURCES/systemd/shadowsocks-libev.service /usr/lib/systemd/system/
    vi /usr/lib/systemd/system/shadowsocks-libev.service

    将以下一行:

    ExecStart=/usr/bin/ss-server -c "$CONFFILE" $DAEMON_ARGS

    替换成以下内容,按ESC键输入:wq,按Enter键保存退出即可。

    ExecStart=/usr/local/bin/ss-server -c "$CONFFILE" $DAEMON_ARGS
  8. 运行服务,检查服务是否正常运行,若服务运行正常,即显示:Active: active (running)

    systemctl start shadowsocks-libev
    systemctl status shadowsocks-libev
  9. 确定服务正常后,将服务添加到开机启动。这时我们在客户端中输入服务器的IP地址等配置信息后就可以使用了,若依然不可以,请检查配置信息是否填写正确,并检查服务端防火墙配置。

    systemctl enable shadowsocks-libev

防火墙配置:

若服务端与客户端配置均正确,依然无法建立连接,我们便需要检查是否服务端防火墙导致。若服务器系统配置了防火墙并已经启动,那么在配置防火墙开放对应服务端口前,自然是无法与服务器建立连接的。其实我们作为服务器的管理人员,自然应该知道自己服务器是否有开启防火墙的。

  1. 我们可以使用此网站检查某个端口是否可以访问。输入IP地址和端口号后点击Check即可检测。若提示Port XX is open on x.x.x.x 即表示端口已经打开。反之 close即表示端口没有反应。此时我们进一步检查防火墙。

  2. 检查防火墙服务是否运行,CentOS7默认将原来CentOS6时代的防火墙iptables升级为了firewalld。使用以下命令检查防火墙运行状态。若回显信息提示:running,则表示防火墙运行中。

    firewall-cmd --state
  3. 为Shadowsocks在防火墙中添加规则,开放对应端口的TCP和UDP通信。下以上文配置文件中的8388端口为例,具体按自己需求修改。到此为止,我们便完成了防火墙的配置。

    firewall-cmd --zone=public --add-port={8388/tcp,8388/udp} --permanent
    firewall-cmd --reload

本文到此结束。

参考:

  1. shadowsocks-libev-GitHub项目页

CentOS7部署MinIO服务器&VPS使用MinIO Client备份数据

CentOS7部署MinIO服务器&VPS使用MinIO Client备份数据

重要数据备份是很重要的,本博客也遇到了几次意外,但是都从备份中恢复了。以往都是定期手动备份站点目录和数据库,耗时又费力。在此探索一种新的方式,在一台存储空间较大的VPS(俗称大盘机)上部署MinIO服务端,客户机通过MinIO Client将文件备份到大盘机。

MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。

服务端部署

根据MinIO官方文档描述,MinIO服务端部署非常简单,几条命令即可完成安装,然后我们再创建一个systemd配置文件用于开机自启即可。

  1. 依次输入以下两行命令,下载二进制文件至/usr/local/bin,并赋予其可执行权限。

     wget -P /usr/local/bin https://dl.min.io/server/minio/release/linux-amd64/minio
     chmod +x /usr/local/bin/minio
  2. 依次输入以下两行命令,创建MinIO工作目录,尝试手动运行服务。记录回显的Endpoint、AccessKey、SecretKey等信息,尝试在浏览器中输入Endpoint中的地址,输入AccessKey和SecretKey登陆。检查正常后按Ctrl + C停止MinIO。若不成功,请检查MinIO是否正常运行,并检查系统防火墙配置是否放行9000端口。

     mkdir /srv/MinIO
     minio server /srv/MinIO
  3. CentOS7使用firewalld防火墙,使用以下第一条命令在防火墙规则中添加开放9000端口的TCP通信,另勿忘使用第二条命令重载防火墙。

     firewall-cmd --zone=public --add-port=9000/tcp --permanent
     firewall-cmd --reload
  4. 运行以下命令,在/etc/systemd/system/目录下创建minio.service配置文件,并使用vi编辑器打开。tips:Alt+.可快速输入上一命令中的变量。

     touch /etc/systemd/system/minio.service
     vi /etc/systemd/system/minio.service
  5. 在vi编辑器中输入以下内容,按ESC键,输入:wq,保存退出。

     [Unit]
     Description=MinIO object storage server
     After=network.target
    
     [Service]
     Type=simple
     ExecStart=/usr/local/bin/minio server /srv/MinIO
     Restart=on-failure
    
     [Install]
     WantedBy=multi-user.target

6.运行以下命令,启动服务,并添加开机启动,此时通过浏览器应该能正常访问到网页即证明配置完成。

```
systemctl start minio
systemctl enable minio
```

客户端配置

客户端的配置依然很简单。

  1. 使用wget下载文件到,并赋予其可执行权限。

      wget -P /usr/local/bin/ https://dl.min.io/client/mc/release/linux-amd64/mc
      chmod +x /usr/local/bin/mc
  2. 使用以下命令添加上文部署好的MinIO对象存储服务器信息。其中,Alias是云存储服务的简称。API-SIGNATURE是可选参数。默认情况下,它设置为“S3v4”。

     mc config host add <ALIAS> <YOUR-S3-ENDPOINT> <YOUR-ACCESS-KEY> <YOUR-SECRET-KEY> <API-SIGNATURE>

    ​ 例如:

      mc config host add MinIO http://10.145.87.224:9000 Do24SZ3JDWEKDWPZ5DV2O KL7Hjas76BdI4msWYEZh3FH*Sh4B+gH&SvGc3z5Ub
  3. 在我们上面添加的MinIO下,创建一个名为blog的存储桶(bucket)。

     mc mb MinIO/blog
  4. 运行以下命令将blog.lexsion目录下的文件同步到名为MinIO/blog的bucket里,并保持对目录修改的监听。此命令在本地修改/删除文件后会同步在bucket中修改/删除。测试正常后按Ctrl+C停止。

     mc mirror -w --overwrite --remove /www/wwwroot/blog.lexsion MinIO/blog
  5. 创建systemd配置文件,使用以下命令打开vi编辑器。

     vi /etc/systemd/system/minioc.service
  6. 在打开的编辑器中按i键进入编辑模式,输入如下内容,按ESC键,输入:wq按Enter键保存退出。

     [Unit]
     Description=MinIO Client Service
     After=network.target
    
     [Service]
     Type=simple
     ExecStart=/usr/local/bin/mc mirror -w --overwrite --remove /www/wwwroot/blog.lexsion MinIO/blog
     Restart=on-failure
    
     [Install]
     WantedBy=multi-user.target
  7. 运行服务,并添加到开机自启动。

     systemctl start minioc
     systemctl enable minioc

到此,本文就结束了。但是MinIO的功能远不止这些,大家有兴趣可以自行探索。

参考:

MinIO中文Docs.
https://docs.min.io/cn/
MinIO.Docs.English Ver.
https://docs.min.io/docs/
Centos7(Firewall)防火墙开启常见端口命令
http://www.5yun.org/10074.html
vim非完全学习手册
https://lexsion.com/index.php/archives/129/