Loyalsoldier
c80a6df749
Chore: format code ( #842 )
2021-04-02 20:49:45 +08:00
Kslr
1b665d1d36
remove package path from logs ( #840 )
2021-04-02 20:44:33 +08:00
Shelikhoo
3476a0e1d1
Update bundled browserforwarder firmware
2021-04-02 12:24:39 +01:00
Shelikhoo
d55d5423fb
use shadowsocket's bloomring for shadowsocket's replay protection
2021-04-01 21:01:39 +01:00
Shelikhoo
e4681e8cd3
added shadowsockets iv check for tcp socket
2021-04-01 20:59:35 +01:00
loyalsoldier
090a659cab
Chore: fix lint
2021-03-28 09:33:00 +08:00
loyalsoldier
a0c817888b
Chore: format code
2021-03-28 08:44:04 +08:00
loyalsoldier
24948c6520
Merge branch 'master' into dev-wsimprovement
2021-03-28 08:40:05 +08:00
Loyalsoldier
ad09269791
Chore: refine errorgen ( #821 )
2021-03-24 15:18:07 +08:00
Shelikhoo
aac35a833d
added hash of browser forwarding asset to embedded hash
2021-03-20 22:05:04 +00:00
Shelikhoo
f63ee69fcf
added forwarder service
2021-03-20 21:59:30 +00:00
Shelikhoo
2d778239a3
added necessary infrastructure
2021-03-20 21:58:07 +00:00
Loyalsoldier
9e9173acb4
Chore: update protobuf & dependencies ( #793 )
...
* Chore: update protobuf
* Chore: regenerate mock files
* Chore: update dependencies
* Chore: use Go v1.16.2 and later
2021-03-18 12:17:26 +08:00
DarthVader
c71ae9b310
Fix: core panics when zero domain/full type of rule ( #786 )
2021-03-16 19:07:32 +08:00
DarthVader
ac1e5cd925
Add minimal perfect hash domain matcher ( #743 )
...
* rename to HybridDomainMatcher & convert domain to lowercase
* refactor code & add open hashing for rolling hash map
* fix lint errors
* update app/dns/dns.go
* convert domain to lowercase in `strmatcher.go`
* keep the original matcher behavior
* add mph domain matcher & conver domain names to loweercase when matching
* fix lint errors
* fix lint errors
2021-03-15 15:21:38 +08:00
Loyalsoldier
e46204f828
Chore: fix lint according to golangci-lint errors ( #781 )
...
* Chore: fix lint according to golangci-lint errors
* Chore: regenerate pb.go files
2021-03-14 07:44:47 +08:00
Loyalsoldier
88e1e25aa9
Chore: format import using goimports ( #780 )
2021-03-14 07:09:51 +08:00
Loyalsoldier
e03947e6b0
Chore: update protobuf & dependencies ( #748 )
2021-03-08 05:12:27 +08:00
Shelikhoo
867bbb429e
create session content in the context if do not exist yet
2021-03-06 14:33:20 +00:00
Shelikhoo
b585f2283a
fixing misbehaving code in mux that do not propagate context
2021-03-06 14:31:46 +00:00
Shelikhoo
7dabfb755e
merge vmess zero encryption support
2021-03-04 00:12:37 +00:00
Shelikhoo
0010783191
Merge chained proxy with transport support
2021-03-03 23:27:26 +00:00
DarthVader
a31a8e6f89
A memory-efficient and fast hybrid matcher ( #639 )
...
* a faster DomainMatcher implementation
* rename benchmark name
* fix linting errors
* add hybrid matcher
* add rabin-karp algorithm
* rename test & fix linting errors
* add more comment
* format code
* revert `MatcherGroup` match func
* fix linting errors
2021-03-04 05:39:51 +08:00
Loyalsoldier
49cf614346
Chore: update dependencies & protobuf ( #728 )
2021-03-03 17:31:53 +08:00
Shelikhoo
770a2bc1a3
Regenerate protobuf for Zero Security imaginary security level
2021-03-01 15:32:19 +00:00
Shelikhoo
833997df5a
Zero Security imaginary security level
2021-03-01 15:30:36 +00:00
Shelikhoo
616b0d122e
Fix for context with empty content
2021-02-28 20:42:32 +00:00
Shelikhoo
dd51d32250
Added Transport Layer Chained Proxy Support
2021-02-28 18:47:31 +00:00
Kid
d2a4e6bc47
Add /opt to assets location ( #715 )
2021-02-27 17:09:48 +08:00
Loyalsoldier
f94dd11a8c
Chore: change module name ( #677 )
2021-02-17 04:31:50 +08:00
Loyalsoldier
f98944c9e0
Chore: update protobuf ( #670 )
2021-02-11 14:57:20 +08:00
Xiaokang Wang
38da831b75
Feature: Fake DNS support ( #406 )
...
* Add fake dns
A new config object "fake" in DnsObject for toggling fake dns function
Compare with sniffing, fake dns is not limited to http and tls traffic.
It works across all inbounds. For example, when dns request come
from one inbound, the local DNS server of v2ray will response with a
unique fake IP for every unique domain name. Then later on v2ray
received a request to one of the fake IP from any inbounds, it will
override the request destination with the previously saved domain.
By default, v2ray cache up to 65535 addresses. The old records will
be discarded bases on LRU. The fake IP will be 240.x.x.x
* fix an edge case when encounter a fake IP in use
* Move lru to common.cache package
* Added the necessary change to obtain request IP from sniffer
* Refactor the code so that it may stop depending on global variables in the future.
* Replace string manipulation code with more generic codes, hopefully this will work for both IPv4 and IPv6 networks.
* Try to use IPv4 version of address if possible
* Added Test Case for Fake Dns
* Added More Test Case for Fake Dns
* Stop user from creating a instance with LRU size more than subnet size, it will create a infinite loop
* Move Fake DNS to a separate package
* Generated Code for fakedns
* Encapsulate Fake DNS as a Instance wide service
* Added Support for metadata sniffer, which will be used for Fake DNS
* Dependency injection for fake dns
* Fake DNS As a Sniffer
* Remove stub object
* Remove global variable
* Update generated protobuf file for metadata only sniffing
* Apply Fake DNS config to session
* Loading for fake dns settings
* Bug fix
* Include fake dns in all
* Fix FakeDns Lint Condition
* Fix sniffer config
* Fix lint message
* Fix dependency resolution
* Fix fake dns not loaded as sniffer
* reduce ttl for fake dns
* Apply Coding Style
* Apply Coding Style
* Apply Coding Style
* Apply Coding Style
* Apply Coding Style
* Fix crashed when no fake dns
* Apply Coding Style
* Fix Fake DNS do not apply to UDP socket
* Fixed a bug prevent FakeDNS App Setting from become effective
* Fixed a caveat prevent FakeDNS App Setting from become effective
* Use log comparison to reduce in issue when it comes to really high value typical for ipv6 subnet
* Add build tag for fakedns
* Removal of FakeDNS specific logic at DNS client: making it a standard dns client
* Regenerate auto generated file
* Amended version of configure file
* Bug fixes for fakeDNS
* Bug fixes for fakeDNS
* Fix test: remove reference to removed attribute
* Test: fix codacy issue
* Conf: Remove old field support
* Test: fix codacy issue
* Change test scale for TestFakeDnsHolderCreateMappingAndRollOver
* Test: fix codacy issue
Co-authored-by: yuhan6665 <1588741+yuhan6665@users.noreply.github.com>
Co-authored-by: loyalsoldier <10487845+Loyalsoldier@users.noreply.github.com>
Co-authored-by: kslr <kslrwang@gmail.com>
2021-02-08 18:18:52 +08:00
database64128
484d740800
🔙 Revert "Add traffic stat of every request in access log ( #642 )" ( #644 )
...
This reverts commit af0120e771
.
2021-01-30 20:32:34 +08:00
刘志龙
af0120e771
Add traffic stat of every request in access log ( #642 )
...
* Add traffic stat of every request in access log
* Fix: record pointer may be null
* Clarify the data unit in access log
2021-01-30 01:47:13 +08:00
DarthVader
de618121ad
Refactor: A faster DomainMatcher implementation ( #587 )
...
* a faster DomainMatcher implementation
* rename benchmark name
* fix linting errors
2021-01-20 15:53:07 +08:00
Kslr
795a3f632d
Test: fix race issue ( #598 )
...
other "race" problems are only in the test, and so I deleted the detection
2021-01-11 20:50:58 +08:00
V2Fly Team
66e203f156
DNS: refine skipRoutePick ( #558 )
2020-12-30 18:35:19 +08:00
database64128
3c988693b5
🕳 Prevent trailing whitespaces in logs ( #526 )
2020-12-17 05:03:26 +08:00
Loyalsoldier
8cb2db5321
Fix: security issues & overflow potentiality ( #465 )
2020-11-28 21:56:20 +08:00
Loyalsoldier
b68f943c78
Fix lint according to golangci-lint ( #439 )
2020-11-22 05:05:01 +08:00
Chinsyo
32e0e6e484
Some minor fix ( #430 )
...
* fix typo pading to padding
* reorder common/buf/buffer.go code layout
* delete unused common/stack
Co-authored-by: Chinsyo <chinsyo@sina.cn>
2020-11-18 04:23:30 +08:00
Chinsyo
dc78733196
Refactor common/antireplay, unexport unnecessary public fields. ( #422 )
...
* rename AuthIDDecoderHolder private fields
* ignore unused return value more clear
* change PoolSwap to private fields
* refactor Unlock to defer
* use const capacity, reorder code layout
* replace mismatch field name poolX with type Filter
* change AntiReplayTime to private fileds, protect to modify
* rename lastSwapTime to lastSwap
* merge duplicate time.Now.
Since the current unit is in seconds, there is no need to repeat the call
* refine negate expression
* rename antiReplayTime to interval
* add docs
* fix lint stutter issue, rename antireplay.AntiReplayWindow to antireplay.ReplayFilter
* rename fileds m,n to poolA,poolB
* rename antireplay.go to replayfilter.go
* fix build issue
Co-authored-by: Chinsyo <chinsyo@sina.cn>
2020-11-17 21:05:26 +08:00
RPRX
7cc8b75006
Reorder dice_test.go
2020-11-14 05:06:07 +00:00
Chinsyo
bdf715afa9
rand.Intn(65536) -> rand.Int63() >> 47 ( #417 )
...
* Optimize rand.Intn(65536) to rand.Int31() >> 15, with ~20% performance improvement.
* Optimize rand.Intn(65536) to rand.rand.Int63() >> 47
* Remove rand.Seed call duplicate with original source code
Co-authored-by: Chinsyo <chinsyo@sina.cn>
2020-11-14 05:00:25 +00:00
lucifer
770b994337
Refine unix domain socket ( #367 )
2020-10-29 07:30:38 +00:00
loyalsoldier
784775f689
Refine code according to golangci-lint results
2020-10-11 19:22:46 +08:00
Loyalsoldier
bb44d01096
Format proto files using clang-format according to google style ( #264 )
...
* Format proto files using clang-format according to google style
* Regenerate pb.go files
2020-10-05 08:36:40 +08:00
loyalsoldier
b181045b0c
Errorgen: support to run outside of GOPATH
2020-10-04 13:06:12 +08:00
loyalsoldier
0650af46f4
Refine errorgen
2020-10-04 13:06:11 +08:00
loyalsoldier
4130b54579
Support to read go.mod recursively to get module path
2020-10-04 12:47:22 +08:00
loyalsoldier
4ba4cad7ae
Refine func GetModuleName
2020-10-04 09:55:21 +08:00
Vigilans
5a497890e6
Routing Context: Fix GetUser() & Use string for Attributes Value
2020-09-13 00:34:35 +08:00
Vigilans
f9d37b724c
Extract session information during routing as routing context
2020-09-04 11:32:19 +08:00
loyalsoldier
323ef03f02
Minor fixes
2020-09-01 08:46:55 +08:00
Vigilans
47c997d75e
Fix github.com/v2fly/v2ray-core/issues/146
2020-08-31 12:21:56 +08:00
loyalsoldier
f12f76582f
Fix according to staticcheck result
...
staticcheck repo: https://github.com/dominikh/go-tools/tree/master/cmd/staticcheck
2020-08-30 23:41:15 +08:00
loyalsoldier
a2a064a54d
protoc: do NOT rely on GOBIN & GOPATH
...
Add public functions
2020-08-27 23:18:05 +08:00
loyalsoldier
f9175e3bc8
Fix according to go vet results
2020-08-26 19:35:33 +08:00
Isaac
588b40ffad
Fix a typo
...
Fix a typo in bytes.go
2020-08-25 17:55:53 +08:00
Loyalsoldier
ef460f68f8
Adjust Protocol Buffers ( #109 )
...
* Update protoc binary executable files to v3.13.0
* Write proto files in more standard way
* Make go generate & vprotogen compatible with protoc-gen-gofast
* Regenerate pb.go files according to new proto files
* Clean go.sum by running go mod tidy
* Implement mustEmbedUnimplementedServiceServer for gPRC services
2020-08-24 12:10:26 +00:00
Kslr
dabefc6338
Merge pull request #98 from Vigilans/vigilans/dns-server-matcher-info
...
Refactor & Log rules matching of built-in DNS's domain matcher
2020-08-18 01:01:06 +08:00
vcptr
bc008113b6
add asset location search
2020-08-17 18:56:01 +08:00
Vigilans
dfeaef75e7
Refactor DNS Server to record original rule of domain matchers
2020-08-16 22:18:12 +08:00
Vigilans
1ab9e58dce
Supply test for domain matcher group
2020-08-15 21:28:34 +08:00
Vigilans
1e222425b6
Amend domain matcher with returning values of all matched subdomains
2020-08-13 15:26:30 +08:00
Vigilans
c74a33f827
Amending domain matcher with returning array of all matches
2020-08-11 13:31:04 +08:00
RPRX
e425876afe
Fix totalSize
2020-08-04 03:50:22 +00:00
Vigilans
30e312f72b
Apply sockopt from inbound config to dokodemo tproxy's response connection
2020-08-01 02:04:06 +08:00
DuckSoft
1525712214
some typo fixes
...
note: there are other typos in external/ folder.
considering the fact that the folder "will be removed in future", I skipped those typos.
2020-07-17 18:09:24 +08:00
Roger Shimizu
90af5f19ba
Apply Debian's patch to upstream
2020-06-24 12:57:03 +08:00
Shelikhoo
09b81b78c3
regenerate pb data
2020-06-08 16:16:32 +08:00
Shelikhoo
9bf07b1f26
VMess AEAD Experiment
2020-06-06 17:11:30 +08:00
Shelikhoo
5e59534333
Fix when rolled number is zero
2020-06-02 17:30:48 +08:00
Shelikhoo
d671780804
Drain Connection Based on Uuid based Behavior seed
2020-06-02 14:47:54 +08:00
Shelikhoo
e0aa18b6f3
Drain Connection with invalid checksum before closing. Emergency fix for weakness described in https://github.com/v2ray/v2ray-core/issues/2523
2020-06-01 16:40:54 +08:00
Araragi Hokuto
2a96605138
Fix build failure on illumos
...
Previously v2ray can not be built on illumos due to following reasons:
1. missing build tags in transport/internet/sockopt_other.go
2. many definitions in syscall does not exist on illumos
This commit addresses these problems by adding missing build tags, and
updates those missing syscall deps on illumos to use x/sys/unix.
2020-05-31 12:37:24 +08:00
mzz
49b63cbd79
code quality review
2020-03-24 22:26:03 +08:00
mzz2017
9e84ce38dd
feat: support more types of certificates
2020-03-24 22:26:03 +08:00
vcptr
0d71d3dcf8
revert back to multiconfig
2020-03-19 19:11:16 +08:00
vcptr
04a0c04934
doh route strategy optimized
2020-03-12 00:42:29 +08:00
Kslr
fdbec9a141
Revert "multiple config"
2020-01-02 01:23:56 +08:00
Kslr
e6f226c64d
Revert "add arg -confdir"
2020-01-02 01:14:36 +08:00
vcptr
8ccc142e7e
add comment to please codacy
2019-12-31 14:23:01 +08:00
vcptr
78b95d4bc2
fix: default env empty
2019-12-31 13:39:17 +08:00
vcptr
e50afd6e44
trim err msg
2019-12-31 13:29:25 +08:00
vcptr
5ae47d45c2
multiconf with -confdir arg
2019-12-31 11:45:19 +08:00
vcptr
a36631357c
add comments to new added code
2019-12-24 01:06:01 +08:00
vcptr
1bb34bfe17
abstract type for conf load func
2019-12-14 23:48:56 +08:00
vcptr
1e76123a4c
main loads multiple
2019-12-14 23:48:56 +08:00
vcptr
904db6bd61
mconfig subcommand ready
2019-12-14 23:48:56 +08:00
vcptr
47660bfee2
fix win test error; dont use ReadV on file
2019-11-27 11:24:40 +08:00
vcptr
c060f9f11f
fix test read buf
2019-11-27 09:12:02 +08:00
vcptr
afd805c7ba
fix session key unexported
2019-11-26 13:30:44 +08:00
vcptr
6ef77246ab
add DOH dns client
2019-11-25 15:41:36 +08:00
vcptr
905ac82bb1
more test to common/buf
2019-11-22 17:40:24 +08:00
ghost
8da0a53845
properly propagate Reader errors
2019-11-22 10:11:23 +08:00
ghost
f7abe353df
fix ReadBuffer()
2019-11-03 17:37:44 +08:00
fcying
1cc7702c51
check detour tag size
2019-10-27 23:14:08 +08:00
fcying
fa926a1d1d
access log add detour tag
2019-10-27 14:24:50 +08:00
Felix Yan
b94e3ced7a
Correct a typo in port.go
2019-10-09 06:06:47 +08:00
Kslr
2451eedbc4
Merge pull request #1767 from Gondnat/addEmailIntoAccessLog
...
Add email into access log for shadowsocks and vmess
2019-07-13 22:50:35 +08:00
Gondnat
dd048bfb29
add email into access log for shadowsocks, vmess and mux
2019-07-02 10:43:34 +08:00
Kirill Motkov
0401a91ef4
Some code improvements
...
* Rewrite empty string checks more idiomatically.
* Change strings.ToLower comparisons to strings.EqualFold.
* Rewrite switch statement with only one case as if.
2019-06-28 17:53:44 +03:00
Kslr
be27720c74
fix codestyle
2019-05-18 15:13:49 +08:00
Kslr
c6f3ab48ee
fixed ReadV issue for windows
...
sync 847b289798
2019-05-18 15:09:58 +08:00
Darien Raymond
9efa8941ec
support attributes in session.Content
2019-02-28 14:39:50 +01:00
Darien Raymond
888494aac8
support attributes in session.Content
2019-02-28 11:45:06 +01:00
Darien Raymond
95583b5031
support range list in routing rule
2019-02-24 23:43:00 +01:00
Darien Raymond
4d23411d80
comments
2019-02-23 00:29:09 +01:00
Darien Raymond
3828a463ea
move sniffing request to session
2019-02-23 00:27:21 +01:00
Darien Raymond
95ed5a5ff8
comments
2019-02-23 00:01:23 +01:00
Darien Raymond
7e5e080488
move sniffing result to session
2019-02-22 16:58:16 +01:00
Darien Raymond
6178d7281c
completely remove usage of go:nosplit
2019-02-22 12:54:26 +01:00
Darien Raymond
8d09d74224
release buffer in error case
2019-02-20 22:55:57 +01:00
Darien Raymond
4eb2b5e607
merge ext into core
2019-02-10 19:04:11 +01:00
Darien Raymond
d84166ba35
remove unused testing package
2019-02-10 16:27:08 +01:00
Darien Raymond
5e6d0f7c71
fix test break
2019-02-10 15:26:43 +01:00
Darien Raymond
98950d5ada
remove dep of assert lib
2019-02-10 15:02:28 +01:00
Darien Raymond
a84897b4b6
simplify ReadBuffer
2019-02-10 10:53:16 +01:00
Darien Raymond
b0a015c7cc
comments
2019-02-10 10:53:06 +01:00
Darien Raymond
932e09a388
remove dep of assert lib
2019-02-09 15:46:48 +01:00
Darien Raymond
b234cfb4c4
unify NewPacketReader
2019-02-07 19:14:37 +01:00
Darien Raymond
836440c61a
dns outbound proxy
2019-02-06 10:21:04 +01:00
Darien Raymond
66a60dbfa3
remove dep on assert lib
2019-02-03 19:46:53 +01:00
Darien Raymond
bdd71a44b4
remove dep on assert lib
2019-02-02 22:19:30 +01:00
Darien Raymond
1ab94fed79
optimize v2ctl size
2019-02-01 20:08:21 +01:00
Darien Raymond
c9958681f7
remove dependency on assert lib
2019-01-31 20:57:01 +01:00
Darien Raymond
9a7177c82c
test case for IPv6 any ip
2019-01-19 10:59:37 +01:00
Darien Raymond
8e131bcd1f
remove dependency on assert lib
2019-01-18 15:59:39 +01:00
Darien Raymond
5c37439dbb
fix broken test
2019-01-08 23:41:34 +01:00
Darien Raymond
163776b182
remove dependency on assert lib
2019-01-08 23:27:02 +01:00
Darien Raymond
edd71de1c3
remove dependency on assert lib
2019-01-07 23:27:59 +01:00
Darien Raymond
5f53530cc1
fix broken test
2019-01-07 11:37:06 +01:00
Darien Raymond
d26700a2fe
remove common/compare package
2019-01-07 00:12:04 +01:00
Darien Raymond
4e77570f36
fix connection reading in UDP
2019-01-06 00:34:38 +01:00
Darien Raymond
21f8bfe476
move udp packet to protocol
2019-01-05 19:49:21 +01:00
Darien Raymond
ce91e92435
fix #1496
2019-01-04 00:24:28 +01:00
Darien Raymond
d20f87da4b
comments
2019-01-01 20:16:04 +01:00
Darien Raymond
3de8389361
rename CloseError() to Interrupt()
2018-12-31 21:25:10 +01:00
Darien Raymond
1c830472b9
dns protocol package
2018-12-29 09:03:32 +01:00
Darien Raymond
c72d853454
return correct error
2018-12-27 19:59:49 +01:00
Darien Raymond
d670629651
more test case for tls sniffing
2018-12-27 19:41:23 +01:00
Darien Raymond
88e757e33f
merge duplicated code
2018-12-27 17:00:34 +01:00
Darien Raymond
fc92b6295a
compact buffers
2018-12-27 16:36:48 +01:00
Darien Raymond
372da062d4
fix build break
2018-12-10 23:34:54 +01:00
Victoria Raymond
ce412aec65
Merge branch 'master' into fix-sniff-http-ipv6
2018-12-10 23:09:55 +01:00
Darien Raymond
7e37d141e2
move parseHost to http protocol
2018-12-10 23:08:16 +01:00
comwrg
e52b387483
fix sniff http ipv6 address
2018-12-10 20:37:17 +08:00
Darien Raymond
b9450d8475
Revert "use default logger for android and ios"
...
This reverts commit 9743380e2d
.
2018-12-06 17:03:15 +01:00
Darien Raymond
9743380e2d
use default logger for android and ios
2018-12-06 14:40:45 +01:00