Commit Graph

31 Commits

Author SHA1 Message Date
zonyitoo
20d46a1b7a [#182] Supports HTTP CONNECT relay for sslocal 2019-12-28 17:32:20 +08:00
zonyitoo
45e8bc63ed Upgrade trust-dns to alpha.3 and bump version to v1.8.0-alpha.3 2019-12-15 22:08:04 +08:00
zonyitoo
620ebafd39 Reformatted with nightly rustfmt 2019-12-07 11:32:00 +08:00
zonyitoo
3ebcf54237 udp tunnel should listen another port 2019-12-01 21:42:19 +08:00
zonyitoo
3e2cddb374 Supports UDP tunnel 2019-12-01 20:30:55 +08:00
Y. T. CHUNG
a3b33f2614 Migrate to std::future, async/await (#165)
* Socks5 library, main tcp relay implementation migrated with async/await

* UDP relay local migrated to async/await

* UDP relay server migrated to async/await

* Migrated UDP DNS to async/await, follows tokio-process

* Removed unused uses, add dyn keyword for TraitObjects

* [#151] Uses dl.google.com/generate_204 to check connection latency

* Make sslocal/ssserver TCP relay work successfully, disabled UDP and DNS relay temporary

* Handshake before performing actual read & write

* Wraps timeout logic into a Connection<S> struct

* Make UDP relay work again

* Local uses copy directly

* Completely removed unused ssdns

* Fixed test

* Uses tokio::main macro for main entrance

* Fixed a missing use in local.rs

* Updated travis openssl to 1.1.0L

* Windows signal

* Migrated tokio 0.2 release with std::future support

fix #173

* fixed windows monitor build

* Uses tokio on crates.io

* ctrl_c is a Future

* Run tests with single tokio runtime

* Uses spawn_blocking only with threaded runtime

* Killing all detached Tasks if server is exited

* Updated version to v1.8.0

* Removed unused pin-project

* Uses dns resolver built in tokio

* Explicitly uses threaded scheduler by default

* Reverted, it is threaded scheduler by default

* Updated bytes to v0.5

* Updated many dependencies

* Add a tunnel app (#175)

It can be used to benchmark.

Usage:
sstunnel -v -s 127.0.0.1:8488 -m plain -k password -b 127.0.0.1:1090 -f 127.0.0.1:5201

"-f xxx" : the target/forwad address xxx

* Removed unused remote-dns config field (ssdns is removed)

* Separated TCP local tunneling to its own module

* Implements FromStr for Address

* Fixed typo

* Add tunnel unit test

* Updated tokio to v0.2.2, fixed basic scheduler bug

* Removed Connection, uses try_timeout instead. Revert back to use 8K buffer

* Revert "Removed Connection, uses try_timeout instead. Revert back to use 8K buffer"

This reverts commit 82f698e520.

* Uses Delay instead of Timeout

* Delay doesnt return io::Result

* Revert "Delay doesnt return io::Result"

This reverts commit 74dc294d16.

* Fixed bug, Connection timeout should be shared between read & write operations
2019-12-01 12:20:39 +08:00
zonyitoo
36bc0bec27 Supports camellia-*-cfb 2019-08-06 21:19:10 +08:00
zonyitoo
d048d25120 Make clippy happy 2019-04-26 01:33:20 +08:00
zonyitoo
5b31ee89ec Updated dependencies, removed DNS packet pretty printer 2019-04-20 02:50:17 +08:00
zonyitoo
5a99c8a5c2 Updated dependencies 2019-02-14 10:19:36 +08:00
Linus Färnstrand
3d25b71a20 Remove extern crate statements (#143) 2019-01-26 00:30:06 +08:00
zonyitoo
cecc62e4b4 [#85] Supporting shadowsocks-manager reports 2019-01-01 14:56:29 +08:00
zonyitoo
db04bdb36d Follows config key no_delay and mode in ss-libev 2019-01-01 02:32:20 +08:00
zonyitoo
5dec63a044 Removed all global state maps, which will allow starting multiple shadowsocks instances in one process 2018-12-30 16:02:52 +08:00
Y. T. Chung
c60869aa50 Refactor some boxed futures with impl Trait
- Replaced EncryptedWriterFut and DecryptedReaderFut with impl Trait
- Replaced boxed future in try_timeout and io_timeout with a static type
- Modified rustfmt configuration, fully reformatted
2018-10-01 10:32:04 +08:00
Y. T. Chung
584aad21c7 Open logs in appveyor test, set timeouts for udp test 2018-05-31 00:53:53 +08:00
Y. T. Chung
8f69141b33 Call tokio::run from the outermost, allow test to run tokio runtime in multiple threads 2018-05-18 23:21:30 +08:00
Y. T. CHUNG
8be6da51f3 Migrate tokio and uses new features (#108)
* Add #102 link in README

* Migrating to tokio, #100

* Migrated to tokio-signal v0.2, reformatted

* Should not call tokio::spawn before tokio::run

* Build nightly and stable with different image tag

* Removed unnecessary rustup install

* Renamed version to v1.7.0-alpha

* Removed deprecated calls of Buf

* Updated dependencies

* [#106] Fixed bug, should not hold UDP connections forever

* Lower info log to debug

* Bump version to v1.7.0-alpha.2

* Implement a simple DNS relay server, bump version to v1.7.0-alpha.3

* Better logging

* Fixed build on travis

* Add elapsed time in log

* Should not exit if handler return error

* reformatted

* Add test for DNS

* Updated ssdns param

* Use `trust-dns` and impl Trait
1. Replaced `ToSocketAddrs` with `trust-dns`
2. Uses impl Trait for functions
3. Updated dependencies
4. Fixed bugs

* Bug fixed, logging crate in ssdns
2018-05-16 00:03:50 +08:00
Y. T. Chung
5c89e61a2e Reformatted with new rustfmt 2018-01-20 01:10:16 +08:00
quininer
32d5a2d9e9 update dependencies (#91)
update dependencies and fix #90
2018-01-08 21:44:35 +08:00
Y. T. Chung
dd848401ab Completely rewrite UDP associate 2017-08-29 23:50:10 +08:00
Y. T. Chung
eb21aba3c7 only tests with stable rust 2017-05-21 19:51:45 +08:00
BennyYip
cee4786c01 fix clippy warning 2017-05-21 18:01:06 +08:00
Y. T. Chung
8ae47907bc upgrade tokio_core, move logics to tokio_io 2017-03-20 00:55:34 +08:00
Y. T. Chung
6a1a021331 add aead test 2017-02-18 21:55:13 +08:00
Y. T. Chung
688f693f41 remove dummy relay struct 2016-11-03 02:05:40 +08:00
Y. T. Chung
8a2b6936af correctify implement udp handler, add udp test 2016-11-01 01:10:16 +08:00
Y. T. Chung
add4824668 initially implement udp associate 2016-10-31 23:31:27 +08:00
Y. T. Chung
625cb23ca9 save extended key in config 2016-10-30 21:47:11 +08:00
Y. T. Chung
6c328ab370 check response content by String::from_utf8 2016-10-30 16:59:48 +08:00
Y. T. Chung
6b1344ca91 Add Socks5Client wrap, fulfill more documents, add tcp connect test 2016-10-30 16:45:13 +08:00