diff --git a/src/main/java/com/rarchives/ripme/utils/Utils.java b/src/main/java/com/rarchives/ripme/utils/Utils.java index 7a34e6e3..e9458223 100644 --- a/src/main/java/com/rarchives/ripme/utils/Utils.java +++ b/src/main/java/com/rarchives/ripme/utils/Utils.java @@ -164,7 +164,29 @@ public class Utils { + File.separator + "Library" + File.separator + "Application Support" + File.separator + "ripme"; } + private static boolean portableMode() { + try { + File f = new File(new File(".").getCanonicalPath() + File.separator + configFile); + if(f.exists() && !f.isDirectory()) { + return true; + } + } catch (IOException e) { + return false; + } + return false; + } + + public static String getConfigDir() { + if (portableMode()) { + logger.info("Running in portable mode"); + try { + return new File(".").getCanonicalPath(); + } catch (Exception e) { + return "."; + } + } + if (isWindows()) return getWindowsConfigDir(); if (isMacOS()) return getMacOSConfigDir(); if (isUnix()) return getUnixConfigDir();