Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update #1

Open
wants to merge 55 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
cc0137b
Create CR.md
2dust Nov 14, 2017
6db1fef
support ws host
Nov 14, 2017
0aecc57
Merge remote-tracking branch 'origin/master'
Nov 14, 2017
e9c1cf0
Update CR.md
2dust Nov 22, 2017
23c05e2
Update CR.md
2dust Nov 22, 2017
c5dcad0
Update CR.md
2dust Nov 22, 2017
b7502b8
Update CR.md
2dust Nov 22, 2017
6653bf2
Update CR.md
2dust Nov 22, 2017
5e0f21b
Update CR.md
2dust Nov 22, 2017
490fccc
Update CR.md
2dust Nov 22, 2017
9bfb704
add quick setting
Nov 23, 2017
6f7518b
Update README.md
2dust Nov 23, 2017
70a3b88
Create LICENSE
2dust Nov 24, 2017
44a3c6f
Merge pull request #3 from 2dust/add-license-1
2dust Nov 24, 2017
131bed4
Update README.md
2dust Nov 27, 2017
ef9445a
bug fix
Nov 28, 2017
4930003
Create issue_template.md
gloomy-ghost Dec 1, 2017
c4115cd
regular update
Dec 7, 2017
c3b94d5
Merge pull request #27 from gloomy-ghost/issue_template
2dust Dec 19, 2017
4743d76
update
Dec 26, 2017
32fd729
add geo function
Jan 5, 2018
1ef7808
zh-TW
Apr 17, 2018
9300660
fix
Apr 17, 2018
b60d562
fix
Apr 17, 2018
4f609c0
Merge pull request #63 from LNDDYL/master
2dust Apr 20, 2018
d462052
issue
Apr 26, 2018
e0f47c5
support h2
May 2, 2018
a11cf9b
General update
Jun 7, 2018
f5e10ec
update
Jul 6, 2018
697dc45
update
Aug 6, 2018
0e76f66
update
Aug 27, 2018
6b5ca76
update
Sep 29, 2018
e701c28
:lipstick: change icon to v2ray
Nov 5, 2018
b1ffefc
Merge pull request #136 from rikakomoe/master
2dust Nov 5, 2018
a62abc2
update
Nov 8, 2018
c9a2891
add
Dec 10, 2018
8ea5d08
add2
Dec 10, 2018
4a83eb8
add3
Dec 10, 2018
64ef7f9
delete
Dec 11, 2018
3fce08e
tun2socks block
Dec 11, 2018
4d7a639
tun2socks
Dec 11, 2018
69fa817
restore dns
Dec 14, 2018
558a282
add local dns
Dec 19, 2018
78b577c
bug fix
Dec 21, 2018
f9f17d9
update ic
Dec 21, 2018
0434d67
update dns
Dec 24, 2018
3366474
remove local dns
Dec 26, 2018
67b5869
remove firebase
Dec 28, 2018
e3ccb62
dns
Jan 3, 2019
36ffd3c
add CDIR
Jan 9, 2019
461ce2a
add domain strategy
Jan 15, 2019
9a95e75
add ALWAYS-ON VPN support
boypt Feb 11, 2019
972e40e
Merge pull request #232 from boypt/alwayson
2dust Feb 11, 2019
71741bb
domain
Feb 12, 2019
451a41c
version up
Feb 12, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions .github/issue_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
在提出问题前请先自行排除服务器端问题,同时也请通过搜索确认是否有人提出过相同问题。


### 预期行为
描述你认为应该发生什么

### 实际行为
描述实际发生了什么

### 复现方法
1.
2.
3.

### 日志信息
<details>

通过 `adb logcat com.v2ray.ang` 获取日志。请自行删减日志中可能出现的敏感信息。
```
在这里粘贴日志
```
</details>

### 环境信息

### 额外信息(可选)

