diff --git a/.htaccess b/.htaccess
new file mode 100644
index 0000000..6c795ea
--- /dev/null
+++ b/.htaccess
@@ -0,0 +1,9 @@
+# BEGIN YOURLS
+
+RewriteEngine On
+RewriteBase /
+RewriteCond %{REQUEST_FILENAME} !-f
+RewriteCond %{REQUEST_FILENAME} !-d
+RewriteRule ^.*$ /yourls-loader.php [L]
+
+# END YOURLS
diff --git a/.user.ini b/.user.ini
new file mode 100644
index 0000000..1493fe9
--- /dev/null
+++ b/.user.ini
@@ -0,0 +1,3 @@
+open_basedir=/www/wwwroot/sop.wtf/:/tmp/:/proc/:/www/php_session/sop.wtf/
+session.save_path=/www/php_session/sop.wtf/
+session.save_handler = files
\ No newline at end of file
diff --git a/api.php b/api.php
new file mode 100644
index 0000000..d7dd61f
--- /dev/null
+++ b/api.php
@@ -0,0 +1,13 @@
+
+
+
+
+ recaptchaV3SecretKey, 'response' => $token)));
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
+ $response = curl_exec($ch);
+ curl_close($ch);
+ $arrResponse = json_decode($response, true);
+
+ // verify the response
+ if($arrResponse["success"] == '1' && $arrResponse["action"] == $action && $arrResponse["score"] >= 0.5) {
+ // reCAPTCHA succeeded
+ shorten();
+ } else {
+ // reCAPTCHA failed
+ $message = "reCAPTCHA failed";
+ }
+ } else {
+ // Don't use reCAPTCHA
+ shorten();
+ }
+ }
+
+ function shorten() {
+ // Get parameters -- they will all be sanitized in yourls_add_new_link()
+ $url = $_REQUEST['url'];
+ $keyword = isset( $_REQUEST['keyword'] ) ? $_REQUEST['keyword'] : '' ;
+ $title = isset( $_REQUEST['title'] ) ? $_REQUEST['title'] : '' ;
+ $text = isset( $_REQUEST['text'] ) ? $_REQUEST['text'] : '' ;
+
+ // Create short URL, receive array $return with various information
+ $return = yourls_add_new_link( $url, $keyword, $title );
+
+ // Make visible to UI
+ global $shorturl, $message, $status, $title;
+
+ $shorturl = isset( $return['shorturl'] ) ? $return['shorturl'] : '';
+ $message = isset( $return['message'] ) ? $return['message'] : '';
+ $title = isset( $return['title'] ) ? $return['title'] : '';
+ $status = isset( $return['status'] ) ? $return['status'] : '';
+
+ // Stop here if bookmarklet with a JSON callback function ("instant" bookmarklets)
+ if( isset( $_GET['jsonp'] ) && $_GET['jsonp'] == 'yourls' ) {
+ $short = $return['shorturl'] ? $return['shorturl'] : '';
+ $message = "Short URL (Ctrl+C to copy)";
+ header('Content-type: application/json');
+ echo yourls_apply_filter( 'bookmarklet_jsonp', "yourls_callback({'short_url':'$short','message':'$message'});" );
+ die();
+ }
+ }
+?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Your shortened link
+
+
+
+
+
+
+
+
QR Code & See Link Preview ~
+
+
+
+
+
+
+
+
+
+
+
+
+ Oh no, !
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+