Hjgugugjhuhjggg commited on
Commit
6d503cc
·
verified ·
1 Parent(s): 9e85d8f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +60 -1
app.py CHANGED
@@ -11,6 +11,11 @@ import spaces
11
  import requests
12
  import random
13
  from faker import Faker
 
 
 
 
 
14
 
15
  load_dotenv()
16
 
@@ -150,6 +155,20 @@ fake = Faker()
150
  def generate_fake_ip():
151
  return fake.ipv4()
152
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
153
  @spaces.GPU(
154
  queue=False,
155
  allow_gpu_memory=True,
@@ -328,6 +347,30 @@ async def process_message(message):
328
  """
329
  return formatted_response, curl_command
330
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
331
 
332
  iface = gr.Interface(
333
  fn=process_message,
@@ -337,6 +380,22 @@ iface = gr.Interface(
337
  description="Enter a message and get responses from multiple LLMs.",
338
  )
339
 
 
 
 
 
 
 
 
 
340
  if __name__ == "__main__":
341
  port = int(os.environ.get("PORT", 7860))
342
- iface.launch(server_port=port)
 
 
 
 
 
 
 
 
 
11
  import requests
12
  import random
13
  from faker import Faker
14
+ from fastapi import FastAPI, Request
15
+ from fastapi.responses import JSONResponse
16
+ from fastapi.middleware.cors import CORSMiddleware
17
+ from threading import Thread
18
+ from time import sleep
19
 
20
  load_dotenv()
21
 
 
155
  def generate_fake_ip():
156
  return fake.ipv4()
157
 
158
+ def get_random_user_agent():
159
+ user_agents = [
160
+ "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
161
+ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
162
+ "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
163
+ "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0",
164
+ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7; rv:89.0) Gecko/20100101 Firefox/89.0",
165
+ "Mozilla/5.0 (X11; Linux x86_64; rv:89.0) Gecko/20100101 Firefox/89.0",
166
+ "Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Mobile/15E148 Safari/604.1",
167
+ "Mozilla/5.0 (iPad; CPU OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Mobile/15E148 Safari/604.1",
168
+ "Mozilla/5.0 (Android 11; Mobile; rv:89.0) Gecko/89.0 Firefox/89.0"
169
+ ]
170
+ return random.choice(user_agents)
171
+
172
  @spaces.GPU(
173
  queue=False,
174
  allow_gpu_memory=True,
 
347
  """
348
  return formatted_response, curl_command
349
 
350
+ app = FastAPI()
351
+
352
+ app.add_middleware(
353
+ CORSMiddleware,
354
+ allow_origins=["*"],
355
+ allow_credentials=True,
356
+ allow_methods=["*"],
357
+ allow_headers=["*"],
358
+ )
359
+
360
+ @app.post("/generate")
361
+ async def generate_response(request: Request):
362
+ try:
363
+ data = await request.json()
364
+ message = data.get("message")
365
+ if not message:
366
+ return JSONResponse(status_code=400, content={"error": "Message is required."})
367
+
368
+ response, _ = await process_message(message)
369
+ return JSONResponse(content={"response": response})
370
+ except Exception as e:
371
+ print(f"API Error: {e}")
372
+ return JSONResponse(status_code=500, content={"error": "Internal server error."})
373
+
374
 
375
  iface = gr.Interface(
376
  fn=process_message,
 
380
  description="Enter a message and get responses from multiple LLMs.",
381
  )
382
 
383
+ def anonymize_ip():
384
+ while True:
385
+ sleep(0) # Change the sleep time to 0 seconds
386
+ os.environ['HTTP_X_FORWARDED_FOR'] = generate_fake_ip()
387
+ os.environ['REMOTE_ADDR'] = generate_fake_ip()
388
+
389
+ Thread(target=anonymize_ip).start()
390
+
391
  if __name__ == "__main__":
392
  port = int(os.environ.get("PORT", 7860))
393
+ iface.launch(server_port=port,
394
+ server_name="0.0.0.0",
395
+ share=False,
396
+ analytics_enabled=False,
397
+ auth=None,
398
+ enable_queue=False,
399
+ show_error=False,
400
+ theme="default"
401
+ )