Advertisement
Sly

HMA VPN Server Harvester

Sly
Apr 22nd, 2012
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. log = console.log
  2.  
  3. http = require 'http'
  4. parseUrl= require('url').parse
  5. fs = require 'fs'
  6.  
  7. urls =
  8.   server_list: 'http://vpn.hidemyass.com/vpnconfig/countries.php'
  9.   server_config: 'http://vpn.hidemyass.com/vpnconfig/client_config.php?win=1&loc='
  10.  
  11. get = (url, callback) ->
  12.   # No callback? Waste of time. Just exit.
  13.   if !callback then return
  14.  
  15.   http.get parseUrl(url), (res) ->
  16.     data = ''
  17.     res.setEncoding 'utf-8'
  18.     res.on 'data', (chunk) ->
  19.       data += chunk
  20.     res.on 'end', ->
  21.       callback data
  22.  
  23. try
  24.   fs.mkdirSync './servers'
  25.   log 'Created directory: ' + __dirname + '/servers'
  26. catch error
  27.  
  28.  
  29. get urls.server_list, (data) ->
  30.   lines = data.trim().split '\n'
  31.   for line in lines
  32.     do ->
  33.       if line.length > 0
  34.         line = line.trim()
  35.         log "Got server: #{line}"
  36.  
  37.         ((line) ->
  38.           server = encodeURI line
  39.           get "#{urls.server_config}#{server}", (data) ->
  40.             try
  41.               file = __dirname + "/servers/#{line}.conf"
  42.               fs.writeFileSync file, data
  43.               log "Wrote configuration #{file}"
  44.             catch error
  45.               throw error
  46.         )(line)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement