Skip to content

Commit

Permalink
增加password使用方法
Browse files Browse the repository at this point in the history
  • Loading branch information
dosgo committed Oct 27, 2016
1 parent 0277337 commit d8286f1
Show file tree
Hide file tree
Showing 7 changed files with 28 additions and 26 deletions.
Binary file modified bin/Debug/ngrokc.exe
Binary file not shown.
7 changes: 4 additions & 3 deletions main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,12 @@

using namespace std;
//string VER = "1.35-(2016/5/13)";
char VER[24]= "1.39-(2016/7/26)";
char VER[24]= "1.40-(2016/10/27)";

char s_name[255]="ngrokd.ngrok.com";
int s_port= 443;
char authtoken[255]="";
char password[255]={0};//
string ClientId = "";
int pingtime = 0;
int ping = 25; //不能大于30
Expand Down Expand Up @@ -113,7 +114,7 @@ int CheckStatus()
{
if(lasterrtime==0||(lasterrtime+60)<get_curr_unixtime()){
//连接失败
if(ConnectMain(&mainsock,server_addr,&mainsslinfo,&ClientId,&socklist,authtoken)==-1)
if(ConnectMain(&mainsock,server_addr,&mainsslinfo,&ClientId,&socklist,authtoken,password)==-1)
{
mainsockstatus=0;
printf("link err\r\n");
Expand Down Expand Up @@ -146,7 +147,7 @@ int checkping(){
int main( int argc, char **argv )
{
printf("ngrokc v%s \r\n",VER);
loadargs( argc, argv, &tunnellist, s_name, &s_port, authtoken,&ClientId );
loadargs( argc, argv, &tunnellist, s_name, &s_port, authtoken,password,&ClientId );
#if WIN32
signal( SIGINT, cs );
#else
Expand Down
28 changes: 14 additions & 14 deletions ngrok-c.depend
Original file line number Diff line number Diff line change
Expand Up @@ -464,7 +464,7 @@

1464228365 d:\c\ngrok-c\cjson.h

1464160098 source:d:\c\ngrok-c\main.cpp
1470368403 source:d:\c\ngrok-c\main.cpp
"config.h"
<string.h>
<stdio.h>
Expand Down Expand Up @@ -510,7 +510,7 @@
"sslbio.h"
"nonblocking.h"

1462936186 d:\c\ngrok-c\sendmsg.h
1477558262 d:\c\ngrok-c\sendmsg.h
"config.h"
"nonblocking.h"
<string>
Expand All @@ -525,7 +525,7 @@
<sys/select.h>
"bytestool.h"

1463122028 d:\c\ngrok-c\sslbio.h
1464228365 d:\c\ngrok-c\sslbio.h
"config.h"
<malloc.h>
<openssl/ssl.h>
Expand All @@ -547,9 +547,9 @@
<polarssl/error.h>
<polarssl/certs.h>

1462936185 d:\c\ngrok-c\bytestool.h
1464228365 d:\c\ngrok-c\bytestool.h

1462936186 d:\c\ngrok-c\nonblocking.h
1464228365 d:\c\ngrok-c\nonblocking.h
"config.h"
<string.h>
<winsock.h>
Expand All @@ -566,10 +566,10 @@
<netinet/in.h>
<netinet/tcp.h>

1462936186 source:d:\c\ngrok-c\nonblocking.cpp
1464228365 source:d:\c\ngrok-c\nonblocking.cpp
"nonblocking.h"

1462936186 source:d:\c\ngrok-c\sendmsg.cpp
1477558808 source:d:\c\ngrok-c\sendmsg.cpp
"config.h"
<string>
<windows.h>
Expand All @@ -582,7 +582,7 @@
<iostream>
<vector>

1463122042 source:d:\c\ngrok-c\sslbio.cpp
1464228365 source:d:\c\ngrok-c\sslbio.cpp
"config.h"
<string.h>
"mytime.h"
Expand Down Expand Up @@ -690,7 +690,7 @@
<openssl/err.h>
"sendmsg.h"

1463035976 d:\c\ngrok-c\config.h
1464228365 d:\c\ngrok-c\config.h
<stdarg.h>
<stdio.h>
<string.h>
Expand Down Expand Up @@ -830,7 +830,7 @@
"mytime.h"
"sslbio.h"

1464162210 source:d:\c\ngrok-c\ngrok.cpp
1477558140 source:d:\c\ngrok-c\ngrok.cpp
"config.h"
<string>
<windows.h>
Expand All @@ -842,7 +842,7 @@
"sslbio.h"
<stdlib.h>

1463036861 d:\c\ngrok-c\ngrok.h
1477558164 d:\c\ngrok-c\ngrok.h
"config.h"
<string>
<map>
Expand Down Expand Up @@ -1027,7 +1027,7 @@
<errno.h>
<netinet/in.h>

1462936186 d:\c\ngrok-c\mytime.h
1464228365 d:\c\ngrok-c\mytime.h
<windows.h>
<errno.h>
<sys/select.h>
Expand Down Expand Up @@ -1230,10 +1230,10 @@
<string.h>
<execinfo.h>

1462936186 d:\c\ngrok-c\openssldl.h
1464228365 d:\c\ngrok-c\openssldl.h
<openssl/ssl.h>

1462936186 source:d:\c\ngrok-c\openssldl.cpp
1464228365 source:d:\c\ngrok-c\openssldl.cpp
<stdio.h>
<stdlib.h>
<unistd.h>
Expand Down
6 changes: 3 additions & 3 deletions ngrok.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -507,7 +507,7 @@ int CmdSock(int *mainsock,sockinfo *tempinfo,map<int,sockinfo*>*socklist,struct
return 0;
}

int ConnectMain(int *mainsock,struct sockaddr_in server_addr,ssl_info **mainsslinfo,string *ClientId,map<int,sockinfo*>*socklist,char *authtoken)
int ConnectMain(int *mainsock,struct sockaddr_in server_addr,ssl_info **mainsslinfo,string *ClientId,map<int,sockinfo*>*socklist,char *authtoken,char *password)
{
*mainsock = socket( AF_INET, SOCK_STREAM, IPPROTO_IP );
SetBufSize(*mainsock);
Expand Down Expand Up @@ -541,9 +541,9 @@ int ConnectMain(int *mainsock,struct sockaddr_in server_addr,ssl_info **mainssli
}

#if OPENSSL
SendAuth(*mainsock,(*mainsslinfo)->ssl, *ClientId, authtoken);
SendAuth(*mainsock,(*mainsslinfo)->ssl, *ClientId, authtoken,password);
#else
SendAuth(*mainsock, &(*mainsslinfo)->ssl, *ClientId, authtoken );
SendAuth(*mainsock, &(*mainsslinfo)->ssl, *ClientId, authtoken,password);
#endif

setnonblocking( *mainsock,1);
Expand Down
2 changes: 1 addition & 1 deletion ngrok.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,5 +38,5 @@ int RemoteToLocal(ssl_info *sslinfo1,sockinfo *tempinfo1,map<int, sockinfo*>::it

int ConnectLocal(ssl_info *sslinfo1,map<int, sockinfo*>::iterator *it1,sockinfo *tempinfo1,map<int,sockinfo*>*socklist,map<string,TunnelReq*> *tunneladdr);
int CmdSock(int *mainsock,sockinfo *tempinfo,map<int,sockinfo*>*socklist,struct sockaddr_in server_addr,string *ClientId,char * authtoken,list<TunnelInfo*>*tunnellist,map<string,TunnelReq*> *tunneladdr);
int ConnectMain(int *mainsock,struct sockaddr_in server_addr,ssl_info **mainsslinfo,string *ClientId,map<int,sockinfo*>*socklist,char *authtoken);
int ConnectMain(int *mainsock,struct sockaddr_in server_addr,ssl_info **mainsslinfo,string *ClientId,map<int,sockinfo*>*socklist,char *authtoken,char *password);
#endif
5 changes: 3 additions & 2 deletions sendmsg.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ int SendReqTunnel(int sock,ssl_context *ssl,char *ReqId,const char *protocol,con



int loadargs( int argc, char **argv ,list<TunnelInfo*>*tunnellist,char *s_name,int * s_port,char * authtoken,string *ClientId)
int loadargs( int argc, char **argv ,list<TunnelInfo*>*tunnellist,char *s_name,int * s_port,char * authtoken,char *password,string *ClientId)
{
if ( argc > 1 )
{
Expand Down Expand Up @@ -79,6 +79,7 @@ int loadargs( int argc, char **argv ,list<TunnelInfo*>*tunnellist,char *s_name,i
*s_port = atoi(temp);
}
getvalue(jsonstr,"Atoken",authtoken);
getvalue(jsonstr,"Password",password);

if(getvalue(jsonstr,"Cid",temp)==0)
{
Expand Down Expand Up @@ -135,7 +136,7 @@ int loadargs( int argc, char **argv ,list<TunnelInfo*>*tunnellist,char *s_name,i
}else {
echo( "use " );
echo("%s",argv[0]);
echo( " -SER[Shost:ngrokd.ngrok.com,Sport:443,Atoken:xxxxxxx] -AddTun[Type:tcp,Lhost:127.0.0.1,Lport:80,Rport:50199]" );
echo( " -SER[Shost:ngrokd.ngrok.com,Sport:443,Atoken:xxxxxxx,Password:xxx] -AddTun[Type:tcp,Lhost:127.0.0.1,Lport:80,Rport:50199]" );
echo( "\r\n" );
exit( 1 );
}
Expand Down
6 changes: 3 additions & 3 deletions sendmsg.h
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ inline int get_curr_unixtime()
return time(&now);
}

int loadargs( int argc, char **argv ,list<TunnelInfo*>*tunnellist,char *s_name,int * s_port,char * authtoken,string *ClientId);
int loadargs( int argc, char **argv ,list<TunnelInfo*>*tunnellist,char *s_name,int * s_port,char * authtoken,char *password,string *ClientId);

inline int strpos( char *str, char c )
{
Expand Down Expand Up @@ -170,12 +170,12 @@ inline int sendpack(int sock,ssl_context *ssl,const char *msgstr,int isblock)
return len;
}

inline int SendAuth(int sock,ssl_context *ssl,string ClientId,string user)
inline int SendAuth(int sock,ssl_context *ssl,string ClientId,string user,string password)
{
// string str="{\"Type\":\"Auth\",\"Payload\":{\"Version\":\"2\",\"MmVersion\":\"1.7\",\"User\":\""+user+"\",\"Password\": \"\",\"OS\":\"darwin\",\"Arch\":\"amd64\",\"ClientId\":\""+ClientId+"\"}}";
char str[255];
memset(str,0,255);
sprintf(str,"{\"Type\":\"Auth\",\"Payload\":{\"Version\":\"2\",\"MmVersion\":\"1.7\",\"User\":\"%s\",\"Password\": \"\",\"OS\":\"darwin\",\"Arch\":\"amd64\",\"ClientId\":\"%s\"}}",user.c_str(),ClientId.c_str());
sprintf(str,"{\"Type\":\"Auth\",\"Payload\":{\"Version\":\"2\",\"MmVersion\":\"1.7\",\"User\":\"%s\",\"Password\": \"%s\",\"OS\":\"darwin\",\"Arch\":\"amd64\",\"ClientId\":\"%s\"}}",user.c_str(),password.c_str(),ClientId.c_str());

return sendpack(sock,ssl,str,1);
}
Expand Down

0 comments on commit d8286f1

Please sign in to comment.