Giter Site home page Giter Site logo

actinium's Introduction

GitHub version platform

Actinium

How to Use

Get it on Google Play
  1. Get it on Google Play or download precompiled apk in release
  2. Install it on Android.
  3. Click button "Add Config" in the option menu, and choose the config file or share the config file to Actinium if you have, or it will use default config.
  4. Click the FloatingActionButton, and accept the request of permission to VPN.
  5. Enjoy internet with freedom.

Build

  1. git clone https://github.com/V2Ray-Android/Actinium.git
  2. Open in Android Studio or Intellij IDEA.

Module "libv2ray" is build from AndroidLibV2ray

Donate

If you like Actinium and want to support the developer of this repo, consider buying me a cup of coffee.
BTC: 191Ky8kA4BemiG3RfPiJjStEUqFcQ4DdAB
Donators

actinium's People

Contributors

haruue avatar liberal-boy avatar xiaokangwang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

actinium's Issues

Actinium不支持kcp连接了?

更新Actinium到最新版本,发现有mkcp配置的配置文件都无法导入,显示file is invalid,但是使用tcp的可以成功导入并正常工作。ac现在不支持kcp了?之前使用0.3.3时还可以使用kcp

config文件导入问题

将.json文件放到手机里,不能直接导入Actinium(只能看到视频和图片文件啊),配置扩展名改为.txt也不行,但是使用WPS打开后,可以使用add config选项中的WPS选项导入。

miui Android7.0闪退附报告

如题
报告如下


Build fingerprint: 'xiaomi/mido/mido:7.0/NRD90M/7.7.27:user/release-keys'
Revision: '0'
ABI: 'arm64'
pid: 19644, tid: 19671, name: Thread-3 >>> com.v2ray.actinium:RunSoLibV2RayDaemon <<<
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
Abort message: 'Unknown reference: 42'
x0 0000000000000000 x1 0000000000004cd7 x2 0000000000000006 x3 0000000000000008
x4 0000000000000000 x5 0000000000000000 x6 0000007f8c76d000 x7 0000000000000000
x8 0000000000000083 x9 ffffffffffffffdf x10 0000000000000000 x11 0000000000000001
x12 ffffffffffffffff x13 0000000000000000 x14 0000000000000000 x15 0027d0cc4c79caf3
x16 0000007f8b6b2ed8 x17 0000007f8b6604d0 x18 00000000ebad6082 x19 0000007f6c6354f8
x20 0000000000000006 x21 0000007f6c635450 x22 0000000000000000 x23 0000007f7dac2000
x24 0000007f6c6354d0 x25 00000000000fd000 x26 0000007f6cfc7880 x27 0000000000000190
x28 00000044204501a0 x29 0000007f6c6351a0 x30 0000007f8b65d960
sp 0000007f6c635180 pc 0000007f8b6604d8 pstate 0000000060000000

backtrace:
#00 pc 000000000006b4d8 /system/lib64/libc.so (tgkill+8)
#1 pc 000000000006895c /system/lib64/libc.so (pthread_kill+64)
#2 pc 0000000000023ea8 /system/lib64/libc.so (raise+24)
#3 pc 000000000001c92c /system/lib64/libc.so (abort+52)
#4 pc 0000000000518e9c /data/app/com.v2ray.actinium-1/lib/arm64/libgojni.so (go_seq_from_refnum+144)

配置Blackhole 为什么不起作用

请教一下,我想实现V2Ray广告拦截的效果,但是好像没什么用,配置如下:
"outboundDetour": [
{
"protocol": "freedom",
"settings": {},
"tag": "direct"
},
{
"protocol": "blackhole",
"settings": {
"response": {
"type": "http"
}
},
"tag": "adblock"
}
],
"routing": {
"strategy": "rules",
"settings": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{
"type": "field",
"domain": [
"baidu.com",
"google.com"
],
"outboundTag": "adblock"
},
{
"type": "field",
"ip": [
"0.0.0.0/8",
"10.0.0.0/8",
"100.64.0.0/10",
"127.0.0.0/8",
"169.254.0.0/16",
"172.16.0.0/12",
"192.0.0.0/24",
"192.0.2.0/24",
"192.168.0.0/16",
"198.18.0.0/15",
"198.51.100.0/24",
"203.0.113.0/24",
"::1/128",
"fc00::/7",
"fe80::/10"
],
"outboundTag": "direct"
}
]
}
},

