forked from GiR-Zippo/birdcage-hive
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathREADME.MODULE
More file actions
executable file
·130 lines (98 loc) · 3.96 KB
/
README.MODULE
File metadata and controls
executable file
·130 lines (98 loc) · 3.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
Modul Aufbau
Ein Mudul muss zwingend folgende Struktur aufweisen:
####################################################
############### Passive Module #################
####################################################
import CP, time, threading, sys, os, commands
#Base-Address
#Please read the read.me in the root-dir
address = "200"
m_version ="0.1"
class Master:
CP #Pointer for the CP
def __init__(self,CP):
## Set the CP
self.CP = CP
#UNCOMMENT THIS IF YOU WAN'T TO USE EVENTS
#self.timer = 60
return
def start(self):
#UNCOMMENT THIS IF YOU WAN'T TO USE EVENTS
#Instant Startup
#self.Event()
#Delayed Startup
#self.CP.InsertEvent((int(self.timer) + time.time()), self)
return
def initfromdrone(self, args, handler):
return
def config(self, args, CP):
Master.CP = CP;
return
def command(self,args,handler):
return
def stop(self):
return
def Event(self):
#DO SOMETHING
#SET TIMER TO 60 SEC
#self.t = 60
#self.CP.InsertEvent((int(self.t) + time.time()), self)
return
####################################################
############## Active Module #################
####################################################
./modules/mod_Active.py
Die Hauptvariablen an denen es nix zu rütteln gibt:
address = "500" #Damit definieren wir die Basisaddresse des Modules im Fall
#es wird die Commandroutine genutzt
m_version ="0.1"#Hier definieren wir die Revision um bei einem Export das Modul
#in den Hive quetschen zu können
import CP #Die BackRef zu unserem CP wo alle Daten durch gehen und die IO
#zwischen den Modulen geregelt wird
class Master: #Die Hauptroutine heißt immer Master, denn so wird sie auch vom
#CP initialisiert
def __init__(self,CP): #Hier wird das Modul initialisiert
def initfromdrone(self, args, handler): #Trigger,
#im Falle eine Drone initialisiert sich
def config(self, args): #Hier wird das ConfigFile durchgeschleift und das Module
#kann nun seine Werte abgreifen
#Ist das nicht gewünscht kann man auch per FILEIO
#eine eigene Config aufrufen
def start(self): #Damit wird das Modul gestartet (bei Threading entfällt
#die Routine)
def command(self,args,handler): #Hier werden alle Commands ausgewertet
#args ist der CMD String incl Parameter
#handler ist die Ref auf den Caller
#wenn CLI dann ist es "NULL"
# Wenn das Modul mit der CLI gesteuert werden kann, so ist diese Class einzubauen:
class CLI_Dict:
def get(self,args):
args ist der komplette Parameterstring der hier übergeben wird
##############################################################
######### Addressübersicht ###########
##############################################################
Addy: 001
1 = Alle Mods Anzeigen (NUR CLI SUPPORT)
2 = Stop Modul (X): Hält das ThreadedMod an
3 = Neu-Laden des Modul X
4 = Sende Modul X in den Hive
5 = Empangen eines Moduls vom Hive und anschließender Reload dessen
6 = Alle Module in den Hive schicken
7 = List alle Dronen auf (NUR CLI)
8 = Sende File X an den Hive oder eine Drone (Drone, Source-File, Target-File)
9 = Empfange File X vom Hive (Flag, TargetName, Data)
##############################################################
######### Addressübersicht II ###########
##############################################################
001 = Internal
200 = Memory
300 - 349 = Networking
* 300 = Firewall
** 301 = Spamhaus
** 302 = DShield
** 303 = Deflater
310 - 32x = BanFilter
** 310 = MySQL
** 311 = TS3
* 400 = Lokal
900 - 9xx = Reserved