用 LEDE 實(shí)現(xiàn)短信驗(yàn)證碼轉(zhuǎn)發(fā)

前段時(shí)間貌似是因?yàn)殡娦啪W(wǎng)絡(luò)維護(hù)停止了 CDMA 的本網(wǎng)漫游,需要漫游到 WCDMA韩脑。奈何短信機(jī)是臺(tái)紅米 1S氢妈,不支持 WCDMA,導(dǎo)致收不到各種驗(yàn)證碼段多。于是打算使用 3G 模塊接收短信首量,并轉(zhuǎn)發(fā)到 Telegram。

經(jīng)過(guò)一番調(diào)查后發(fā)現(xiàn):

  1. 日本早在 2012 年 5 月 31 日全面停止了 2G 網(wǎng)絡(luò)的服務(wù)进苍,于是 GSM 不可行加缘。
  2. 打電話給電信回復(fù)說(shuō):CDMA 維護(hù),恢復(fù)時(shí)間不定觉啊,請(qǐng)使用 WCDMA 網(wǎng)絡(luò)拣宏。這說(shuō)明異網(wǎng)漫游是正常的。
  3. DoCoMo 的 WCDMA 頻段是 Band 1杠人,6勋乾,9,19嗡善。

然后去日拍翻了下辑莫,剛好有一款符合要求:


image.png
華為 E173U

標(biāo)準(zhǔn) AT 指令操作,支持收發(fā)短信罩引。

測(cè)試入網(wǎng)

正常入網(wǎng)

正常入網(wǎng)各吨,接著測(cè)試 AT 指令

測(cè)試 AT 指令

一切正常。

配置 LEDE

首先需要安裝 USB 驅(qū)動(dòng)

opkg install kmod-usb-serial kmod-usb-serial-wwan kmod-usb-serial-option usb-modeswitch

主要就是這些袁铐,可能還有其他需要安裝的我沒(méi)有列出來(lái)揭蜒,具體請(qǐng)參考 Use 3g/UMTS USB Dongle for WAN connection

之后就是配置短信服務(wù),這里用到的是 smstools3剔桨,所以

opkg install smstools3

接著需要配置 smstool3屉更,配置文件在 /etc/smsd.conf,修改完之后應(yīng)該是這樣:

#
# Description: Main configuration file for the smsd
#

devices = GSM1
incoming = /var/spool/sms/incoming
outgoing = /var/spool/sms/outgoing
checked = /var/spool/sms/checked
failed = /var/spool/sms/failed
sent = /var/spool/sms/sent
receive_before_send = no
autosplit = 3
incoming_utf8 = yes

# 輪詢短信間隔時(shí)間
delaytime = 1

[GSM1]
# 將短信保存在上網(wǎng)卡中(更快洒缀,不支持的話請(qǐng)使用 SM 模式)
init = AT+CPMS="ME","ME","ME"

# 將短信保存在 USIM 卡中
# init = AT+CPMS="SM","SM","SM"

device = /dev/ttyUSB0
incoming = yes

# 如果 USIM 卡有設(shè)置 pin 碼需要設(shè)置這行來(lái)解鎖
# pin = 0000

# 波特率瑰谜,一般都是 115200,不對(duì)的話請(qǐng)自行修改
baudrate = 115200

# 如果檢測(cè)得到信息但是無(wú)法讀取需要修改這里的讀取模式
check_memory_method = 2

report_device_details = yes
signal_quality_ber_ignore = yes
check_network = no

如果你的上網(wǎng)卡的串口路徑不是 /dev/ttyUSB0 請(qǐng)查找后自行修改:

ls /dev | grep tty
...
ttyUSB0
ttyUSB1
ttyUSB2
...

啟動(dòng)服務(wù)

/etc/init.d/smstools3 restart

這樣一來(lái)就能正常收到短信了。
順便一提似舵,E173U 的指示燈:

  • 閃綠燈:初始化正常,正在搜索網(wǎng)絡(luò)
  • 閃藍(lán)燈:正常入網(wǎng)

不出意外的話葱峡,在配置好上網(wǎng)卡的軟件包后插上上網(wǎng)卡就能看到藍(lán)燈閃爍砚哗,代表正常入網(wǎng)。

測(cè)試 smstools

剛剛配置好了 smstools 但是不知道是否工作正常砰奕,于是查看日志:

