Skip to content

Commit 2d8ed22

Browse files
committed
mge
0 parents  commit 2d8ed22

File tree

222 files changed

+16718
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

222 files changed

+16718
-0
lines changed

.github/issue_template.md

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
在提出问题前请先自行排除服务器端问题,同时也请通过搜索确认是否有人提出过相同问题。
2+
3+
4+
### 预期行为
5+
描述你认为应该发生什么
6+
7+
### 实际行为
8+
描述实际发生了什么
9+
10+
### 复现方法
11+
1.
12+
2.
13+
3.
14+
15+
### 日志信息
16+
<details>
17+
通过 `adb logcat -s com.v2ray.ang GoLog V2rayConfigUtilGoLog Main` 获取日志。请自行删减日志中可能出现的敏感信息。
18+
19+
如果问题可重现,建议先执行`adb logcat -c`清空系统日志再执行上述命令,再操作重现问题。
20+
```
21+
在这里粘贴日志
22+
```
23+
</details>
24+
25+
### 环境信息
26+
27+
### 额外信息(可选)
28+

.gitignore

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
V2rayNG/app/src/main/res/layout/activity_inapp_buy.xml
2+
V2rayNG/app/src/main/assets/geoip.dat
3+
V2rayNG/app/src/main/assets/geosite.dat
4+
V2rayNG/app/src/main/java/com/v2ray/ang/InappBuyActivity.java
5+
V2rayNG/gradle/wrapper/gradle-wrapper.properties
6+
V2rayNG/gradle/wrapper/gradle-wrapper.properties
7+
*.dat
8+
*.jks
9+
V2rayNG/gradle/wrapper/gradle-wrapper.properties
10+
V2rayNG/gradle/wrapper/gradle-wrapper.properties
11+
V2rayNG/app/release/output.json

AndroidLibV2rayLite/.travis.yml

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
sudo: required
2+
language: go
3+
go:
4+
- "1.12"
5+
go_import_path: github.com/2dust/AndroidLibV2rayLite
6+
git:
7+
depth: 5
8+
addons:
9+
apt:
10+
update: true
11+
before_script:
12+
- sudo ntpdate -u time.google.com
13+
- date
14+
- make all
15+
- make downloadGoMobile
16+
script:
17+
- make BuildMobile
18+
after_success:
19+
deploy:
20+
provider: releases
21+
api_key: ${GH_TOKEN}
22+
file:
23+
- libv2ray.aar
24+
skip_cleanup: true
25+
on:
26+
tags: true

AndroidLibV2rayLite/CoreI/Status.go

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
package CoreI
2+
3+
import (
4+
v2core "v2ray.com/core"
5+
)
6+
7+
type Status struct {
8+
IsRunning bool
9+
PackageName string
10+
11+
Vpoint v2core.Server
12+
}
13+
14+
func CheckVersion() int {
15+
return 20
16+
}
17+
18+
func (v *Status) GetDataDir() string {
19+
return v.PackageName
20+
}
21+
22+
func (v *Status) GetApp(name string) string {
23+
return v.PackageName + name
24+
}
25+
26+
func (v *Status) GetTun2socksArgs(localDNS bool, enableIPv6 bool) (ret []string) {
27+
ret = []string{"--netif-ipaddr",
28+
"26.26.26.2",
29+
"--netif-netmask",
30+
"255.255.255.252",
31+
"--socks-server-addr",
32+
"127.0.0.1:10808",
33+
"--tunmtu",
34+
"1500",
35+
"--loglevel",
36+
"notice",
37+
"--enable-udprelay",
38+
"--sock-path",
39+
v.GetDataDir() + "sock_path",
40+
}
41+
42+
if enableIPv6 {
43+
ret = append(ret, "--netif-ip6addr", "da26:2626::2")
44+
}
45+
46+
if localDNS {
47+
ret = append(ret, "--dnsgw", "127.0.0.1:10807")
48+
}
49+
50+
return
51+
}
52+
53+
func (v *Status) GetVPNSetupArg(localDNS bool, enableIPv6 bool) (ret string) {
54+
ret = "m,1500 a,26.26.26.1,30 r,0.0.0.0,0"
55+
56+
if enableIPv6 {
57+
ret += " a,da26:2626::1,126 r,::,0"
58+
}
59+
if localDNS {
60+
ret += " d,26.26.26.2"
61+
}
62+
return
63+
}