使用KCP协议的配置文件,到Actinium 上转换后无法使用

我在windows (v2ray v2.20.2)上可用的使用KCP协议的配置文件,到Actinium 0.6.1上转换后无法使用。具体表现为无法点击连接按钮/按钮图标点击后无变化/下拉菜单显示v2RAY正在运行但没有建立VPN链接,也无法访问任何网络。之前使用tcp简单配置的配置文件的时候可以使用。
下面是对照Actinium默认配置文件修改后的配置文件,也无法连接成功。请问这是什么原因呢?


{
  "port": 10808, 
  "log": {
    "loglevel": "warning"
  },
  "inbound": {
    "protocol": "socks",
    "listen": "127.0.0.1",
    "settings": {
      "auth": "noauth",
      "udp": true
    }
  },
  "inboundDetour": [],
  "outbound": {
    "protocol": "vmess",
    "settings": {
      "vnext": [
        {
          "address": "myhost",
          "port": myport,
          "users": [
            {
              "id": "myid",
              "alterId": 100
            }
          ]
        }
      ]
    },
   "streamSettings": {
      "network": "kcp",
      "security": "none",
      "tlsSettings": {
        "allowInsecure": true
      },
      "kcpSettings": {
        "mtu": 1350,
        "readBufferSize": 3,
        "uplinkCapacity": 2,
        "downlinkCapacity": 8,
        "congestion": false,
        "tti": 20,
        "writeBufferSize": 3,
        "header": {
          "type": "wechat-video"
        }
      }
  },
  "outboundDetour": [
    {
      "protocol": "freedom",
      "settings": {},
      "tag": "direct"
    }
  ],
  "dns": {
    "servers": [
      "8.8.8.8",
      "8.8.4.4",
      "localhost"
    ]
  },
  "routing": {
    "strategy": "rules",
    "settings": {
      "domainStrategy": "IPIfNonMatch",
      "rules": [
        {
          "type": "field",
          "port": "1-52",
          "outboundTag": "direct"
        },
        {
          "type": "field",
          "port": "54-79",
          "outboundTag": "direct"
        },
        {
          "type": "field",
          "port": "81-442",
          "outboundTag": "direct"
        },
        {
          "type": "field",
          "port": "444-65535",
          "outboundTag": "direct"
        },
        {
          "type": "chinasites",
          "outboundTag": "direct"
        },
        {
          "type": "field",
          "domain": [
            "*.5ivdo.com"
          ],
          "ip": [
            "0.0.0.0/8",
            "10.0.0.0/8",
            "100.64.0.0/10",
            "127.0.0.0/8",
            "169.254.0.0/16",
            "172.16.0.0/12",
            "192.0.0.0/24",
            "192.0.2.0/24",
            "192.168.0.0/16",
            "198.18.0.0/15",
            "198.51.100.0/24",
            "203.0.113.0/24",
            "::1/128",
            "fc00::/7",
            "fe80::/10"
          ],
          "outboundTag": "direct"
        },
        {
          "type": "chinaip",
          "outboundTag": "direct"
        }
      ]
    }
  },
  "transport": {},
  "#lib2ray": {
    "enabled": true,
    "listener": {
      "onUp": "#none",
      "onDown": "#none"
    },
    "env": [
      "V2RaySocksPort=10808"
    ],
    "render": [],
    "escort": [],
    "vpnservice": {
      "Target": "${datadir}tun2socks",
      "Args": [
        "--netif-ipaddr",
        "26.26.26.2",
        "--netif-netmask",
        "255.255.255.0",
        "--socks-server-addr",
        "127.0.0.1:$V2RaySocksPort",
        "--tunfd",
        "3",
        "--tunmtu",
        "1500",
        "--sock-path",
        "/dev/null",
        "--loglevel",
        "4",
        "--enable-udprelay"
      ],
      "VPNSetupArg": "m,1500 a,26.26.26.1,24 r,0.0.0.0,0"
    }
  }
}

期待加入远程dns

如题,ssr能够实现,但是android上actinium怎么都没弄成功,电脑上倒是可以socks5 远程dns

[建议]客户端加上绕过国内域名和IP

没有中转VPS,浏览器打开淘宝强制转到全球淘宝很不方便,只能同时安装两个浏览器一个走代理一个不走代理,望改进,之前SSR这方便做的很好,或者有哪位大佬能够赐教一下,感谢

[BUG] vpn 被动关闭后引出的

版本:0.3.1
手机:Android 6.0.1
问题:先放图
photo_2016-08-28_22-35-12
当 actinium 运行时,在ss启用,再关闭,然后在 actinium 点 fab 会无法开启 vpn,接着就出现如#2的情况
另外,这个bug似乎是随机出现的,每当我特意测试时就不会重现,然而这个现象已经出现多次,确定与没有关闭vpn就开ss有关

[v0.7.1] 连接非常不稳定

基本信息:

Key Value
Actinium 版本 v0.7.1
系统版本 Android 6.0.1 (API 23)
架构 arm64-v8a
通信协议 vMess

问题描述:

对比 v0.7.0 版,使用 v0.7.1 版后出现如下问题:
看ytb视频时候,以大约 200KiB/s 的速度下载了5秒左右,然后就不再下载了,视频播放器也因此提示正在缓冲。过了有二三十秒后又是 以大约 200KiB/s 的速度下载5秒左右,然后又不下载了。之后都是一直这样的循环。

鉴于同样的配置文件能在 v0.7.0 上正常工作,就暂时不贴配置文件内容了。
附上v2ray的log,绝大部分log内容都是重复的,可以浓缩为下面这4行不重复的:

2017/02/09 08:15:10 [Warning]V2Ray started.
2017/02/09 08:15:26 [Error]KCP|Dialer: Failed to dial to dest: file file+net Socket: fcntl: too many open files
2017/02/09 08:15:26 [Error]KCP|Dialer: Failed to dial to dest: too many open files
2017/02/09 08:15:27 [Warning]VMess|Outbound: Failed to find an available destination:All retry attempts failed.

另外提个意见:麻烦在GitHub上也把编译好的apk发布出来,要不然像这样出了问题 我还得手动编译出旧版的apk。

伺服器端和客户端出現太多連接,請問是正常嗎?

伺服器端和客户端出现太多连接,请问是正常吗?

伺服器是windows v2ray v2.33

Actinium客户端已更新到2017.07.20

另一个v2ray客户端v2rayNG 2017.07.25 v0.1.4

测试(一)

1.客户端:先用Actinium连接
2.客户端:开Chrome到 m.ctrip.com/html5/ 网页
3.伺服器: netstat -n 检视连接 储存到 a1.txt
4.客户端:Chrome 更新网页
5.伺服器: netstat -n 检视连接 储存到 a2.txt

测试(二)

1.客户端:先用v2rayNG连接
2.客户端:开Chrome到 m.ctrip.com/html5/ 网页
3.伺服器: netstat -n 检视连接 储存到 v1.txt
4.客户端:Chrome 更新网页
5.伺服器: netstat -n 检视连接 储存到 v2.txt

**比对 Actinium a1.txt 和 a2.txt **

分别不太大

**比对 v2rayNG v1.txt 和 v2.txt **

分别不太大

**比对 Actinium(a1.txt, a2.txt) v2ray(v1.txt, v2.txt) **

好明显的分别

如果浏览多2-3个网页,actinium的连接还会更多,请问是正常吗?

=====[ a1.txt ]===

TCP 192.168.188.6:995 203.145.94.77:2927 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:9608 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:13015 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:25448 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26955 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26956 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26957 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26958 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26959 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26960 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26961 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26962 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26963 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26964 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26965 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26966 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26967 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26968 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26969 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26970 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26971 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26972 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26973 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26974 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26975 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26976 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26977 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26978 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26979 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26980 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26981 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26982 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26983 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26984 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26985 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26986 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26987 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26988 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26989 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26990 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26991 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26992 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26993 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26994 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26995 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26996 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26997 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26998 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:26999 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27000 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27001 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27002 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27003 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27004 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27005 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27006 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27007 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27008 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27009 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27010 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27011 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27012 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27013 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27014 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27015 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27016 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27017 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27018 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27019 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27020 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27021 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27022 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27023 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27024 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27025 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27026 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27027 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27028 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27029 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27030 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27748 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:28183 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:34996 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:36932 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:44256 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:51410 ESTABLISHED

=====[ a2.txt ]===

TCP 192.168.188.6:995 203.145.94.77:27003 TIME_WAIT
TCP 192.168.188.6:995 203.145.94.77:27004 TIME_WAIT
TCP 192.168.188.6:995 203.145.94.77:27005 TIME_WAIT
TCP 192.168.188.6:995 203.145.94.77:27006 TIME_WAIT
TCP 192.168.188.6:995 203.145.94.77:27007 TIME_WAIT
TCP 192.168.188.6:995 203.145.94.77:27008 TIME_WAIT
TCP 192.168.188.6:995 203.145.94.77:27009 TIME_WAIT
TCP 192.168.188.6:995 203.145.94.77:27010 TIME_WAIT
TCP 192.168.188.6:995 203.145.94.77:27011 TIME_WAIT
TCP 192.168.188.6:995 203.145.94.77:27012 TIME_WAIT
TCP 192.168.188.6:995 203.145.94.77:27013 TIME_WAIT
TCP 192.168.188.6:995 203.145.94.77:27023 TIME_WAIT
TCP 192.168.188.6:995 203.145.94.77:27025 TIME_WAIT
TCP 192.168.188.6:995 203.145.94.77:27027 TIME_WAIT
TCP 192.168.188.6:995 203.145.94.77:27029 TIME_WAIT
TCP 192.168.188.6:995 203.145.94.77:27031 TIME_WAIT
TCP 192.168.188.6:995 203.145.94.77:27032 CLOSE_WAIT
TCP 192.168.188.6:995 203.145.94.77:27033 CLOSE_WAIT
TCP 192.168.188.6:995 203.145.94.77:27034 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27035 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27036 CLOSE_WAIT
TCP 192.168.188.6:995 203.145.94.77:27037 CLOSE_WAIT
TCP 192.168.188.6:995 203.145.94.77:27038 CLOSE_WAIT
TCP 192.168.188.6:995 203.145.94.77:27039 CLOSE_WAIT
TCP 192.168.188.6:995 203.145.94.77:27040 CLOSE_WAIT
TCP 192.168.188.6:995 203.145.94.77:27041 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27042 CLOSE_WAIT
TCP 192.168.188.6:995 203.145.94.77:27043 CLOSE_WAIT
TCP 192.168.188.6:995 203.145.94.77:27044 CLOSE_WAIT
TCP 192.168.188.6:995 203.145.94.77:27045 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27046 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27047 CLOSE_WAIT
TCP 192.168.188.6:995 203.145.94.77:27048 CLOSE_WAIT
TCP 192.168.188.6:995 203.145.94.77:27050 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27051 CLOSE_WAIT
TCP 192.168.188.6:995 203.145.94.77:27052 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27053 CLOSE_WAIT
TCP 192.168.188.6:995 203.145.94.77:27054 CLOSE_WAIT
TCP 192.168.188.6:995 203.145.94.77:27055 CLOSE_WAIT
TCP 192.168.188.6:995 203.145.94.77:27056 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27057 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27058 CLOSE_WAIT
TCP 192.168.188.6:995 203.145.94.77:27059 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27060 CLOSE_WAIT
TCP 192.168.188.6:995 203.145.94.77:27061 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27062 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27063 CLOSE_WAIT
TCP 192.168.188.6:995 203.145.94.77:27064 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27065 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27066 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27067 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27068 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27069 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27070 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27071 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27072 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27073 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27074 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27075 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27076 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27077 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27078 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27079 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27080 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27081 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27082 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27083 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27084 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27085 TIME_WAIT
TCP 192.168.188.6:995 203.145.94.77:27086 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27087 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27088 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27089 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27090 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27091 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27092 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27093 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27094 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27095 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27096 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27097 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27098 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27099 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27100 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27101 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27102 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27103 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27104 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27105 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27106 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27107 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27108 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27109 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27110 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27111 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27112 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27113 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27114 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27115 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27116 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27117 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27118 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:27119 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:36932 TIME_WAIT

=====[ v1.txt ]===

TCP 192.168.188.6:995 203.145.94.77:7160 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:7573 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:9022 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:12400 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:23364 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:34991 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:42943 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:52456 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:52677 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:56102 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:56701 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:57357 ESTABLISHED

=====[ v2.txt ]===

TCP 192.168.188.6:995 203.145.94.77:7160 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:12400 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:23364 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:34991 TIME_WAIT
TCP 192.168.188.6:995 203.145.94.77:42943 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:52456 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:52677 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:56102 ESTABLISHED
TCP 192.168.188.6:995 203.145.94.77:56701 CLOSE_WAIT
TCP 192.168.188.6:995 203.145.94.77:57357 TIME_WAIT

=====[ 伺服器 config.json ]===

{
"log": {
"access": "C:/Program Files/v2ray/log/access.log",
"error": "C:/Program Files/v2ray/log/error.log",
"loglevel": "debug"
},
"inbound": {
"port": 995,
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "",
"level": 1,
"alterId": 64
}
]
},
"streamSettings": {
"network": "ws",
"wsSettings": {
"path": "/"
}
}
},
"outbound": {
"protocol": "freedom",
"settings": {}
},
"outboundDetour": [
{
"protocol": "blackhole",
"settings": {},
"tag": "blocked"
}
]
}

