Skip to content

Commit 0d376f3

Browse files
authored
Upload Version 0.25
1 parent 6819be0 commit 0d376f3

File tree

2 files changed

+230
-0
lines changed

2 files changed

+230
-0
lines changed

KeyAuth.rb

Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
1+
require 'net/http'
2+
require 'json'
3+
require 'uri'
4+
require 'date'
5+
6+
class KeyAuth
7+
SessionID = "none"
8+
Name = ""
9+
OwnerID = ""
10+
Secret = ""
11+
Version = ""
12+
13+
AppInfo = {
14+
NumUsers: 0,
15+
NumOnlineUsers: 0,
16+
NumKeys: 0,
17+
CustomerPanelLink: "none",
18+
}
19+
20+
User_data = {
21+
username: "",
22+
ip: "",
23+
hwid: "",
24+
createdate: "",
25+
lastlogin: "",
26+
subscriptions: []
27+
}
28+
29+
## for future
30+
Response = {
31+
success: false,
32+
message: "",
33+
}
34+
35+
def Api(name, ownerid, secret, version)
36+
if name == "" || ownerid == "" || secret == "" || version == ""
37+
puts "Error: Application not setupped correctly"
38+
exit(0)
39+
end
40+
41+
Name.replace name
42+
OwnerID.replace ownerid
43+
Secret.replace secret
44+
Version.replace version
45+
end
46+
47+
def Init()
48+
uri = URI("https://keyauth.win/api/1.1/?type=init&name=" + Name + "&ownerid=" + OwnerID + "&ver=" + Version)
49+
res = Net::HTTP.get(uri)
50+
51+
resp = JSON.parse(res)
52+
53+
if resp == "KeyAuth_Invalid"
54+
puts "Error: Application not found"
55+
exit(0)
56+
end
57+
58+
if resp["success"] == true
59+
SessionID.replace resp["sessionid"]
60+
AppInfo.replace resp["appinfo"]
61+
return true
62+
else
63+
puts "Error: " + resp["message"]
64+
exit(0)
65+
end
66+
end
67+
68+
def Login(username, password)
69+
hwid = "soon"
70+
71+
uri = URI("https://keyauth.win/api/1.1/?type=login&username=" + username + "&pass=" + password +"&name=" + Name + "&ownerid=" + OwnerID + "&sessionid=" + SessionID + "&hwid=" + hwid)
72+
res = Net::HTTP.get(uri)
73+
74+
resp = JSON.parse(res)
75+
76+
if resp["success"] == true
77+
Load_UserData(resp["info"])
78+
else
79+
puts "Error: " + resp["message"]
80+
exit(0)
81+
end
82+
end
83+
84+
def Register(username, password, key)
85+
hwid = "soon"
86+
87+
uri = URI("https://keyauth.win/api/1.1/?type=register&username=" + username + "&pass=" + password + "&key=" + key + "&name=" + Name + "&ownerid=" + OwnerID + "&sessionid=" + SessionID + "&hwid=" + hwid)
88+
res = Net::HTTP.get(uri)
89+
90+
resp = JSON.parse(res)
91+
92+
if resp["success"] == true
93+
Load_UserData(resp["info"])
94+
else
95+
puts "Error: " + resp["message"]
96+
exit(0)
97+
end
98+
end
99+
100+
def Upgrade(username, key)
101+
hwid = "soon"
102+
103+
uri = URI("https://keyauth.win/api/1.1/?type=upgrade&username=" + username + "&key=" + key + "&name=" + Name + "&ownerid=" + OwnerID + "&sessionid=" + SessionID + "&hwid=" + hwid)
104+
res = Net::HTTP.get(uri)
105+
106+
resp = JSON.parse(res)
107+
108+
if resp["success"] == true
109+
puts "Successfully upgraded!"
110+
exit(0)
111+
else
112+
puts "Error: " + resp["message"]
113+
exit(0)
114+
end
115+
end
116+
117+
def License(key)
118+
hwid = "soon"
119+
120+
uri = URI("https://keyauth.win/api/1.1/?type=license&key=" + key + "&name=" + Name + "&ownerid=" + OwnerID + "&sessionid=" + SessionID + "&hwid=" + hwid)
121+
res = Net::HTTP.get(uri)
122+
123+
resp = JSON.parse(res)
124+
125+
if resp["success"] == true
126+
Load_UserData(resp["info"])
127+
else
128+
puts "Error: " + resp["message"]
129+
exit(0)
130+
end
131+
end
132+
133+
def Load_UserData(json)
134+
User_data.replace json
135+
end
136+
137+
def UnixToDate(unix)
138+
return DateTime.strptime(unix,'%s').strftime("%d-%M-%Y %H:%m:%S")
139+
end
140+
141+
def ClearConsole()
142+
system('cls')
143+
end
144+
145+
def GetHwid()
146+
147+
## doesnt split :/
148+
raw = system("wmic useraccount where name='%username%' get sid")
149+
ok = raw.to_s.split('\n')[1]
150+
151+
return ok
152+
end
153+
154+
end

