内容简介:Proxy-Go 全平台 SDK是proxy使用gombile实现了一份go代码编译为android和ios平台下面可以直接调用的sdk类库, 另外还为linux和windows提供sdk支持,基于这些类库,APP开发者可以轻松的开发出各种形式的代理工具。 ...
Proxy-Go 全平台 SDK是proxy使用gombile实现了一份 go 代码编译为android和ios平台下面可以直接调用的sdk类库, 另外还为 linux 和windows提供sdk支持,基于这些类库,APP开发者可以轻松的开发出各种形式的代理工具。
此次更新:
修复了SPS多端口无效的bug.
增加了DNS代理功能,提供安全无污染的DNS解析.
下载地址:
Proxy SDK 使用说明
支持以下平台:
Android,.arr库
IOS,.framework库
Windows,.dll库
Linux,.so库
MacOS,.dylib库
proxy使用gombile实现了一份go代码编译为android和ios平台下面可以直接调用的sdk类库, 另外还为linux和windows提供sdk支持,基于这些类库,APP开发者可以轻松的开发出各种形式的代理工具。
下面分平台介绍SDK的用法
Android SDK
点击下载Android-SDK
在Android系统提供的sdk形式是一个后缀为.aar的类库文件,开发的时候只需要把arr类库文件引入android项目即可.
Android-SDK使用实例
1.导入包
import snail007.proxy.Porxy
2.启动一个服务
String serviceID="http01";//这里serviceID是自定义的唯一标识字符串,保证每个启动的服务不一样即可 String serviceArgs="http -p :8080"; String err=Proxy.start(serviceID,serviceArgs); if (!err.isEmpty()){ //启动失败 System.out.println("start fail,error:"+err); }else{ //启动成功 }
3.停止一个服务
String serviceID="http01"; Proxy.stop(serviceID); //停止完毕
IOS SDK
点击下载IOS-SDK
在IOS系统提供的sdk形式是一个后缀为.framework的类库文件夹,开发的时候只需要把类库文件引入项目,然后调用方法即可.
IOS-SDK使用实例
导入包
#import <Proxy/Proxy.objc.h>
2.启动一个服务
-(IBAction)doStart:(id)sender { //这里serviceID是自定义的唯一标识字符串,保证每个启动的服务不一样 NSString *serviceID = @"http01"; NSString *serviceArgs = @"http -p :8080"; NSString *error = ProxyStart(serviceID,serviceArgs); if (error != nil && error.length > 0) { NSLog(@"start error %@",error); }else{ NSLog(@"启动成功"); } }
3.停止一个服务
-(IBAction)doStop:(id)sender { NSString *serviceID = @"http01"; ProxyStop(serviceID); //停止完毕 }
Windows SDK
点击下载Windows-SDK
在Windows系统提供的sdk形式是一个后缀为.dll的类库文件,开发的时候只需要把dll类库文件加载,然后调用方法即可.
Windows-SDK使用实例
C++示例,不需要包含头文件,只需要加载proxy-sdk.dll即可,ieshims.dll需要和proxy-sdk.dll在一起。
作者:yjbdsky
#include <stdio.h> #include<stdlib.h> #include <string.h> #include<pthread.h> #include<Windows.h> #ifdef __cplusplus extern "C" { #endif typedef char *(*GOSTART)(char *s); typedef char *(*GOSTOP)(char *s); typedef int(*GOISRUN)(char *s); HMODULE GODLL = LoadLibrary("proxy-sdk.dll"); char * Start(char * p0,char * p1) { if (GODLL != NULL) { GOSTART gostart = *(GOSTART)(GetProcAddress(GODLL, "Start")); if (gostart != NULL){ printf("%s:%s\n",p0, p1); char *ret = gostart(p0,p1); return ret; } } return "Cannot Find dll"; } char * Stop(char * p) { if (GODLL != NULL) { GOSTOP gostop = *(GOSTOP)(GetProcAddress(GODLL, "Stop")); if (gostop != NULL){ printf("%s\n", p); char *ret = gostop(p); return ret; } } return "Cannot Find dll"; } int main() { //这里p0是自定义的唯一标识字符串,保证每个启动的服务不一样 char *p0 = "http01"; char *p1 = "http -t tcp -p :38080"; printf("This is demo application.\n"); //启动服务,返回空字符串说明启动成功;返回非空字符串说明启动失败,返回的字符串是错误原因 printf("start result %s\n", Start(p0,p1)); //停止服务,没有返回值 Stop(p0); return 0; } #ifdef __cplusplus } #endif
C++示例2,请移步:GoProxyForC
Linux SDK
点击下载Linux-SDK
在Linux系统提供的sdk形式是一个后缀为.so的类库文件,开发的时候只需要把so类库加载,调用方法即可.
Linux-SDK使用实例
Linux下面使用的sdk是so文件即libproxy-sdk.so,下面写一个简单的C程序示例,调用so库里面的方法.
vi test-proxy.c
#include <stdio.h> #include "libproxy-sdk.h" int main() { printf("This is demo application.\n"); //这里p0是自定义的唯一标识字符串,保证每个启动的服务不一样 char *p0 = "http01"; char *p1 = "http -t tcp -p :38080"; //启动服务,返回空字符串说明启动成功;返回非空字符串说明启动失败,返回的字符串是错误原因 printf("start result %s\n",Start(p0,p1)); //停止服务,没有返回值 Stop(p0); return 0; }
编译test-proxy.c
export LD_LIBRARY_PATH=./ && gcc -o test-proxy test.c libproxy-sdk.so
执行
./test-proxy
MacOS SDK
点击下载MacOS-SDK
在MacOS系统提供的sdk形式是一个后缀为.dylib的类库文件,开发的时候只需要把so类库加载,调用方法即可.
MacOS-SDK使用实例
MacOS下面使用的sdk是dylib文件即libproxy-sdk.dylib,下面写一个简单的Obj-C程序示例,调用dylib库里面的方法.
#import "libproxy-sdk.h" -(IBAction)doStart:(id)sender { char *result = Start("http01", "http -t tcp -p :38080"); if (result) { printf("started"); }else{ printf("not started"); } } -(IBAction)doStop:(id)sender { Stop("http01"); }
关于服务
proxy的服务有11种,分别是:
http socks sps tcp udp bridge server client tbridge tserver tclient
服务启动时,如果存在正在运行的相同ID的服务,那么之前的服务会被停掉,后面启动的服务覆盖之前的服务.
所以要保证每次启动服务的时候,第一个ID参数唯一.
上面这些服务的具体使用方式和具体参数,可以参考proxy手册
sdk里面的服务不支持手册里面的:--daemon和--forever参数.
【声明】文章转载自:开源中国社区 [http://www.oschina.net]
以上所述就是小编给大家介绍的《Proxy-Go 全平台 SDK v5.0 发布啦!新增安全DNS代理!》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Proxy-Go v4.2 新增 SNI 支持、反向代理和透明代理
- shadowtunnel v1.2 发布,新增 DNS 代理和负载均衡高可用
- shadowtunnel v1.2 发布,新增 DNS 代理和负载均衡高可用
- Proxy-Go v8.4 发布,API认证新增基于用户和IP限速限连接数,构建强大代理池代理网关!
- EDEN-MACE 1.5.1 更新,新增代理-会员关系图,一图读懂系统
- Proxy-Go v7.5 发布,国产专业代理,新增安卓客户端支持!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Inside the C++ Object Model
Stanley B. Lippman / Addison-Wesley Professional / 1996-5-13 / USD 64.99
Inside the C++ Object Model focuses on the underlying mechanisms that support object-oriented programming within C++: constructor semantics, temporary generation, support for encapsulation, inheritanc......一起来看看 《Inside the C++ Object Model》 这本书的介绍吧!