久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

golang 通過ssh代理連接mysql的操作

瀏覽:189日期:2023-10-24 15:56:55

我就廢話不多說了,大家還是直接看代碼吧~

package mainimport ('bytes''context''database/sql''errors''fmt''github.com/go-sql-driver/mysql''golang.org/x/crypto/ssh''io''io/ioutil''net''os')type ViaSSHDialer struct {client *ssh.Client_ *context.Context} func (self *ViaSSHDialer) Dial(context context.Context,addr string) (net.Conn, error) {return self.client.Dial('tcp', addr)}type remoteScriptType bytetype remoteShellType byte const (cmdLine remoteScriptType = iotarawScriptscriptFile interactiveShell remoteShellType = iotanonInteractiveShell) type Client struct {client *ssh.Client}func main() {client, err := DialWithPasswd('ip:port', 'user', 'password')if err != nil {panic(err)}out, err := client.Cmd('ls -l').Output()if err != nil {panic(err)}fmt.Println(string(out))// Now we register the ViaSSHDialer with the ssh connection as a parametermysql.RegisterDialContext('mysql+tcp', (&ViaSSHDialer{client.client,nil}).Dial)//mysql.RegisterDial('mysql+tcp', (&ViaSSHDialer{client.client}).Dial)if db, err := sql.Open('mysql', fmt.Sprintf('%s:%s@mysql+tcp(%s)/%s','Aiqitest', 'uf6amk146d2aoemi7', '139.196.174.234:3306', 'Aiqitest'));err == nil {fmt.Printf('Successfully connected to the dbn')if rows, err := db.Query('SELECT id, name FROM table ORDER BY id'); err == nil {for rows.Next() {var id int64var name stringrows.Scan(&id, &name)fmt.Printf('ID: %d Name: %sn', id, name)}rows.Close()} else {fmt.Printf('Failure: %s', err.Error())} db.Close()}} // DialWithPasswd starts a client connection to the given SSH server with passwd authmethod.func DialWithPasswd(addr, user, passwd string) (*Client, error) {config := &ssh.ClientConfig{User: user,Auth: []ssh.AuthMethod{ssh.Password(passwd),},HostKeyCallback: ssh.HostKeyCallback(func(hostname string, remote net.Addr, key ssh.PublicKey) error { return nil }),} return Dial('tcp', addr, config)} // DialWithKey starts a client connection to the given SSH server with key authmethod.func DialWithKey(addr, user, keyfile string) (*Client, error) {key, err := ioutil.ReadFile(keyfile)if err != nil {return nil, err} signer, err := ssh.ParsePrivateKey(key)if err != nil {return nil, err} config := &ssh.ClientConfig{User: user,Auth: []ssh.AuthMethod{ssh.PublicKeys(signer),},HostKeyCallback: ssh.HostKeyCallback(func(hostname string, remote net.Addr, key ssh.PublicKey) error { return nil }),} return Dial('tcp', addr, config)} // DialWithKeyWithPassphrase same as DialWithKey but with a passphrase to decrypt the private keyfunc DialWithKeyWithPassphrase(addr, user, keyfile string, passphrase string) (*Client, error) {key, err := ioutil.ReadFile(keyfile)if err != nil {return nil, err} signer, err := ssh.ParsePrivateKeyWithPassphrase(key, []byte(passphrase))if err != nil {return nil, err} config := &ssh.ClientConfig{User: user,Auth: []ssh.AuthMethod{ssh.PublicKeys(signer),},HostKeyCallback: ssh.HostKeyCallback(func(hostname string, remote net.Addr, key ssh.PublicKey) error { return nil }),} return Dial('tcp', addr, config)} // Dial starts a client connection to the given SSH server.// This is wrap the ssh.Dialfunc Dial(network, addr string, config *ssh.ClientConfig) (*Client, error) {client, err := ssh.Dial(network, addr, config)if err != nil {return nil, err}return &Client{client: client,}, nil} func (c *Client) Close() error {return c.client.Close()} // Cmd create a command on clientfunc (c *Client) Cmd(cmd string) *remoteScript {return &remoteScript{_type: cmdLine,client: c.client,script: bytes.NewBufferString(cmd + 'n'),}} // Scriptfunc (c *Client) Script(script string) *remoteScript {return &remoteScript{_type: rawScript,client: c.client,script: bytes.NewBufferString(script + 'n'),}} // ScriptFilefunc (c *Client) ScriptFile(fname string) *remoteScript {return &remoteScript{_type: scriptFile,client: c.client,scriptFile: fname,}} type remoteScript struct {client *ssh.Client_type remoteScriptTypescript *bytes.BufferscriptFile stringerr error stdout io.Writerstderr io.Writer} // Runfunc (rs *remoteScript) Run() error {if rs.err != nil {fmt.Println(rs.err)return rs.err} if rs._type == cmdLine {return rs.runCmds()} else if rs._type == rawScript {return rs.runScript()} else if rs._type == scriptFile {return rs.runScriptFile()} else {return errors.New('Not supported remoteScript type')}} func (rs *remoteScript) Output() ([]byte, error) {if rs.stdout != nil {return nil, errors.New('Stdout already set')}var out bytes.Bufferrs.stdout = &outerr := rs.Run()return out.Bytes(), err} func (rs *remoteScript) SmartOutput() ([]byte, error) {if rs.stdout != nil {return nil, errors.New('Stdout already set')}if rs.stderr != nil {return nil, errors.New('Stderr already set')} var (stdout bytes.Bufferstderr bytes.Buffer)rs.stdout = &stdoutrs.stderr = &stderrerr := rs.Run()if err != nil {return stderr.Bytes(), err}return stdout.Bytes(), err} func (rs *remoteScript) Cmd(cmd string) *remoteScript {_, err := rs.script.WriteString(cmd + 'n')if err != nil {rs.err = err}return rs} func (rs *remoteScript) SetStdio(stdout, stderr io.Writer) *remoteScript {rs.stdout = stdoutrs.stderr = stderrreturn rs} func (rs *remoteScript) runCmd(cmd string) error {session, err := rs.client.NewSession()if err != nil {return err}defer session.Close() session.Stdout = rs.stdoutsession.Stderr = rs.stderr if err := session.Run(cmd); err != nil {return err}return nil} func (rs *remoteScript) runCmds() error {for {statment, err := rs.script.ReadString(’n’)if err == io.EOF {break}if err != nil {return err} if err := rs.runCmd(statment); err != nil {return err}} return nil} func (rs *remoteScript) runScript() error {session, err := rs.client.NewSession()if err != nil {return err} session.Stdin = rs.scriptsession.Stdout = rs.stdoutsession.Stderr = rs.stderr if err := session.Shell(); err != nil {return err}if err := session.Wait(); err != nil {return err} return nil} func (rs *remoteScript) runScriptFile() error {var buffer bytes.Bufferfile, err := os.Open(rs.scriptFile)if err != nil {return err}_, err = io.Copy(&buffer, file)if err != nil {return err} rs.script = &bufferreturn rs.runScript()} type remoteShell struct {client *ssh.ClientrequestPty boolterminalConfig *TerminalConfig stdin io.Readerstdout io.Writerstderr io.Writer} type TerminalConfig struct {Term stringHight intWeight intModes ssh.TerminalModes} // Terminal create a interactive shell on client.func (c *Client) Terminal(config *TerminalConfig) *remoteShell {return &remoteShell{client: c.client,terminalConfig: config,requestPty: true,}} // Shell create a noninteractive shell on client.func (c *Client) Shell() *remoteShell {return &remoteShell{client: c.client,requestPty: false,}} func (rs *remoteShell) SetStdio(stdin io.Reader, stdout, stderr io.Writer) *remoteShell {rs.stdin = stdinrs.stdout = stdoutrs.stderr = stderrreturn rs} // Start start a remote shell on clientfunc (rs *remoteShell) Start() error {session, err := rs.client.NewSession()if err != nil {return err}defer session.Close() if rs.stdin == nil {session.Stdin = os.Stdin} else {session.Stdin = rs.stdin}if rs.stdout == nil {session.Stdout = os.Stdout} else {session.Stdout = rs.stdout}if rs.stderr == nil {session.Stderr = os.Stderr} else {session.Stderr = rs.stderr} if rs.requestPty {tc := rs.terminalConfigif tc == nil {tc = &TerminalConfig{Term: 'xterm',Hight: 40,Weight: 80,}}if err := session.RequestPty(tc.Term, tc.Hight, tc.Weight, tc.Modes); err != nil {return err}} if err := session.Shell(); err != nil {return err} if err := session.Wait(); err != nil {return err} return nil}

補充:用golang寫socks5代理服務器2-ssh遠程代理

上次用golang來實現本地socks5代理,然而使用代理當然是為了和諧上網,所以這次來介紹用ssh來實現遠程代理,用到官方ssh包

golang.org/x/crypto/ssh

用golang連接ssh并不難

讀取密鑰,設置配置,連接服務器就ok了(不建議用用戶名+密碼方式連接ssh)

b, err := ioutil.ReadFile('/home/myml/.ssh/id_rsa') if err != nil { log.Println(err) return } pKey, err := ssh.ParsePrivateKey(b) if err != nil { log.Println(err) return } config := ssh.ClientConfig{ User: 'userName', Auth: []ssh.AuthMethod{ ssh.PublicKeys(pKey), }, } client, err = ssh.Dial('tcp', 'Host:22', &config) if err != nil { log.Println(err) return } log.Println('連接服務器成功') defer client.Close()

這樣你就得到了一個client,它有個Dial()函數用來創建socket連接,這個是在服務器上創建的,也就可以突破網絡限制了,加上上次的sock5代理,把net.Dial改為client.Dial,就能讓服務器來代理訪問了

server, err := client.Dial('tcp', addr) if err != nil { log.Println(err) return } conn.Write([]byte{0x05, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}) go io.Copy(server, conn) io.Copy(conn, server)

下面是能成功運行并進行遠程代理的代碼(在Chrome和proxychains測試),ssh服務器和配置信息要修改為自己的

// socks5ProxyProxy project main.gopackage main import ( 'bytes' 'encoding/binary' 'fmt' 'io' 'io/ioutil' 'log' 'net' 'golang.org/x/crypto/ssh') func socks5Proxy(conn net.Conn) { defer conn.Close() var b [1024]byte n, err := conn.Read(b[:]) if err != nil { log.Println(err) return } log.Printf('% x', b[:n]) conn.Write([]byte{0x05, 0x00}) n, err = conn.Read(b[:]) if err != nil { log.Println(err) return } log.Printf('% x', b[:n]) var addr string switch b[3] { case 0x01: sip := sockIP{} if err := binary.Read(bytes.NewReader(b[4:n]), binary.BigEndian, &sip); err != nil { log.Println('請求解析錯誤') return } addr = sip.toAddr() case 0x03: host := string(b[5 : n-2]) var port uint16 err = binary.Read(bytes.NewReader(b[n-2:n]), binary.BigEndian, &port) if err != nil { log.Println(err) return } addr = fmt.Sprintf('%s:%d', host, port) } server, err := client.Dial('tcp', addr) if err != nil { log.Println(err) return } conn.Write([]byte{0x05, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}) go io.Copy(server, conn) io.Copy(conn, server)} type sockIP struct { A, B, C, D byte PORT uint16} func (ip sockIP) toAddr() string { return fmt.Sprintf('%d.%d.%d.%d:%d', ip.A, ip.B, ip.C, ip.D, ip.PORT)} func socks5ProxyStart() { log.SetFlags(log.Ltime | log.Lshortfile) server, err := net.Listen('tcp', ':8080') if err != nil { log.Panic(err) } defer server.Close() log.Println('開始接受連接') for { client, err := server.Accept() if err != nil { log.Println(err) return } log.Println('一個新連接') go socks5Proxy(client) }} var client *ssh.Client func main() { b, err := ioutil.ReadFile('/home/myml/.ssh/id_rsa') if err != nil { log.Println(err) return } pKey, err := ssh.ParsePrivateKey(b) if err != nil { log.Println(err) return } config := ssh.ClientConfig{ User: 'user', Auth: []ssh.AuthMethod{ ssh.PublicKeys(pKey), }, } client, err = ssh.Dial('tcp', 'host:22', &config) if err != nil { log.Println(err) return } log.Println('連接服務器成功') defer client.Close() client.Dial() socks5ProxyStart() return}

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 国产在线91 | 亚洲人成人一区二区在线观看 | 一级毛片免费看 | 午夜精品视频在线观看 | 亚洲成人福利 | 久久精品成人 | 精品中文久久 | 日韩一区二区三区在线 | 在线视频一区二区三区 | 国产精品污www在线观看 | 91麻豆精品国产91久久久久久久久 | 亚洲一区二区在线电影 | 中文字幕亚洲欧美日韩在线不卡 | 91久久精品国产亚洲a∨麻豆 | 成人午夜免费视频 | 日韩在线观看成人 | 精品欧美一区二区三区 | 午夜久久| 久久av一区二区三区 | 色综合天天天天做夜夜夜夜做 | 欧美一区 | 日本一区二区不卡 | 国产午夜精品一区二区三区视频 | 欧美激情在线免费观看 | 日日天天| 一区二区免费 | 最新午夜综合福利视频 | 日韩免费在线观看视频 | 日本久久久久久 | 国产精品美女视频一区二区三区 | 国产综合视频 | 欧美精品一区三区 | 伊人在线 | 亚洲色图综合 | 黄色一级片视频 | 天天操夜夜操av | 伊人干综合| 国产精品精品 | 国产精品成人国产乱一区 | 天天干人人| 久久精品亚洲精品 | 五月天婷婷国产精品 | 一区二区三区国产 | 二区国产| 久久久久久久久久久亚洲 | 亚洲一区二区三区免费观看 | 一区二区三区中文字幕 | 中文字幕日韩欧美一区二区三区 | 久久久成人av | 精品国产精品三级精品av网址 | 成人片免费看 | 中文字幕第七页 | 六月综合激情 | 国产精品一区二区三区久久 | 夜夜艹日日艹 | 久久久蜜桃 | 在线成人免费观看www | 精品久久久久久久人人人人传媒 | 91 在线| 日韩精品免费在线观看 | 亚洲精品一区二区三区樱花 | 日韩成人免费中文字幕 | 精品中文久久 | 日韩国产在线 | 成人精品 | 中文字幕精品视频在线观看 | 国产精品一区一区 | 亚洲在线免费观看 | 久久99国产精品久久99大师 | 操操日| 日韩免费 | 欧美一级在线 | 免费中文字幕 | 色99在线 | 中文字字幕一区二区三区四区五区 | 国产精品二区三区在线观看 | 奇米av| 亚洲国产成人久久一区二区三区 | jizz欧美大片 | 成人性大片免费观看网站 | 成人精品视频99在线观看免费 | 欧美专区在线 | 天天艹逼 | 国产成人精 | 中文字幕在线观看2021 | 国产精品久久久久久亚洲影视 | 中文字幕 国产精品 | 国产午夜精品一区二区三区 | 久草热8精品视频在线观看 黄色片网站视频 | 国产高潮失禁喷水爽网站 | 在线不卡一区 | 欧美在线视频一区二区 | 国产精品久久久久久久久久久久久 | 日韩有码在线观看 | 欧美在线观看视频 | 91一区二区三区久久国产乱 | 91精品国产91久久综合桃花 | 国产日韩精品在线观看 | 午夜精品久久 | 久久久久久亚洲 | www.久久爱.cn| 精品在线不卡 | 国产精品美女一区二区三区四区 | √8天堂资源地址中文在线 成人欧美一区二区三区白人 | 日日干日日操 | 在线成人免费观看www | 日韩国产精品一区二区 | 成人亚洲免费视频 | 国产欧美精品一区二区三区 | 国产成人 综合 亚洲 | 96久久久 | 国产日韩欧美在线 | 精品国产一区二区三区四 | 精品国产一区三区 | 久久爱9191 | 中文字幕在线综合 | 亚洲视频一区二区三区 | 成人午夜剧场 | 无码日韩精品一区二区免费 | 欧美成人毛片 | 欧洲美女性开放视频 | 欧美一区二区三区在线观看视频 | 黄色片免费看 | 天天干 夜夜操 | 日韩一区二区三区在线视频 | 中文字幕亚洲区 | 国产精品福利午夜在线观看 | 欧美日韩亚洲视频 | 久久这里只有精品首页 | 国产日韩一区二区三免费高清 | 国产精品婷婷午夜在线观看 | 日韩在线观看视频一区二区三区 | 在线中文字幕第一页 | 国产男女做爰免费网站 | 欧美日韩精品一区二区在线观看 | 麻豆专区一区二区三区四区五区 | 美国一级黄色片 | 精品中文字幕在线观看 | 欧美午夜一区二区三区 | 天天狠狠操 | 国产欧美精品一区二区三区四区 | 好姑娘影视在线观看高清 | 亚洲精品一区二区 | 国产成人精品一区二区三区视频 | 亚洲精品7777xxxx青睐 | 中文字幕一二三区 | 日韩高清国产一区在线 | 日韩视频在线观看视频 | 91视频一88av | 午夜精品久久久久久久久久久久 | 色悠久久久| 国产视频精品自拍 | 精品视频一区二区三区 | 欧美日韩一 | 一本一道久久精品综合 | 少妇一区二区三区 | 波多野结衣一区二区三区四区 | 久久精品欧美一区二区三区不卡 | 一区二区免费 | 久久免费国产 | 永久91嫩草亚洲精品人人 | 精品久久电影 | 国产精品高清在线 | 国产在线精品一区二区 | 国产一二区在线观看 | 欧美一二三四成人免费视频 | 日韩欧美~中文字幕 | 91国内 | 一区二区成人网 | 国产精一区二区 | 狠狠的日| 欧洲毛片 | 午夜99| 欧美国产在线观看 | av资源中文在线 | 成年人免费看 | 亚洲一区二区三区免费在线观看 | 日韩综合在线 | 蜜桃视频一区 | 天天操天天色天天 | 国产成人精品午夜视频' | 99伊人网| 成人av免费 | 午夜免费影院 | 久久久国产一区 | 操视频网站 | 国产精品成av人在线视午夜片 | 一级视频在线观看 | 国产精品一区一区 | 亚洲一区二区三区高清 | 久草天堂| 伊人www| 欧美伦理一区二区 | 欧美精品免费在线观看 | 蜜桃视频在线观看www社区 | 99久久99 | 黄色一级大片在线免费看产 | 久久一区二区三 | 亚洲一区在线免费观看 | 国产欧美精品一区二区三区 | 久久综合久久久 | 久久中文网 | 日韩精品 电影一区 亚洲 | 久草 在线 | 色婷综合网 | 亚洲精品一区 | 午夜精品久久久久久久男人的天堂 | 九九视频在线观看视频6 | 9191视频 | 久久国产经典视频 | 91视频在线观看 | 在线免费91| 99久久久99久久国产片鸭王 | 三级特黄特色视频 | 成人在线一区二区三区 | 午夜精品久久久久久久 | 欧美一区二区在线播放 | 在线a视频 | 亚洲一区在线日韩在线深爱 | 婷婷成人免费视频 | 超碰在线99 | 亚洲一区二区免费在线观看 | 日本一级中文字幕久久久久久 | 91偷拍精品一区二区三区 | 国产色av | 在线a视频| 91免费看片 | 羞羞的视频在线 | 久久精品国产免费 | 国产精品久久久久久久久久99 | 国产精品美女久久久久久久久久久 | 精品久久久久一区二区三区 | 国产精品毛片一区二区在线看 | 久久久2o19精品| 久久久久女人精品毛片九一韩国 | 国产精品1区2区 | 亚洲成人福利在线观看 | 国产精品久久久久久久久免费丝袜 | 国产成人黄色 | 日韩一级免费在线观看 | 国产欧美综合视频 | 久草青青 | 欧美久久精品一级c片 | 国产a久久精品一区二区三区 | 久久精品性视频 | 久久人人爽人人爽人人片亚洲 | 成人国产网站 | 国产精品香蕉 | 精品国产精品三级精品av网址 | 欧美大片一区二区 | 在线观看免费视频亚洲 | 特黄级国产片 | 成人欧美一区二区三区黑人孕妇 | 北条麻妃99精品青青久久主播 | 欧美成人一区二免费视频软件 | av片免费| 欧美日韩国产精品一区 | 亚洲精品aaa| 国产精品永久免费视频 | 亚洲成人免费在线 | 欧美精品一 | 午夜免费福利视频 | 欧美日韩一区二区电影 | 国产精品2区 | 国产精品毛片一区二区在线看 | 国产视频久久久 | 久久久免费电影 | 岛国av在线| 欧美日韩在线成人 | 天天综合网久久综合网 | 综合久久网 | 欧美大片在线看免费观看 | 国产一级一级特黄女人精品毛片 | av网站免费在线观看 | 中文字幕在线观看免费视频 | 婷婷久久综合 | 欧洲视频一区二区三区 | 亚洲深深色噜噜狠狠网站 | 久久精av| 亚洲日韩欧美一区二区在线 | 欧美国产在线一区 | 奇米精品一区二区三区在线观看 | 黄色片网站视频 | 免费大片黄在线观看 | 国产精品中文字幕在线 | 国产欧美久久一区二区三区 | 成人在线免费观看视频 | 亚洲精品9999 | 欧美黄色一区 | 国产一区二区电影 | 欧美精品第一页 | 国产精品久久久久久婷婷天堂 | 久久久精品免费观看 | 国产午夜精品久久久久久久 | 午夜精品久久久久久久 | 99在线看| 国产精品久久av | 欧美一区二区二区 | 99热手机在线观看 | 精品久久ai | 欧美日韩电影一区 | 久久久久久一区 | 久久夜视频 | 色婷婷精品国产一区二区三区 | 国产免费一区二区三区 | 国产成人精品亚洲日本在线观看 | 午夜精品久久久久久久 | 欧美一区二区三 | 精品国产精品 | 午夜性电影 | 精品国产乱码久久久久久久软件 | 欧美日韩精品一区二区 | www.一区 | 成人激情视频在线免费观看 | 欧美日韩综合视频 | 精品日韩欧美一区二区在线播放 | 久久久久久国产免费视网址 | 日日日操 | 欧美第一页| 狠狠综合久久 | 国产做a爱片久久毛片 | 亚洲精品一区二区三区蜜桃久 | 欧美日韩不卡合集视频 | 亚洲视频中文字幕 | 欧美一区二区三区爽大粗免费 | 欧美日韩视频 | 日韩性视频 | 高清国产午夜精品久久久久久 | 激情综合色综合久久综合 | 日韩中文一区 | 亚洲精品久久 | 久久成人精品 | 精品96久久久久久中文字幕无 | 九九热精 | 国产精品2区 | 成人黄色短视频在线观看 | 日韩在线一区二区三区 | 国产精品99久久久久久久vr | 麻豆freexxxx性91精品 | 国产小视频在线看 | 亚洲电影二区 | 亚洲第一视频 | 日本精品一区二区三区在线观看 | 国产成人午夜精品影院游乐网 | 日韩欧美在线播放视频 | 欧美日韩中字 | 久久人人爽人人爽 | 午夜视频一区二区 | 探花在线观看 | 热久久这里只有精品 | 日韩精品一区二区三区在线观看 | 国产美女视频一区 | 99久久99久久 | 中字一区 | 日韩免费精品视频 | 国产乱码精品一区二区三区av | 欧美国产免费 | 国产精品成人在线 | 色中色综合 | 国产97色在线 | 亚洲 | 成人欧美一区二区三区在线观看 | 国产精品中文字幕在线播放 | 91在线精品秘密一区二区 | 国产成人在线视频 | 日韩中文字幕电影 | 国产视频精品一区二区三区 | 国产日韩高清在线 | 久色视频 | 男女羞羞视频免费在线观看 | 成人国产精品久久久 | 欧美日本韩国一区二区三区 | 国产女人爽到高潮免费视频 | 伊人色播 | 亚洲精品视频一区 | 国产精品69久久久久水密桃 | 日本综合久久 | 91精品久久久久久久久久 | 亚洲人成网站999久久久综合 | 欧美 日韩 国产 成人 在线 | a成人在线| 成人在线视频一区二区 | 国产性色 | 亚洲一区免费在线观看 | 成人免费在线观看视频 | 久精品在线 | 日韩久色 | 久久久久久久国产精品 | 啵啵影院午夜男人免费视频 | 激情五月综合 | 亚洲一区在线日韩在线深爱 | 国产一二三区在线观看 | 亚洲精美视频 | h片免费观看 | 午夜草逼 | 亚洲精品高清视频 | 亚洲精品一区二区三区四区高清 | 中文字幕第一页在线 | 欧美视频在线一区 | 国产在线不卡一区 | 伊人久久精品久久亚洲一区 | 欧美在线观看一区 | 欧美成人一级 | 国产精品色婷婷亚洲综合看 | 五月婷婷导航 | 成人久久久精品国产乱码一区二区 | 免费国产视频 | 性高湖久久久久久久久aaaaa | 成人在线免费视频 | 国产精品视频免费 | 国产三区精品 | 日韩av免费 | 人人插人人干 | 日本在线观看视频一区 | 理伦影院| 91 在线观看 | 精品国产一区二区在线 | 日韩视频在线免费播放 | 91中文字幕 | 欧美日韩精品综合 | 欧美三级视频在线播放 | 日韩3级在线观看 | 国产婷婷精品av在线 | 亚洲欧美日韩另类一区二区 | 中文字幕一区二区三区免费视频 | 午夜精 | 午夜视频在线观看网站 | 中文字幕亚洲一区二区三区 | 国产精品2019 | 亚洲精品一区二区三区在线 | 国产第一亚洲 | 久久久成人精品视频 | 国产91视频在线观看 | 日韩高清在线一区 | 精品国产乱码久久久久久88av | 亚洲麻豆精品 | 91久久在线| 2020国产在线 | 国产精品久久一区 | 日韩中文字幕精品 | 国产性×xxx盗摄xxxx | 91久久久久久 | 伊人狠狠干 | 久久mm | 精品久久久久久久久久久久久久 | 黄色高清视频 | 青青草久久爱 | 精品一区二区在线观看 | 色噜噜视频 | 欧美一区 | 91精品国产欧美一区二区成人 | 91精品国产综合久久精品 | 亚洲精品电影在线观看 | 91精品国产99久久久 | 国产精品欧美一区二区三区不卡 | 操到爽 | 日韩免费| 日韩成人精品在线观看 | 99精品国产高清一区二区麻豆 | 一本色道久久综合狠狠躁篇的优点 | 91在线国产观看 | 色综合久久一区二区三区 | 欧美日韩久久 | 精品久久久久久亚洲精品 | 欧美精品欧美精品系列 | 一区二区成人 | 国产在线不卡 | 成人国产一区二区 | 免费观看在线午夜影视 | 国产精品久久久久久久久久久不卡 | 午夜精品久久久久久久星辰影院 | 欧美一区二区三区在线视频 | 天天澡天天狠天天天做 | 欧美成人免费视频 | 激情网站免费观看 | 亚洲成人免费影院 | 欧美日韩在线观看视频 | 日韩欧美在线观看 | 久久久www成人免费无遮挡大片 | 欧美激情一区二区三区在线视频 | 成人久久久精品乱码一区二区三区 | 华人黄网站大全 | 中文字幕视频在线观看 | 天天舔天天干 | 狠狠av| 国产精品69久久久久水密桃 | aa毛片| 日韩欧美第一页 | av高清在线看 | 精品视频一区二区 | 欧美精品欧美极品欧美激情 | 少妇一级淫片免费放 | 国产一区av在线 | 日韩中文字幕一区二区 | 一级片在线观看 | 精品国产第一国产综合精品 | 欧美日韩中文字幕 | 久久国产区| 国产精品69毛片高清亚洲 | 国产高清精品一区二区三区 | 日韩拍拍 | 中文字幕一区二区三区在线视频 | 啪一啪 | 精品久久久久久久久久久久久久久久久久 | 在线视频这里只有精品 | 91p在线观看 | 日韩av在线中文字幕 | 国产精品久久久久久久久 | 精品久久中文字幕 | 在线视频国产一区 | 午夜免费在线 | 久久精品成人免费视频 | 久久精品播放 | 欧洲一区二区在线观看 | 日本一区二区精品 | 欧美一级毛片免费观看 | 亚洲精品乱码久久观看网 | 999国内精品永久免费视频 | 日韩精品一区二区三区四区视频 | 国产成人片 | 玖玖玖精品视频 | 综合久久综合久久 | h片免费观看 | 国产不卡一区 | 国产亚洲精品久久久久动 | 成人影视网址 | 亚洲精品久久久久久国产精华液 | 精品久久久久久亚洲综合网站 | 中文字幕日韩在线 | 色吧欧美 | 国产亚洲视频在线观看 | 蜜桃免费一区二区三区 | m豆传媒在线链接观看 | 国产精品视频免费 | 日本色站 | 免费观看在线午夜影视 | 欧美在线观看视频 | 欧美一级片在线 | 日韩成人| 免费国产黄 | 资源av | 精品久久久久一区二区三区 | av在线一区二区三区 | 成人福利视频 | 欧美a网站 | 成人免费久久 | 色综合色综合 | 九色av| 日韩高清国产一区在线 | 日韩免费视频中文字幕 | 色毛片| 免费福利视频一区 | 日韩欧美h | 高清久久| 米奇影视7777 | 91成人在线 | 亚洲国产精品一区 | 免费国产视频 | 精品中文字幕在线 | 蜜桃一区二区三区 | 欧美日韩国产中文 | 久久久久久久久久久久久久久久久久久 | 国产精品视频免费播放 | 国产精品久久久久久亚洲调教 | 免费黄色片在线观看 | 亚洲a视频| 91视频www| 黄色在线免费看 | 超碰在线91 | 在线二区 | 亚洲国产精品一区二区第一页 | 欧美午夜一区二区三区免费大片 | 久久视频免费 | 亚洲午夜精品 | 精品中文字幕在线观看 | 俺要去97中文字幕 | 91,看片| 亚洲最新中文字幕 | 91一区二区在线 | 99re视频在线观看 | 三级成人片 | 国产一级在线 | 亚洲精品久久久久avwww潮水 | 国偷自产av一区二区三区 | 在线免费观看日韩视频 | 久久中文字幕一区二区 | 国产精品999| 成人欧美一区二区三区白人 | 中文字幕视频在线 | 国产激情视频 | 亚洲精品久久久 | 蜜桃视频在线观看www社区 | 久久国产精品影视 | 少妇看av一二三区 | 色视频www在线播放国产人成 | 天天操天天干天天爽 | 91精品久久久久久久久久 | a级黄色在线观看 | 成人在线一区二区 | 成人做爰www免费看视频网站 | 亚洲免费视频在线观看 | 午夜精品久久久久久久男人的天堂 | 国产在线小视频 | 亚洲三区电影 | 91精品福利 | 亚洲www啪成人一区二区 | 一级毛片,一级毛片 | 91人人看| 精品一区二区三区在线视频 | 精品国产乱码久久久久久久软件 | 久草久草久草 | 精品二区 | 99亚洲国产 | 中文字幕亚洲综合久久久软件 | 国产精品视频播放 | 国产精品乱码一二三区的特点 |