Class IpFilterImpl

  • All Implemented Interfaces:
    IpFilter

    public class IpFilterImpl
    extends java.lang.Object
    implements IpFilter
    • Constructor Detail

      • IpFilterImpl

        private IpFilterImpl()
    • Method Detail

      • getInstance

        public static IpFilter getInstance()
      • getFile

        public java.io.File getFile()
        Specified by:
        getFile in interface IpFilter
      • reload

        public void reload()
                    throws java.lang.Exception
        Specified by:
        reload in interface IpFilter
        Throws:
        java.lang.Exception
      • reloadSync

        public void reloadSync()
                        throws java.lang.Exception
        Specified by:
        reloadSync in interface IpFilter
        Throws:
        java.lang.Exception
      • reload

        public void reload​(boolean allowAsyncDownloading)
                    throws java.lang.Exception
        Throws:
        java.lang.Exception
      • save

        public void save()
                  throws java.lang.Exception
        Specified by:
        save in interface IpFilter
        Throws:
        java.lang.Exception
      • loadFilters

        private void loadFilters​(boolean allowAsyncDownloading,
                                 boolean loadOldWhileAsyncDownloading)
                          throws java.lang.Exception
        Throws:
        java.lang.Exception
      • isInRange

        public boolean isInRange​(java.lang.String ipAddress)
        Specified by:
        isInRange in interface IpFilter
      • isInRange

        public boolean isInRange​(java.lang.String ipAddress,
                                 java.lang.String torrent_name,
                                 byte[] torrent_hash)
        Specified by:
        isInRange in interface IpFilter
      • isInRange

        public boolean isInRange​(java.lang.String ipAddress,
                                 java.lang.String torrent_name,
                                 byte[] torrent_hash,
                                 boolean loggable)
        Specified by:
        isInRange in interface IpFilter
      • isInRange

        public boolean isInRange​(java.net.InetAddress ipAddress,
                                 java.lang.String torrent_name,
                                 byte[] torrent_hash,
                                 boolean loggable)
        Specified by:
        isInRange in interface IpFilter
      • checkExternalHandlers

        protected IpRange checkExternalHandlers​(byte[] torrent_hash,
                                                java.lang.String address)
      • checkExternalHandlers

        protected IpRange checkExternalHandlers​(byte[] torrent_hash,
                                                java.net.InetAddress address)
      • addBlockedIP

        private boolean addBlockedIP​(BlockedIp ip,
                                     byte[] torrent_hash,
                                     boolean loggable)
      • createRange

        public IpRange createRange​(int addressType,
                                   boolean sessionOnly)
        Specified by:
        createRange in interface IpFilter
      • setValidOrNot

        protected void setValidOrNot​(IpRange range,
                                     boolean valid)
      • ban

        public boolean ban​(java.lang.String ipAddress,
                           java.lang.String torrent_name,
                           boolean manual)
        Specified by:
        ban in interface IpFilter
      • addExcludedHash

        public void addExcludedHash​(byte[] hash)
        Specified by:
        addExcludedHash in interface IpFilter
      • isEnabled

        public boolean isEnabled()
        Specified by:
        isEnabled in interface IpFilter
      • setEnabled

        public void setEnabled​(boolean enabled)
        Specified by:
        setEnabled in interface IpFilter
      • markAsUpToDate

        protected void markAsUpToDate()
      • banListChanged

        protected void banListChanged()
      • ban

        public boolean ban​(java.lang.String ipAddress,
                           java.lang.String torrent_name,
                           boolean manual,
                           int for_mins)
        Specified by:
        ban in interface IpFilter
      • unban

        public void unban​(java.lang.String ipAddress)
        Specified by:
        unban in interface IpFilter
      • unban

        public void unban​(java.lang.String ipAddress,
                          boolean block)
        Specified by:
        unban in interface IpFilter