Giter Club home page Giter Club logo

usaproxy-tools's Introduction

USAPROXY-TOOLS
==============

Description:
------------

This project is a collection of website usability evaluation tools. See 
individual tools' readme files for further information.

Parts:
------

USAPROXY-FORK -           A proxy server that logs users' actions. Forked from
                          UsaProxy 2.0.

USAPROXYLOGPARSER -       A tool that parses the log files generated by 
                          USAPROXY-FORK and provides an object-based API for
					      analyzing the log.
					
USAPROXYREPORTGENERATOR - A tool that turns USAPROXY-FORK log files into 
                          pretty HTML+JS reports.

USAPROXYLOG2DB -          A tool for reading UsaProxy-Fork log files into a 
                          database.						  
						  
Licensing:
----------

The tools are licensed under GNU GENERAL PUBLIC LICENSE, version 2 or later. See 
provided readme and license files for details.

usaproxy-tools's People

Contributors

borc avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

trix-uta lssol

usaproxy-tools's Issues

"De-timezonify" everything

There are no timezones in the log, and they are largely unnecessary. Handle all times as if they were in UTC.

localhost URLs in log file

UsaProxy seems to log localhost as the server name if it is in server mode and is proxying a local server. In these cases, it should log the URL provided in the HTTP request, if available.

File fetching is insecure

The file sender implementation allows users to fetch any file from the file system by pointing their browser to a fitting UsaProxy URL. Only allow to load files from the specified directories: css, html, img, js and plugins. Also only allow to load files with specified extensions: css, htm, html, gif, jpg, png and js.

Filtering of plotted elements

  1. Add a 'Filter' button for each plot. The button opens a dialog window. Title of window: "Filtering settings for traffic id [ID], [date], [URL]"
  2. The dialog window contains a table with all the elements available for plotting. Format: "[Element node name]: [DOM path]".
  3. In front of each element there is a radio button that controls whether the element is plotted or not.
  4. Changes are confirmed with an "OK" button.

Log file splitting

Have an ability to split log files at user-chosen intervals (eg. every day, every 2 hours, weekly, etc)

Image auto-loading feature

Add an option to auto-load images so that you dont have to open the element details dialog to load them.

Concurrency problem with keeping track of users

A race condition is possible in some rare cases:

Exception in thread "Timer-0" java.util.ConcurrentModificationException
at java.util.Hashtable$Enumerator.next(Hashtable.java:1031)
at fi.uta.infim.usaproxyFork.Users$UserCheck.run(Users.java:74)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)

No-DNS mode for server mode

A commandline switch to turn off all DNS queries. Only in server mode. To fix name resolving issues with LAN-deployed installations.

Element type filter checkboxes always unchecked when opening filters dialog

The element type filter checkboxes are always unchecked when opening the filters dialog. The checkboxes should represent the current filtering state:

  • If no elements of the type are filtered, the checkbox should be unchecked
  • If all elements of the type are filtered, the checkbox should be checked
  • If some elements of the type are filtered, the checkbox should be checked and hilighted in some way (greyed?)

Referer logging

HTTP referers should be logged in order to catch search engine parameters, and for better tracing between web pages. Add feature to parser as well.

Feature for reversing filtered elements

New feature: radio-button in the filter dialog with the following choices:

  • Hide selected
  • Show only selected

The current plot will then hide or show only the selected elements.

maven assembly descriptors

Write maven assembly descriptors for all parts. This makes it easier to create distribution packages.

Plugin system for the report generator

The report generator needs a plugin system in order to allow generating reports from any kind of data. To be used in conjunction with usaproxy plugins.

Visualization of a single element's appearances

Add visualization of a single element's appearances and disappearances to the element details dialog.

The visualization must show:

  • Beginning of http traffic session
  • End of http traffic session
  • Times and places of element appearances

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.