=====[ 客户 config.json ]===

{
"port": 1080,
"log": {
"access": ""
},
"inbound": {
"protocol": "socks",
"settings": {
"auth": "noauth",
"udp": false,
"ip": "127.0.0.1"
}
},
"outbound": {
"protocol": "vmess",
"settings": {
"vnext": [
{
"address": "",
"port": 995,
"users": [
{
"id": "",
"security": "aes-128-gcm",
"alterId": 64
}
]
}
]
},
"streamSettings": {
"network": "ws",
"security": "none",
"wsSettings": {
"path": "/"
}
}
},
"outboundDetor": [
{
"protocol": "freedom",
"settings": {},
"mux": {
"enabled": true
},
"tag": "direct"
}
],
"routing": {
"strategy": "rules",
"settings": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{
"type": "field",
"ip": [
"0.0.0.0/8",
"10.0.0.0/8",
"100.64.0.0/10",
"127.0.0.0/8",
"169.254.0.0/16",
"172.16.0.0/12",
"192.0.0.0/24",
"192.0.2.0/24",
"192.168.0.0/16",
"198.18.0.0/15",
"198.51.100.0/24",
"203.0.113.0/24",
"::1/128",
"fc00::/7",
"fe80::/10"
],
"outboundTag": "direct"
}
]
}
}
}

