ืืื ืืืจ!
ืืืืจืื ื ืฆืคืืชื ืืืจืกื ืฉืืืจืืช ืฉื ืืจื ืืชืื ืืช "ืืืฆื ืืืฆืืจ ืืืฉืื ืืื ืืจื ื ืืฉืื ื-Flask." ืืืืืืชื ืืืืฉ ืืช ืืืืข ืฉืื ืืคืจืืืงื ืืืฉืื. ืืจืื ืืื ืื ืืืขืชื ืื ืืืชืื ืืืจืขืืื ืขืื ืื: "ืืื ืื ืืขืฉืืช ืืื ื-ืืืช ืืืืจืืช ืืคืืืกืง?"
ืืืคืฉืจืืืืช ืืจืืฉืื ืืช ืืืืืืฉืื ืืืืืืืช ืฉื ืืืืช ืืืืืจืืช ืืืคืืขื ืืื ืืจืืฉื. ืืื ืืืืืชื ืืืืื ืืื ืจืฉืืื ืฉื ืืืืืืช ืืืช ืืืืจืืช:
- ืืืขืช ืืื ืืคืชืื ืืชืจืื
- ืืฉ ืืืฉื ืืฉืืจืช ืืคืงืืื
- ืืืืืช ืืกืืื ืืคืชืื ืชืืื ืืืช, ืชืืื ืืช, ืกืจืืื ืื
ืืื, ืื ืงืืื ืืจืืฉืื ื ืงืื ืืืื ืืืืฉืื ืืืืฆืขืืช ืืืืื ืืคืืคื ืืืื ืืจื ื. ืืืืืชื ืืืืฉื ืืช ืื ืงืืื ืืฉื ืืื ืืืืฆืขืืช ืืืืื ื-OS. ืืืฉืืืฉื ืืื ืื ืืจื ืืืืื ื-OS, ืืื ืื ื ืืฉืชืืฉ ื"ืงืืฉืืจืื" (ืขืื ืขื ืื ืืืืฉื).
ืืชืืืช ืฉืจืช
ืื, *drumroll* ืืช ืื ืงืื ืืฉืจืช:
from flask import Flask, request
import webbrowser
import os
import re
app = Flask(__name__)
@app.route('/mycomp', methods=['POST'])
def hell():
json_string = request.json
if json_string['command'] == 'test':
return 'The server is running and waiting for commands...'
if json_string['command'] == 'openweb':
webbrowser.open(url='https://www.'+json_string['data'], new=0)
return 'Site opening ' + json_string['data'] + '...'
if json_string['command'] == 'shell':
os.system(json_string['data'])
return 'Command execution ' + json_string['data'] + '...'
if json_string['command'] == 'link':
links = open('links.txt', 'r')
for i in range(int(json_string['data'])):
link = links.readline()
os.system(link.split('>')[0])
return 'Launch ' + link.split('>')[1]
if __name__ == '__main__':
app.run(host='0.0.0.0')
ืืืจ ืืจืงืชื ืืช ืื ืืงืื, ืืืืข ืืืื ืืืกืืืจ ืืช ืืืืืช.
ืื ืืงืื ืคืืขื ืืืืฉื ืืืงืืื ืืืฆืืื 5000. ืืื ืืืฆืืจ ืืื ืืจืืงืฆืื ืขื ืืฉืจืช, ืขืืื ื ืืฉืืื ืืงืฉืช JSON POST.
ืืื ื ืืงืฉืช JSON:
{โcommandโ: โcomecommandโ, โdataโ: โsomedataโ}
ืืืื, ืืืืื ื ืฉ'ืคืงืืื' ืืื ืืคืงืืื ืฉืื ื ืจืืฆืื ืืืฆืข. ื'ื ืชืื ืื' ืื ืืจืืืื ืื ืืคืงืืื.
ืืชื ืืืื ืืืชืื ืืืฉืืื ืืงืฉืืช JSON ืืืื ืืจืืงืฆืื ืขื ืืฉืจืช ืืืืคื ืืื ื (ืืงืฉืืช ืืขืืจื ืื). ืื ืฉืืชื ืืืื ืืืชืื ืืงืื ืืกืืฃ.
ืืชืืืช ืืงืื
ืงืื:
import requests
logo = ['nn',
'****** ********',
'******* *********',
'** ** ** **',
'** ** ** ** Written on Python',
'******* ** **',
'******** ** **',
'** ** ** ** Author: ROBOTD4',
'** ** ** **',
'** ** ** **',
'******** *********',
'******* ********',
'nn']
p = ''
iport = '192.168.1.2:5000'
host = 'http://' + iport + '/mycomp'
def test():
dict = {'command': 'test', 'data': 0}
r = requests.post(host, json=dict)
if r.status_code == 200:
print (r.content.decode('utf-8'))
def start():
for i in logo:
print(i)
start()
test()
while True:
command = input('>')
if command == '':
continue
a = command.split()
if command == 'test':
dict = {'command': 'test', 'data': 0}
r = requests.post(host, json=dict)
if r.status_code == 200:
print (r.content.decode('utf-8'))
if a[0] == 'shell':
for i in range(1, len(a)):
p = p + a[i] + ' '
dict = {'command': 'shell', 'data': p}
r = requests.post(host, json=dict)
if r.status_code == 200:
print (r.content.decode('utf-8'))
p = ''
if a[0] == 'link':
if len(a) > 1:
dict = {'command': 'link', 'data': int(a[1])}
r = requests.post(host, json=dict)
if r.status_code == 200:
print (r.content.decode('utf-8'))
else:
print('ะะพะผะผะฐะฝะดะฐ ะฝะต ัะพะดะตัะถะธั ะฐัะณัะผะตะฝัะพะฒ!')
if a[0] == 'openweb':
if len(a) > 1:
dict = {'command': 'openweb', 'data': a[1]}
r = requests.post(host, json=dict)
if r.status_code == 200:
print (r.content.decode('utf-8'))
else:
print('ะะพะผะผะฐะฝะดะฐ ะฝะต ัะพะดะตัะถะธั ะฐัะณัะผะตะฝัะพะฒ!')
if a[0] == 'set':
if a[1] == 'host':
ip = a[2] + ':5000'
if command == 'quit':
break
ืืกืืจืื:
ืงืืื ืื, ืืืืื ืืืงืฉืืช ืืืืื (ืขืืืจ ืืื ืืจืืงืฆืื ืขื ืืฉืจืช). ืืืื ืชืืืืจืื ืฉื ืคืื ืงืฆืืืช ืืืชืืื ืืืืืืงื. ืืื ืืืืืืจ ืฉืื ืืชืจืืฉ ืืงืกื. ืงืจืืช ืืช ืืงืื? ืื ืืชื ืืืื ืืช ืืฉืืขืืช ืืงืกื ืฉืืชืจืืฉ ืืืืืืจ. ืืื ืืช ืืคืงืืื - ืืื ืืืืฆืขืช. ืืขืืคืช - ืคืงืืืืช ืขืืืจ ืฉืืจืช ืืคืงืืื (ืืืืืืื ืืื ื ืืงื ื ืืืื).
ืืืืงื - ืืืืง ืื ืืฉืจืช ืคืืขื (ืืืช ืืืืจืืช)
ืงืืฉืืจ - ืฉืืืืฉ ื"ืงืืฆืืจ ืืจื"
Openweb โ ืคืชืืืช ืืชืจ ืืื ืืจื ื
ืฆื - ืฆื ืืืืงืื
ืืืืจ - ืืืืจืช ื-IP ืฉื ืืืืฉื ืฉืื ืืจืฉืช ืืืงืืืืช
ืืขืืฉืื ืขืื ืขื ืงืืฉืืจ.
ืืฉ ืงืืืฅ link.txt ืืื ืืฉืจืช. ืืื ืืืื ืงืืฉืืจืื (ื ืชืื ืืื) ืืงืืฆืื (ืกืจืืื ืื, ืชืืื ืืช, ืชืืื ืืืช).
ืืืื ื ืืื ืืื:
ะฟะพะปะฝัะน_ะฟััั>ะพะฟะธัะฐะฝะธะต
ะฟะพะปะฝัะน_ะฟััั>ะพะฟะธัะฐะฝะธะต
ืกื ืืื
ืืฉ ืื ื ืฉืจืช ืืืช ืืืืจืืช ืืฉืืืื ืขื ืืืฉื ืืจืฉืช ืืงืืืืช (ืืชืื ืจืฉืช Wi-Fi). ืืืืื ื ืืื ืืช, ืื ืื ื ืืืืืื ืืืคืขืื ืืช ืืืงืื ืืื ืืืฉืืจ ืฉืืฉ ืื ืืชืืจืืื ืคืืชืื.
ื .ื. ืืืกืคืชื ืืช ืืคืงืืื set ืื ืฉืื ืืืืฉื ืืจืฉืช ืืืงืืืืช ืืืงืฆื IP ืืืจ, ื ืืชื ืืฉื ืืช ืืืชื ืืฉืืจืืช ืืืงืื.
ืืงืืจ: www.habr.com