Compiled from "PlatformInterface.java"
public interface io.nekohasekai.libbox.PlatformInterface {
  public abstract void autoDetectInterfaceControl(int) throws java.lang.Exception;
  public abstract void cancelNotification(java.lang.String, int) throws java.lang.Exception;
  public abstract void checkPlatformShell() throws java.lang.Exception;
  public abstract void clearDNSCache();
  public abstract void closeDefaultInterfaceMonitor(io.nekohasekai.libbox.InterfaceUpdateListener) throws java.lang.Exception;
  public abstract void closeNeighborMonitor(io.nekohasekai.libbox.NeighborUpdateListener) throws java.lang.Exception;
  public abstract io.nekohasekai.libbox.BridgeSession createBridge(io.nekohasekai.libbox.BridgeOptions) throws java.lang.Exception;
  public abstract io.nekohasekai.libbox.ConnectionOwner findConnectionOwner(int, java.lang.String, int, java.lang.String, int) throws java.lang.Exception;
  public abstract io.nekohasekai.libbox.NetworkInterfaceIterator getInterfaces() throws java.lang.Exception;
  public abstract boolean includeAllNetworks();
  public abstract io.nekohasekai.libbox.LocalDNSTransport localDNSTransport();
  public abstract java.lang.String lookupSFTPServer() throws java.lang.Exception;
  public abstract io.nekohasekai.libbox.PlatformUser lookupUser(java.lang.String) throws java.lang.Exception;
  public abstract io.nekohasekai.libbox.ShellSession openShellSession(io.nekohasekai.libbox.PlatformUser, java.lang.String, io.nekohasekai.libbox.StringIterator, java.lang.String, int, int) throws java.lang.Exception;
  public abstract int openTun(io.nekohasekai.libbox.TunOptions) throws java.lang.Exception;
  public abstract java.lang.String readSystemSSHHostKey() throws java.lang.Exception;
  public abstract io.nekohasekai.libbox.WIFIState readWIFIState();
  public abstract void registerMyInterface(java.lang.String);
  public abstract void sendNotification(io.nekohasekai.libbox.Notification) throws java.lang.Exception;
  public abstract void startDefaultInterfaceMonitor(io.nekohasekai.libbox.InterfaceUpdateListener) throws java.lang.Exception;
  public abstract void startNeighborMonitor(io.nekohasekai.libbox.NeighborUpdateListener) throws java.lang.Exception;
  public abstract java.lang.String tailscaleHostname();
  public abstract boolean underNetworkExtension();
  public abstract boolean usePlatformAutoDetectInterfaceControl();
  public abstract boolean usePlatformBridge();
  public abstract boolean usePlatformShell();
}
Compiled from "CommandServerHandler.java"
public interface io.nekohasekai.libbox.CommandServerHandler {
  public abstract int connectSSHAgent() throws java.lang.Exception;
  public abstract io.nekohasekai.libbox.SystemProxyStatus getSystemProxyStatus() throws java.lang.Exception;
  public abstract void serviceReload() throws java.lang.Exception;
  public abstract void serviceStop() throws java.lang.Exception;
  public abstract void setSystemProxyEnabled(boolean) throws java.lang.Exception;
  public abstract void triggerNativeCrash() throws java.lang.Exception;
  public abstract void writeDebugMessage(java.lang.String);
}
Compiled from "CommandServer.java"
public final class io.nekohasekai.libbox.CommandServer implements go.Seq$Proxy {
  public final int refnum;
  public final int incRefnum();
  public io.nekohasekai.libbox.CommandServer(io.nekohasekai.libbox.CommandServerHandler, io.nekohasekai.libbox.PlatformInterface);
  io.nekohasekai.libbox.CommandServer(int);
  public native void cancelNotification(java.lang.String, int) throws java.lang.Exception;
  public native void close();
  public native void closeService() throws java.lang.Exception;
  public native boolean needFindProcess();
  public native boolean needWIFIState();
  public native void pause();
  public native void recordScreenState(boolean);
  public native void resetNetwork();
  public native void setError(java.lang.String);
  public native void start() throws java.lang.Exception;
  public native void startOrReloadService(java.lang.String, io.nekohasekai.libbox.OverrideOptions) throws java.lang.Exception;
  public native void updateWIFIState();
  public native void wake();
  public native void wakeNow();
  public native void writeMessage(int, java.lang.String);
  public boolean equals(java.lang.Object);
  public int hashCode();
  public java.lang.String toString();
  static {};
}
Compiled from "TunOptions.java"
public interface io.nekohasekai.libbox.TunOptions {
  public abstract boolean getAutoRoute();
  public abstract io.nekohasekai.libbox.StringBox getDNSMode();
  public abstract io.nekohasekai.libbox.StringIterator getDNSServerAddress() throws java.lang.Exception;
  public abstract io.nekohasekai.libbox.StringIterator getExcludePackage();
  public abstract io.nekohasekai.libbox.StringIterator getHTTPProxyBypassDomain();
  public abstract io.nekohasekai.libbox.StringIterator getHTTPProxyMatchDomain();
  public abstract java.lang.String getHTTPProxyServer();
  public abstract int getHTTPProxyServerPort();
  public abstract io.nekohasekai.libbox.StringIterator getIncludePackage();
  public abstract io.nekohasekai.libbox.RoutePrefixIterator getInet4Address();
  public abstract io.nekohasekai.libbox.RoutePrefixIterator getInet4RouteAddress();
  public abstract io.nekohasekai.libbox.RoutePrefixIterator getInet4RouteExcludeAddress();
  public abstract io.nekohasekai.libbox.RoutePrefixIterator getInet4RouteRange();
  public abstract io.nekohasekai.libbox.RoutePrefixIterator getInet6Address();
  public abstract io.nekohasekai.libbox.RoutePrefixIterator getInet6RouteAddress();
  public abstract io.nekohasekai.libbox.RoutePrefixIterator getInet6RouteExcludeAddress();
  public abstract io.nekohasekai.libbox.RoutePrefixIterator getInet6RouteRange();
  public abstract int getMTU();
  public abstract boolean getStrictRoute();
  public abstract boolean isHTTPProxyEnabled();
}
Compiled from "Libbox.java"
public abstract class io.nekohasekai.libbox.Libbox {
  public static final int CommandClashMode;
  public static final int CommandConnections;
  public static final int CommandGroup;
  public static final int CommandLog;
  public static final int CommandOutbounds;
  public static final int CommandStatus;
  public static final long ConnectionEventClosed;
  public static final long ConnectionEventNew;
  public static final long ConnectionEventUpdate;
  public static final long ConnectionStateActive;
  public static final long ConnectionStateAll;
  public static final long ConnectionStateClosed;
  public static final java.lang.String DNSModeDisabled;
  public static final java.lang.String DNSModeHijack;
  public static final java.lang.String DNSModeNative;
  public static final int InterfaceTypeCellular;
  public static final int InterfaceTypeEthernet;
  public static final int InterfaceTypeOther;
  public static final int InterfaceTypeWIFI;
  public static final long MessageTypeError;
  public static final long MessageTypeProfileContent;
  public static final long MessageTypeProfileContentRequest;
  public static final long MessageTypeProfileList;
  public static final int NATFilteringAddressAndPortDependent;
  public static final int NATFilteringAddressDependent;
  public static final int NATFilteringEndpointIndependent;
  public static final int NATMappingAddressAndPortDependent;
  public static final int NATMappingAddressDependent;
  public static final int NATMappingEndpointIndependent;
  public static final int NetworkQualityAccuracyHigh;
  public static final int NetworkQualityAccuracyLow;
  public static final int NetworkQualityAccuracyMedium;
  public static final java.lang.String NetworkQualityDefaultConfigURL;
  public static final int NetworkQualityDefaultMaxRuntimeSeconds;
  public static final int NetworkQualityPhaseDone;
  public static final int NetworkQualityPhaseDownload;
  public static final int NetworkQualityPhaseIdle;
  public static final int NetworkQualityPhaseUpload;
  public static final int ProfileTypeLocal;
  public static final int ProfileTypeRemote;
  public static final int ProfileTypeiCloud;
  public static final java.lang.String STUNDefaultServer;
  public static final int STUNPhaseBinding;
  public static final int STUNPhaseDone;
  public static final int STUNPhaseNATFiltering;
  public static final int STUNPhaseNATMapping;
  public static final long TaildropChunkSize;
  public static final int USBBackendDarwinIOKit;
  public static final int USBBackendDynamic;
  public static final int USBBackendLinuxSysfs;
  public static final int USBBackendUnspecified;
  public static final int USBBackendWindowsVBoxUSB;
  public static final int USBDeviceStateAttached;
  public static final int USBDeviceStateIdle;
  public static final int USBDeviceStateUnavailable;
  public static void touch();
  public static native int availablePort(int) throws java.lang.Exception;
  public static native void checkConfig(java.lang.String) throws java.lang.Exception;
  public static native io.nekohasekai.libbox.FDroidUpdateInfo checkFDroidUpdate(java.lang.String, java.lang.String, int, java.lang.String) throws java.lang.Exception;
  public static native boolean compareSemver(java.lang.String, java.lang.String);
  public static native void createZipArchive(java.lang.String, java.lang.String, boolean) throws java.lang.Exception;
  public static native io.nekohasekai.libbox.ErrorMessage decodeErrorMessage(byte[]) throws java.lang.Exception;
  public static native int decodeLengthChunk(byte[]);
  public static native io.nekohasekai.libbox.ProfileContent decodeProfileContent(byte[]) throws java.lang.Exception;
  public static native io.nekohasekai.libbox.ProfileContentRequest decodeProfileContentRequest(byte[]) throws java.lang.Exception;
  public static native void discardPowerReportDraft();
  public static native byte[] encodeChunkedMessage(byte[]);
  public static native io.nekohasekai.libbox.ConnectionOwner findConnectionOwner(int, java.lang.String, int, java.lang.String, int) throws java.lang.Exception;
  public static native java.lang.String formatBitrate(long);
  public static native java.lang.String formatBytes(long);
  public static native io.nekohasekai.libbox.StringBox formatConfig(java.lang.String) throws java.lang.Exception;
  public static native java.lang.String formatDuration(long);
  public static native java.lang.String formatFQDN(java.lang.String);
  public static native java.lang.String formatMemoryBytes(long);
  public static native java.lang.String formatNATFiltering(int);
  public static native java.lang.String formatNATMapping(int);
  public static native io.nekohasekai.libbox.StringBox generateConfigSchema() throws java.lang.Exception;
  public static native java.lang.String generateRemoteProfileImportLink(java.lang.String, java.lang.String);
  public static native io.nekohasekai.libbox.FDroidMirrorIterator getFDroidMirrors();
  public static native java.lang.String goVersion();
  public static native java.lang.String goroutineDump();
  public static native boolean hasTunInbound(java.lang.String) throws java.lang.Exception;
  public static native io.nekohasekai.libbox.BridgeSession newBridgeService(io.nekohasekai.libbox.BridgeOptions) throws java.lang.Exception;
  public static native io.nekohasekai.libbox.CommandClient newCommandClient(io.nekohasekai.libbox.CommandClientHandler, io.nekohasekai.libbox.CommandClientOptions);
  public static native io.nekohasekai.libbox.CommandServer newCommandServer(io.nekohasekai.libbox.CommandServerHandler, io.nekohasekai.libbox.PlatformInterface) throws java.lang.Exception;
  public static native io.nekohasekai.libbox.Connections newConnections();
  public static native io.nekohasekai.libbox.HTTPClient newHTTPClient();
  public static native io.nekohasekai.libbox.NetworkQualityTest newNetworkQualityTest();
  public static native io.nekohasekai.libbox.OpenConnectAuthResponse newOpenConnectAuthFormResponse(io.nekohasekai.libbox.OpenConnectFormValues);
  public static native io.nekohasekai.libbox.OpenConnectAuthResponse newOpenConnectBrowserAuthResponse(io.nekohasekai.libbox.OpenConnectBrowserResult);
  public static native io.nekohasekai.libbox.OpenConnectBrowserResult newOpenConnectBrowserResult(java.lang.String);
  public static native io.nekohasekai.libbox.OpenConnectFormValues newOpenConnectFormValues();
  public static native io.nekohasekai.libbox.PProfServer newPProfServer(long);
  public static native io.nekohasekai.libbox.CommandClient newRemoteCommandClient(io.nekohasekai.libbox.CommandClientHandler, io.nekohasekai.libbox.CommandClientOptions, io.nekohasekai.libbox.RemoteConnectionOptions) throws java.lang.Exception;
  public static native io.nekohasekai.libbox.STUNTest newSTUNTest();
  public static native io.nekohasekai.libbox.CommandClient newStandaloneCommandClient();
  public static native io.nekohasekai.libbox.CommandClient newStandaloneRemoteCommandClient(io.nekohasekai.libbox.RemoteConnectionOptions) throws java.lang.Exception;
  public static native io.nekohasekai.libbox.TaildropSendOptions newTaildropSendOptions();
  public static native io.nekohasekai.libbox.USBDeviceDescriptor newUSBDeviceDescriptor(java.lang.String, java.lang.String);
  public static native io.nekohasekai.libbox.USBURBResponse newUSBURBResponse(java.lang.String, long);
  public static native io.nekohasekai.libbox.WIFIState newWIFIState(java.lang.String, java.lang.String);
  public static native io.nekohasekai.libbox.ShellSession openNativePipeSession(java.lang.String, java.lang.String, io.nekohasekai.libbox.StringIterator, io.nekohasekai.libbox.StringIterator, int, int, io.nekohasekai.libbox.Int32Iterator) throws java.lang.Exception;
  public static native io.nekohasekai.libbox.ShellSession openNativeShellSession(java.lang.String, java.lang.String, io.nekohasekai.libbox.StringIterator, io.nekohasekai.libbox.StringIterator, java.lang.String, int, int, int, int, io.nekohasekai.libbox.Int32Iterator) throws java.lang.Exception;
  public static native io.nekohasekai.libbox.ImportRemoteProfile parseRemoteProfileImportLink(java.lang.String) throws java.lang.Exception;
  public static native io.nekohasekai.libbox.FDroidPingResult pingFDroidMirror(java.lang.String);
  public static native io.nekohasekai.libbox.FDroidPingResultIterator pingFDroidMirrors(java.lang.String) throws java.lang.Exception;
  public static native void prepareCrashSignalHandlers();
  public static native void promoteOOMDraft();
  public static native void promoteOOMDraftAt(java.lang.String);
  public static native java.lang.String proxyDisplayType(java.lang.String);
  public static native io.nekohasekai.libbox.StringBox randomHex(int);
  public static native io.nekohasekai.libbox.AndroidVPNType readAndroidVPNType(io.nekohasekai.libbox.StringIterator) throws java.lang.Exception;
  public static native void reinstallCrashSignalHandlers();
  public static native void reloadSetupOptions(io.nekohasekai.libbox.SetupOptions);
  public static native void setLocale(java.lang.String) throws java.lang.Exception;
  public static native void setXPCDialer(io.nekohasekai.libbox.XPCDialer);
  public static native void setup(io.nekohasekai.libbox.SetupOptions) throws java.lang.Exception;
  public static native io.nekohasekai.libbox.NeighborSubscription subscribeNeighborTable(io.nekohasekai.libbox.NeighborUpdateListener) throws java.lang.Exception;
  public static native void triggerGoHang(int);
  public static native void triggerGoPanic();
  public static native java.lang.String version();
  static {};
}