2017-06-08 03:25:34,7, smsd: Done: startup_check (shell), execution time 0 sec., status: 0 (0)
2017-06-08 03:25:34,4, smsd: File mode creation mask: 022 (0644, rw-r--r--).
2017-06-08 03:25:34,5, smsd: Outgoing file checker has started. PID: 9684.
2017-06-08 03:25:34,7, smsd: All PID's: 9684,9686
2017-06-08 03:25:34,5, GSM1: Modem handler 0 has started. PID: 9686.
2017-06-08 03:25:34,5, GSM1: Using check_memory_method 1: CPMS is used.
2017-06-08 03:25:34,6, GSM1: Checking device for incoming SMS
2017-06-08 03:25:34,6, GSM1: Checking if modem is ready
2017-06-08 03:25:34,7, GSM1: -> AT
2017-06-08 03:25:34,7, GSM1: Command is sent, waiting for the answer
2017-06-08 03:25:35,7, GSM1: <- OK
2017-06-08 03:25:35,6, GSM1: Pre-initializing modem
2017-06-08 03:25:35,7, GSM1: -> ATE0+CMEE=1;+CREG=2
2017-06-08 03:25:35,7, GSM1: Command is sent, waiting for the answer
2017-06-08 03:25:35,7, GSM1: <- OK
2017-06-08 03:25:35,6, GSM1: Checking if modem needs PIN
2017-06-08 03:25:35,7, GSM1: -> AT+CPIN?
2017-06-08 03:25:35,7, GSM1: Command is sent, waiting for the answer
2017-06-08 03:25:36,7, GSM1: <- +CPIN: READY OK
2017-06-08 03:25:36,6, GSM1: Initializing modem
2017-06-08 03:25:36,7, GSM1: -> AT^CURC=0
2017-06-08 03:25:36,7, GSM1: Command is sent, waiting for the answer
2017-06-08 03:25:36,7, GSM1: <- OK
2017-06-08 03:25:36,7, GSM1: -> AT+CSQ
2017-06-08 03:25:36,7, GSM1: Command is sent, waiting for the answer
2017-06-08 03:25:37,7, GSM1: <- +CSQ: 12,99 OK
2017-06-08 03:25:37,6, GSM1: Signal Strength Indicator: (12,99) -89 dBm (Workable)
2017-06-08 03:25:37,6, GSM1: Checking if Modem is registered to the network
2017-06-08 03:25:37,7, GSM1: -> AT+CREG?
2017-06-08 03:25:37,7, GSM1: Command is sent, waiting for the answer
2017-06-08 03:25:37,7, GSM1: <- +CREG: 2,5, 66, C018 OK
2017-06-08 03:25:37,6, GSM1: Modem is registered to a roaming partner network
2017-06-08 03:25:37,6, GSM1: Location area code: 66, Cell ID: C018
2017-06-08 03:25:37,7, GSM1: -> AT+CSQ
2017-06-08 03:25:37,7, GSM1: Command is sent, waiting for the answer
2017-06-08 03:25:38,7, GSM1: <- +CSQ: 13,99 OK
2017-06-08 03:25:38,6, GSM1: Signal Strength Indicator: (13,99) -87 dBm (Workable)
2017-06-08 03:25:38,6, GSM1: Selecting PDU mode
2017-06-08 03:25:38,7, GSM1: -> AT+CMGF=0
2017-06-08 03:25:38,7, GSM1: Command is sent, waiting for the answer
2017-06-08 03:25:38,7, GSM1: <- OK
2017-06-08 03:25:38,7, GSM1: -> AT+CIMI
2017-06-08 03:25:38,7, GSM1: Command is sent, waiting for the answer
2017-06-08 03:25:39,7, GSM1: <- 204046003816003 OK
2017-06-08 03:25:39,7, GSM1: -> AT+CGSN
2017-06-08 03:25:39,7, GSM1: Command is sent, waiting for the answer
2017-06-08 03:25:39,7, GSM1: <- 352216049835909 OK
2017-06-08 03:25:39,5, GSM1: CGSN: 352216049835909
2017-06-08 03:25:39,5, GSM1: IMSI: 204046003816003
2017-06-08 03:25:39,6, GSM1: Checking if reading of messages is supported
2017-06-08 03:25:39,7, GSM1: -> AT+CPMS?
2017-06-08 03:25:39,7, GSM1: Command is sent, waiting for the answer
2017-06-08 03:25:40,7, GSM1: <- +CPMS: "SM",1,40,"SM",1,40,"SM",1,40 OK
2017-06-08 03:25:40,7, GSM1: ## Start of device details
2017-06-08 03:25:40,7, GSM1: # Manufacturer identification:
2017-06-08 03:25:40,7, GSM1: -> AT+CGMI
2017-06-08 03:25:40,7, GSM1: <- huawei
OK
2017-06-08 03:25:40,7, GSM1: # Model identification:
2017-06-08 03:25:40,7, GSM1: -> AT+CGMM
2017-06-08 03:25:41,7, GSM1: <- E173
OK
2017-06-08 03:25:41,7, GSM1: # Revision identification:
2017-06-08 03:25:41,7, GSM1: -> AT+CGMR
2017-06-08 03:25:41,7, GSM1: <- 11.126.83.00.00
OK
2017-06-08 03:25:41,7, GSM1: # New message indications, list of supported modes:
2017-06-08 03:25:41,7, GSM1: -> AT+CNMI=?
2017-06-08 03:25:42,7, GSM1: <- +CNMI: (0,1,2),(0,1,2,3),(0,2),(0,1,2),(0,1)
OK
2017-06-08 03:25:42,7, GSM1: # New message indications, current settings:
2017-06-08 03:25:42,7, GSM1: -> AT+CNMI?
2017-06-08 03:25:42,7, GSM1: <- +CNMI: 0,0,0,0,0
OK
2017-06-08 03:25:42,7, GSM1: # Preferred message storage, list of supported mem's:
2017-06-08 03:25:42,7, GSM1: -> AT+CPMS=?
2017-06-08 03:25:43,7, GSM1: <- +CPMS: ("ME","MT","SM","SR"),("ME","MT","SM","SR"),("ME","MT","SM","SR")
OK
2017-06-08 03:25:43,7, GSM1: # Phonebook storage, available mem's:
2017-06-08 03:25:43,7, GSM1: -> AT+CPBS=?
2017-06-08 03:25:43,7, GSM1: <- +CPBS: ("SM","EN","ON")
OK
2017-06-08 03:25:43,7, GSM1: # List messages, list of supported stat's:
2017-06-08 03:25:43,7, GSM1: -> AT+CMGL=?
2017-06-08 03:25:44,7, GSM1: <- +CMGL: (0-4)