Actinium 耗电测试报告

经过长时间地使用 Actinium,感觉似乎会比较耗电。为了验证心中的想法是否正确,我做了个并不严格的测试。
测试机情况:

  • 手机系统:Android 6.0.1
  • 手机卡:
    • SIM1:**移动 4G
    • SIM2:**联通 2G
  • Actinium 版本:0.5.2

测试的一些问题:

  • 由于环境因素的限制,无法确保每次测试的初始电量、测试时间、信号强度等变量一致,但后台运行的软件基本相同
  • 因为没有测试手机的相关经验,所以暂时只能测试手机灭屏时的耗电情况
  • 由于个人原因,无法引入 Shadowsock / Shadowsock-rss / V2RayGo 做为对比

关于以上问题,如有必要,我将会做出改进的测试

测试说明:

  • 第一天、第二天,均开启Actinium,第三天关闭 Actinium
  • 三天均开启**移动 TLE 网络
  • 截图的红色直线为个人添加,以便于分析结果

以下截图是三天的测试结果:
第一天
g1

第二天
g2

第三天
g3

结果:

  • 第一天
    • 时间:约 8.5 h
    • 信号情况: 大部分时间强度中
    • 唤醒:长时间、频繁唤醒
    • 电量
      • 初始电量:66%
      • 最终电量:15%
      • 耗电量:50%
  • 第二天
    • 时间:约 7.5 h
    • 信号情况: 大部分时间强度优
    • 唤醒:长时间、频繁唤醒
    • 电量
      • 初始电量:83%
      • 最终电量:48%
      • 耗电量:35%
  • 第三天
    • 时间:约 7.5 h
    • 信号情况: 基本为良
    • 唤醒:基本不唤醒
    • 电量
      • 初始电量:74%
      • 最终电量:70%
      • 耗电量:4%