12 changes: 12 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
V2rayNG/app/src/main/res/layout/activity_inapp_buy.xml
V2rayNG/app/src/main/assets/geoip.dat
V2rayNG/app/src/main/assets/geosite.dat
V2rayNG/app/src/main/java/com/v2ray/ang/InappBuyActivity.java
V2rayNG/gradle/wrapper/gradle-wrapper.properties
V2rayNG/gradle/wrapper/gradle-wrapper.properties
*.aar
*.dat
*.jks
V2rayNG/gradle/wrapper/gradle-wrapper.properties
V2rayNG/gradle/wrapper/gradle-wrapper.properties
V2rayNG/app/release/output.json
29 changes: 29 additions & 0 deletions CR.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
v2rayNG 隐私条款

最后更新 2017-11-22

v2rayNG 尊重并保护所有用户的个人隐私权,为此我们向大众公开这份隐私条款。**您使用 v2rayNG 即代表您以阅读并同意了这份条款,如果您不同意这份条款请立即停止使用并卸载 v2rayNG。**

1. 信息收集

v2rayNG 软件自身不会发送任何信息到开发者,但是您下载软件的应用市场(如 Google Play)可能会收集关于应用运行状态的相关信息并提供给 v2rayNG 开发者。有关这些信息,请阅读您使用的应用市场所提供的隐私条款。

v2rayNG 软件中可能包含需要通过 IAP 支付解锁的功能,您的支付信息将由相关的 IAP 渠道进行处理,而我们对支付信息没有访问权。

当您向 v2rayNG 开发者反馈软件运行中的错误时,开发者可能会要求您提供软件以及系统的日志以帮助确认问题的原因。因日志中可能包括敏感信息,此类信息只能由您自己操作发送。**我们不对任何传输服务的安全性和隐私性做任何明示或暗示的担保,请您在传送相关信息时选择可以您自身可以接受的方式。**

2. 信息共享

我们不会向任何第三方出售收集到的用户数据。我们可能向外部开发者提供信息以协助软件的开发,但是在提供信息之前我们会传达相关保密义务并确定其可以遵守。

3. 信息存留

除非有相关法律规定,我们会在 30 天内清除不需要继续使用的用户数据,或将统计数据整合为无法识别单个用户的综合报告。

4. 信息泄露

我们会使用合理的技术和安全手段尽力保护用户的数据,但是无法保证数据的绝对安全。如果我们确认数据发生了泄露,我们会在 7 天内通过可用的渠道通知用户。**您同意不向我们追责任何因不可抗力而造成的损失。**

5. 条款修改

我们保留修改这份隐私条款的权利,但是会确保在更新条款前至少 30 天通过我们的可用渠道和应用内提示来通知用户。**在新条款生效后继续使用软件即表示您同意修改后的隐私条款。**
674 changes: 674 additions & 0 deletions LICENSE

Large diffs are not rendered by default.

17 changes: 16 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,16 @@
# v2rayNG
# v2rayNG

<a href="https://play.google.com/store/apps/details?id=com.v2ray.ang">
<img alt="Get it on Google Play" src="https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png" width="165" height="64" />
</a>

Project V core
https://github.com/v2ray/v2ray-core/releases

User manual
https://www.v2ray.com/