沒(méi)毛病蛛芥。

發(fā)個(gè)短信試試

2017-06-08 03:28:34,6, GSM1: Checking memory size
2017-06-08 03:28:34,7, GSM1: -> AT+CPMS?
2017-06-08 03:28:34,7, GSM1: Command is sent, waiting for the answer
2017-06-08 03:28:34,7, GSM1: <- +CPMS: "SM",2,40,"SM",2,40,"SM",2,40 OK
2017-06-08 03:28:34,6, GSM1: Used memory is 2 of 40
2017-06-08 03:28:34,6, GSM1: Trying to get stored message 1
2017-06-08 03:28:34,7, GSM1: -> AT+CMGR=1
2017-06-08 03:28:34,7, GSM1: Command is sent, waiting for the answer
2017-06-08 03:28:35,7, GSM1: <- +CMGR: 0,,146 07911356044902000405A15955F5000871608020820023829A8C8BC17801003300370034003000340039FF0C60A86B63572875284E007F51901A767B5F55FF0C5982975E672C4EBA64CD4F5CFF0C8BF780547CFB0039003500350035003530028BF752FF57284EFB4F5577ED4FE1621690AE4EF694FE63A57684987597624E2D8F9351659A8C8BC17801FF010020005B62DB554694F6884C005D OK
2017-06-08 03:28:35,5, GSM1: SMS received, From: 95555
2017-06-08 03:28:35,6, GSM1: Wrote an incoming message file: /var/spool/sms/incoming/GSM1.IgkBhN
2017-06-08 03:28:35,7, GSM1: Running eventhandler: /root/sms RECEIVED /var/spool/sms/incoming/GSM1.IgkBhN
2017-06-08 03:28:36,7, GSM1: Done: eventhandler, execution time 1 sec., status: 0 (0)

沒(méi)毛病。