Main.rb

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
require './KeyAuth.rb'
2+
3+
KeyAuth.new.Api(
4+
"", # Application Name
5+
"", # Application OwnerID
6+
"", # Application Secret
7+
"1.0" # Applicaiton Version
8+
)
9+
10+
KeyAuth.new.ClearConsole
11+
puts "\n\n Connecting.."
12+
KeyAuth.new.Init
13+
14+
puts "\n App data:"
15+
puts " Number of users: " + KeyAuth::AppInfo["numUsers"]
16+
puts " Number of online users: " + KeyAuth::AppInfo["numOnlineUsers"]
17+
puts " Number of keys: " + KeyAuth::AppInfo["numKeys"]
18+
puts " Application Version: " + KeyAuth::Version
19+
puts " Customer panel link: " + KeyAuth::AppInfo["customerPanelLink"]
20+
21+
puts "\n [1] Login\n [2] Register\n [3] Upgrade\n [4] License key only\n\n Choose option: "
22+
23+
Option = gets.chomp
24+
case Option
25+
26+
when '1'
27+
puts "\n\n Enter username: "
28+
username = gets.chomp
29+
puts "\n\n Enter password: "
30+
password = gets.chomp
31+
KeyAuth.new.Login(username, password)
32+
33+
when '2'
34+
puts "\n\n Enter username: "
35+
username = gets.chomp
36+
puts "\n\n Enter password: "
37+
password = gets.chomp
38+
puts "\n\n Enter license: "
39+
key = gets.chomp
40+
KeyAuth.new.Register(username, password, key)
41+
42+
when '3'
43+
puts "\n\n Enter username: "
44+
username = gets.chomp
45+
puts "\n\n Enter license: "
46+
key = gets.chomp
47+
48+
KeyAuth.new.Upgrade(username, key)
49+
50+
when '4'
51+
puts "\n\n Enter license: "
52+
key = gets.chomp
53+
KeyAuth.new.License(key)
54+
else
55+
puts "Invalid option"
56+
exit(0)
57+
end
58+
59+
puts "\n Logged In!"
60+
61+
#user data
62+
puts "\n User data:"
63+
puts " Username: " + KeyAuth::User_data["username"]
64+
puts " IP address: " + KeyAuth::User_data["ip"]
65+
puts " Hardware-Id: " + KeyAuth::User_data["hwid"]
66+
puts " Created at: " + KeyAuth.new.UnixToDate(KeyAuth::User_data["createdate"])
67+
#puts " Last login: " + KeyAuth.new.UnixToDate(KeyAuth::User_data["lastlogin"])
68+
69+
puts " Your subscription(s):"
70+
for i in KeyAuth::User_data["subscriptions"]
71+
puts " Subscription name: #{i["subscription"]} - Expires at: #{KeyAuth.new.UnixToDate(i["expiry"])} - Time left in seconds: #{i["timeleft"]}"
72+
end
73+
74+
puts "\n\n Exiting in 10 secs...."
75+
sleep(10)
76+
exit(0)

0 commit comments

Comments
 (0)