diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8aa41fb24c576c9ba6f52eb64d9c203242698134..b4c1168d76ffec6481549645b67dfd9b0ddc7737 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,12 @@
 # IPtProxy Changelog
 
+## 1.5.1
+- Update Snowflake to latest main. Contains a crash fix.
+- Added `IsSnowflakeProxyRunning` method to easily check,
+  if the Snowflake Proxy is running.
+- Exposed `IsPortAvailable` so consumers don't need to 
+  implement this themselves, if they happen to do something similar.
+
 ## 1.5.0
 - Updated Obfs4proxy to latest version 0.0.13.
 - Updated Snowflake to latest version 2.1.0.
diff --git a/IPtProxy-sources.jar b/IPtProxy-sources.jar
index fcbad6de6016e254f4a5af1ac44deb343cd0d1eb..71bd85eff20f0e009c11cb8c2b9217ebd6447382 100644
Binary files a/IPtProxy-sources.jar and b/IPtProxy-sources.jar differ
diff --git a/IPtProxy.aar b/IPtProxy.aar
index 44920e26671062ef8545d407c2016080730b0d98..759c224dfce678b50f63aac22489c99241840676 100644
Binary files a/IPtProxy.aar and b/IPtProxy.aar differ
diff --git a/IPtProxy.podspec b/IPtProxy.podspec
index 3e6f1037cb2f51509b71ef240b24a28a4f5287c5..bbae02ae57b12421556da38cc9db5b4236d6a650 100644
--- a/IPtProxy.podspec
+++ b/IPtProxy.podspec
@@ -8,7 +8,7 @@
 
 Pod::Spec.new do |s|
   s.name             = 'IPtProxy'
-  s.version          = '1.5.0'
+  s.version          = '1.5.1'
   s.summary          = 'Obfs4proxy and Snowflake Pluggable Transports for iOS'
 
   s.description      = <<-DESC
diff --git a/IPtProxy.xcframework/ios-arm64/IPtProxy.framework/Versions/A/Headers/IPtProxy.objc.h b/IPtProxy.xcframework/ios-arm64/IPtProxy.framework/Versions/A/Headers/IPtProxy.objc.h
index 7cebb9b64cded6bffd4a61d0b48d3e0f45685f93..959ed50e93b3abb73083dad2fe90c4a8d59b07ee 100644
--- a/IPtProxy.xcframework/ios-arm64/IPtProxy.framework/Versions/A/Headers/IPtProxy.objc.h
+++ b/IPtProxy.xcframework/ios-arm64/IPtProxy.framework/Versions/A/Headers/IPtProxy.objc.h
@@ -27,6 +27,18 @@
 
 @end
 
