-
Notifications
You must be signed in to change notification settings - Fork 0
/
rss.xml
331 lines (315 loc) · 18.9 KB
/
rss.xml
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title></title>
<link>undefined</link>
<description>undefined</description>
<lastBuildDate>Mon, 06 Nov 2023 03:06:36 GMT</lastBuildDate>
<docs>https://validator.w3.org/feed/docs/rss2.html</docs>
<generator>Joplin Pages Publisher</generator>
<item>
<title><![CDATA[HG5140A获取密码]]></title>
<guid>275d177683d847fe92989ef5f529abc9</guid>
<pubDate>Fri, 03 Mar 2023 03:33:05 GMT</pubDate>
<content:encoded><![CDATA[<p>烽火2021后新光猫:<br />
mac用包装盒标签的,部分型号内外mac不一致<br />
开telnet<br />
/cgi-bin/telnetenable.cgi?telnetenable=1&key=牛皮纸盒外包装标签的MAC地址<br />
telnet用户名密码:<br />
telecom nE7jA%5m<br />
telnetadmin FH-nE7jA%5m牛皮纸盒外包装标签的MAC地址后六位<br />
查看超级密码:<br />
cfg_cmd get InternetGatewayDevice.DeviceInfo.X_CT-COM_TeleComAccount.Password<br />
su密码:<br />
Fh@牛皮纸盒外包装标签的MAC地址后六位<br />
进入工厂模式(海思方案不适用):<br />
load_cli factory<br />
显示所有信息<br />
show all<br />
改GPON<br />
set current_ponmode GPON<br />
改EPON<br />
set current_ponmode EPON</p>
<p>set device_oui 111111<br />
set device_sn 改GPON SN<br />
set mac_num 改mac</p>
<p>超级用户名<br />
show admin_name<br />
超级密码<br />
show admin_pwd<br />
地区<br />
show area_code<br />
当前PON模式<br />
show current_ponmode<br />
定制厂商<br />
show custom<br />
型号<br />
show device_model<br />
show mac_num<br />
show gpon_sn</p>
<p>开启网页工厂模式<br />
set factorymode enable<br />
关闭网页工厂模式<br />
set factorymode disable<br />
工厂模式状态<br />
show factorymode</p>
<p>改地区改SN刷固件在web工厂模式<br />
用户名:fiberhomehg2x0 密码:hg2x</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[N3150 Pocket PC 最小x86黑群晖装机]]></title>
<guid>937d7e492ccb45ba94ac3127a579e739</guid>
<pubDate>Sat, 26 Nov 2022 01:48:06 GMT</pubDate>
<content:encoded><![CDATA[<h2 id="前言">前言</h2>
<p>一直在寻找小巧的但盘位NAS,之前有猫盘,但是那Marvell ARMADA A3720 的CPU,实在是太羸弱了,最近找到了一款口袋电脑,N3150 CPU,4G内存可更换,接口齐全,大小只比2.5寸硬盘稍大,完美。<br />
<img src="/_resources/0d0262fd4abd4ad19e398bba3ebf57a3.png" /><br />
<img src="/_resources/0783d07889e240a08a2058a31666eaf0.png" /><br />
<img src="/_resources/5560a8304e604b1ba59db29ced0f6be6.png" /></p>
<h2 id="拆机">拆机</h2>
<p>口袋主机分2层,上面一层装的主板,下面一层装的是硬盘,中间有散热排风扇。<br />
<img src="/_resources/aeb1f763b5f949b282efda7105742cbc.png" /><br />
<img src="/_resources/328a3eb24c6b4c83a835b78f532bde63.png" /><br />
<img src="/_resources/a65f69161ecf47779bdc154345869265.png" /></p>
<p>可以看到主板上内存可以拆卸更换,还有m2的无线网卡,或许可以扩展其他好玩的东西。<br />
主板和上面硬盘部分通过FPC排线连接,包含USB、HDMI扩展口,SATA仓位有金属固定架,背面有镂空散热孔,正常使用问题不大。</p>
<h2 id="安装黑群晖">安装黑群晖</h2>
<p>现在群晖的引导已经GITHUB开源,可以使用在线自定义快速编译,定制自己需要引导。地址: <a title="https://github.com/wjz304/Redpill_CustomBuild" href="https://github.com/wjz304/Redpill_CustomBuild">Redpill_CustomBuild</a><br />
<img src="/_resources/8060cc5f07114cf0a6c8f2764c04f2a2.png" /></p>
<p>今天我使用的不是上述方法,采用本机自动编译的方法进行打包生成黑群引导。使用巴西人创建的开源arpl引导,GITHUB地址:<a title="https://github.com/fbelavenuto/arpl" href="https://github.com/fbelavenuto/arpl">Automated Redpill Loader</a></p>
<p>使用方法:</p>
<ol>
<li>
<p>下载上述github地址的<code>release</code>中的 <code>img.zip</code> 文件,当前版本<code>arpl-1.0-beta3</code>(作者更新还是很积极的,使用时去下载最新版本)</p>
</li>
<li>
<p>将下载的<code>img.zip</code>文件解压缩后的<code>img</code>文件使<code>balenaEtcher</code>工具写入U盘,制作好启动盘。</p>
</li>
<li>
<p>将U盘插入口袋PC,并插上网线,确保能够访问外网,启动PC,按ESC进入BIOS,使用USB启动。</p>
</li>
<li>
<p>进入arpl初始化界面,执行成功后,会出现以下界面:<br />
<img src="/_resources/ddbd583f5ecf419e8f7deabab4b2bd88.png" /></p>
</li>
<li>
<p>在另外的电脑上输入以上IP端口,可以进入web 操作界面</p>
<ul>
<li>选择型号: chose a model -> 920+</li>
<li>选择版本号: chose a build number -> 选择最新即可</li>
<li>选序列号: chose a series number -> 选择随机 ramdom</li>
<li>编译引导: build the loader -> 等待编译完成</li>
<li>直接引导DSM: switch direct boot: false -> false 改为true</li>
<li>使用引导进入DSM: boot the loader</li>
</ul>
</li>
<li>
<p>上述完成后,就是正常进入网页进行安装群晖系统化了</p>
</li>
</ol>
<blockquote>
<p>以上步骤参考了这篇文章:<a title="https://wp.gxnas.com/12245.html" href="https://wp.gxnas.com/12245.html">https://wp.gxnas.com/12245.html</a></p>
</blockquote>
<h2 id="后记">后记</h2>
<p>安装群晖后,正常的docker、虚拟机都没有问题,CPU温度也在控制范围内,就是板载了32G 的 emmc 硬盘无法使用,可惜了。</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[使用Air724ug开发板进行短信转发]]></title>
<guid>92781a23d8ca4bb0a99c4682385956d2</guid>
<pubDate>Fri, 26 Aug 2022 06:34:28 GMT</pubDate>
<content:encoded><![CDATA[<h1 id="需求">需求</h1>
<p>我有一个0月租的电信手机卡,一直都是当做备用机进行注册账号,收发垃圾短信使用,之前的方案是: 树莓派+ec20 + 卡托 + gammu-smsd进行处理转发,但是不知道是树莓派问题还是ec20多问题,不是很稳定,所以寻找替代方案。无意中看到了4G LTE DTU模块,可以用来尝试一波。</p>
<h1 id="硬件">硬件</h1>
<ul>
<li>air724ug 开发板。淘宝上有很多,价格不到50元,非常合适,支持LuatOS 进行二次开发</li>
</ul>
<h1 id="软件">软件</h1>
<ul>
<li>LuatOS 链接: <a title="http://www.luatos.com/" href="http://www.luatos.com/">地址</a></li>
</ul>
<h1 id="下载工具">下载工具</h1>
<ul>
<li>Luatools: 调试下载固件工具: <a title="https://doc.openluat.com/wiki/29?wiki_page_id=3368" href="https://doc.openluat.com/wiki/29?wiki_page_id=3368">地址</a></li>
<li>驱动:调试下载固件使用的驱动: <a title="https://doc.openluat.com/wiki/29?wiki_page_id=3367" href="https://doc.openluat.com/wiki/29?wiki_page_id=3367">地址</a></li>
<li>LuatOS 固件:使用LuatOS-Air固件 <a title="https://doc.openluat.com/article/1334" href="https://doc.openluat.com/article/1334">地址</a></li>
</ul>
<h1 id="烧录固件">烧录固件</h1>
<ul>
<li>固件选择: Luat_RDA8910_TTS_NOLVGL_FLOAT 这个版本,支持TTS,不支持蓝牙</li>
<li>使用Luatools将固件和上层的lib烧录进入air724ug</li>
</ul>
<h1 id="二次开发短信转发lua脚本">二次开发短信转发Lua脚本</h1>
<div><pre class="hljs"><code>PROJECT = <span class="hljs-string">"SMS_Forwarder"</span>
VERSION = <span class="hljs-string">"1.0.0"</span>
BARK_URL = <span class="hljs-string">"https://api.day.app/M8xxxxxxxx/"</span>
<span class="hljs-built_in">require</span> <span class="hljs-string">"sys"</span>
<span class="hljs-built_in">require</span> <span class="hljs-string">"http"</span>
<span class="hljs-built_in">require</span> <span class="hljs-string">"sms"</span>
<span class="hljs-built_in">require</span> <span class="hljs-string">"common"</span>
<span class="hljs-built_in">require</span> <span class="hljs-string">"cc"</span>
<span class="hljs-built_in">require</span> <span class="hljs-string">"audio"</span>
<span class="hljs-built_in">require</span> <span class="hljs-string">"net"</span>
<span class="hljs-comment">-- HTTP 回调,显示调试信息用</span>
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">httpCallback</span><span class="hljs-params">(result, prompt, head, body)</span></span>
<span class="hljs-keyword">if</span> result <span class="hljs-keyword">then</span>
<span class="hljs-built_in">print</span>(<span class="hljs-string">"HTTP"</span>, prompt, body)
<span class="hljs-keyword">else</span>
<span class="hljs-built_in">print</span>(<span class="hljs-string">"HTTP Request Failed. "</span>, prompt)
<span class="hljs-keyword">end</span>
<span class="hljs-keyword">end</span>
<span class="hljs-comment">-- 推送信息到BARK</span>
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">notifyToBark</span><span class="hljs-params">(msg)</span></span>
http.request(
<span class="hljs-string">"GET"</span>,
<span class="hljs-comment">-- BARK_URL..string.urlEncode(msg),</span>
BARK_URL..<span class="hljs-built_in">string</span>.rawurlEncode(msg), <span class="hljs-comment">-- 对内容中文进行编码</span>
<span class="hljs-literal">nil</span>, <span class="hljs-comment">-- 不指定证书</span>
<span class="hljs-literal">nil</span>,
<span class="hljs-literal">nil</span>,
<span class="hljs-number">30000</span>, <span class="hljs-comment">-- 发送超时,ms</span>
httpCallback, <span class="hljs-comment">-- 回调</span>
<span class="hljs-literal">nil</span>
)
<span class="hljs-keyword">end</span>
<span class="hljs-comment">--[[
num:短信号码,ASCII码字符串格式
data:短信内容,字符串格式
datetime:短信日期和时间,ASCII码字符串格式
]]</span>
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">smsCallback</span><span class="hljs-params">(num, data, datetime)</span></span>
<span class="hljs-built_in">print</span>(<span class="hljs-string">"SMS FROM "</span>, num, <span class="hljs-string">" IN "</span>, datetime)
<span class="hljs-built_in">print</span>(data)
data = common.gb2312ToUtf8(data) <span class="hljs-comment">-- 短信编码要转换为目标平台支持的UTF-8</span>
<span class="hljs-comment">-- data = string.gsub(data, "*", "\\*") -- Telegram 特殊字符转义</span>
<span class="hljs-comment">-- data = string.gsub(data, "_", "\\_") -- Telegram 特殊字符转义</span>
notifyToBark(data..<span class="hljs-string">"。from:"</span>..num)
<span class="hljs-keyword">end</span>
call_in = <span class="hljs-literal">false</span>
<span class="hljs-comment">-- 电话拨入回调,在这里发送通知并接通电话</span>
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">call_incoming</span><span class="hljs-params">(num)</span></span>
<span class="hljs-built_in">print</span>(<span class="hljs-string">"CALL FROM "</span>, num)
<span class="hljs-keyword">if</span> <span class="hljs-keyword">not</span> call_in <span class="hljs-keyword">then</span>
call_in = <span class="hljs-literal">true</span>
notifyToBark(num..<span class="hljs-string">" 给您来电"</span>)
cc.accept(num)
<span class="hljs-keyword">end</span>
<span class="hljs-keyword">end</span>
<span class="hljs-comment">-- 电话接通回调,这里播放TTS通知对方</span>
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">call_connected</span><span class="hljs-params">(num)</span></span>
<span class="hljs-built_in">print</span>(<span class="hljs-string">"CALL CONNECTED"</span>)
call_in = <span class="hljs-literal">false</span>
<span class="hljs-comment">--通话中向对方播放TTS</span>
audio.play(<span class="hljs-number">7</span>,<span class="hljs-string">"TTS"</span>,<span class="hljs-string">"您好,机主无法接听您的来电,请使用短信联系机主。"</span>,<span class="hljs-number">7</span>,<span class="hljs-literal">nil</span>,<span class="hljs-literal">true</span>,<span class="hljs-number">2000</span>)
<span class="hljs-comment">--30秒之后主动结束通话</span>
sys.timerStart(cc.hangUp,<span class="hljs-number">30000</span>,num)
<span class="hljs-keyword">end</span>
<span class="hljs-comment">-- 电话挂断回调,停止TTS</span>
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">call_disconnected</span><span class="hljs-params">(discReason)</span></span>
<span class="hljs-built_in">print</span>(<span class="hljs-string">"CALL DISCONNECTED"</span>)
call_in = <span class="hljs-literal">false</span>
sys.timerStopAll(cc.hangUp)
audio.stop()
<span class="hljs-keyword">end</span>
<span class="hljs-comment">-- 定时任务:每天发送短信到10001查询流量</span>
sys.timerLoopStart(
<span class="hljs-function"><span class="hljs-keyword">function</span><span class="hljs-params">()</span></span>
sms.send(<span class="hljs-string">"10001"</span>, <span class="hljs-string">"108"</span>, <span class="hljs-literal">nil</span>, <span class="hljs-literal">nil</span>)
<span class="hljs-keyword">end</span>
, <span class="hljs-number">24</span>*<span class="hljs-number">60</span>*<span class="hljs-number">60</span>*<span class="hljs-number">1000</span>
)
<span class="hljs-comment">--加载网络指示灯和LTE指示灯功能模块</span>
<span class="hljs-comment">--根据自己的项目需求和硬件配置决定:1、是否加载此功能模块;2、配置指示灯引脚</span>
<span class="hljs-comment">--合宙官方出售的Air720U开发板上的网络指示灯引脚为pio.P0_1,LTE指示灯引脚为pio.P0_4</span>
<span class="hljs-built_in">require</span> <span class="hljs-string">"netLed"</span>
pmd.ldoset(<span class="hljs-number">2</span>,pmd.LDO_VLCD)
netLed.setup(<span class="hljs-literal">true</span>,pio.P0_1,pio.P0_4)
<span class="hljs-comment">--设置短信回调</span>
sms.setNewSmsCb(smsCallback)
<span class="hljs-comment">--禁用RNDIS,防止跑流量</span>
ril.request(<span class="hljs-string">"AT+RNDISCALL=0,1"</span>)
<span class="hljs-comment">--注册电话回调</span>
sys.subscribe(<span class="hljs-string">"CALL_INCOMING"</span>, call_incoming)
sys.subscribe(<span class="hljs-string">"CALL_CONNECTED"</span>, call_connected)
sys.subscribe(<span class="hljs-string">"CALL_DISCONNECTED"</span>, call_disconnected)
<span class="hljs-comment">--每1分钟查询一次GSM信号强度</span>
<span class="hljs-comment">--每1分钟查询一次基站信息</span>
net.startQueryAll(<span class="hljs-number">60000</span>, <span class="hljs-number">60000</span>)
<span class="hljs-comment">-- 系统初始化</span>
sys.init(<span class="hljs-number">0</span>, <span class="hljs-number">0</span>)
sys.run()</code></pre></div>
<ul>
<li>将 <code>BARK_URL</code> 改成自己对应的bark app 推送地址</li>
<li>如果使用其他推送,修改 <code>notifyToBark</code> 函数,实现相关逻辑</li>
<li>默认开启了来电提醒,会将来电号码推送给手机,如果不需要<br />
将<code>notifyToBark(num.." 给您来电")</code>注释掉</li>
<li>默认开启了来电自动接听,并且播放TTS语音提醒,如果不需要,注释掉电话相关的回调注册</li>
</ul>
<h1 id="后记">后记</h1>
<p>使用两天后,效果非常好,几乎收到短信2s左右就会推送到手机,相比之前的方案,实时性提高了。但是由于不能使用WIFI网络,需要消耗一定的流量,同样带来的好处是,不依赖外部网络,在线率更高。</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[使用Joplin发布Netlify博客]]></title>
<guid>de6b970e2649436d99f8d47fd7ae3f46</guid>
<pubDate>Tue, 26 Jul 2022 08:16:40 GMT</pubDate>
<content:encoded><![CDATA[<blockquote>
<p>最近一直使用Joplin作为markdown 笔记软件,使用起来还不错,但是分享内容 不是很方便,所有Google了一下,总结下实现方案</p>
</blockquote>
<h3 id="安装配置joplin插件">安装配置Joplin插件</h3>
<ul>
<li>
<p>下载插件 joplin-plugin-pages-publisher<br />
<a title="https://github.com/joplin/plugins/blob/master/README.md#plugins" href="https://github.com/joplin/plugins/blob/master/README.md#plugins">下载地址</a><br />
在列表中的 <code>pages publisher</code> 插件</p>
</li>
<li>
<p>配置插件<br />
插件的开发者仓库: <a title="https://github.com/ylc395/joplin-plugin-pages-publisher" href="https://github.com/ylc395/joplin-plugin-pages-publisher">Github</a><br />
作者的github页面有详细配置个教程,按流程配置成功后,可以正常访问github pages。<br />
<strong>需要使用 <code>xxx.github.io</code> 的repo名称,不然会找不到_assets目录,导致css加载不出来</strong></p>
</li>
<li>
<p>配置完成后,如果不使用netlify的话,GIthub pags就配置完成了。</p>
</li>
</ul>
<h3 id="配置netlify">配置Netlify</h3>
<p>github pages国内访问不太稳定,所以考虑使用Netlify进行部署博客</p>
<ul>
<li>
<p>登录Netlify,创建Site<br />
直接使用Github登录Netlify,并且进行授权访问 repo,直接拉去github仓库进行Deploy,部署成功后,就可以使用Netlify提供的域名进行访问测试了</p>
</li>
<li>
<p>配置domain域名<br />
Netlify网上的教程都是使用顶级域名,没有使用二级子域名的教程,自己尝试一下,设置成功。</p>
<ol>
<li>
<p>在Netlify中设置域名<br />
<img src="/_resources/d5b33c694f714f05af24c6ae1bc40345.png" /><br />
<img src="/_resources/20f1fa7d42f74553a41bc049ef3df560.png" /><br />
<img src="/_resources/ee7cff905f854935b71c71488f1c0b83.png" /></p>
</li>
<li>
<p>修改域名的DNS解析<br />
此处大多数教程都是直接修改name server,由于我的主域名想解析到Netlify,所以使用二级域名。<strong>在域名管理处,修改二级域名的NS解析,指向Netlify的DNS</strong><br />
<img src="/_resources/2356440f2fff4cc0b988b71986505dec.png" /></p>
</li>
<li>
<p>回到Netlify中,<code>Check DNS configuration</code> 进行检测,DNS生效后,就通过验证。</p>
</li>
<li>
<p>配置SSL,点击界面上的的按钮,申请Let's Encrypt证书<br />
<img src="/_resources/c685268c505e4b0f9b7df1eb7e99aa9c.png" /></p>
</li>
<li>
<p>直接访问页面,就可以使用https进行访问博客系统的了</p>
</li>
</ol>
<p><strong><a title="https://blog.okwlan.com/" href="https://blog.okwlan.com/">Demo</a></strong></p>
</li>
</ul>
]]></content:encoded>
</item>
</channel>
</rss>