mirror of
https://github.com/springzfx/cgproxy.git
synced 2026-01-07 13:07:56 +08:00
31 lines
732 B
C++
31 lines
732 B
C++
#include <nlohmann/json.hpp>
|
|
#include "socket_client.hpp"
|
|
using json = nlohmann::json;
|
|
using namespace CGPROXY;
|
|
|
|
bool attach2cgproxy(){
|
|
pid_t pid=getpid();
|
|
json j;
|
|
j["type"] = MSG_TYPE_NOPROXY_PID;
|
|
j["data"] = pid;
|
|
int status;
|
|
SOCKET::send(j.dump(), status);
|
|
return status==0;
|
|
}
|
|
|
|
int main(int argc, char *argv[]){
|
|
int shift=1;
|
|
if (argc==1){
|
|
error("usage: cgnoproxy [--debug] <CMD>\nexample: cgnoproxy curl -I https://www.google.com");
|
|
exit(EXIT_FAILURE);
|
|
}
|
|
processArgs(argc,argv,shift);
|
|
|
|
if (!attach2cgproxy()){
|
|
error("attach process failed");
|
|
exit(EXIT_FAILURE);
|
|
}
|
|
|
|
string s=join2str(argc-shift,argv+shift,' ');
|
|
return system(s.c_str());
|
|
} |