1st
This commit is contained in:
commit
f2a280356d
2 changed files with 133 additions and 0 deletions
67
wakeup7
Normal file
67
wakeup7
Normal file
|
@ -0,0 +1,67 @@
|
|||
#/usr/sbin/python
|
||||
import sys
|
||||
import os
|
||||
import socket
|
||||
import json
|
||||
|
||||
listfile = "wakeup_list.json"
|
||||
listfile_path = "./" + listfile
|
||||
|
||||
|
||||
#ファイルがない時の動作
|
||||
if not os.path.isfile(listfile_path):
|
||||
dummylist = {}
|
||||
with open(listfile, "w") as list_write:
|
||||
json.dump(dummylist, list_write, indent=4)
|
||||
|
||||
with open(listfile, "r") as list_read:
|
||||
pclist = json.load(list_read)
|
||||
|
||||
if len(sys.argv) < 2:
|
||||
print("\nwakeup7 - 0.1P\n引数の説明\n\n-a : リストにパソコンを追加します。(例 : wakeup7 -a PC名 MACアドレス)\n\n現在リストに登録されているPCは以下の通りです。\n" + str(pclist) + "\n")
|
||||
|
||||
elif sys.argv[1] == "-a":
|
||||
if len(sys.argv[3]) == 17:
|
||||
|
||||
pclist[sys.argv[2]] = sys.argv[3]
|
||||
|
||||
with open(listfile, "w") as list_write:
|
||||
json.dump(pclist, list_write, indent=4)
|
||||
|
||||
print(sys.argv[2] + " はMACアドレス " + sys.argv[3] + " として登録されました。")
|
||||
else:
|
||||
print("登録できません。構文が間違っている可能性があります。\n登録時の構文 : wakeup7 -a PC名 MACアドレス")
|
||||
exit()
|
||||
|
||||
else:
|
||||
|
||||
ip = "255.255.255.255"
|
||||
port = 9
|
||||
|
||||
if sys.argv[1] in pclist:
|
||||
mac = pclist[sys.argv[1]]
|
||||
remac = mac.replace(":", "").replace("-", "")
|
||||
magic_packet = b"\xFF" * 6
|
||||
for i in range(16):
|
||||
magic_packet += bytes.fromhex(remac)
|
||||
with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as s:
|
||||
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
|
||||
s.sendto(magic_packet, (ip, port))
|
||||
print(sys.argv[1] + " に起動を要求しました。")
|
||||
|
||||
else:
|
||||
mac = sys.argv[1]
|
||||
remac = mac.replace(":", "").replace("-", "")
|
||||
if len(remac) != 12:
|
||||
print("\n有効なMACアドレスではない、またはリストに登録されていません。\n\n現在リストに登録されているPCは以下の通りです。\n" + str(pclist) + "\n")
|
||||
exit()
|
||||
|
||||
magic_packet = b"\xFF" * 6
|
||||
for i in range(16):
|
||||
magic_packet += bytes.fromhex(remac)
|
||||
|
||||
with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as s:
|
||||
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
|
||||
s.sendto(magic_packet, (ip, port))
|
||||
|
||||
print("MACアドレス " + sys.argv[1] + " に起動を要求しました。")
|
66
wakeup7.py
Normal file
66
wakeup7.py
Normal file
|
@ -0,0 +1,66 @@
|
|||
import sys
|
||||
import os
|
||||
import socket
|
||||
import json
|
||||
|
||||
listfile = "wakeup_list.json"
|
||||
listfile_path = "./" + listfile
|
||||
|
||||
|
||||
#ファイルがない時の動作
|
||||
if not os.path.isfile(listfile_path):
|
||||
dummylist = {}
|
||||
with open(listfile, "w") as list_write:
|
||||
json.dump(dummylist, list_write, indent=4)
|
||||
|
||||
with open(listfile, "r") as list_read:
|
||||
pclist = json.load(list_read)
|
||||
|
||||
if len(sys.argv) < 2:
|
||||
print("\nwakeup7 - 0.1P\n引数の説明\n\n-a : リストにパソコンを追加します。(例 : wakeup7 -a PC名 MACアドレス)\n\n現在リストに登録されているPCは以下の通りです。\n" + str(pclist) + "\n")
|
||||
|
||||
elif sys.argv[1] == "-a":
|
||||
if len(sys.argv[3]) == 17:
|
||||
|
||||
pclist[sys.argv[2]] = sys.argv[3]
|
||||
|
||||
with open(listfile, "w") as list_write:
|
||||
json.dump(pclist, list_write, indent=4)
|
||||
|
||||
print(sys.argv[2] + " はMACアドレス " + sys.argv[3] + " として登録されました。")
|
||||
else:
|
||||
print("登録できません。構文が間違っている可能性があります。\n登録時の構文 : wakeup7 -a PC名 MACアドレス")
|
||||
exit()
|
||||
|
||||
else:
|
||||
|
||||
ip = "255.255.255.255"
|
||||
port = 9
|
||||
|
||||
if sys.argv[1] in pclist:
|
||||
mac = pclist[sys.argv[1]]
|
||||
remac = mac.replace(":", "").replace("-", "")
|
||||
magic_packet = b"\xFF" * 6
|
||||
for i in range(16):
|
||||
magic_packet += bytes.fromhex(remac)
|
||||
with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as s:
|
||||
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
|
||||
s.sendto(magic_packet, (ip, port))
|
||||
print(sys.argv[1] + " に起動を要求しました。")
|
||||
|
||||
else:
|
||||
mac = sys.argv[1]
|
||||
remac = mac.replace(":", "").replace("-", "")
|
||||
if len(remac) != 12:
|
||||
print("\n有効なMACアドレスではない、またはリストに登録されていません。\n\n現在リストに登録されているPCは以下の通りです。\n" + str(pclist) + "\n")
|
||||
exit()
|
||||
|
||||
magic_packet = b"\xFF" * 6
|
||||
for i in range(16):
|
||||
magic_packet += bytes.fromhex(remac)
|
||||
|
||||
with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as s:
|
||||
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
|
||||
s.sendto(magic_packet, (ip, port))
|
||||
|
||||
print("MACアドレス " + sys.argv[1] + " に起動を要求しました。")
|
Loading…
Reference in a new issue