Commit Graph

941 Commits (fec56dda7081bdfbe81398f03ba7d205f33d9916)

Author SHA1 Message Date
v2ray f7a152b871 remove unnecessary memory allocation in id generation 2016-01-12 13:39:02 +01:00
v2ray 48ff2a5ae8 use [16]byte instead of string for faster hashing 2016-01-12 13:02:05 +01:00
Darien Raymond bed5235772 remove proxy/vmess/protocol/user 2016-01-12 10:52:40 +00:00
Darien Raymond dc1fbecdfb remove fuzzing tests 2016-01-12 10:45:38 +00:00
v2ray 349b02084c rewrite hashing logic in vmess 2016-01-12 11:38:43 +01:00
v2ray ea080b2ebf rewrite id hash queue 2016-01-11 22:51:35 +01:00
v2ray 47e2d957d1 don't process malformed request 2016-01-11 12:35:28 +01:00
v2ray 8daea1dc06 close inbound ray when there is an error 2016-01-11 01:01:52 +01:00
v2ray d1fecba6e4 improve timed queue performance 2016-01-10 09:11:46 +01:00
v2ray 242624de96 fix test break 2016-01-09 00:22:50 +01:00
v2ray 4ca43c3121 alternative user ids 2016-01-09 00:10:57 +01:00
v2ray 43f76d4704 doc for InboundConnectionHandler 2016-01-06 22:39:56 +01:00
v2ray 5b1854f842 simplify connection handler registration 2016-01-06 16:23:54 +01:00
v2ray 350b31cad9 First step to reduce number of bytes for response validation 2016-01-06 01:37:53 +01:00
v2ray b9c3f2cb75 Fix for empty packets 2016-01-05 12:08:16 +01:00
v2ray 7c64093a7a Output debug info when parsing VMess request 2016-01-05 00:08:00 +01:00
v2ray 3e76c3f307 fix a typo 2016-01-04 23:00:14 +01:00
v2ray 1239b1a57b fix buffer usage in vmess out 2016-01-04 22:02:22 +01:00
Darien Raymond e6ad1d8518 format code 2016-01-04 14:16:52 +00:00
Darien Raymond 27b521d2aa fix buffer usage in VMess 2016-01-04 12:01:32 +00:00
v2ray 5f6d932c03 fixes for mutex usage 2016-01-04 08:41:01 +01:00
v2ray 4271e619fe fixes for mutex usage 2016-01-04 08:40:24 +01:00
v2ray 59a5f832f6 fixes for sync logic 2016-01-04 01:19:27 +01:00
v2ray 4a7f45113a check accepting in http 2016-01-04 01:13:43 +01:00
v2ray 56c5302367 close method for point server 2016-01-04 00:33:25 +01:00
v2ray 201481a82c close method for inbound connection handler 2016-01-03 23:30:37 +01:00
v2ray 0780db7999 move connhandler to proxy 2016-01-02 23:32:18 +01:00
v2ray 54ce82fbfa Move unnecessary functions to internal 2016-01-02 23:08:36 +01:00
v2ray 1c4c9bffad Move proxy/common/config to proxy/internal/config 2016-01-02 17:40:51 +01:00
v2ray 3baa1f5bc5 interface for inbound connection handler manager 2016-01-01 23:44:11 +01:00
adoot 09bf6def69 http bug fixes & disable keep-alive
This patch defers Conn.Close call until all responses from server
has been written to the client. It should fix many of the hanging
issues we have with plain HTTP requests.
2016-01-01 13:08:53 -08:00
v2ray 8d6fdd014a dns cache command 2015-12-25 01:07:42 +01:00
v2ray 4a8ec6926b dialer 2015-12-17 01:19:04 +01:00
v2ray 6543facd51 converting from host to address directly 2015-12-17 00:58:45 +01:00
v2ray 34a0cb0b70 move port out of address 2015-12-16 23:53:38 +01:00
v2ray e3a00d1400 improve http proxy effeciency 2015-12-16 16:37:32 +01:00
v2ray b3ec97058e refind http proxy 2015-12-16 15:52:40 +01:00
v2ray 34f34bb25d refine http proxy 2015-12-15 22:13:09 +01:00
v2ray 24653aef21 still close connection agressively 2015-12-15 16:38:25 +01:00
v2ray e12e5a0ecb barely working http proxy 2015-12-15 16:00:47 +01:00
v2ray d0a75ce9f3 handle connect request in http proxy 2015-12-15 00:53:40 +01:00
Darien Raymond 05caf04eee unfinished http proxy 2015-12-14 16:26:29 +00:00
Darien Raymond f0c1695db4 send request without waiting for the first packet. 2015-12-14 14:51:48 +00:00
v2ray 1f584f1502 interface for secondary id 2015-12-13 00:10:35 +01:00
v2ray a63670311e use uuid in vmess id 2015-12-12 21:40:16 +01:00
v2ray 1c5c1a7aef debug info 2015-12-12 20:57:47 +01:00
v2ray 88851f2bc9 Allow IP address is passed as domain in socks5 protocol 2015-12-12 20:57:39 +01:00
v2ray fed5697dc3 SwitchAccount command 2015-12-12 13:11:49 +01:00
Darien Raymond b6ed26aedf pubsub 2015-12-11 14:56:10 +00:00
Darien Raymond dd81fc6f6a hide space implementations from interfaces 2015-12-11 11:01:20 +00:00
Darien Raymond ed09b4ea6a support domain as host in VMess outbound config. 2015-12-09 11:20:59 +00:00
Darien Raymond af8412175e re-org vmess content 2015-12-07 19:32:38 +00:00
v2ray 092217182a simplify config directory 2015-12-06 18:21:15 +01:00
v2ray 8bee0c4a7b cleanup shell/point/config 2015-12-06 16:41:41 +01:00
v2ray e1c58fae2b dns cache 2015-12-06 11:00:10 +01:00
v2ray 15e6e6d80c introduce app.Space 2015-12-05 22:55:45 +01:00
v2ray 32c3565681 typo 2015-12-05 01:49:03 +01:00
v2ray 06f9b65ec4 receiver manager 2015-12-05 01:16:21 +01:00
Darien Raymond 6bb53251e9 handle response command in vmess outbound. 2015-12-04 11:42:56 +00:00
Darien Raymond 11220a4952 split vmess inbound and outbound 2015-12-04 11:07:32 +00:00
v2ray 36b7a3fe07 test case for socks protocol 2015-12-03 23:31:04 +01:00
v2ray f69b83f3e6 add interface for socks config 2015-12-03 22:41:06 +01:00
Darien Raymond 5003afc85c test case for vmess outbound config 2015-12-02 21:30:15 +00:00
Darien Raymond ae056714db refactor common/net.Port 2015-12-02 20:44:01 +00:00
Darien Raymond fa7c1069bc more update 2015-12-02 16:27:55 +00:00
Darien Raymond 36848af749 leveral serial.String in code 2015-12-02 15:49:34 +00:00
Darien Raymond 3c12469ae5 leverage serial.String in assert 2015-12-02 15:41:19 +00:00
Darien Raymond 7960b97c8e fix test break 2015-12-02 15:26:11 +00:00
Darien Raymond 0a2e4343bc massive refactoring against unit test lib 2015-12-02 14:27:18 +00:00
V2Ray cee85bdf26 Add Port as a type 2015-12-02 12:47:54 +01:00
Darien Raymond cab29a7bc9 breaking change: update the way in vmess response validation 2015-12-01 13:54:49 +00:00
V2Ray 07582c5b60 Move point to shell 2015-11-29 14:45:32 +01:00
V2Ray 10b5f5cc5e Rename vmess in & out file 2015-11-28 20:50:44 +01:00
V2Ray c2904383b3 FIx a bug that mutex is passed by value. 2015-11-28 20:29:42 +01:00
V2Ray 3f0ada1bc8 add response op in vmess protocol 2015-11-28 10:11:56 +01:00
V2Ray 9a88e8696a format code 2015-11-27 21:57:15 +01:00
V2Ray 4046ee968c refactor code 2015-11-27 21:50:28 +01:00
V2Ray a8d07ce931 refactor code 2015-11-27 12:29:20 +01:00
V2Ray 1b8e100879 validation reader for vmess 2015-11-15 21:54:28 +01:00
V2Ray 8597642002 UDP support for dokodemo door 2015-11-11 00:08:43 +01:00
V2Ray b6cebd127d fuzz test for socks udp 2015-11-10 18:16:13 +01:00
V2Ray 3a6844f482 reduce number of iterations of vmess fuzzing test. 2015-11-10 12:25:26 +01:00
V2Ray bd48556b98 Smarter reader generator 2015-11-10 12:13:01 +01:00
V2Ray 2a6f4740c1 fuzzing test for vmess protocol 2015-11-10 00:05:25 +01:00
V2Ray d34678d9a6 fuzzing test for socks protocol 2015-11-09 23:52:31 +01:00
V2Ray e60fcba4b3 Test cases for Socks end 2 end. 2015-11-06 13:08:20 +01:00
V2Ray fdc72ed8c9 Move mocked userset to vmess/protocol/user 2015-11-04 23:04:00 +01:00
V2Ray 1d4b541d2f Move mock config to app/config 2015-11-04 23:01:04 +01:00
V2Ray 31fb65b3d8 Remove VMess UDP 2015-11-04 21:52:48 +01:00
V2Ray 8204c9923d typo 2015-11-04 17:57:11 +01:00
V2Ray 0d06561b7e More test case 2015-11-03 22:27:26 +01:00
V2Ray c144e77eb3 Refactor socks config 2015-11-03 22:23:50 +01:00
V2Ray 654cdf18d9 Refactor socks json config 2015-11-03 22:09:07 +01:00
V2Ray a46db069fb Refactor AES encryption/decryption 2015-11-03 21:26:16 +01:00
V2Ray 6faff6d514 test case for socks udp protocol 2015-11-03 18:33:58 +01:00
V2Ray d9ebd008d3 Check lenth of the udp packet before parsing 2015-11-03 18:20:28 +01:00
V2Ray f080f36372 format code 2015-11-03 00:07:19 +01:00
V2Ray 1edd0e660e Remove redunent code 2015-11-02 23:55:10 +01:00
V2Ray 8fbb9762db typo 2015-11-02 23:54:11 +01:00
V2Ray 1a4405dbe1 Remove redunent code 2015-11-02 23:52:22 +01:00
V2Ray f2cf4a1f89 Test case for too-short request 2015-11-02 23:48:47 +01:00
V2Ray 1c6b66eacf Test case for dokodemo 2015-11-01 22:17:49 +01:00
V2Ray 03b8c8f9e8 Port picker 2015-11-01 21:32:08 +01:00
V2Ray 192960b711 Move mocked connection handlers to proxy/testing/mocks 2015-11-01 21:15:08 +01:00
V2Ray 1c09b70931 format code 2015-10-31 14:08:13 +01:00
V2Ray 3765826602 Test case for config cache. 2015-10-31 14:08:09 +01:00
V2Ray 46c0d457d9 User settings for trusted user 2015-10-31 09:39:45 +01:00
V2Ray b44098d752 Introduce user level 2015-10-31 00:38:31 +01:00
V2Ray 2b45e63607 Move config cache to proxy/common 2015-10-30 22:42:24 +01:00
V2Ray c56e17fff9 Dokodemo proxy 2015-10-30 15:56:46 +01:00
V2Ray f93b29993b Move connection handler interfaces to proxy/common/connhandler 2015-10-30 00:11:29 +01:00
V2Ray 361a22d74d Move proxy errors to proxy/common/errors 2015-10-29 23:59:57 +01:00
V2Ray fdb41bbd50 Remove call to UTC() which is not necessary. 2015-10-29 12:04:14 +01:00
V2Ray 9b8632d01a BlackHole proxy 2015-10-28 17:41:14 +01:00
V2Ray 08328d23fa beginning of http proxy 2015-10-28 12:13:27 +01:00
V2Ray 294376edc0 Remove unused const 2015-10-25 21:44:08 +01:00
V2Ray 58dcfd5e84 Reduce timeout for reading VMess header 2015-10-21 23:10:03 +02:00
V2Ray f474fc32a7 Remove all []byte allocation 2015-10-21 22:38:53 +02:00
V2Ray 96c5d32d59 Remove []byte allocation in vmess 2015-10-21 22:28:26 +02:00
V2Ray 2c710d6b1c Protect from DoS attack 2015-10-21 21:53:55 +02:00
V2Ray a81327c5b9 Fix zero users bug 2015-10-16 14:15:28 +02:00
Claire Raymond 771d0225c7 Refactor vmess config 2015-10-16 10:03:22 +00:00
Claire Raymond f10f08c87d add retry on socks and vmess inbound 2015-10-15 11:42:43 +00:00
V2 Ray 9071b3ea10 more comments 2015-10-15 11:15:59 +00:00
V2Ray 4bc91b0215 Fix test 2015-10-14 14:56:11 +02:00
V2Ray 890d185979 Cleanup root directory 2015-10-14 14:51:19 +02:00
V2Ray 1b80a1a85a Handle multiple UDP packets in socks. 2015-10-14 09:56:04 +02:00
V2Ray 99671a173f Customize UDP server address 2015-10-14 00:04:49 +02:00
V2Ray 3c259b7069 Remove unused const 2015-10-13 23:55:54 +02:00
V2Ray 4ac3eab385 format code 2015-10-13 22:00:12 +02:00
V2Ray 8c5865d4e7 Lazy initialize of socks5 response 2015-10-13 22:00:03 +02:00
V2Ray 7cc8d90f26 test case for wrong auth method 2015-10-13 21:55:12 +02:00
V2Ray dc7d4a2309 Test case for wrong user account in socks5 2015-10-13 21:29:27 +02:00
V2Ray efb881d73c Remove log level detection during runtime 2015-10-13 18:27:29 +02:00
V2Ray 1d40220d31 Remove error defination 2015-10-13 13:55:06 +02:00
V2Ray 9e078d533d continue to work even if failed to accept connection 2015-10-11 22:46:56 +02:00
V2Ray bc6174d4b5 Continue to work even if failed to accept connection 2015-10-11 22:44:48 +02:00
V2Ray 37112f737e Log UDP access as well 2015-10-11 17:03:52 +02:00
V2Ray 95b44f2160 Clear buffer for UDP response. 2015-10-11 15:18:35 +02:00
V2Ray 5cee727308 Fix socks authentication 2015-10-10 22:31:25 +02:00
V2Ray d4f3fc0c0f More accurate hash generation 2015-10-10 21:43:40 +02:00
V2Ray ab151cc053 Don't generate duplicated hash 2015-10-10 21:29:26 +02:00
V2Ray 7f6878fbc3 Ray is never nil 2015-10-10 20:52:31 +02:00
V2Ray a77f62428a Use Buffer as a writer 2015-10-10 20:52:13 +02:00
V2Ray 32ab3dcd61 typo 2015-10-10 17:30:37 +02:00
V2Ray 578ede2538 release buffer after using 2015-10-10 17:01:05 +02:00
V2Ray bcffdf0da5 Simplify code 2015-10-10 16:54:15 +02:00
V2Ray 083b1d4736 Simplify code 2015-10-10 16:50:19 +02:00
V2Ray 213aa2ecf0 Socks supports multiple accounts 2015-10-10 15:51:35 +02:00
V2Ray 055c8f1833 Move goroutine one level above. 2015-10-10 01:25:12 +02:00
V2Ray 03de798a58 Update access log in vmess in 2015-10-09 17:49:59 +02:00
V2Ray fc80d5e279 Access log 2015-10-09 17:43:27 +02:00
V2Ray 936fd03c30 format code 2015-10-08 23:29:06 +02:00
V2Ray ebb4f5b7bd udp 2015-10-08 23:28:51 +02:00
V2Ray 746580d566 Use buffer in socks proxy 2015-10-08 23:06:12 +02:00
V2Ray 3cb1951dfc Use []byte in pool instead of buffer 2015-10-08 17:41:38 +02:00
V2Ray 9ee73c4f6b Maintain an internal buffer pool to accelerate allocation 2015-10-08 14:46:18 +02:00
V2Ray 71df5103cd Simplify code 2015-10-08 01:39:50 +02:00
V2Ray 3aca3492eb Increase buffer size in VMessIn 2015-10-08 01:30:43 +02:00
V2Ray e7daa4c21c Add size parameter to transport.ReadFrom 2015-10-07 21:17:11 +02:00
V2Ray 3ba9ee73b9 Increase reading timeout in favor of long connection 2015-10-07 15:24:34 +02:00
V2Ray d2e69ed6f8 Remove unnecessary slicing 2015-10-07 14:58:31 +02:00
V2Ray 3d1a6322bd Remove unnecessary copy in VMess protocol 2015-10-07 14:50:17 +02:00
V2Ray b126c5ce2a Simplify vmess response 2015-10-07 13:48:01 +02:00
V2Ray cd81e5531b reuse outbound connection handler 2015-10-07 00:30:44 +02:00
V2Ray 72b4eeba8b Simpilify configuration files 2015-10-06 23:11:08 +02:00
V2Ray 78daf8a879 format code 2015-10-06 17:24:57 +02:00
V2Ray 7a24dc3e09 Fix for domain address 2015-10-06 17:24:39 +02:00
V2Ray 85311a95dd More logs 2015-10-06 17:24:31 +02:00
V2Ray 8334d5177e Debug info 2015-10-06 16:44:19 +02:00
V2Ray bbf80541b1 Fix UDP address 2015-10-06 16:44:09 +02:00
V2Ray be59463fd0 Actually use UDP relay 2015-10-06 16:43:50 +02:00
V2Ray af8baa144d Update socks implementation 2015-10-06 11:57:26 +02:00
V2Ray fe6e139e74 Add warning for fragmented packets 2015-10-06 09:37:51 +02:00
V2Ray c61ddc7028 build break 2015-10-06 09:35:02 +02:00
V2Ray aa4d897a21 Leverage v2net functions 2015-10-06 09:33:46 +02:00
V2Ray 798011b140 Revert 2015-10-06 09:33:37 +02:00
V2Ray 28386b077b Fix UDP addr 2015-10-06 00:02:28 +02:00
V2Ray 4aba285a99 format code 2015-10-05 17:09:57 +02:00
V2Ray f7e165c114 compatibility 2015-10-05 17:09:44 +02:00
V2Ray 0be00a1c52 Fix socks test 2015-10-05 17:03:26 +02:00
V2Ray 0677013455 format code 2015-10-05 16:59:56 +02:00
V2Ray 38e64bf2ce typo 2015-10-05 16:59:46 +02:00
V2Ray 9b12ee2eb3 format code 2015-10-05 16:58:14 +02:00
V2Ray 8461cde710 Remove unnecessary debug info 2015-10-05 16:57:58 +02:00
V2Ray eb94f7a51c Fix Socks UDP implementation 2015-10-05 16:57:50 +02:00
V2Ray afb5448ffe test case for UDP in freedom 2015-10-04 20:22:52 +02:00
V2Ray 1d1708ea3c lazy init of socks5 response 2015-10-04 16:53:50 +02:00
V2Ray 557f411f85 Update freedom connection for UDP 2015-10-04 00:58:07 +02:00
V2Ray 59a6e1cef8 test case for socks udp 2015-10-04 00:44:27 +02:00
V2Ray 838cb8950a Enable UDP in Socks proxy 2015-10-04 00:21:06 +02:00
V2Ray ddad439614 Refactor socks request handling 2015-10-03 21:42:03 +02:00
V2Ray 5c4b149d48 UDP support 2015-10-03 11:34:01 +02:00
V2Ray cd42e5551c Remove VMess UDP 2015-10-02 21:55:37 +02:00
V2Ray 820da78f92 UDP handler in VMess in. 2015-10-02 16:08:01 +02:00
V2Ray 6f433f5206 Remove token field in VMess UDP 2015-10-02 15:41:09 +02:00
V2Ray 76563cb7c7 simplify udp handling 2015-10-02 15:32:26 +02:00
V2Ray 365baa0c6a Lazy initialization of UDP ports map 2015-09-30 21:31:05 +02:00
V2Ray c097e6a3c6 Print release date in version command 2015-09-29 11:52:34 +02:00
V2Ray 544b99b1a6 dispatch udp response 2015-09-28 21:32:07 +02:00
V2Ray 05b83508f8 Implementation of VMess UDP message 2015-09-28 17:13:50 +02:00
V2Ray ba3f6108b8 assign port token for a udp packet 2015-09-28 14:57:43 +02:00
V2Ray 8f0cb97e89 Refactor timed queue 2015-09-28 01:11:40 +02:00
V2Ray 9c45cb031a Remove magic number 2015-09-26 22:32:45 +02:00
V2Ray 13e595e4cb Move socks config into a sparate folder 2015-09-25 21:00:51 +02:00
V2Ray 3747e45978 test cases for socks4 2015-09-25 20:48:55 +02:00
V2Ray d77ba76ccf Update error handling in socks proxy 2015-09-25 17:59:45 +02:00
V2Ray 08f85fc9b7 Unify error checking by introducing error codes 2015-09-25 00:17:44 +02:00
V2Ray d77fdbd719 Explictly wait for server ready 2015-09-24 18:08:55 +02:00
V2Ray 02c3f144e2 test case for freedom connection 2015-09-24 18:01:02 +02:00
V2Ray fc14b9346c Remove keepalive settings 2015-09-24 15:10:02 +02:00
V2Ray 51c2a2b880 build break 2015-09-24 14:55:21 +02:00
V2Ray a78dbe7133 Close connection more aggressively. 2015-09-24 14:51:19 +02:00
V2Ray c138004bf9 First attempt to regulate errors. 2015-09-24 12:54:10 +02:00
V2Ray 6ecb18268e Use array instead of slice 2015-09-23 22:17:25 +02:00
V2Ray 8ce7ee1cda Initial version of TimedStringMap 2015-09-23 18:19:05 +02:00
V2Ray bb442b4f83 Fix usage of Mutex 2015-09-23 17:13:50 +02:00
V2Ray 3fbae6795a Switch to Mutex for better readability 2015-09-23 14:14:53 +02:00
V2Ray c59dcc309c Update VMess protocol to remove unnecessary data 2015-09-23 00:29:10 +02:00
V2Ray 019d8266bc Basic implementation of socks udp listener. 2015-09-22 23:50:05 +02:00
V2Ray 53eff7bb3e format code 2015-09-22 18:43:30 +02:00
V2Ray 3f0f8f005d still need this goroutine 2015-09-22 18:43:12 +02:00
V2Ray f30841019d simplify code 2015-09-22 18:31:06 +02:00
V2Ray ec83281d18 Parse config just once 2015-09-22 18:11:55 +02:00
V2Ray 787df1ab9b Reduce memory allocation in vmess. 2015-09-22 14:50:34 +02:00
V2Ray 4874cd54a4 Introduce Packet to unify TCP and UDP communication 2015-09-22 14:45:03 +02:00
V2Ray bd35793cf8 Don't random pick if there is only one vnext or user 2015-09-22 00:28:52 +02:00
V2Ray e57089637a udp packet format in socks5 2015-09-21 20:56:07 +02:00
V2Ray 26b6c06c9e format code 2015-09-21 19:57:30 +02:00
V2Ray 0ce10e1f88 More docs 2015-09-21 19:56:58 +02:00
V2Ray 79ffd818b2 Add network field in config file. 2015-09-21 17:52:58 +02:00
V2Ray e2bd6abb04 format code 2015-09-21 17:48:08 +02:00
V2Ray 3e2cd914b3 Prevent DoS attack 2015-09-21 17:37:06 +02:00
V2Ray a51d64a102 More information when vmess auth fails. 2015-09-21 17:28:48 +02:00
V2Ray 145d78b271 refactor code 2015-09-20 21:21:55 +02:00
V2Ray cb16047cf0 prefer interface over struct 2015-09-20 18:22:29 +02:00
V2Ray 823cbf1509 Split Address struct to save some bytes 2015-09-20 16:55:45 +02:00
V2Ray b319704282 Add network type to destination to be ready for UDP connection 2015-09-20 16:03:12 +02:00
V2Ray a887fd01b8 Move log into common 2015-09-20 00:50:21 +02:00
V2Ray b40be74b86 Fix test break 2015-09-20 00:11:14 +02:00
V2Ray 075753c030 Massive refactoring for better code structure 2015-09-19 23:54:36 +02:00