Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'uri'
- require 'net/http'
- require 'base64'
- class Moencodenet
- def initialize
- @mirror = {}
- @page = {}
- end
- def getUpdate(user, page=1)
- page = page.to_i
- if page <= 1
- page = 1
- link = 'https://www.moencode.net/'
- else
- link = 'https://www.moencode.net/'
- end
- res = httpsrequest(link)
- data = res.scan(/<a href='(.*?)' title='(.*?)'>(.*?)<\/a>/)[0, 10]
- newset = []
- num = 1
- for link, type, title in data
- newset << "<b>#{num}. #{title}</b> #{link}"
- num += 1
- end
- @page[user.downcase] = [page, data, 0]
- output_ = newset[0, 5].join("<br/>")
- text = "Current Page <b>#{page}</b><br/>#{output_}"
- return text
- end
- def bypass(user, link)
- res = httpsrequest(link).gsub("\n", "")
- data = res.scan(/\"href=\'(.*?)\'>Click here to proceed<\/a>\"\);/)
- puts res
- return data[0][0] if data.length > 0
- end
- def getMirror(user, link)
- res = httpsrequest(link).gsub("\n", "")
- data = res.scan(/<div class="sorattl">(.*?)<\/div><div class="soraurl">(.*?)<\/div>/)
- newset = []
- num = 1
- for type, dt in data
- type = type.split("</c> ")[1]
- dt = dt.scan(/<a href="(.*?)" rel="(.*?)" target="(.*?)">(.*?)<\/a>/)
- liset = []
- for li, rel, tar, tl in dt
- liset << "<b>#{tl}</b>: #{li}"
- end
- newset << "<b>#{type}</b><br/>#{liset.join("<br/>")}"
- end
- @mirror[user.downcase] = [newset, 1]
- output_ = newset[1, 1]
- text = output_.join
- return text
- end
- def mnext(user)
- if @mirror.key?(user.downcase)
- data, setpage = @mirror[user.downcase]
- setpage += 1
- if setpage >= data.length
- setpage = data.length - 1
- end
- @mirror[user.downcase] = [data, setpage]
- output_ = data[setpage, 1]
- text = output_.join
- else
- text = "no mirror try ,moe [link-here] first :>"
- end
- return text
- end
- def mback(user)
- if @mirror.key?(user.downcase)
- data, setpage = @mirror[user.downcase]
- setpage += 1
- if setpage <= 0
- setpage = 0
- end
- @mirror[user.downcase] = [data, setpage]
- output_ = data[setpage, 1]
- text = output_.join
- else
- text = "no mirror try ,moe [link-here] first :>"
- end
- return text
- end
- def next(user)
- if @page.key?(user.downcase)
- page, data, setpage = @page[user.downcase]
- setpage += 5
- if setpage >= data.length
- setpage = data.length - 5
- end
- newset = []
- num = 1
- for link, type, title in data
- newset << "<b>#{num}. #{title}</b> #{link}"
- num += 1
- end
- @page[user.downcase] = [page, data, setpage]
- output_ = newset[setpage, 5].join("<br/>")
- text = "Current Page <b>#{page}</b><br/>#{output_}"
- else
- text = "no post, try ,newai first :>"
- end
- return text
- end
- def back(user)
- if @page.key?(user.downcase)
- page, data, setpage = @page[user.downcase]
- setpage -= 5
- if setpage <= 0
- setpage = 0
- end
- newset = []
- num = 1
- for link, type, title in data
- newset << "<b>#{num}. #{title}</b> #{link}"
- num += 1
- end
- @page[user.downcase] = [page, data, setpage]
- output_ = newset[setpage, 5].join("<br/>")
- text = "Current Page <b>#{page}</b><br/>#{output_}"
- else
- text = "no post, try ,newai first :>"
- end
- return text
- end
- def genSid
- return [*('a'..'z'),*('0'..'9')].shuffle[0,8].join
- end
- def httpsrequest(link)
- uri = URI(link)
- http = Net::HTTP.new(uri.host, 443)
- http.use_ssl = true
- http.verify_mode = OpenSSL::SSL::VERIFY_NONE
- request = Net::HTTP::Get.new(uri.request_uri)
- request["User-Agent"] = "Mozilla/5.0 (Windows NT 5.1; rv:47.0) Gecko/20100101 Firefox/47.0"
- response = http.request(request)
- return response.body
- end
- def httprequest(link)
- uri = URI(link)
- http = Net::HTTP.new(uri.host, uri.port)
- request = Net::HTTP::Get.new(uri.request_uri)
- response = http.request(request)
- return response.body
- end
- end
- #print Moencodenet.new.bypass("agung", "https://racaty.com/hfy4qp8gpnic")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement