精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

基于JavaScript 的操作系統你聽說過嗎?

開發 前端
NodeOS 用 Linux 內核來處理各種底層任務,比如硬件通訊什么的,但是除此之外,使用的都是 Node.js。NodeOS 的開發始于兩年前,創建者的目的很簡單,他只是好奇,“是否有可能僅使用 Node.js 創建一個操作系統呢?”

我想大多數人聽說過 Node.js,但是你聽說過 NodeOS 嗎?沒錯,NodeOS,一個用 Node.js 寫的操作系統。好吧,實話說,NodeOS 用 Linux 內核來處理各種底層任務,比如硬件通訊什么的,但是除此之外,使用的都是 Node.js。NodeOS 的開發始于兩年前,創建者的目的很簡單,他只是好奇,“是否有可能僅使用 Node.js 創建一個操作系統呢?”

[[162503]]

是否有可能僅使用 Node.js 創建一個操作系統呢?

這個主意怎么樣?

我們已經看到了 Node.js 在這幾年已經取得如此迅猛的發展,那么我們為何不讓它更酷一些呢?比如用它做個操作系統。

用戶自主的獨立文件系統

NodeOS 引入了一個有趣的特性:所有的用戶都有一個獨立的文件系統,他們在一個簡單的文件系統中完成各種工作。因為他們的“主目錄”事實上就是他們自己的文件系統 的根(root),所以他們可以不需要任何超級權限就可以將軟件包安裝到系統中,也不需要配置什么,因為軟件包默認就安裝在他們自己的主目錄里面。此外, 這樣也提供了良好的安全性,如果黑客攻入到了某個賬戶,那么只能訪問到該用戶所在的部分,最終的結果就是黑客并不能由此影響到整個系統。

Node.js 和 NPM

你可以想想,如果一個操作系統使用 Node.js,那就意味著所有在 NPM 中可用的包同時也都是 NodeOS 的軟件包。在寫作本文時,已經有了超過 21 萬的軟件包,而且每分每秒都在不斷增長。如果幾年以后,NodeOS 有了一百萬應用,那也沒什么好奇怪的。

基于 Linux 內核

這看起來并不算什么,Linux 是大多數服務器所采用的操作系統。因為 NodeOS 是基于 Linux 內核的,所以你只需要很少的修改就可以使用那些給其它的 Linux 發行版開發的應用了。

不好的消息

我非常希望 NodeOS 是一個已經完成的作品,但是,它現在還不是。它仍然缺少一些服務器操作系統所必需的關鍵功能。比如,缺失完整的 BASH 工具集,包括 ps、tail、nano 和 grep 等都沒有。更糟糕的是,你也不能把它當成桌面操作系統使用,因為它沒有 GUI。當然,你可以實現一些缺失的功能,只需要使用一點點 JavaScript,但是默認情況下,這些功能現在都還沒有,真糟糕。

好吧,那我可以試試 NodeOS 嗎?

 

使用 Docker 來體驗

最容易、最快捷的體驗 NodeOS 的方法如下:

  1. 一臺運行 Mac OSX 或 Linux 計算機,也許 Windows 也可以,但是我沒試過。

  2. Docker。

當你安裝好 Docker 之后,運行一個 NodeOS 實例是很容易的。你只需要執行如下命令就可以了, Docker 會為你完成這魔法般的一切:

sudo docker run -t -i nodeos/nodeos

[[162504]]

最容易、最快捷的體驗 NodeOS 的方法是通過 Docker。

當你運行了上述命令,Docker 會自動從倉庫下載 NodeOS 的鏡像,并將其安裝到一個虛擬環境中。安裝好之后,會打開一個連接到 NodeOS 的 SSH 會話。

不用 docker 呢?

有些情況下你也許不能使用 Docker 來體驗,或者是你想體驗一下***版本的 NodeOS 。在寫作本文時,NodeOS 的鏡像已經是兩個月前生成的了,而開發版本則是六天前更新的。所以,如果你希望使用***版本,你應該從源代碼開始。這也不算很難,但是要花費一些時間。你 需要:

  1. 一臺運行 Linux 的計算機。你可以在 OS X 上編譯它,但是跨平臺編譯需要花費很多時間,對于 Windows 也如此。

  2. Linux 編譯構建相關的工具(make、g++、gcc、autoconf)。

  3. Qemu。

  4. 時間,真的需要很多。