AndroidLibV2rayLite/Makefile

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
pb:
2+
go get -u github.com/golang/protobuf/protoc-gen-go
3+
@echo "pb Start"
4+
asset:
5+
bash gen_assets.sh download
6+
mkdir assets
7+
cp -v data/*.dat assets/
8+
# cd assets;curl https://raw.githubusercontent.com/2dust/AndroidLibV2rayLite/master/data/geosite.dat > geosite.dat
9+
# cd assets;curl https://raw.githubusercontent.com/2dust/AndroidLibV2rayLite/master/data/geoip.dat > geoip.dat
10+
11+
shippedBinary:
12+
cd shippedBinarys; $(MAKE) shippedBinary
13+
14+
fetchDep:
15+
-go get github.com/2dust/AndroidLibV2rayLite
16+
go get github.com/2dust/AndroidLibV2rayLite
17+
18+
ANDROID_HOME=$(HOME)/android-sdk-linux
19+
export ANDROID_HOME
20+
PATH:=$(PATH):$(GOPATH)/bin
21+
export PATH
22+
downloadGoMobile:
23+
go get golang.org/x/mobile/cmd/...
24+
sudo apt-get install -qq libstdc++6:i386 lib32z1 expect
25+
cd ~ ;curl -L https://raw.githubusercontent.com/2dust/AndroidLibV2rayLite/master/ubuntu-cli-install-android-sdk.sh | sudo bash - > /dev/null
26+
ls ~
27+
ls ~/android-sdk-linux/
28+
gomobile init ;gomobile bind -v -tags json github.com/2dust/AndroidLibV2rayLite
29+
30+
BuildMobile:
31+
@echo Stub
32+
33+
all: asset pb shippedBinary fetchDep
34+
@echo DONE
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
package Escort
2+
3+
import (
4+
"os"
5+
"os/exec"
6+
"time"
7+
8+
"log"
9+
10+
"github.com/2dust/AndroidLibV2rayLite/CoreI"
11+
)
12+
13+
func (v *Escorting) EscortRun(proc string, pt []string, additionalEnv string, sendFd func() int) {
14+
log.Println(proc, pt)
15+
count := 0
16+
for count <= 42 {
17+
cmd := exec.Command(proc, pt...)
18+
cmd.Stdout = os.Stdout
19+
cmd.Stderr = os.Stderr
20+
21+
if len(additionalEnv) > 0 {
22+
//additionalEnv := "FOO=bar"
23+
newEnv := append(os.Environ(), additionalEnv)
24+
cmd.Env = newEnv
25+
}
26+
27+
if err := cmd.Start(); err != nil {
28+
log.Println("EscortRun cmd.Start err", err)
29+
goto CMDERROR
30+
}
31+
32+
if v.escortProcess == nil {
33+
log.Println("EscortRun v.escortProcess nil")
34+
break
35+
}
36+
37+
*v.escortProcess = append(*v.escortProcess, cmd.Process)
38+
log.Println("EscortRun Waiting....")
39+
40+
if count > 0 {
41+
go func() {
42+
time.Sleep(time.Second)
43+
sendFd()
44+
}()
45+
}
46+
47+
if err := cmd.Wait(); err != nil {
48+
log.Println("EscortRun cmd.Wait err:", err)
49+
}
50+
51+
CMDERROR:
52+
if v.Status.IsRunning {
53+
log.Println("EscortRun Unexpected Exit, Restart now.")
54+
count++
55+
} else {
56+
log.Println("EscortRun Exit")
57+
break
58+
}
59+
}
60+
}
61+
62+
func (v *Escorting) EscortingUp() {
63+
if v.escortProcess != nil {
64+
return
65+
}
66+
v.escortProcess = new([](*os.Process))
67+
}
68+
69+
func (v *Escorting) EscortingDown() {
70+
if v.escortProcess == nil {
71+
return
72+
}
73+
74+
log.Println("EscortingDown() Killing all escorted process ")
75+
for _, pr := range *v.escortProcess {
76+
pr.Kill()
77+
if _, err := pr.Wait(); err != nil {
78+
log.Println("EscortingDown pr.Wait err:", err)
79+
}
80+
}
81+
v.escortProcess = nil
82+
}
83+
84+
type Escorting struct {
85+
escortProcess *[](*os.Process)
86+
Status *CoreI.Status
87+
}

AndroidLibV2rayLite/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# AndroidLibV2rayLite

0 commit comments

Comments
 (0)