分析:

  • 由第一天与第二天的对比可知,信号强度高造成耗电量大
  • 第二天的信号情况优于第三天,但耗电量远高第三天,可以说明 actinium 造成了较大的耗电量

[注]:个人猜测耗电问题可能是由于LibV2Ray引起的,因为没有V2RayGo进行测试无法确定。暂时粗糙地测试了 Actinium,初步证明 Actinium 确实会有耗电量大的问题。由于个人原因无法进行更加合理、科学、详细的测试。如果需要更加详细、合理的测试信息,我可以进一步进行测试。

请问怎么配置shadowsocks的地址?

用的ss-link的服务器,怎么在json进行设置。
"outbound": {
"protocol": "shadowsocks",
"settings": {
"servers": [
{
"address": "ip",
"method": "aes-256-cfb",
"ota": true,
"password": "pwd",
"port": 19062
}
]
}
我这样设置了但是不行,翻不出去!
请指教。

不支持 HTTP 伪装吗?

大概看了一下Actinium/app/src/main/kotlin/com/v2ray/actinium/util/ConfigUtil.kt,
发现目前只支持了 kcp 类型的 streamSettings

网络切换后经常无法连接,需要断开重连

现在两部安卓手机都从SS切换到Actinium有两三个星期了,基本上都能稳定使用,除了这个问题。

网络切换指的是比如从3G/4G流量切换到WIFI,差不多一半的时间会出现无法连接的情况。只有开启Actinium界面,断开连接后重新再连接才能恢复。这个过程中还经常出现程序crash,即打开主界面后,点断开连接,再点连接,此时程序异常退出。但系统VPN连接图标显示还连接着。再次打开程序主界面也显示已经连接。此时再次断开再连接就不会出现异常退出。

ac切换网络断流问题

你好,每次我wifi切换4G的时候ac就用不了了,手机非要重启才行,请问这是什么原因?

征集应用图标

Actinium 目前的图标是项目开始时随意做的,感觉略丑,在此征集一个新图标。

要求:

  1. 符合 Android Design
  2. 含义简洁易懂

如果你有任何设计方案或设计思路,欢迎回复。

不可以监听0.0.0.0

配置文件监听IP为0.0.0.0,但是导入之后就转换成了127.0.0.1。
希望可以监听0.0.0.0来将Proxy共享出来给一些Console用。
有什么方法可以解决吗

关于直连列表

能不能不直连列表改成需要翻墙的列表,毕竟直连软件多,不好选择。

配置文件转换错误

最新测试版里Actinium会把
"V2RaySocksPort=10808"
这句里的"="转义成"\u003d"

另外,即使使用默认文件也无法访问百度,怀疑是VPN这块出的问题。

[Suggestion] Scenario base

hi, team
Just a useful suggestion
Adding scenario based policy, identity by SSID or cellular
Scenario 1, Home, no need
Scenario 2, Company, no need
Scenario 3, Outdoor, proxy mode

有没有兴趣合作

现在我们公司希望通过VPN技术方式在手机端实现应用代理,但是同时需要根据APP应用标识分发到不同的代理服务器上,本来想利用V2的路由功能来简单实现分发,但是由于目前的开源版本不支持,能否合作来实现这个需求。
基本需求:
手机端有几个应用,需要通过VPN实现代理,但是之前的SS只能实现一点代理,无法将根据应用或者手机号码进行定制化的代理到不同的代理服务器,然后再访问真实的应用服务器。

kcp connection won't stream videos

I am using v2rayN on Windows (works nomally) and the config file I imported to Actinium contains the following lines:

"inbound": { "port": 1081, "listen": "127.0.0.1", "protocol": "socks", "settings": { "auth": "noauth", "udp": true, "ip": "127.0.0.1", "clients": null }, "streamSettings": null }, "outbound": { "tag": "agentout", "protocol": "vmess", "settings": { "vnext": [ { "address": "****", "port": ****, "users": [ { "id": "my-id", "alterId": 64, "security": "aes-128-gcm" } ] } ] }, "streamSettings": { "network": "kcp", "security": "", "tcpSettings": null, "kcpSettings": { "mtu": 1350, "tti": 50, "uplinkCapacity": 12, "downlinkCapacity": 100, "congestion": false, "readBufferSize": 2, "writeBufferSize": 2, "header": { "type": "none", "request": null, "response": null } }, "wsSettings": null }, "mux": { "enabled": true } }, "inboundDetour": null, "outboundDetour": [ { "protocol": "freedom", "settings": { "response": null }, "tag": "direct" }, { "protocol": "blackhole", "settings": { "response": { "type": "http" } }, "tag": "blockout" } ],

I can connect to my server and browse webpages normally, however I have problem streaming videos.

Android version: PureNuxus 7.1.2

Actinium 并没有按照配置文件描述直连打开 www.google.com

PC 原版用配置文件可以直连打开 www.google.com,访问 www.google.com 搜索 my ip,显示本地IP。

Actinium 并没有按照配置文件描述直连打开 www.google.com
Actinium 使用同样的配置文件,访问 www.google.com 搜索 my ip ,显示依然是通过代理IP。
"outbound"写的是 proxy
"outboundDetour"写的是 direct

如果
"outbound"写的是 direct
"outboundDetour"写的是 proxy
则Actinium无法连接 www.google.com

而 PC 端是一切都正常可用的。

配置文件如下:
第一部分:

	{
		"tag": "direct",
		"protocol": "freedom",
		"settings": {
			"domainStrategy": "UseIP",
			"timeout": 0
		}
	},

第二部分:

	"routing": {
		"strategy": "rules",
		"settings": {
			"domainStrategy": "IPIfNonMatch",
			"rules": [
			{
				"type": "field",
				"ip": ["8.8.8.8",
				"8.8.4.4",
				"208.67.222.222",
				"208.67.220.220"],
				"outboundTag": "proxy"
			},
			{
				"type": "field",
				"domain": ["baidu.com",
				"google.cn",
				"google.com",
				"www.google.com",
				"www.google.co.jp",
				"client4.google.com",
				"alt3-mtalk.google.com",
				"id.google.com",
				"apis.google.com",
				"android.googleapis.com",
				"www.googleadservices.com",
				"lh4.googleusercontent.com",
				"lh6.googleusercontent.com",
				"lh5.googleusercontent.com",
				"client1.google.com",
				"connectivitycheck.gstatic.com",
				"mtalk.google.com",
				"android.clients.google.com",
				"www.googleapis.com",
				"personalsafety-pa.googleapis.com",
				"lh3.googleusercontent.com",
				"android.googleapis.com",
				"alt5-mtalk.google.com",
				"www.gstatic.com",
				"alt4-mtalk.google.com",
				"fonts.gstatic.com",
				"ssl.gstatic.com",
				"clients5.google.com",
				"ogs.google.com",
				"notifications.google.com",
				"play.google.com",
				"translate.google.com"],
				"outboundTag": "direct"
			},

后边省略

	"dns": {
		"hosts": {
			"google.cn": "x.x.x.x",
			"www.google.cn": "x.x.x.x",
			"www.google.com": "x.x.x.x",
			"www.google.co.jp": "x.x.x.x",
			"www.google.com.hk": "x.x.x.x",
			"clients4.google.com": "x.x.x.x",
			"alt3-mtalk.google.com": "x.x.x.x",
			"id.google.com": "x.x.x.x",
			"apis.google.com": "x.x.x.x",
			"android.googleapis.com": "x.x.x.x",
			"lh4.googleusercontent.com": "x.x.x.x",
			"lh6.googleusercontent.com": "x.x.x.x",
			"lh5.googleusercontent.com": "x.x.x.x",
			"connectivitycheck.gstatic.com": "x.x.x.x",
			"mtalk.google.com": "x.x.x.x",
			"android.clients.google.com": "x.x.x.x",
			"www.googleapis.com": "x.x.x.x",
			"personalsafety-pa.googleapis.com": "x.x.x.x",
			"lh3.googleusercontent.com": "x.x.x.x",
			"android.googleapis.com": "x.x.x.x",
			"alt5-mtalk.google.com": "x.x.x.x",
			"www.gstatic.com": "x.x.x.x",
			"alt4-mtalk.google.com": "x.x.x.x",
			"fonts.gstatic.com": "x.x.x.x",
			"ssl.gstatic.com": "x.x.x.x",
			"clients5.google.com": "x.x.x.x",
			"ogs.google.com": "x.x.x.x",
			"notifications.google.com": "x.x.x.x",
			"play.google.com": "x.x.x.x",
			"end000000000.com": "127.0.0.1"
		},
		"servers": ["8.8.8.8",
		"8.8.4.4",
		"208.67.222.222",
		"208.67.220.220"]
	},

为了让安卓端 google maps 道路图与卫星图都显示为偏移坐标系,必须要某些域名直连。
v2ray/v2ray-core#554

具体是哪个域名直连 卫星图才会显示偏移坐标系,需要一个一个尝试,安卓端先要可以 www.google.com 直连。

Android 6.0版本闪退

先贴出logcat

07-13 00:22:47.167  2354  2621 W OpenGLRenderer: Incorrectly called buildLayer on View: ShortcutAndWidgetContainer, destroying layer...
07-13 00:22:47.217  1341  1428 W WindowAnimator: Failed to dispatch window animation state change.
07-13 00:22:47.217  1341  1428 W WindowAnimator: android.os.DeadObjectException
07-13 00:22:47.217  1341  1428 W WindowAnimator: 	at android.os.BinderProxy.transactNative(Native Method)
07-13 00:22:47.217  1341  1428 W WindowAnimator: 	at android.os.BinderProxy.transact(Binder.java:503)
07-13 00:22:47.217  1341  1428 W WindowAnimator: 	at android.view.IWindow$Stub$Proxy.onAnimationStopped(IWindow.java:550)
07-13 00:22:47.217  1341  1428 W WindowAnimator: 	at com.android.server.wm.WindowAnimator.updateWindowsLocked(WindowAnimator.java:317)
07-13 00:22:47.217  1341  1428 W WindowAnimator: 	at com.android.server.wm.WindowAnimator.animateLocked(WindowAnimator.java:750)
07-13 00:22:47.217  1341  1428 W WindowAnimator: 	at com.android.server.wm.WindowAnimator$1.doFrame(WindowAnimator.java:136)
07-13 00:22:47.217  1341  1428 W WindowAnimator: 	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:890)
07-13 00:22:47.217  1341  1428 W WindowAnimator: 	at android.view.Choreographer.doCallbacks(Choreographer.java:704)
07-13 00:22:47.217  1341  1428 W WindowAnimator: 	at android.view.Choreographer.doFrame(Choreographer.java:637)
07-13 00:22:47.217  1341  1428 W WindowAnimator: 	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:878)
07-13 00:22:47.217  1341  1428 W WindowAnimator: 	at android.os.Handler.handleCallback(Handler.java:739)
07-13 00:22:47.217  1341  1428 W WindowAnimator: 	at android.os.Handler.dispatchMessage(Handler.java:95)
07-13 00:22:47.217  1341  1428 W WindowAnimator: 	at android.os.Looper.loop(Looper.java:148)
07-13 00:22:47.217  1341  1428 W WindowAnimator: 	at android.os.HandlerThread.run(HandlerThread.java:61)
07-13 00:22:47.217  1341  1428 W WindowAnimator: 	at com.android.server.ServiceThread.run(ServiceThread.java:46)

复现环境:

机器是Vivo,操作系统是6.0.1

复现步骤:

  1. 正确配置服务器信息(config.json)
  2. 软件中加载配置
  3. 点击右下角的图标,启动代理

实际结果:
提示Actinium已停止运行

备注:
还抓取到一次logcat

07-13 00:27:40.977 10251 10251 E AndroidRuntime: FATAL EXCEPTION: main
07-13 00:27:40.977 10251 10251 E AndroidRuntime: Process: com.v2ray.actinium, PID: 10251
07-13 00:27:40.977 10251 10251 E AndroidRuntime: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
07-13 00:27:40.977 10251 10251 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:737)
07-13 00:27:40.977 10251 10251 E AndroidRuntime: Caused by: java.lang.reflect.InvocationTargetException
07-13 00:27:40.977 10251 10251 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
07-13 00:27:40.977 10251 10251 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:853)
07-13 00:27:40.977 10251 10251 E AndroidRuntime: 	... 1 more
07-13 00:27:40.977 10251 10251 E AndroidRuntime: Caused by: android.os.DeadObjectException
07-13 00:27:40.977 10251 10251 E AndroidRuntime: 	at android.os.BinderProxy.transactNative(Native Method)
07-13 00:27:40.977 10251 10251 E AndroidRuntime: 	at android.os.BinderProxy.transact(Binder.java:503)
07-13 00:27:40.977 10251 10251 E AndroidRuntime: 	at com.v2ray.actinium.a.a$a$a.b(Unknown Source)
07-13 00:27:40.977 10251 10251 E AndroidRuntime: 	at com.v2ray.actinium.ui.MainActivity$c.onServiceDisconnected(Unknown Source)
07-13 00:27:40.977 10251 10251 E AndroidRuntime: 	at android.app.LoadedApk$ServiceDispatcher.doDeath(LoadedApk.java:1238)
07-13 00:27:40.977 10251 10251 E AndroidRuntime: 	at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1252)
07-13 00:27:40.977 10251 10251 E AndroidRuntime: 	at android.os.Handler.handleCallback(Handler.java:739)
07-13 00:27:40.977 10251 10251 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:95)
07-13 00:27:40.977 10251 10251 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:148)
07-13 00:27:40.977 10251 10251 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:5628)
07-13 00:27:40.977 10251 10251 E AndroidRuntime: 	... 3 more
07-13 00:27:40.977  1341  1363 I ActivityManager: handleApplicationCrash callcom.v2ray.actinium

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.