### Donate
If you like v2rayNG and want to support the developer
BTC: [1K69UnL44D5psuSgwrzFQCdjnRbvd5taE3](https://blockchain.info/address/1K69UnL44D5psuSgwrzFQCdjnRbvd5taE3 "1K69UnL44D5psuSgwrzFQCdjnRbvd5taE3")
Paypal: [paypal.me/CaptainIronNG](https://www.paypal.me/CaptainIronNG/18 "paypal.me/CaptainIronNG")
89 changes: 42 additions & 47 deletions V2rayNG/app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.google.gms.google-services'

android {
compileSdkVersion Integer.parseInt("$compileSdkVer")
buildToolsVersion "$buildToolsVer"
compileSdkVersion 27
buildToolsVersion '27.0.3'

defaultConfig {
applicationId "com.v2ray.ang"
minSdkVersion 17
targetSdkVersion Integer.parseInt("$targetSdkVer")
versionCode 35
versionName "0.1.6"
multiDexEnabled true
versionCode 161
versionName "0.6.11"
}

signingConfigs {
Expand All @@ -35,17 +35,14 @@ android {
minifyEnabled false
zipAlignEnabled false
shrinkResources false
signingConfig signingConfigs.debug
signingConfig signingConfigs.release
// proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debug {
buildConfigField "boolean", "LOG_DEBUG", "true"

versionNameSuffix "-debug"
minifyEnabled false
zipAlignEnabled false
shrinkResources false
signingConfig signingConfigs.debug
signingConfig signingConfigs.release
}
}

Expand Down Expand Up @@ -76,52 +73,50 @@ android {
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile project(':libv2ray')
compile project(':dpreference')
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"

implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
implementation project(':dpreference')
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"
// Android support library
compile "com.android.support:support-v4:$supportLibVersion"
compile "com.android.support:appcompat-v7:$supportLibVersion"
compile "com.android.support:design:$supportLibVersion"
compile "com.android.support:cardview-v7:$supportLibVersion"
compile "com.android.support:preference-v7:$supportLibVersion"

implementation "com.android.support:support-v4:$supportLibVersion"
implementation "com.android.support:appcompat-v7:$supportLibVersion"
implementation "com.android.support:design:$supportLibVersion"
implementation "com.android.support:cardview-v7:$supportLibVersion"
implementation "com.android.support:preference-v7:$supportLibVersion"
implementation "com.android.support:recyclerview-v7:$supportLibVersion"
// DSL
compile "org.jetbrains.anko:anko-sdk15:$ankoVersion"
compile "org.jetbrains.anko:anko-support-v4:$ankoVersion"
compile "org.jetbrains.anko:anko-appcompat-v7:$ankoVersion"
compile "org.jetbrains.anko:anko-design:$ankoVersion"

compile 'com.google.code.gson:gson:2.7'
compile 'com.github.pwittchen:reactivenetwork:0.10.0'
compile 'com.tbruyelle.rxpermissions:rxpermissions:0.7.0@aar'
compile 'de.psdev.licensesdialog:licensesdialog:1.8.1'
compile 'com.dinuscxj:recycleritemdecoration:1.0.0'
compile 'io.reactivex:rxkotlin:0.60.0'
compile 'com.orhanobut:logger:1.15'

// LeakCanary
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.4'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4'
testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4'

// Firebase
compile "com.google.firebase:firebase-core:$firebaseVersion"
compile "com.google.firebase:firebase-crash:$firebaseVersion"

compile 'me.dm7.barcodescanner:core:1.9.3'
compile 'me.dm7.barcodescanner:zxing:1.9.3'
implementation "org.jetbrains.anko:anko-sdk15:$ankoVersion"
implementation "org.jetbrains.anko:anko-support-v4:$ankoVersion"
implementation "org.jetbrains.anko:anko-appcompat-v7:$ankoVersion"
implementation "org.jetbrains.anko:anko-design:$ankoVersion"
implementation 'com.google.code.gson:gson:2.8.2'
implementation 'io.reactivex:rxjava:1.3.4'
implementation 'io.reactivex:rxandroid:1.2.1'
implementation 'com.tbruyelle.rxpermissions:rxpermissions:0.9.4@aar'
implementation 'com.dinuscxj:recycleritemdecoration:1.0.0'
implementation 'io.reactivex:rxkotlin:0.60.0'
implementation 'me.dm7.barcodescanner:core:1.9.8'
implementation 'me.dm7.barcodescanner:zxing:1.9.8'
implementation 'com.github.jorgecastilloprz:fabprogresscircle:1.01@aar'
implementation 'com.beust:klaxon:3.0.1'
implementation 'com.android.support:multidex:1.0.3'
implementation(name: 'libv2ray', ext: 'aar')
//implementation(name: 'tun2socks', ext: 'aar')
}

buildscript {
repositories {
google()
jcenter()
maven { url 'https://maven.google.com' }
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlinVersion"
}
}

repositories {
flatDir {
dirs 'libs'
}
}
82 changes: 72 additions & 10 deletions V2rayNG/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!--<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />-->
<!-- <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> -->
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="com.android.vending.BILLING" />

<!-- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> -->
<application
android:name=".AngApplication"
android:allowBackup="true"
Expand All @@ -16,43 +18,103 @@
android:theme="@style/AppTheme">
<activity
android:name=".ui.MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />

<category android:name="android.intent.category.DEFAULT" />

<data android:mimeType="text/plain" />
</intent-filter>
<intent-filter>
<action android:name="android.service.quicksettings.action.QS_TILE_PREFERENCES" />
</intent-filter>

<meta-data
android:name="android.app.shortcuts"
android:resource="@xml/shortcuts" />
</activity>
<activity
android:name=".ui.ServerActivity"
android:windowSoftInputMode="stateUnchanged" />
<activity
android:name=".ui.SettingsActivity"
android:label="@string/title_settings" />
android:name=".ui.Server2Activity"
android:windowSoftInputMode="stateUnchanged" />
<activity
android:name=".ui.PerAppProxyActivity"
android:label="@string/title_pref_per_app_proxy" />
android:name=".ui.Server3Activity"
android:windowSoftInputMode="stateUnchanged" />
<activity android:name=".ui.SettingsActivity" />
<activity android:name=".ui.PerAppProxyActivity" />
<activity android:name=".ui.ScannerActivity" />
<activity android:name=".InappBuyActivity" />
<activity android:name=".ui.LogcatActivity" />
<activity
android:name=".ui.RoutingSettingsActivity"
android:windowSoftInputMode="stateUnchanged" />
<activity android:name=".ui.SubSettingActivity" />

<activity android:name=".ui.SubEditActivity" />
<activity android:name=".ui.ScScannerActivity" />
<activity android:name=".ui.ScSwitchActivity" />

<service
android:name=".service.V2RayVpnService"
android:enabled="true"
android:exported="false"
android:label="@string/app_name"
android:permission="android.permission.BIND_VPN_SERVICE"
android:process=":RunSoLibV2RayDaemon" />
android:process=":RunSoLibV2RayDaemon">
<intent-filter>
<action android:name="android.net.VpnService" />
</intent-filter>
<meta-data
android:name="android.net.VpnService.SUPPORTS_ALWAYS_ON"
android:value="true" />
</service>

<!--<receiver android:name=".receiver.WidgetProvider">-->
<!--<meta-data-->
<!--android:name="android.appwidget.provider"-->
<!--android:resource="@xml/app_widget_provider" />-->

<!--<receiver android:name=".receiver.BootBroadcastReceiver">-->
<!--<intent-filter>-->
<!--<action android:name="android.intent.action.BOOT_COMPLETED" />-->
<!--<category android:name="android.intent.category.LAUNCHER" />-->
<!--<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />-->
<!--<action android:name="com.v2ray.ang.action.widget.click" />-->
<!--</intent-filter>-->
<!--</receiver>-->

<service
android:name=".service.QSTileService"
android:icon="@drawable/ic_v"
android:label="@string/app_tile_name"
android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
<intent-filter>
<action android:name="android.service.quicksettings.action.QS_TILE" />
</intent-filter>
</service>
<!-- =====================Tasker===================== -->
<activity
android:name=".ui.TaskerActivity"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name">
<intent-filter>
<action android:name="com.twofortyfouram.locale.intent.action.EDIT_SETTING" />
</intent-filter>
</activity>

<receiver android:name=".receiver.TaskerReceiver">
<intent-filter>
<action android:name="com.twofortyfouram.locale.intent.action.FIRE_SETTING" />
</intent-filter>
</receiver>
<!-- =====================Tasker===================== -->

</application>

</manifest>
Loading