+/**
+ * IsPortAvailable - Checks to see if a given port is not in use.
+
+@param port The port to check.
+ */
+FOUNDATION_EXPORT BOOL IPtProxyIsPortAvailable(long port);
+
+/**
+ * IsSnowflakeProxyRunning - Checks to see if a snowflake proxy is running in your app.
+ */
+FOUNDATION_EXPORT BOOL IPtProxyIsSnowflakeProxyRunning(void);
+
 /**
  * MeekPort - Port where Obfs4proxy will provide its Meek service.
 Only use this after calling StartObfs4Proxy! It might have changed after that!
diff --git a/IPtProxy.xcframework/ios-arm64/IPtProxy.framework/Versions/A/IPtProxy b/IPtProxy.xcframework/ios-arm64/IPtProxy.framework/Versions/A/IPtProxy
index d88eaf73500871f178a733f571b3367132f39bb5..e0101330731a16f12e2d97b50e0e5f824e7d2d19 100644
Binary files a/IPtProxy.xcframework/ios-arm64/IPtProxy.framework/Versions/A/IPtProxy and b/IPtProxy.xcframework/ios-arm64/IPtProxy.framework/Versions/A/IPtProxy differ
diff --git a/IPtProxy.xcframework/ios-arm64_x86_64-simulator/IPtProxy.framework/Versions/A/Headers/IPtProxy.objc.h b/IPtProxy.xcframework/ios-arm64_x86_64-simulator/IPtProxy.framework/Versions/A/Headers/IPtProxy.objc.h
index 7cebb9b64cded6bffd4a61d0b48d3e0f45685f93..959ed50e93b3abb73083dad2fe90c4a8d59b07ee 100644
--- a/IPtProxy.xcframework/ios-arm64_x86_64-simulator/IPtProxy.framework/Versions/A/Headers/IPtProxy.objc.h
+++ b/IPtProxy.xcframework/ios-arm64_x86_64-simulator/IPtProxy.framework/Versions/A/Headers/IPtProxy.objc.h
@@ -27,6 +27,18 @@
 
 @end
 
+/**
+ * IsPortAvailable - Checks to see if a given port is not in use.
+
+@param port The port to check.
+ */
+FOUNDATION_EXPORT BOOL IPtProxyIsPortAvailable(long port);
+
+/**
+ * IsSnowflakeProxyRunning - Checks to see if a snowflake proxy is running in your app.
+ */
+FOUNDATION_EXPORT BOOL IPtProxyIsSnowflakeProxyRunning(void);
+
 /**
  * MeekPort - Port where Obfs4proxy will provide its Meek service.
 Only use this after calling StartObfs4Proxy! It might have changed after that!
diff --git a/IPtProxy.xcframework/ios-arm64_x86_64-simulator/IPtProxy.framework/Versions/A/IPtProxy b/IPtProxy.xcframework/ios-arm64_x86_64-simulator/IPtProxy.framework/Versions/A/IPtProxy
index ce7dbd2ff274628260fcdf6e05636ae6eaf01e18..ed0d2645fd9d837ec5beb462515f5f2feed2ba6d 100644
Binary files a/IPtProxy.xcframework/ios-arm64_x86_64-simulator/IPtProxy.framework/Versions/A/IPtProxy and b/IPtProxy.xcframework/ios-arm64_x86_64-simulator/IPtProxy.framework/Versions/A/IPtProxy differ
diff --git a/README.md b/README.md
index 767b4c8999e6af179dd40b9de86ced1879102192..66802a3c11da45fa7cbe504fd61bed159eb3b6df 100644
--- a/README.md
+++ b/README.md
@@ -64,7 +64,7 @@ IPtProxy is available through [JitPack](https://jitpack.io). To install
 it, simply add the following line to your `build.gradle` file:
 
 ```groovy
-implementation 'com.github.tladesignz:IPtProxy:1.5.0'
+implementation 'com.github.tladesignz:IPtProxy:1.5.1'
 ```
 
 And this to your root `build.gradle` at the end of repositories:
diff --git a/jitpack.yml b/jitpack.yml
index b04b7d6e30ff30268a2a920b3f79eb85ebecac96..8bcc99b108b118e4d2a88e4ea60a91e6d57176fb 100644
--- a/jitpack.yml
+++ b/jitpack.yml
@@ -1,3 +1,3 @@
 install:
   - FILE="-Dfile=IPtProxy.aar"
-  - mvn install:install-file $FILE -DgroupId=com.github.tladesignz -DartifactId=IPtProxy -Dversion=1.5.0 -Dpackaging=aar -DgeneratePom=true -Dsources=IPtProxy-sources.jar
+  - mvn install:install-file $FILE -DgroupId=com.github.tladesignz -DartifactId=IPtProxy -Dversion=1.5.1 -Dpackaging=aar -DgeneratePom=true -Dsources=IPtProxy-sources.jar
diff --git a/pom.xml b/pom.xml
index 387cc552c2bafc46cb36829063557370b1af802d..40acb93998b2348c7edd0da1fc9456f9eadb5c2e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,5 +5,5 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.github.tladesignz</groupId>
   <artifactId>IPtProxy</artifactId>
-  <version>1.5.0</version>
+  <version>1.5.1</version>
 </project>