diff --git a/README.md b/README.md
index 3c26c65..eae0603 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,52 @@
-# Python_Gitea_Upload
-
+# git_upload
+
+
+
+👋 Hey! schön dich zu sehen
+Wilkommen auf meiner Seite! Ich bin M_Viper und komme aus Burghausen
+
+### Languages
+
+![Python](https://img.shields.io/badge/-Python-000?&logo=Python)
+![JavaScript](https://img.shields.io/badge/-JavaScript-000?&logo=JavaScript)
+![C](https://img.shields.io/badge/-C-000?&logo=C)
+![Java](https://img.shields.io/badge/-Java-000?&logo=Java&logoColor=007396)
+![TypeScript](https://img.shields.io/badge/-TypeScript-000?&logo=TypeScript)
+![C++](https://img.shields.io/badge/-C++-000?&logo=c%2b%2b&logoColor=00599C)
+![SQL](https://img.shields.io/badge/-SQL-000?&logo=MySQL)
+![Swift](https://img.shields.io/badge/-Swift-000?&logo=Swift)
+
+### Technologies
+
+![AWS](https://img.shields.io/badge/-AWS-000?&logo=Amazon-AWS&logoColor=F90)
+![Docker](https://img.shields.io/badge/-Docker-000?&logo=Docker)
+![Kubernetes](https://img.shields.io/badge/-Kubernetes-000?&logo=Kubernetes)
+![Linux](https://img.shields.io/badge/-Linux-000?&logo=Linux)
+![Node.js](https://img.shields.io/badge/-Node.js-000?&logo=node.js)
+![PyTorch](https://img.shields.io/badge/-PyTorch-000?&logo=PyTorch)
+![React](https://img.shields.io/badge/-React-000?&logo=React)
+![Redis](https://img.shields.io/badge/-Redis-000?&logo=Redis)
+![Spring](https://img.shields.io/badge/-Spring-000?&logo=Spring)
+![TensorFlow](https://img.shields.io/badge/-TensorFlow-000?&logo=TensorFlow)
+
+### Cybersecurity Projects
+
+[![](https://img.shields.io/badge/-🩸%20Heartbleed-000)](#)
+[![](https://img.shields.io/badge/-🌊%20SYN%20Flood-000)](#)
+[![](https://img.shields.io/badge/-🗂%20Packet%20Sniffing%20%26%20Spoofing-000)](#/Packet-Sniffing-and-Spoofing)
+[![](https://img.shields.io/badge/-💉%20SQL%20Injection-000)](#)
+[![](https://img.shields.io/badge/-🛡%20Spectre%20%26%20Meltdown-000)](#)
+[![](https://img.shields.io/badge/-🌐%20Network%20Tools-000)](#)
+
+### Folge mir:
+
+[![website](https://m-viper.de/img/globe-light.svg)](https://m-viper.de)
+[![website](https://m-viper.de/img/globe-dark.svg)](https://m-viper.de)
+
+[![website](https://m-viper.de/img/youtube-light.svg)](https://www.youtube.com/@M_Viper)
+[![website](https://m-viper.de/img/youtube-dark.svg)](https://www.youtube.com/@M_Viper)
+
diff --git a/git.py b/git.py
new file mode 100644
index 0000000..e8e3315
--- /dev/null
+++ b/git.py
@@ -0,0 +1,120 @@
+import os
+import base64
+import requests
+import subprocess
+
+def repository_exists(repo_url, token, repo_name):
+ headers = {
+ 'Authorization': f'token {token}',
+ 'Content-Type': 'application/json',
+ }
+ response = requests.get(f'{repo_url}/api/v1/user/repos', headers=headers)
+ repos = response.json()
+ for repo in repos:
+ if repo['name'] == repo_name:
+ return True
+ return False
+
+def create_repository(repo_url, token, repo_name):
+ headers = {
+ 'Authorization': f'token {token}',
+ 'Content-Type': 'application/json',
+ }
+ response = requests.post(f'{repo_url}/api/v1/user/repos', headers=headers, json={'name': repo_name})
+ if response.status_code == 201:
+ print(f"Repository '{repo_name}' created successfully.")
+ return True
+ else:
+ print(f"Failed to create repository '{repo_name}'.")
+ return False
+
+def add_mit_license(local_path, language='english'):
+ mit_license_text_english = """
+MIT License
+
+Copyright (c) 2024 [Name]
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+ """
+
+ mit_license_text_german = """
+MIT-Lizenz
+
+Urheberrecht (c) 2024 [Name]
+
+Hiermit wird unentgeltlich jeder Person, die eine Kopie der Software und der
+zugehörigen Dokumentationsdateien (die "Software") erhält, die Erlaubnis erteilt,
+sie uneingeschränkt zu nutzen, inklusive und ohne Ausnahme mit dem Recht, sie zu verwenden,
+zu kopieren, zu ändern, zusammenzufügen, zu veröffentlichen, zu verbreiten, zu unterlizenzieren
+und/oder zu verkaufen, und Personen, denen diese Software überlassen wird, diese Rechte zu gewähren,
+unter den folgenden Bedingungen:
+
+Der obige Urheberrechtsvermerk und dieser Erlaubnisvermerk sind in allen Kopien oder
+wesentlichen Teilen der Software beizulegen.
+
+DIE SOFTWARE WIRD "WIE BESEHEN" OHNE JEGLICHE AUSDRÜCKLICHE ODER IMPLIZIERTE GARANTIEN, EINSCHLIESSLICH
+DER GARANTIE DER MARKTFÄHIGKEIT, DER EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND DER NICHTVERLETZUNG VON
+RECHTEN DRITTER, BEREITGESTELLT. IN KEINEM FALL HAFTEN DIE AUTOREN ODER COPYRIGHT-INHABER FÜR JEGLICHEN
+SCHADEN ODER SONSTIGE ANSPRÜCHE, OB AUS EINEM VERTRAG, EINER UNERLAUBTEN HANDLUNG ODER ANDERWEITIG,
+DER SICH AUS, IN ODER IN VERBINDUNG MIT DER SOFTWARE ODER DER VERWENDUNG ODER ANDEREN GESCHÄFTEN IN
+DER SOFTWARE ERGIBT.
+ """
+
+ mit_license_path = os.path.join(local_path, 'LICENSE')
+ mit_license_text = mit_license_text_english if language == 'english' else mit_license_text_german
+ with open(mit_license_path, 'w') as f:
+ f.write(mit_license_text.strip())
+
+def upload_to_gitea(repo_url, token, local_path, repo_name):
+ headers = {
+ 'Authorization': f'token {token}',
+ 'Content-Type': 'application/json',
+ }
+
+ if not repository_exists(repo_url, token, repo_name):
+ print("Repository does not exist. Creating...")
+ if not create_repository(repo_url, token, repo_name):
+ print("Repository creation failed. Aborting upload.")
+ return
+
+ if not os.path.exists(os.path.join(local_path, '.git')):
+ subprocess.run(["git", "config", "--global", "user.email", "E-Mail Adresse"])
+ subprocess.run(["git", "config", "--global", "user.name", "Name"])
+ subprocess.run(["git", "init"], cwd=local_path)
+ subprocess.run(["git", "checkout", "-b", "main"], cwd=local_path)
+
+ subprocess.run(["git", "add", "."], cwd=local_path)
+ subprocess.run(["git", "commit", "-m", "Add MIT License"], cwd=local_path)
+
+ remote_exists = subprocess.run(["git", "remote", "get-url", "origin"], stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=local_path)
+ if remote_exists.returncode != 0:
+ subprocess.run(["git", "remote", "add", "origin", f"https://example.com/Name/{repo_name}.git"], cwd=local_path)
+
+ subprocess.run(["git", "push", "-u", "origin", "main"], cwd=local_path)
+
+if __name__ == "__main__":
+ repo_url = 'Gitea URL'
+ token = 'token'
+ local_path = r'local Pfad'
+ repo_name = 'Name'
+
+ #add_mit_license(local_path, language='english') # MIT License in English
+ add_mit_license(local_path, language='german') # MIT License in German
+
+ upload_to_gitea(repo_url, token, local_path, repo_name)