如果萬事俱備,你就可以從源代碼開始編譯了:

  1. 下載項目源代碼:bash git clone git@github.com:NodeOS/NodeOS.git。

  2. 使用下列命令編譯: cd NodeOS 并 npm install。

  3. 我逐字引用了其官方文檔的話:“拿上爆米花去看場電影吧,不開玩笑,真的。”,是的,它需要很多時間,做些有意思的事情去吧。

  4. 執行 bash npm start 來在 Qemu 中運行 NodeOS。

可以工作了嗎?

當安裝完成后,我們可以通過在 NodeOS 的 shell 中執行  ls命令來看看它是否工作了。輸出類似如下:

  1. 'etc''lib''lib64''root''bin''sys''usr''share''proc' ] 

如果顯示如上,說明一些基本的命令可以工作了。但是如果我們想要知道網卡地址呢?在 Linux 下,這個命令是  ifconfig ,讓我們試試:

  1. command not found: ifconfig 

看起來沒有 ifconfig 命令。這是因為 NodeOS 默認沒有  ifconfig命令。現在怎么辦?很簡單,NodeOS 有一個集成的包管理器(類似 apt 或 yum) ,叫做 npkg,它是基于 Node 的 NPM 的,很容易使用。可以通過如下命令很方便的安裝 ifconfig :

 

  1. npkg install bin-ifconfig 

如果一切正常, ifconfig 命令現在就可以在 shell 中使用了。我們再次試著執行一下,輸出類似如下:(我替換了其中的 MAC 地址):

  1. eth0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 
  2.   ether 01:23:45:67:89:ab 
  3.   inet6 f0cd::ef01:0203:0405:181%en1 prefixlen 64 scopeid 0x5 
  4.   inet 192.168.0.21 netmask 0xffffff00 broadcast 192.168.0.21 
  5.   nd6 options=1<PERFORMNUD> 
  6.   media: autoselect 
  7.   status: active 

如果你的輸出也類似如上,那說明它可以工作了。你已經成功地安裝了你的***個 NodeOS 應用: ifconfig。

它是可以工作了,然而我們可以用這個操作系統做什么呢?

如果我們只能拿這個用 Node.js 寫的操作系統做到你在 Ubuntu 或其它 Linux 發行版上一樣的(或更少的)事情,那它有什么價值?其實,整個事情中最有趣的地方是所有的東西都是 Node.js 開發的。這意味著我們可以只需要使用 Node.js 就可以開發我們的應用了。比如,NodeOS 里沒有默認實現的 man 命令,它用于顯示其它命令的幫助信息。不用擔心,實現它很簡單。

[[162505]]

使用 Node.js 構建一個 NodeOS 應用

首先讓我們來安裝一個叫做 Hipster 的文本編輯器,以便我們可以創建和編輯文件。執行如下命令: npm install -g hipster@0.15.0。這個文本編輯器很簡單,除了用作文本編輯之外啥也干不了,不過對于我們來說足夠了。

用 Hipster 創建文件很簡單,運行 hip filename即可,如: hip package.json。要保存文件請按下 Ctrl + s ,退出按下 Ctrl + q。

在這里,我們使用了一個 NodeOS 的主開發人員所開發的代碼,我自己并沒有真的去開發這個應用。我們例子中的原始代碼可以在 node-bin-man Git 倉庫中找到。

讓我們回過頭來創建我們的***個 NodeOS 應用。像每個 Node.js 應用(或 NPM 包)一樣,我們從創建一個 package.json 文件開始,內容如下:

  1.   "name""bin-man"
  2.   "version""0.0.1"
  3.   "description""Format and display manual pages"
  4.   "bin": { 
  5.     "man""man.js" 
  6.   }, 
  7.   "repository""https://github.com/groundwater/node-bin-man"
  8.   "author""groundwater"
  9.   "license""MIT"
  10.   "dependencies": { 
  11.     "blessed""~0.0.22" 
  12.   } 

這些參數 name、version、 author、 repository、 license和 description 是其意自明的。這個 bin 集合是一個 JSON 的鍵值對對象,包含了命令名及其關聯的 JavaScript 文件。在我們的例子中, man 命令關聯到  man.js文件。而  dependencies集合包含了這個應用所需要的 NPM 包的列表。在我們的例子中,代碼的作者包含了 Blessed 包,這是一個類 curses 的庫,可以讓 Node.js 支持高級終端界面的 API。

現在我們進入了主要的部分,實際的代碼。

 

  1. #!/usr/bin/env node 

