[Feature requests] Send Commands To All Clients At Once
zero77 opened this issue · 12 comments
Can you please add support for sending commands to all clients at once.
Thanks
@zero77 Got it, I will add this feature to TODO list. thank you for reporting
Thanks
@WangYihang
Is Platypus still being developed.
@zero77 Yes, it will, I have been busy these days, so the development will be delayed. If you are willing to help to develop, feel free to create pull requests.
And, the feature you mentioned, that can be implemented by Switching
meta command.
Every single client has a field Interacting
which indicate the server should send hacker input to the client or not.
>> List
2019/01/22 15:57:11 Listing 1 servers
[a4c0705d05da83e09af1e15ada602af1] 0.0.0.0:4444 (1 online clients) (started at: 18 seconds ago)
[79809a986dd1c6e38850002f4eb52deb] tcp://127.0.0.1:46536 (connected at: 4 seconds ago) [false]
the last field [false]
means hacker input will not be dispatched to this client
so if you want to send single command to all of the clients, all you need to do is make the client Switched On
and use DataDispatcher
to send the command to all clients which is Switched On
.
Example
>> List
2019/01/22 15:59:29 Listing 1 servers
[a4c0705d05da83e09af1e15ada602af1] 0.0.0.0:4444 (3 online clients) (started at: 2 minutes ago)
[79809a986dd1c6e38850002f4eb52deb] tcp://127.0.0.1:46536 (connected at: 2 minutes ago) [false]
[c67f1997275fa9a0c1e15efc250a21df] tcp://127.0.0.1:46566 (connected at: 21 seconds ago) [false]
[f13c0c8ba0301a163e78720c7ffd916c] tcp://192.168.1.7:45462 (connected at: 4 seconds ago) [false]
>> Switching f1
2019/01/22 15:59:36 [false->true] [f13c0c8ba0301a163e78720c7ffd916c] tcp://192.168.1.7:45462 (connected at: 11 seconds ago) [false]
>> List
2019/01/22 15:59:37 Listing 1 servers
[a4c0705d05da83e09af1e15ada602af1] 0.0.0.0:4444 (3 online clients) (started at: 2 minutes ago)
[79809a986dd1c6e38850002f4eb52deb] tcp://127.0.0.1:46536 (connected at: 2 minutes ago) [false]
[c67f1997275fa9a0c1e15efc250a21df] tcp://127.0.0.1:46566 (connected at: 29 seconds ago) [false]
[f13c0c8ba0301a163e78720c7ffd916c] tcp://192.168.1.7:45462 (connected at: 12 seconds ago) [false]
>> DataDispatcher
Input command: ls
2019/01/22 15:59:44 Executing on [f13c0c8ba0301a163e78720c7ffd916c] tcp://192.168.1.7:45462 (connected at: 20 seconds ago) [false]: ls
4
2019/01/22 15:59:44 Execution finished, 1 node DataDispatcherd
>>
Thanks for your reply, i hope i did not sound pushy.
But, i was wondering if Platypus has stopped being developed, due to the lack of bugs and recent activity.
Also, i will have a look at what you suggested but, i have never used go before.
Platypus will not stop developing. I need to prepare my postgraduate entrance exam in 2019, so I may not develop it this year, and I will continue to develop after the exam is over.
I need to prepare my postgraduate entrance exam in 2019
Yes, i appreciate how time consuming and difficult that can be, good luck.
When i have had time to learn enuf go i will attempt some of the to do list.
@zero77 Cool, feel free to create pull requests~ 😄
Hey, I have some questions. The List
command's output‘s last field is Interactive
field:
>> List
[79809a986dd1c6e38850002f4eb52deb] tcp://127.0.0.1:46536 (connected at: 2 minutes ago) [false]
fmt.Sprintf("[%s] %s://%s (connected at: %s) [%t]", c.Hash, addr.Network(), addr.String(), humanize.Time(c.TimeStamp), c.Interactive)
Should it be the Group
instead of Interactive
?
In codes, the Interactive
field only means if the node is in interactive mode, it's set to true at the beginning of the Interactive
command then be set back to false to false at the end, so I can never see the field is false in List
command's output
And the Switching
set client.Group = !client.Group
, the group field means whether dispath command to this client.
If it's a typo? And I think the filed name Group
is not clear enough
Yes! You are right! It is a typo I think, I'll fix it next week, thank you for reporting. 😄 @EddieIvan01
This issue will be closed since the original problem is solved.