1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Serposcope 2 : new free and open source rank tracker

Discussion in 'Black Hat SEO Tools' started by pierz, Jan 5, 2016.

  1. pierz

    pierz Registered Member

    Joined:
    Nov 9, 2009
    Messages:
    58
    Likes Received:
    64
    Location:
    France
    Home Page:
    Today I release the version 2 of serposcope, a free and open-source rank checker.

    rank-checker-overview.jpg competitor-tracking.jpg keyword-ranking-changes.jpg keyword-positions-website.jpg

    Here is a short list of the main features :

    - Open Source
    - Unlimited keywords and websites
    - Competitor tracking
    - Local & mobile & custom search
    - User account management
    - Proxy and Captcha support
    - Run on a desktop PC or a server
    - Support Windows/Mac OSX/Linux

    You can download it on https://serposcope.serphacker.com/en/ or get the source on the github repo.

    I'm waiting for your feedback or available if you need assistance :D

    FYI I introduced the v1 on blackhatworld more than 2 years ago.
     
    • Thanks Thanks x 12
  2. izuuu

    izuuu Newbie

    Joined:
    Jan 6, 2016
    Messages:
    7
    Likes Received:
    0
    looks like a usefull tool
     
  3. McPatrick

    McPatrick Regular Member

    Joined:
    Feb 1, 2015
    Messages:
    244
    Likes Received:
    103
    Gender:
    Male
    Occupation:
    Problem-solver
    Location:
    London
    Home Page:
    Looks nice, are you making it as a hobby or more serious project?
     
  4. Florent1933

    Florent1933 Newbie

    Joined:
    Nov 23, 2010
    Messages:
    35
    Likes Received:
    30
    Cocoricooooo !!! :) A wonderfull tool from the most wonderfull country ;-)

    I am using it for a couple of days and it will probably replace my AWR I was using until now.

    Thanks for the good job !!!
     
  5. XxUnivaxX

    XxUnivaxX Jr. VIP Jr. VIP

    Joined:
    Jan 15, 2013
    Messages:
    2,607
    Likes Received:
    1,274
    Gender:
    Male
    Location:
    Basement
  6. mortarboyz

    mortarboyz Newbie

    Joined:
    Nov 9, 2015
    Messages:
    28
    Likes Received:
    7
    I've been waiting free rank tracker tool so long.
    I will try it soon.
    Thanks
     
  7. johnnyfontaine

    johnnyfontaine Newbie

    Joined:
    Jan 6, 2016
    Messages:
    1
    Likes Received:
    0
    Hey. I've just installed it, configured and started running my first search. Everything works great so far. I also like the Bootstrap UI - keep up the good work! Thanks!
     
  8. sammylove

    sammylove Newbie

    Joined:
    Dec 7, 2015
    Messages:
    4
    Likes Received:
    0
    Home Page:
    Thanks for the free tool but it does not support free blog sites such as blogger/blogspot; and https sites. Hoping to see these in the next updates
     
  9. pierz

    pierz Registered Member

    Joined:
    Nov 9, 2009
    Messages:
    58
    Likes Received:
    64
    Location:
    France
    Home Page:
    No sammylove, it supports any website, you can track a domain, all subdomains of a domain, a specific URL and even a regular expression pattern so there is no limit in target tracking. It detects any protocol too so if the website is ranked using http:// or https:// or even ftp:// serposcope will find it. I answered the posts you created on https://forum.serphacker.com/
     
    Last edited: Jan 11, 2016
  10. Burzelchen

    Burzelchen Newbie

    Joined:
    Jan 3, 2015
    Messages:
    1
    Likes Received:
    0
    Thanks for this tool :)
    Already installed on a linux machine.
     
  11. widdows9000

    widdows9000 Junior Member

    Joined:
    Nov 15, 2013
    Messages:
    166
    Likes Received:
    68
    Occupation:
    Full Time Idiot
    Location:
    Your Imagination
    The Java JAR file "serposcope-2.0.0.jar" could not be launched. I got this error message on OS X 10.11.3 (15D13b). Checked the support page no answer to this. What might be the problem?

    Thanks
     
  12. pierz

    pierz Registered Member

    Joined:
    Nov 9, 2009
    Messages:
    58
    Likes Received:
    64
    Location:
    France
    Home Page:
    it requires Java 1.8, check you have java 1.8 on your system. https://serposcope.serphacker.com/en/doc/install.html#install-jar
     
  13. widdows9000

    widdows9000 Junior Member

    Joined:
    Nov 15, 2013
    Messages:
    166
    Likes Received:
    68
    Occupation:
    Full Time Idiot
    Location:
    Your Imagination
  14. auraita

    auraita Regular Member

    Joined:
    Dec 30, 2013
    Messages:
    283
    Likes Received:
    280
    it's a useful share! thank you, i wasn't expecting that.
     
  15. kacloud24

    kacloud24 Newbie

    Joined:
    Mar 21, 2014
    Messages:
    23
    Likes Received:
    1
    hard to install on your own web server/....
     
  16. umerjutt00

    umerjutt00 Jr. VIP Jr. VIP

    Joined:
    Oct 28, 2011
    Messages:
    3,910
    Likes Received:
    2,170
    Occupation:
    Ninja
  17. unit3k

    unit3k Registered Member

    Joined:
    May 12, 2012
    Messages:
    51
    Likes Received:
    19
    Awesome, keep it up!
     
  18. berkay1907

    berkay1907 Senior Member

    Joined:
    Mar 25, 2012
    Messages:
    1,128
    Likes Received:
    623
    Thanks a lot for great contribution. Btw does it have or will you add bing/yahoo tracking too?
     
  19. NawtyBoy

    NawtyBoy Junior Member

    Joined:
    Nov 13, 2015
    Messages:
    158
    Likes Received:
    28
    Gender:
    Male
    Occupation:
    Real Estate Consultant
    Location:
    Mumbai, India
    getting error, if you have any solution let me know.

    Code:
    Mac:~ Awesomeness$ java -jar serposcope.jar
    starting serposcope service
    [2016-01-26 19:49:06,854] [NinjaJetty] INFO  c.SerposcopeConf - serposcope.version          : 2.1.0
    [2016-01-26 19:49:06,856] [NinjaJetty] INFO  c.SerposcopeConf - serposcope.datadir          : /Users/Awesomeness/serposcope
    [2016-01-26 19:49:06,856] [NinjaJetty] INFO  c.SerposcopeConf - serposcope.logdir           : /Users/Awesomeness/serposcope/logs
    [2016-01-26 19:49:06,856] [NinjaJetty] INFO  c.SerposcopeConf - serposcope.db.url           : jdbc:h2:/Users/Awesomeness/serposcope/db;MODE=MySQL
    [2016-01-26 19:49:06,856] [NinjaJetty] INFO  c.SerposcopeConf - serposcope.db.debug         : false
    [2016-01-26 19:49:06,856] [NinjaJetty] INFO  c.SerposcopeConf - serposcope.listenAddress    : 0.0.0.0
    [2016-01-26 19:49:06,856] [NinjaJetty] INFO  c.SerposcopeConf - serposcope.listenPort       : 7134
    [2016-01-26 19:49:06,902] [NinjaJetty] WARN  o.e.j.s.h.ContextHandler - Empty contextPath
    [2016-01-26 19:49:06,916] [NinjaJetty] INFO  s.l.MyNinjaJetty - Trying to start jetty vnull on 0.0.0.0:7134
    [2016-01-26 19:49:07,150] [NinjaJetty] INFO  c.Module - now logging to /Users/Awesomeness/serposcope/logs/2016-01-26.log
    Can't establish connection to database
    org.h2.jdbc.JdbcSQLException: Database may be already in use: null. Possible solutions: close all other connection(s); use the server mode [90020-189]
        at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
        at org.h2.message.DbException.get(DbException.java:168)
        at org.h2.mvstore.db.MVTableEngine$Store.convertIllegalStateException(MVTableEngine.java:187)
        at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:167)
        at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:99)
        at org.h2.engine.Database.getPageStore(Database.java:2450)
        at org.h2.engine.Database.open(Database.java:672)
        at org.h2.engine.Database.openDatabase(Database.java:269)
        at org.h2.engine.Database.<init>(Database.java:263)
        at org.h2.engine.Engine.openSession(Engine.java:65)
        at org.h2.engine.Engine.openSession(Engine.java:175)
        at org.h2.engine.Engine.createSessionAndValidate(Engine.java:153)
        at org.h2.engine.Engine.createSession(Engine.java:136)
        at org.h2.engine.Engine.createSession(Engine.java:28)
        at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:349)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:107)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:91)
        at org.h2.Driver.connect(Driver.java:72)
        at java.sql.DriverManager.getConnection(DriverManager.java:664)
        at java.sql.DriverManager.getConnection(DriverManager.java:270)
        at com.serphacker.serposcope.di.db.DataSourceProvider.get(DataSourceProvider.java:40)
        at com.serphacker.serposcope.di.db.DataSourceProvider.get(DataSourceProvider.java:21)
        at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81)
        at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:53)
        at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:61)
        at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
        at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
        at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
        at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
        at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:205)
        at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:199)
        at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
        at com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:199)
        at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:180)
        at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:110)
        at com.google.inject.Guice.createInjector(Guice.java:96)
        at ninja.Bootstrap.initInjector(Bootstrap.java:204)
        at ninja.Bootstrap.boot(Bootstrap.java:94)
        at ninja.servlet.NinjaServletListener.createNinjaBootstrap(NinjaServletListener.java:131)
        at ninja.servlet.NinjaServletListener.getInjector(NinjaServletListener.java:109)
        at com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:47)
        at ninja.servlet.NinjaServletListener.contextInitialized(NinjaServletListener.java:61)
        at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:800)
        at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:444)
        at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:791)
        at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:294)
        at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
        at org.eclipse.jetty.server.Server.start(Server.java:387)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
        at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
        at org.eclipse.jetty.server.Server.doStart(Server.java:354)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at ninja.standalone.NinjaJetty.doStart(NinjaJetty.java:107)
        at ninja.standalone.AbstractStandalone.start(AbstractStandalone.java:166)
        at ninja.standalone.AbstractStandalone.run(AbstractStandalone.java:87)
        at serposcope.lifecycle.Daemon.start(Daemon.java:19)
        at serposcope.lifecycle.Daemon.main(Daemon.java:15)
    Caused by: java.lang.IllegalStateException: The file is locked: nio:/Users/Awesomeness/serposcope/db.mv.db [1.4.189/7]
        at org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:773)
        at org.h2.mvstore.FileStore.open(FileStore.java:172)
        at org.h2.mvstore.MVStore.<init>(MVStore.java:342)
        at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2884)
        at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:154)
        ... 57 more
    Mac:~ Awesomeness$ java -Dserposcope.conf=/path/to/serposcope.conf -jar serposcope.jar
    starting serposcope service
    [2016-01-26 19:53:24,144] [NinjaJetty] INFO  c.SerposcopeConf - serposcope.version          : 2.1.0
    [2016-01-26 19:53:24,146] [NinjaJetty] INFO  c.SerposcopeConf - serposcope.datadir          : /Users/Awesomeness/serposcope
    [2016-01-26 19:53:24,146] [NinjaJetty] INFO  c.SerposcopeConf - serposcope.logdir           : /Users/Awesomeness/serposcope/logs
    [2016-01-26 19:53:24,146] [NinjaJetty] INFO  c.SerposcopeConf - serposcope.db.url           : jdbc:h2:/Users/Awesomeness/serposcope/db;MODE=MySQL
    [2016-01-26 19:53:24,146] [NinjaJetty] INFO  c.SerposcopeConf - serposcope.db.debug         : false
    [2016-01-26 19:53:24,146] [NinjaJetty] INFO  c.SerposcopeConf - serposcope.listenAddress    : 0.0.0.0
    [2016-01-26 19:53:24,146] [NinjaJetty] INFO  c.SerposcopeConf - serposcope.listenPort       : 7134
    [2016-01-26 19:53:24,199] [NinjaJetty] WARN  o.e.j.s.h.ContextHandler - Empty contextPath
    [2016-01-26 19:53:24,215] [NinjaJetty] INFO  s.l.MyNinjaJetty - Trying to start jetty vnull on 0.0.0.0:7134
    [2016-01-26 19:53:24,456] [NinjaJetty] INFO  c.Module - now logging to /Users/Awesomeness/serposcope/logs/2016-01-26.log
    Can't establish connection to database
    org.h2.jdbc.JdbcSQLException: Database may be already in use: null. Possible solutions: close all other connection(s); use the server mode [90020-189]
        at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
        at org.h2.message.DbException.get(DbException.java:168)
        at org.h2.mvstore.db.MVTableEngine$Store.convertIllegalStateException(MVTableEngine.java:187)
        at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:167)
        at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:99)
        at org.h2.engine.Database.getPageStore(Database.java:2450)
        at org.h2.engine.Database.open(Database.java:672)
        at org.h2.engine.Database.openDatabase(Database.java:269)
        at org.h2.engine.Database.<init>(Database.java:263)
        at org.h2.engine.Engine.openSession(Engine.java:65)
        at org.h2.engine.Engine.openSession(Engine.java:175)
        at org.h2.engine.Engine.createSessionAndValidate(Engine.java:153)
        at org.h2.engine.Engine.createSession(Engine.java:136)
        at org.h2.engine.Engine.createSession(Engine.java:28)
        at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:349)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:107)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:91)
        at org.h2.Driver.connect(Driver.java:72)
        at java.sql.DriverManager.getConnection(DriverManager.java:664)
        at java.sql.DriverManager.getConnection(DriverManager.java:270)
        at com.serphacker.serposcope.di.db.DataSourceProvider.get(DataSourceProvider.java:40)
        at com.serphacker.serposcope.di.db.DataSourceProvider.get(DataSourceProvider.java:21)
        at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81)
        at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:53)
        at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:61)
        at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
        at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
        at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
        at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
        at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:205)
        at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:199)
        at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
        at com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:199)
        at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:180)
        at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:110)
        at com.google.inject.Guice.createInjector(Guice.java:96)
        at ninja.Bootstrap.initInjector(Bootstrap.java:204)
        at ninja.Bootstrap.boot(Bootstrap.java:94)
        at ninja.servlet.NinjaServletListener.createNinjaBootstrap(NinjaServletListener.java:131)
        at ninja.servlet.NinjaServletListener.getInjector(NinjaServletListener.java:109)
        at com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:47)
        at ninja.servlet.NinjaServletListener.contextInitialized(NinjaServletListener.java:61)
        at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:800)
        at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:444)
        at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:791)
        at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:294)
        at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
        at org.eclipse.jetty.server.Server.start(Server.java:387)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
        at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
        at org.eclipse.jetty.server.Server.doStart(Server.java:354)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at ninja.standalone.NinjaJetty.doStart(NinjaJetty.java:107)
        at ninja.standalone.AbstractStandalone.start(AbstractStandalone.java:166)
        at ninja.standalone.AbstractStandalone.run(AbstractStandalone.java:87)
        at serposcope.lifecycle.Daemon.start(Daemon.java:19)
        at serposcope.lifecycle.Daemon.main(Daemon.java:15)
    Caused by: java.lang.IllegalStateException: The file is locked: nio:/Users/Awesomeness/serposcope/db.mv.db [1.4.189/7]
        at org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:773)
        at org.h2.mvstore.FileStore.open(FileStore.java:172)
        at org.h2.mvstore.MVStore.<init>(MVStore.java:342)
        at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2884)
        at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:154)
        ... 57 more
     
  20. waitier

    waitier Power Member

    Joined:
    Sep 5, 2013
    Messages:
    738
    Likes Received:
    202
    This is a very good rank tracker. I've tried various rank tracker from saas to program based, and first time i've seen a self hosted one and free. At first try, it beats everything out there in terms of interface loading speed and functionality, coupled with it being able to track unlimited kw with max depth, and the one I like the most is you can add any amount of domain in the same project.

    What it fails to, is very similar to a rank tracker that i've bought recently (talk about a waste of hard earned money). It left footprint all over and faced a ip ban (which is actually a bot ban). The explanation I can give is, the ban occurs because google detected the bot doing what a bot does and ban that. If you were to open your own browser, you will realize that your IP isn't actually blocked.

    What's good about serpscope that it will automatically stop the task if you don't have captcha. And you get to see the logs where it fails, and why it fails. Very important when using a self hosted solution, what more an open source which means no support, so you need to know everything that's going on behind the scene.

    There are alot more things I can say about, but ultimately for me the ban is the only thing putting me off. None of the self hosted, self installed program, have managed to solve this. If you can solve and improve on that, this will really be the best rank tracker out there.