I have a bunch of routers, smart phones, laptops, etc. I would like to use for this project, which will be referred to as the machines from now.
A control center which can be setup on ubuntu 18.04 and sends commands to all connected machines
The control center should also have a count command to determine how many machines are currently connected to the control center and ready for commands.
The control center and machines should connect via public IPv4 with public IPv6 as a backup, the machines will be at friends houses as well as my own.
The control centers only 2 (current) commands would be the count command and view command followed by 4 arguements, and if argument 4 is Y then a 5th arguement is needed.
The arguements would be URL VIEWS DURATION BUTTON? XPATH
The URL is the url to load, views is how many views should we send to the url per machine connected, the duration is how much time should be in between each machine loading the page, BUTTON? is asking Y/N if there is a button that needs clicked, and if Y then you supply the XPath to the button (xpath is something like //*[@id="button"]).
So if we have 3 machines connected and we run (view [login to view URL] 2 30 Y //*[@id="gb"]/div/div[1]/div/div[2]/a) it would do this:
Randomly select Machine to be machine 1, load [login to view URL], click the button at //*[@id="gb"]/div/div[1]/div/div[2]/a (the images button), wait 30 seconds
Randomly select a Machine, determine if this machine has loaded page yet, if not it loads page, clicks button, waits 30 seconds
Randomly select a machine, determine if this machine has loaded page yet, if not it loads page, clicks button, waits 30 seconds then repeats.
If the page has been opened before, it skips that machine for then. It can select which machine is next while waiting for the duration to pass.
A ELF (Executable Linux File) which can be installed on the machines. Some of the machines run on different CPU architectures. I have noticed some have the following: Armv4, Armv6, Armv7, Armv8, MIPS, and x86_64. I will need this file compiled for each of these seperately, as a file compiled for x86_64 won't always work on a MIPS machine.
The elf would need to receive commands and perform them, the control center would need to send commands to the machines
The elf should be able to use HTTPS/Socks5 proxies to view pages. It would be a list of proxies. The proxy it uses should be given to it by the control center.
The machines would need to be able to load a web page as a normal web browser would, click on a single button, and be allowed to load the new page the button opens.
The ELF should have the ability to restart when the machine is turned off and back on (in case of power outage for the routers), and should have 2 instances running one of the instances sole job will be to restart the main instance if it gets turned off, and the main instance will do all of the above as well as restart the other instance if closed/crashed
Both the ELF and the control center need to be written in one or more of these languages, for performance and usability reasons: C, C++, Golang
If you want to discuss further, please message me on here. If I do not reply in a timely manner, you can message me on Telegram, and I will respond on here. Any communication regarding the project will need to be done via Freelancer. My telegram is purely to tell me you are interested and I will check Freelancer. Thank you!
My telegram is @JorjeGonzalez
Hi there,I'm biddin on your project "Control center and controlee program for linux"
I have read your project description and i'm an expert in C programming and machine learning therefore i can do this project for you perfectly.I still have a few questions. please leave a message on my chat so we can discuss the budget and deadline of the project.
Thanks.
..
.
Hi there!
My last project here was client-server C socket programming for linux. Check my feedbacks ayw.
20 years of C/C++ programming here.
I like your specs. Just disagree with 2 ELF instances running in parallel (that's not standard unix/linux/posix way). Contact me via chat, if u like to discuss.
good luck with the project,