這個部分叫做釋伴(shebang)。NodeOS 實際上并不需要它,但是它用于告訴操作系統如何執行下面的代碼。在這里的意思是,它告訴系統下面的每行代碼都需要通過  /usr/bin/env node命令來解釋執行。

  1. var fs = require('fs'); 
  2. var blessed = require('blessed'); 

像在 Node.js 中一樣, require() 函數加載選定的包到內存中,并將其保存為特定的變量。

  1. var arg = process.argv[2] || 'bin-man'

man 命令的標準行為是如果沒有指定要查看的命令時,就顯示它自己的幫助信息。在我們的代碼示例中也一樣:如果沒有給出第二個參數(***個參數是 man 本身),那么該參數的默認值是 bin-man。

  1. var path = process.env.HOME + "/lib/node_modules/" + arg + "/README.md"
  2.  
  3. try
  4.   var readme = fs.readFileSync(path, 'utf-8'); 
  5. }catch(e){ 
  6.   console.log('No README.md for Package ',arg); 
  7.   process.exit(-1); 

在這里,程序檢查給定的應用是否有一個 readme 文件。在 NodeOS 中,每個應用的安裝路徑是其主目錄(/)下的 lib/node_modules。如果 README.md 文件存在,就將其內容保存到 readme變量中。否則,顯示一個錯誤信息并退出。

 

  1. // Create a screen object. 
  2. var screen = blessed.screen(); 
  3.  
  4. var box = blessed.box({ 
  5.   content: readme, 
  6.   alwaysScroll:true
  7.   scrollable: true
  8. }); 
  9.  
  10. // Append our box to the screen. 
  11. screen.append(box); 

Blessed 有一個非常簡單的 API,要顯示一個文件的內容很容易,只需要創建一個  box ,然后載入內容即可。

  1. screen.key(['escape''q''C-c'], function(ch, key) { 
  2.   return process.exit(0); 
  3. }); 

現在,讓我們找個退出  man 應用的方法。我們組合了  escape、 q 或 emacs 風格的 C-c 來退出應用。

 

  1. screen.key(['space','f','j','n'], function(ch, key) { 
  2.   box.scroll(box.height); 
  3.   screen.render(); 
  4. }); 
  5.  
  6. screen.key(['down'], function(ch, key) { 
  7.   box.scroll(1); 
  8.   screen.render(); 
  9. }); 
  10.  
  11. screen.key(['up'], function(ch, key) { 
  12.   box.scroll(-1); 
  13.   screen.render(); 
  14. }); 
  15.  
  16. screen.key(['b','k','p'], function(ch, key) { 
  17.   box.scroll(-box.height); 
  18.   screen.render(); 
  19. }); 

我們使用方向鍵來上滾和下滾,用 space、 f、 j 或 n 向下翻頁,b、 k 或 p 向上翻頁。

  1. box.focus(); 
  2. screen.render(); 

***,我們讓應用將輸入焦點放到  box ,我們在這里創建和渲染所有內容。

把上面編輯的這個文件存放到  /lib/node_modules/bin-man 目錄下(名字是 man.js),并加一個簡單的  README.md ,類似如下:

 

  1. # Man 
  2.  
  3. Author: @groundwater 
  4.  
  5. ## Install 
  6.  
  7. npkg install bin-man 
  8.  
  9. ## Usage 
  10.  
  11. ``` 
  12. Usage: man PKGNAME 
  13.  
  14. Display a packages README.md file 
  15. ``` 

我們已經基本完成了我們的***個 NodeOS 定制應用。***剩下一小步了,我們需要創建一個 NodeOS 應用需要的配置文件。很簡單,把它創建到 /etc/bin-man/config.json ,內容只是一個空的 JSON 對象: {}。

現在我們可以試試我們的新應用了。在 NodeOS 中運行 man ,它將展示我們之前創建的 readme 文件。

總結

如你所見,在 NodeOS 中實現任何東西都很簡單,你只需要懂得 Node.js 即可。

NodeOS 很有潛力,我認為當實現了更多的功能之后它會成為一個偉大的操作系統。目前仍然需要很多工作,但是在整個Node.js 生態系統興盛發展的形勢下,萬一哪天它很快地成為一個流行的操作系統也沒什么好驚奇的。

你怎么看?發表你的評論讓我們知道。

責任編輯:王雪燕 來源: linux.cn
相關推薦

2016-01-26 15:33:07

JavaScriptNodeOS操作系統

2021-07-28 08:00:00

Linux操作系統工具

2023-11-10 08:22:09

雪花算法生成算法分布式

2022-03-21 11:50:58

醫療物聯網物聯網

2021-06-07 09:55:58

JavaScript開發 技巧

2012-02-01 10:18:23

編程

2018-10-11 10:41:12

Go 開發技術

2018-09-28 07:00:03

編程語言Go語言

2016-07-11 00:40:30

2020-09-29 06:39:38

智能

2020-11-16 12:09:25

Python開發工具

2022-05-09 08:40:14

Python技巧代碼

2025-04-17 08:10:41

2021-01-20 15:20:02

JS操作符前端

2024-05-24 10:15:36

2022-09-29 08:39:37

架構

2020-07-20 07:16:47

Python編程語言工具

2020-09-13 09:03:44

數據策略數據科學數據

2014-12-02 10:12:02

BaaSFacebook云服務

2023-07-13 09:16:47

循環隊列指針front?
點贊
收藏

51CTO技術棧公眾號

欧美日韩国产激情| 亚洲青涩在线| 欧美一区二区三区视频在线观看| 男人日女人的bb| 好吊视频一二三区| 日日摸夜夜添夜夜添国产精品 | 成人动漫在线免费观看| 精一区二区三区| 97精品国产97久久久久久| 久久久精品成人| 国产精品视频3p| 制服丝袜av成人在线看| 欧美视频第一区| 欧美xxxx做受欧美88bbw| 国产色婷婷亚洲99精品小说| 亚洲一区二区日本| 伊人久久久久久久久久久久 | 国产欧美一区二区精品性色超碰| 日韩av免费看| 人妻互换一区二区激情偷拍| 校园春色另类视频| 精品国产免费人成在线观看| 欧美国产日韩另类 | 欧美三级在线视频| 中国丰满人妻videoshd| 欧美v亚洲v| 亚洲天天做日日做天天谢日日欢| 日本公妇乱淫免费视频一区三区| 亚洲天堂999| 蜜桃传媒一区二区亚洲| 成人做爰免费视频免费看| 91在线超碰| 狂野欧美一区| 91精品国产91久久久久久| 中文字幕另类日韩欧美亚洲嫩草| 成人黄色av| 亚洲欧美激情一区| 成年人在线观看av| 欧美日韩一本| 亚洲精品成a人在线观看| 野战少妇38p| 综合成人在线| 欧美大片一区二区| 在线播放av网址| 欧洲大片精品免费永久看nba| 欧美欧美欧美欧美首页| 9l视频白拍9色9l视频| 91看片一区| 欧美视频三区在线播放| 波多野结衣天堂| 欧美黄页免费| 777欧美精品| 九九久久久久久| 日本一区二区三区播放| 日韩一二三区视频| 亚洲av无码一区东京热久久| 国内精品偷拍| 亚洲国产另类久久精品| 国产精品无码一区二区三| 日韩理论电影中文字幕| 国产丝袜一区二区三区| www亚洲色图| 午夜精品毛片| 欧美激情精品久久久久| 福利一区二区三区四区| 午夜在线精品偷拍| 国产日韩av在线| 国产丰满美女做爰| jvid福利写真一区二区三区| 你懂的网址一区二区三区| 高清毛片在线看| eeuss影院www在线播放| 精品国产综合久久| 欧美天堂在线视频| 在线观看男女av免费网址| 久久综合久久综合九色| 欧美午夜精品久久久久久蜜| 国产精品二线| 一区二区三区中文字幕精品精品| 人人妻人人做人人爽| 亚洲深夜视频| 欧洲精品一区二区| 男人的天堂最新网址| 欧美2区3区4区| 日韩精品在线免费| 日本一级片免费| 影音先锋中文字幕一区二区| 夜夜操天天操亚洲| 91社在线播放| 极品视频在线| 欧美男生操女生| 91超薄肉色丝袜交足高跟凉鞋| 天堂一区二区三区四区| 日韩一区二区三区在线播放| 久久精品人妻一区二区三区| 石原莉奈在线亚洲三区| 1区1区3区4区产品乱码芒果精品| 久久久久久青草| 亚洲狼人国产精品| youjizzxxxx18| 福利在线一区| 色妞一区二区三区| 国偷自拍第113页| 国产又黄又大久久| 日韩国产精品一区二区三区| 国产盗摄一区二区| 在线播放欧美女士性生活| 成年人在线观看av| 影音先锋久久| 亚洲综合日韩在线| 91ph在线| 91久久精品国产91性色tv | 手机av在线| 911精品美国片911久久久| 色综合久久久久网| 国产免费a级片| 999国产精品永久免费视频app| 91国内在线视频| www.黄色片| 专区另类欧美日韩| 日本特黄a级片| 免费黄色成人| 久久久久久久久久亚洲| 国产喷水福利在线视频| 中文字幕第一区二区| 白嫩少妇丰满一区二区| 日韩av网站在线免费观看| 欧美另类老女人| 国产精品伊人久久| 国产精品久久久久影院色老大| 日韩网址在线观看| 日韩成人av在线资源| 久久久久久亚洲精品中文字幕| a在线观看视频| 亚洲日韩欧美一区二区在线| 黄大色黄女片18第一次| 日韩欧美大片| 国产精品视频公开费视频| 国产在线视频网站| 欧美视频13p| 国产精品jizz| 视频在线观看一区| 日韩福利视频| 欧美aaaaaa| 日韩亚洲在线观看| 国产精品高潮呻吟久久久| 国产精品女人毛片| 99热一区二区| 91精品国产麻豆国产在线观看| 国产在线观看精品| 国产写真视频在线观看| 日韩欧美亚洲一区二区| 久久网中文字幕| 成人不卡免费av| 无码播放一区二区三区| 精品大片一区二区| 国产日本欧美在线观看| 羞羞的网站在线观看| 欧美sm极限捆绑bd| 五月天综合激情网| 国产亚洲精品免费| 欧美视频国产视频| 欧美视频一区| 久久资源av| 国产69精品久久久久按摩| 久久精品中文字幕电影| 国产成人一区二区三区免费看| 国产中文字幕在线观看| 欧美日韩成人高清| 久久久久成人精品无码| 91视频在线观看免费| av免费网站观看| 99久久亚洲精品蜜臀| 成人av蜜桃| 亚洲播播91| 精品自拍视频在线观看| 天天操天天干天天| 欧美视频第二页| 欧美日韩精品在线观看视频 | 精品无码久久久久久久| 久久人人爽爽爽人久久久| 天天爽夜夜爽一区二区三区| 国内精品久久久久久久97牛牛 | 91亚洲永久免费精品| av福利在线导航| 在线成人一区二区| 日本成人动漫在线观看| 在线亚洲一区观看| 久青草视频在线观看| 久久精品夜夜夜夜久久| 特种兵之深入敌后| 久久精品一区| 蜜桃视频一区二区在线观看| 国产精品一区二区av交换| 亚洲一区二区三区四区在线播放 | 91精品久久久久久久久久久久久久 | 久久久亚洲影院| 在线播放毛片| 亚洲精品国产精品自产a区红杏吧 亚洲精品国产精品乱码不99按摩 亚洲精品国产精品久久清纯直播 亚洲精品国产精品国自产在线 | 亚洲精品色婷婷福利天堂| 国产精品久久久久久久免费 | 黑鬼大战白妞高潮喷白浆| 91精品99| 福利一区在线观看| 国产91在线免费| 中文字幕一区二区三区久久网站| 欧美日韩电影一区二区三区| 午夜久久av| 成人黄色免费在线观看| 成人性生交大片免费网站| 欧美激情在线观看视频| 看女生喷水的网站在线观看| 亚洲日本成人女熟在线观看| 国产 日韩 欧美 综合| 欧美日韩二区三区| 精品一区二区无码| 午夜精品久久久久影视| 青青草精品在线视频| 中文天堂在线一区| 91久久免费视频| 久久影院电视剧免费观看| 国产大学生视频| 成人午夜免费电影| 九色91porny| 激情久久久久久久久久久久久久久久| 激情内射人妻1区2区3区 | 一区二区三区日韩在线观看| 免费91在线观看| 欧美国产97人人爽人人喊| 全黄一级裸体片| www欧美成人18+| 国产精品无码一区二区三区免费 | 欧美一级欧美一级在线播放| 伊人免费在线观看高清版| 91久久精品日日躁夜夜躁欧美| 在线精品免费视| 日韩欧美999| 中文字幕精品三级久久久| 婷婷开心激情综合| 日韩欧美一区二区一幕| 午夜精品久久一牛影视| 亚洲黄色小说图片| 色网站国产精品| 波多野结衣 久久| 在线精品观看国产| 啪啪小视频网站| 欧美日韩久久不卡| 国产精品一区二区免费视频| 欧美一区二区三区免费大片| 国产夫妻性生活视频| 精品日韩一区二区三区| 污污网站免费在线观看| 精品视频在线播放免| 成年人在线观看网站| 日韩视频精品在线| 最新日本在线观看| 97国产精品视频人人做人人爱| 成人av观看| 国产欧美韩国高清| 亚洲国产中文在线| 麻豆国产精品777777在线| 国产免费成人在线| 秋霞电影网一区二区| 天天综合天天添夜夜添狠狠添| 国产伦精品一区二区三区视频青涩 | 中文有码久久| 欧美精品网站| 欧美日韩亚洲一| 美女精品自拍一二三四| 99999精品| 97成人超碰视| 日本黄区免费视频观看 | 天堂网免费视频| 欧美三级电影一区| 99国产精品一区二区三区| 亚洲第一福利网| 岛国在线大片| 欧美大片在线看免费观看| 欧美激情护士| 成人伊人精品色xxxx视频| 国产精品tv| 亚洲欧洲久久| 在线亚洲一区| 亚洲怡红院在线| 91免费观看视频| 午夜国产小视频| 婷婷综合五月天| 国产精品午夜福利| 亚洲精品自拍视频| www免费视频观看在线| 日本高清视频精品| 亚洲成人五区| 无遮挡亚洲一区| 亚洲精选国产| 午夜大片在线观看| 国产日韩av一区| 中文字幕一区二区三区手机版| 欧美日韩大陆在线| 欧美午夜黄色| 久久久久国产精品免费| 91福利精品在线观看| 久久国产精品久久精品国产| 久久精品亚洲欧美日韩精品中文字幕| 亚洲 高清 成人 动漫| 国产精品白丝jk白祙喷水网站| 国产一二三四区在线| 午夜精品123| 精品国产一级片| 久久精品国产视频| 成人日韩av| 日本中文不卡| 亚洲欧美成人| 欧美69精品久久久久久不卡| 欧美一区综合| 日韩免费电影一区二区| 在线欧美日韩| 在线视频一二区| 国产情人综合久久777777| 欧美videossex极品| 欧美v亚洲v综合ⅴ国产v| 九九这里只有精品视频| 欧美美女在线观看| 日韩成人手机在线| 久久成人免费网| 久久久久久久久久久久久久久| 欧美日韩国产精品| 内射后入在线观看一区| 欧美高清在线播放| 日韩精品中文字幕一区二区| 在线精品亚洲一区二区| 青青草国产精品97视觉盛宴| 男人天堂av电影| 欧洲色大大久久| 九色视频在线播放| 欧美一级视频一区二区| 丝袜美腿综合| 免费观看精品视频| 久久久青草青青国产亚洲免观| 青青青国产在线| 亚洲精品视频中文字幕| 中文字幕乱码在线播放| 欧美一区二区三区在线免费观看| 久久av一区| 无码少妇一区二区| 欧美视频三区在线播放| 日本在线免费| 147欧美人体大胆444| 亚洲性人人天天夜夜摸| 亚洲黄色免费在线观看| 黑丝美女久久久| 国产黄在线播放| 国产视频999| 亚洲影视一区| 免费观看污网站| 日韩欧美一区二区三区| 黄色av网址在线免费观看| 国产精品一二三在线| 久久精品青草| www.日韩不卡电影av| 色图在线观看| 国产日韩精品久久| 国产一区二区高清| 99久久精品免费视频| 欧美日韩一区二区在线视频| 国产在线一区二区视频| 激情小说综合网| 日韩二区三区四区| 91九色丨porny丨极品女神| 精品国产伦一区二区三区观看体验 | 精品国产乱子伦| 日韩有码在线电影| 4438全国亚洲精品观看视频| 欧美 丝袜 自拍 制服 另类| 亚洲国产激情av| 丰满人妻一区二区三区免费视频| 97精品国产97久久久久久春色| 精品国产乱码久久久久久1区2匹| 色噜噜狠狠一区二区三区狼国成人| 亚洲一区二区av在线| 国产片在线观看| 999精品视频一区二区三区| 亚洲制服av| 四虎884aa成人精品| 日韩av一区在线| 亚洲在线资源| 成人观看免费完整观看| 亚洲视频免费看| 男人的天堂在线| 97se在线视频| 日本人妖一区二区| 日韩三级一区二区三区| 日韩有码在线播放| 免费精品国产| 国产日韩视频一区| 欧美日产国产精品| 韩日精品一区二区| 日韩在线观看a| 国产精品伦理一区二区| 色视频免费在线观看| 99在线国产|