main
Bryan Cerrati 2025-06-19 14:22:45 -04:00
parent 1d5578aafb
commit c0be695c2f
3 changed files with 106 additions and 0 deletions

View File

@ -0,0 +1,82 @@
import sys
import threading
import time
import requests
from PyQt6.QtWidgets import (
QApplication, QWidget, QVBoxLayout, QLabel,
QLineEdit, QPushButton, QMessageBox
)
from PyQt6.QtCore import QTimer
class PosterApp(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("Auto Poster")
self.setFixedSize(300, 250)
self.layout = QVBoxLayout()
self.ip_label = QLabel("IP Address:")
self.ip_input = QLineEdit()
self.layout.addWidget(self.ip_label)
self.layout.addWidget(self.ip_input)
self.name_label = QLabel("Name:")
self.name_input = QLineEdit()
self.layout.addWidget(self.name_label)
self.layout.addWidget(self.name_input)
self.seconds_label = QLabel("Seconds Interval:")
self.seconds_input = QLineEdit()
self.seconds_input.setText("10")
self.layout.addWidget(self.seconds_label)
self.layout.addWidget(self.seconds_input)
self.start_button = QPushButton("Start")
self.stop_button = QPushButton("Stop")
self.layout.addWidget(self.start_button)
self.layout.addWidget(self.stop_button)
self.setLayout(self.layout)
self.running = False
self.thread = None
self.start_button.clicked.connect(self.start_posting)
self.stop_button.clicked.connect(self.stop_posting)
def start_posting(self):
if self.running:
return
ip = self.ip_input.text().strip()
name = self.name_input.text().strip()
seconds = self.seconds_input.text().strip()
if not ip or not name or not seconds.isdigit():
QMessageBox.warning(self, "Invalid Input", "Please provide valid IP, name, and seconds.")
return
self.running = True
self.thread = threading.Thread(target=self.post_loop, args=(ip, name, int(seconds)), daemon=True)
self.thread.start()
def stop_posting(self):
self.running = False
def post_loop(self, ip, name, seconds):
url = f"http://{ip}/{name}/"
while self.running:
try:
print(f"POST to {url}")
response = requests.post(url)
print(f"Status: {response.status_code}")
except Exception as e:
print(f"Error: {e}")
time.sleep(seconds)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = PosterApp()
window.show()
sys.exit(app.exec())

View File

@ -0,0 +1,20 @@
# keepalive_daemon.py
import time
import requests
IP = "47.21.28.174:5050"
NAME = "TEST-daemon"
INTERVAL = 10 # seconds
def main():
while True:
try:
url = f"http://{IP}/{NAME}/"
print(f"POST to {url}")
requests.post(url)
except Exception as e:
print("Error:", e)
time.sleep(INTERVAL)
if __name__ == "__main__":
main()

View File

@ -0,0 +1,4 @@
$CurlArgument = '-X', 'POST',
'http://IP:PORT/<LOCATION>/'
$CURLEXE = 'curl.exe'
& $CURLEXE @CurlArgument