查看 incoming 文件夾中的文件 /var/spool/sms/incoming/GSM1.IgkBhN

From: 95555
From_TOA: A1 national, ISDN/telephone
From_SMSC: 316540942000
Sent: 17-06-08 02:28:00
Received: 17-06-08 03:28:35
Subject: GSM1
Modem: GSM1
IMSI: 204046003816003
Report: no
Alphabet: UCS2
Length: 65

????xxxxxxx?
`?kcW(u(Q?v{_U?
Y??^g,N?d?O\?
??T|?955550??R?W(N?OUw?O?b??N??c?v??u?bN-??Qe????x? [b?UF??L]

這里的正文顯示為亂碼军援。上面也有提到 Alphabet: UCS2仅淑,于是使用 iconv 轉(zhuǎn)換。

opkg install iconv

這里需要注意的是胸哥,需要去掉前面的 ASCII 部分涯竟,不然會(huì)變成亂碼。

sed -i '1,12d' /var/spool/sms/incoming/GSM1.IgkBhN
iconv -f UTF-16BE -t UTF-8 < /var/spool/sms/incoming/GSM1.IgkBhN
驗(yàn)證碼xxxxxx空厌,您正在用一網(wǎng)通登錄庐船,如非本人操作,請(qǐng)聯(lián)系95555嘲更。請(qǐng)勿在任何短信或郵件鏈接的頁(yè)面中輸入驗(yàn)證碼筐钟! [招商銀行]

于是我們就得到了完整的短信。

轉(zhuǎn)發(fā)短信

因?yàn)槿粘J褂?Telegram 比較多赋朦,自然就想到了 Telegram Bot篓冲。

找 BotFather 要一個(gè) Bot

BotFather

找 @get_id_bot 這個(gè) Bot 拿到自己的 chat id

@get_id_bot

然后我們需要一個(gè) hook,在收到短信的時(shí)候執(zhí)行 shell宠哄,所幸 smstools3 有這樣的 hook 給我們直接用壹将。

編輯 /etc/smsd.conf
[GSM1] 的末尾加上:

eventhandler = /root/sms

這樣在收到短信時(shí)就會(huì)調(diào)用這個(gè) shell 并傳遞兩個(gè)參數(shù):

  1. 事件類型,比如收到短信是 RECIVED
  2. 短信存檔路徑

于是我們的 /root/sms 如下:

#!/bin/sh

TMPFILE1=$(cat /dev/urandom | tr -cd 'a-f0-9' | head -c 8)
TMPFILE2=$(cat /dev/urandom | tr -cd 'a-f0-9' | head -c 8)

cat $2 > $TMPFILE2

awk 'NR==1 || NR==4 || NR==5' $TMPFILE2 >> $TMPFILE1
sed -i '1,12d' $TMPFILE2
iconv -f UTF-16BE -t UTF-8 < $TMPFILE2 >> $TMPFILE1


CONTENT=`cat $TMPFILE1`

echo SMSD alarm: $1 $2 >> /root/sms.txt
curl -i -X POST \
  -F "chat_id=<chat_id>" \
  -F "text=${CONTENT}" \
  "https://api.telegram.org/bot<apikey>/sendMessage"

rm $TMPFILE1 $TMPFILE2

記得加上執(zhí)行權(quán)限

chmod +x /root/sms

其中 chat_id 為你自己的 chat id琳拨,并替換網(wǎng)址中的 apikey瞭恰。
最后記得在 Telegram 中找到你的 Bot 發(fā)送 /start 不然 Bot 沒(méi)有權(quán)限給你發(fā)送消息。

升級(jí) curl

測(cè)試腳本后發(fā)現(xiàn)并不能正常運(yùn)行狱庇,原因是 LEDE 17.01.1 的 curl 有一些 bug 尚未修復(fù)惊畏。

于是我們需要升級(jí) curl 和 libcurl 到 snapshot 的版本。

https://downloads.lede-project.org/snapshots/packages/
在這里找到路由器對(duì)應(yīng)的指令集密任,進(jìn)入 base 文件夾下載 curl 和 libcurl 兩個(gè)軟件包颜启。

比如 ar71xx 的是這兩個(gè):
curl
libcurl

使用 opkg 安裝:

wget https://downloads.lede-project.org/snapshots/packages/mips_24kc/base/curl_7.54.0-1_mips_24kc.ipk
wget https://downloads.lede-project.org/snapshots/packages/mips_24kc/base/libcurl_7.54.0-1_mips_24kc.ipk
opkg remove curl
opkg remove libcurl
opkg install libcurl_7.54.0-1_mips_24kc.ipk
opkg install curl_7.54.0-1_mips_24kc.ipk

這樣 curl 就能正常工作了。

測(cè)試 Bot

重啟 smstools3

/etc/init.d/smstools3 restart

發(fā)送短信并查看日志

2017-06-08 04:35:01,6, GSM1: Checking memory size
2017-06-08 04:35:02,7, GSM1: -> AT+CPMS?
2017-06-08 04:35:02,7, GSM1: Command is sent, waiting for the answer
2017-06-08 04:35:02,7, GSM1: <- +CPMS: "SM",2,40,"SM",2,40,"SM",2,40 OK
2017-06-08 04:35:02,6, GSM1: Used memory is 2 of 40
2017-06-08 04:35:02,6, GSM1: Trying to get stored message 1
2017-06-08 04:35:02,7, GSM1: -> AT+CMGR=1
2017-06-08 04:35:02,7, GSM1: Command is sent, waiting for the answer
2017-06-08 04:35:02,7, GSM1: <- +CMGR: 0,,146 07911356044902000405A15955F5000871608030434423829A8C8BC17801003200300035003600380037FF0C60A86B63572875284E007F51901A767B5F55FF0C5982975E672C4EBA64CD4F5CFF0C8BF780547CFB0039003500350035003530028BF752FF57284EFB4F5577ED4FE1621690AE4EF694FE63A57684987597624E2D8F9351659A8C8BC17801FF010020005B62DB554694F6884C005D OK
2017-06-08 04:35:02,5, GSM1: SMS received, From: 95555
2017-06-08 04:35:02,6, GSM1: Wrote an incoming message file: /var/spool/sms/incoming/GSM1.NHChff
2017-06-08 04:35:02,7, GSM1: Running eventhandler: /root/sms RECEIVED /var/spool/sms/incoming/GSM1.NHChff
2017-06-08 04:35:04,7, GSM1: Done: eventhandler, execution time 2 sec., status: 0 (0)
2017-06-08 04:35:04,3, GSM1: Exec: eventhandler said something:
2017-06-08 04:35:04,3, GSM1: ! HTTP/1.1 100 Continue
2017-06-08 04:35:04,3, GSM1: !
2017-06-08 04:35:04,3, GSM1: ! HTTP/1.1 200 OK
2017-06-08 04:35:04,3, GSM1: ! Server: nginx/1.10.0
2017-06-08 04:35:04,3, GSM1: ! Date: Wed, 07 Jun 2017 19:35:04 GMT
2017-06-08 04:35:04,3, GSM1: ! Content-Type: application/json
2017-06-08 04:35:04,3, GSM1: ! Content-Length: 637
2017-06-08 04:35:04,3, GSM1: ! Connection: keep-alive
2017-06-08 04:35:04,3, GSM1: ! Access-Control-Allow-Origin: *
2017-06-08 04:35:04,3, GSM1: ! Access-Control-Allow-Methods: GET, POST, OPTIONS
2017-06-08 04:35:04,3, GSM1: ! Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
2017-06-08 04:35:04,3, GSM1: ! Strict-Transport-Security: max-age=31536000; includeSubdomains
2017-06-08 04:35:04,3, GSM1: !
2017-06-08 04:35:04,3, GSM1: ! {"ok":true,"result":{"message_id":15,"from":{"id":362363438,"first_name":"SMS Forward Bot","username":"sms_forward_bot"},"chat":{"id":70962251,"first_name":"Jesse","last_name":"Zhu","username":"ITJesse","type":"private"},"date":1496864104,"text":"From: 95555\nSent: 17-06-08 03:34:44\nReceived: 17-06-08 04:35:02\n\u9a8c\u8bc1\u7801205687\uff0c\u60a8\u6b63\u5728\u7528\u4e00\u7f51\u901a\u767b\u5f55\uff0c\u5982\u975e\u672c\u4eba\u64cd\u4f5c\uff0c\u8bf7\u8054\u7cfb95555\u3002\u8bf7\u52ff\u5728\u4efb\u4f55\u77ed\u4fe1\u6216\u90ae\u4ef6\u94fe\u63a5\u7684\u9875\u9762\u4e2d\u8f93\u5165\u9a8c\u8bc1\u7801\uff01 [\u62db\u5546\u94f6\u884c]"}}
2017-06-08 04:35:04,3, GSM1: Exec: eventhandler encountered errors:
2017-06-08 04:35:04,3, GSM1: !   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
2017-06-08 04:35:04,3, GSM1: !                                  Dload  Upload   Total   Spent    Left  Speed
100  1111  100   637  100   474    337    251  0:00:01  0:00:01 --:--:--   366
2017-06-08 04:35:04,6, GSM1: Deleting message 1
2017-06-08 04:35:05,7, GSM1: -> AT+CMGD=1
2017-06-08 04:35:05,7, GSM1: Command is sent, waiting for the answer
2017-06-08 04:35:05,7, GSM1: <- OK

并且 Telegram 收到推送

Telegram 收到推送

結(jié)語(yǔ)

最后用 1200 日元解決了這個(gè)世紀(jì)難題浪讳,不用背兩手機(jī)在包里缰盏,直接插路由器上也不用單獨(dú)供電。
雖然還能實(shí)現(xiàn)用 bot 發(fā)送短信,但是沒(méi)有這個(gè)需求就不繼續(xù)做了口猜。
然后立馬登陸網(wǎng)銀還了信用卡 :)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末负溪,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子济炎,更是在濱河造成了極大的恐慌川抡,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件须尚,死亡現(xiàn)場(chǎng)離奇詭異崖堤,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)耐床,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)密幔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人撩轰,你說(shuō)我怎么就攤上這事胯甩。” “怎么了堪嫂?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵蜡豹,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我溉苛,道長(zhǎng)镜廉,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任愚战,我火速辦了婚禮娇唯,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘寂玲。我一直安慰自己塔插,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布拓哟。 她就那樣靜靜地躺著劣纲,像睡著了一般键闺。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,929評(píng)論 1 290
  • 那天伺绽,我揣著相機(jī)與錄音滔灶,去河邊找鬼牧牢。 笑死纸兔,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的诸迟。 我是一名探鬼主播茸炒,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼愕乎,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了壁公?” 一聲冷哼從身側(cè)響起感论,我...
    開(kāi)封第一講書(shū)人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎紊册,沒(méi)想到半個(gè)月后笛粘,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡湿硝,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了润努。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片关斜。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖铺浇,靈堂內(nèi)的尸體忽然破棺而出痢畜,到底是詐尸還是另有隱情,我是刑警寧澤鳍侣,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布丁稀,位于F島的核電站,受9級(jí)特大地震影響倚聚,放射性物質(zhì)發(fā)生泄漏线衫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一惑折、第九天 我趴在偏房一處隱蔽的房頂上張望授账。 院中可真熱鬧,春花似錦惨驶、人聲如沸白热。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)屋确。三九已至,卻和暖如春续扔,著一層夾襖步出監(jiān)牢的瞬間攻臀,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工纱昧, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留茵烈,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓砌些,卻偏偏與公主長(zhǎng)得像呜投,于是被迫代替她去往敵國(guó)和親加匈。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理仑荐,服務(wù)發(fā)現(xiàn)雕拼,斷路器,智...
    卡卡羅2017閱讀 134,637評(píng)論 18 139
  • 前言 互聯(lián)網(wǎng)安全公司 Imperva Incapsula 公布的《2016年機(jī)器流量報(bào)告》(Bot Traffic...
    UCloud云計(jì)算閱讀 2,140評(píng)論 0 2
  • 愛(ài)上了用下半身思考,我早已忘了喜歡是什么趕腳洒扎。
    每天都很信閱讀 186評(píng)論 0 0
  • header布局 RelativeLayout里面嵌套一個(gè)LinearLayout辑甜。同時(shí)給LinearLayout...
    白帽子耗子閱讀 263評(píng)論 0 0
  • 關(guān)于機(jī)票 每年出去旅行,最不喜歡的環(huán)節(jié)就是買國(guó)際機(jī)票袍冷。首先在沒(méi)定好旅行時(shí)間的時(shí)候就不能買磷醋;在沒(méi)計(jì)劃好行程也不能買...
    含月6666閱讀 508評(píng)論 0 1