UNPKG

@luminati-io/luminati-proxy

Version:

A configurable local proxy for luminati.io

69 lines (59 loc) 1.74 kB
// LICENSE_CODE ZON ISC 'use strict'; /*jslint node:true, esnext:true*/ const E = module.exports; E.get_perm = zone=>{ const plan = zone.plan; if (!plan || !plan.type) return zone.perm; const perm = { city: 'country state city vip', asn: 'country state asn carrier vip', static: 'country ip route_all route_dedicated', mobile: 'country mobile asn carrier state city vip', }; let res = 'country vip'; if (plan.type=='static') return perm.static; if (plan.mobile) res = perm.mobile; else if (plan.city && plan.asn) res = perm.city+' asn carrier'; else if (plan.city) res = perm.city; else if (plan.asn) res = perm.asn; if (plan.vips_type=='domain_p') res += ' vip_all'; if (plan.google_search) res += ' google_search'; if (plan.state) res += ' state'; return res; }; E.get_password = (proxy, zone_name, zones)=>{ const zone = zones.find(z=>z.zone==zone_name); if (zone && zone.password) return zone.password; if (proxy && proxy.password) return proxy.password; }; const get_plan = (zone_name, zones, type)=>{ const zone = zones.find(z=>z.zone==zone_name); return zone && zone.plan || {}; }; E.is_static_proxy = (zone_name, zones)=>{ const plan = get_plan(zone_name, zones); return plan.type=='static'; }; E.is_unblocker = (zone_name, zones)=>{ const plan = get_plan(zone_name, zones); return plan.type=='unblocker' || plan.unblocker; }; E.is_mobile = (zone_name, zones)=>{ const plan = get_plan(zone_name, zones); return !!plan.mobile; }; // XXX krzysztof: TODO function Zones_mgr(){ } E.Zones_mgr = Zones_mgr;