Giter Site home page Giter Site logo

flv-tls-proxy's Introduction

Simple Async TLS Proxy

Simple TLS proxy using async rust

Support platform

  • Mac Os X
  • Linux

Contributing

If you'd like to contribute to the project, please read our Contributing guide.

License

This project is licensed under the Apache license.

flv-tls-proxy's People

Contributors

digikata avatar galibey avatar nacardin avatar ozgrakkurt avatar sehz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flv-tls-proxy's Issues

update error log

following log should not be error:

Nov 11 22:50:09.101 ERROR flv_tls_proxy::proxy: error handshaking: tls handshake eof from source: 192.168.49.1:53074    
Nov 11 22:50:11.217 ERROR flv_tls_proxy::proxy: 0.0.0.0:9005->192.168.49.1:53086 error copying: Broken pipe (os error 32)  

rustls doesn't work with spawn

Currently rustls version of proxy only works within same thread:

make test-proxy

ct 20 21:44:59.209 DEBUG proxy: client: sleep to give server chance to come up    
Oct 20 21:44:59.209 DEBUG proxy: server: binding    
Oct 20 21:44:59.209 DEBUG proxy: server: successfully binding. waiting for incoming    
Oct 20 21:44:59.409 DEBUG proxy: client: trying to connect    
Oct 20 21:44:59.417 DEBUG proxy: client: got connection. waiting    
Oct 20 21:44:59.418 DEBUG proxy: client: loop 0 sending test message: message0    
Oct 20 21:44:59.418 DEBUG proxy: server: loop 0, received reply back bytes: 8    
Oct 20 21:44:59.418 DEBUG proxy: server: loop 0, received message: message0    
Oct 20 21:44:59.418 DEBUG proxy: sever: send back reply: message0reply    
Oct 20 21:44:59.418 DEBUG proxy: client: loop 0, received reply back bytes: 13    
Oct 20 21:44:59.418 DEBUG proxy: client: loop 0, received reply message: message0reply    
Oct 20 21:44:59.418 DEBUG proxy: client: loop 1 sending test message: message1    
Oct 20 21:44:59.419 DEBUG proxy: server: loop 1, received reply back bytes: 8    
Oct 20 21:44:59.419 DEBUG proxy: server: loop 1, received message: message1    
Oct 20 21:44:59.419 DEBUG proxy: sever: send back reply: message1reply    
Oct 20 21:44:59.419 DEBUG proxy: client: loop 1, received reply back bytes: 13    
Oct 20 21:44:59.419 DEBUG proxy: client: loop 1, received reply message: message1reply    
Oct 20 21:44:59.419 DEBUG proxy: client: loop 2 sending test message: message2    
Oct 20 21:44:59.420 DEBUG proxy: server: loop 2, received reply back bytes: 8    
Oct 20 21:44:59.420 DEBUG proxy: server: loop 2, received message: message2    
Oct 20 21:44:59.420 DEBUG proxy: sever: send back reply: message2reply    
Oct 20 21:44:59.420 DEBUG proxy: client: loop 2, received reply back bytes: 13    
Oct 20 21:44:59.420 DEBUG proxy: client: loop 2, received reply message: message2reply    
Oct 20 21:44:59.420 DEBUG proxy: client: loop 3 sending test message: message3    
Oct 20 21:44:59.420 DEBUG proxy: server: loop 3, received reply back bytes: 8    
Oct 20 21:44:59.420 DEBUG proxy: server: loop 3, received message: message3    
Oct 20 21:44:59.420 DEBUG proxy: sever: send back reply: message3reply    
Oct 20 21:44:59.421 DEBUG proxy: client: loop 3, received reply back bytes: 13    
Oct 20 21:44:59.421 DEBUG proxy: client: loop 3, received reply message: message3reply    
Oct 20 21:44:59.421 DEBUG proxy: client: loop 4 sending test message: message4    
Oct 20 21:44:59.421 DEBUG proxy: server: loop 4, received reply back bytes: 8    
Oct 20 21:44:59.421 DEBUG proxy: server: loop 4, received message: message4    
Oct 20 21:44:59.421 DEBUG proxy: sever: send back reply: message4reply    
Oct 20 21:44:59.421 DEBUG proxy: client: loop 4, received reply back bytes: 13    
Oct 20 21:44:59.422 DEBUG proxy: client: loop 4, received reply message: message4reply    
Oct 20 21:44:59.422 DEBUG proxy: client: loop 5 sending test message: message5    
Oct 20 21:44:59.422 DEBUG proxy: server: loop 5, received reply back bytes: 8    
Oct 20 21:44:59.422 DEBUG proxy: server: loop 5, received message: message5    
Oct 20 21:44:59.422 DEBUG proxy: sever: send back reply: message5reply    
Oct 20 21:44:59.422 DEBUG proxy: client: loop 5, received reply back bytes: 13    
Oct 20 21:44:59.422 DEBUG proxy: client: loop 5, received reply message: message5reply    
Oct 20 21:44:59.422 DEBUG proxy: client: loop 6 sending test message: message6    
Oct 20 21:44:59.423 DEBUG proxy: server: loop 6, received reply back bytes: 8    
Oct 20 21:44:59.423 DEBUG proxy: server: loop 6, received message: message6    
Oct 20 21:44:59.423 DEBUG proxy: sever: send back reply: message6reply    
Oct 20 21:44:59.423 DEBUG proxy: client: loop 6, received reply back bytes: 13    
Oct 20 21:44:59.423 DEBUG proxy: client: loop 6, received reply message: message6reply    
Oct 20 21:44:59.423 DEBUG proxy: client: loop 7 sending test message: message7    
Oct 20 21:44:59.423 DEBUG proxy: server: loop 7, received reply back bytes: 8    
Oct 20 21:44:59.423 DEBUG proxy: server: loop 7, received message: message7    
Oct 20 21:44:59.423 DEBUG proxy: sever: send back reply: message7reply    
Oct 20 21:44:59.424 DEBUG proxy: client: loop 7, received reply back bytes: 13    
Oct 20 21:44:59.424 DEBUG proxy: client: loop 7, received reply message: message7reply    
Oct 20 21:44:59.424 DEBUG proxy: client: loop 8 sending test message: message8    
Oct 20 21:44:59.424 DEBUG proxy: server: loop 8, received reply back bytes: 8    
Oct 20 21:44:59.424 DEBUG proxy: server: loop 8, received message: message8    
Oct 20 21:44:59.424 DEBUG proxy: sever: send back reply: message8reply    
Oct 20 21:44:59.424 DEBUG proxy: client: loop 8, received reply back bytes: 13    
Oct 20 21:44:59.425 DEBUG proxy: client: loop 8, received reply message: message8reply    
Oct 20 21:44:59.425 DEBUG proxy: client: loop 9 sending test message: message9    
Oct 20 21:44:59.425 DEBUG proxy: server: loop 9, received reply back bytes: 8    
Oct 20 21:44:59.425 DEBUG proxy: server: loop 9, received message: message9    
Oct 20 21:44:59.425 DEBUG proxy: sever: send back reply: message9reply    
Oct 20 21:44:59.425 DEBUG proxy: server done    
Oct 20 21:44:59.425 DEBUG proxy: client: loop 9, received reply back bytes: 13    
Oct 20 21:44:59.425 DEBUG proxy: client: loop 9, received reply message: message9reply    
Oct 20 21:44:59.425 DEBUG proxy: client done    

It doesn't work with when spawning into task:

test-proxy-spawn


Oct 20 21:41:54.307 DEBUG proxy: client: sleep to give server chance to come up    
Oct 20 21:41:54.307 DEBUG proxy: server: binding    
Oct 20 21:41:54.307 DEBUG proxy: server: successfully binding. waiting for incoming    
Oct 20 21:41:54.507 DEBUG proxy: client: trying to connect    
Oct 20 21:41:54.516 DEBUG proxy: client: got connection. waiting    
Oct 20 21:41:54.516 DEBUG proxy: client: loop 0 sending test message: message0    
Oct 20 21:41:54.516 DEBUG proxy: server: loop 0, received reply back bytes: 8    
Oct 20 21:41:54.516 DEBUG proxy: server: loop 0, received message: message0    
Oct 20 21:41:54.517 DEBUG proxy: sever: send back reply: message0reply    
Oct 20 21:41:54.517 DEBUG proxy: client: loop 0, received reply back bytes: 13    
Oct 20 21:41:54.517 DEBUG proxy: client: loop 0, received reply message: message0reply    
Oct 20 21:41:54.517 DEBUG proxy: client: loop 1 sending test message: message1  

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.