Giter VIP home page Giter VIP logo

aurora's Introduction

Aurora Logo


Stars Latest Release

About Aurora ๐ŸŒˆ

Hate Cookies? Introducing Aurora, 100% Cookie-Free Open Website Analytics. Collect Anonymous Data. Make your Audience Happy Now!

Can I see a demo? ๐Ÿ‘€

You can see a running demo here!

Getting Started ๐Ÿคฉ

You can go up and running with Aurora by following the Official Docs.

Please note that docs are currently under construction.

Built With ๐Ÿ—๏ธ

Versioning ๐Ÿšฆ

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors ๐Ÿ™‹

Stargazers ๐ŸŒŸ

Stargazers repo roster for @itsrennyman/aurora

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

aurora's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aurora's Issues

Delete websites in the UI

Hello,
sometimes I create a test website and when the test ended I have to manually delete all the data in the database .
It would be cool to delete websites directly in the user interface.
thx and best regards
Oliver Walter

Error - cannot log events

Hi,

there is my logs

`error: update "events" set "duration" = $1 where "id" = $2 and "website_id" = $3 returning * - invalid input syntax for type integer: "null"

at Parser.parseErrorMessage (/app/node_modules/pg-protocol/dist/parser.js:278:15)


at Parser.handlePacket (/app/node_modules/pg-protocol/dist/parser.js:126:29)


at Parser.parse (/app/node_modules/pg-protocol/dist/parser.js:39:38)


at Socket.<anonymous> (/app/node_modules/pg-protocol/dist/index.js:10:42)


at Socket.emit (events.js:315:20)


at addChunk (internal/streams/readable.js:309:12)


at readableAddChunk (internal/streams/readable.js:284:9)


at Socket.Readable.push (internal/streams/readable.js:223:10)


at TCP.onStreamRead (internal/stream_base_commons.js:188:23) {

length: 105,

severity: 'ERROR',

code: '22P02',

detail: undefined,

hint: undefined,

position: undefined,

internalPosition: undefined,

internalQuery: undefined,

where: undefined,

schema: undefined,

table: undefined,

column: undefined,

dataType: undefined,

constraint: undefined,

file: 'numutils.c',

line: '256',

routine: 'pg_strtoint32'

}

error: insert into "locales" ("local", "location", "name", "tag") values ($1, $2, $3, $4) returning * - null value in column "local" violates not-null constraint

at Parser.parseErrorMessage (/app/node_modules/pg-protocol/dist/parser.js:278:15)


at Parser.handlePacket (/app/node_modules/pg-protocol/dist/parser.js:126:29)


at Parser.parse (/app/node_modules/pg-protocol/dist/parser.js:39:38)


at Socket.<anonymous> (/app/node_modules/pg-protocol/dist/index.js:10:42)


at Socket.emit (events.js:315:20)


at addChunk (internal/streams/readable.js:309:12)


at readableAddChunk (internal/streams/readable.js:284:9)


at Socket.Readable.push (internal/streams/readable.js:223:10)


at TCP.onStreamRead (internal/stream_base_commons.js:188:23) {

length: 263,

severity: 'ERROR',

code: '23502',

detail: 'Failing row contains (12, French, null, France, fr-FR, 2021-05-14 08:26:23.014617+00, 2021-05-14 08:26:23.014617+00).',

hint: undefined,

position: undefined,

internalPosition: undefined,

internalQuery: undefined,

where: undefined,

schema: 'public',

table: 'locales',

column: 'local',

dataType: undefined,

constraint: undefined,

file: 'execMain.c',

line: '1948',

routine: 'ExecConstraints'

}`

View all-time stats

Is your feature request related to a problem? Please describe.

Cannot see the stats of past years , only current one is visible .

Describe the solution you'd like

Add an option to view all time stats

Help - How to change endpoints from localhost to IP?

First, great app!

Just installed Aurora with Docker but I'm not able to set it up. The problem is all calls are refused and I guess it's because they're sent to localhost rather than my server's IP. This is my .yml configuration file:

version: "3.7"
services:
  ui:
    image: ghcr.io/useaurora/aurora/aurora
    ports:
      - "3000:3000"
    environment:
      NEXT_PUBLIC_API_URL: http://1.1.1.1:5000
    depends_on:
      - postgres

  api:
    image: ghcr.io/useaurora/api/api
    ports:
      - "5000:5000"
    environment:
      DB_CONNECTION: pg
      DB_HOST: postgres
      DB_PORT: 5432
      DB_DATABASE: aurora
      DB_USERNAME: aurora
      DB_PASSWORD: aurora
      DB_SSL: "false"

      JWT_SECRET: djd83ng94hf03hf93j
      AUTH_MODE: jwt
    depends_on:
      - postgres

  postgres:
    image: postgres:12-alpine
    environment:
      POSTGRES_DB: aurora
      POSTGRES_USER: aurora
      POSTGRES_PASSWORD: aurora
    volumes:
      - aurora_postgres:/var/lib/postgresql/data

volumes:
  aurora_postgres:

Basically copied from the docs and changed from localhost to my own IP in the NEXT_PUBLIC_API_URL parameter. Pretty sure I'm doing something wrong! How do I fix this? Thanks!

How to set a base url

Hello again,

sorry to bother you, but I still have a question about my test installation.

This is my setup:
I have the api running on port 5000 and the ui running on port 3000 on a test-server.
I have an apache and have defined, that https://mydomain.de/T-auroraapi/ will be forwarded to the test-server on port 5000.
On the same apache I have defined, thad https://mydomain.de/T-auroraui/ will be forwarded to the test-server on port 3000.
In the .env file from the ui I have set
NEXT_PUBLIC_API_URL=https://mydomain.de/T-auroraapi/

When I call https://mydomain.de/T-auroraapi/ I get
{"message":"Aurora Analytics API Service","version":"1.0.0"}
which seems ok to me.

When I call https://mydomain.de/T-auroraui/setup I get the setup page, but it looks like the age didn't work right, because the site didn't uses relative pathes for things like css:
<link rel="preload" href="/_next/static/css/46bd5a7a3392dce63e4b.css" as="style">
The above line results in https://mydomain.de/_next/static/css/46bd5a7a3392dce63e4b.css and not in https://mydomain.de/T-auroraui/_next/static/css/46bd5a7a3392dce63e4b.css

Is it possible that I can configure in the .env file of the ui, which path aurora-ui should use for itself?

best regards
Ingo Rauschenberg

Ideas for application initial setup?

Currently, Aurora needs a "manual" seeding procedure with some Knex seed files.

It would be nice to implement some sort of initial setup to make the up and running process much faster!

The process on initialization currently is simple:

  • Table Creation
  • FIrst User Creation

Some CLI setup for example. Any ideas?

My selfhosted Aurora app stopped working

After update with fetch upstream , my Aurora webapp is not working anymore .
Login , home dashboard or anything throw an error connection to server with 404 ( i can see that from devtools )
I see that with new version a setup section has been added but even this is not working
I checked the database on Heroku and seems active .

Any helps ? Im missing something from new version of Aurora ?
I have a deploy on https://aurora-drab.vercel.app/

A section in Dashboard with general statistics of all the websites

Is your feature request related to a problem? Please describe.
Sometimes when you have a lot of sites and you want to see numbers and statistics on all the projects you have to go back and forth on each project.

Describe the solution you'd like
A dedicated section for general statistics. Statistics such as a graph with color for each site and trend over time, the table of countries, OS / browser and referrers, perhaps excluding that of the pages (instead put vdi each project).

Problem when trying to follow the install instructions

Hello,

I tried to follow these instructions
https://docs.useaurora.app/getting-started/installation-1/installation-1/installation

and got a problem at the point of the UI-Installation when I have to do
=npm run build && npm run start=
I got this error reportet

npm run start

> [email protected] start /srv/aurora/aurora
> next start

(node:4336) UnhandledPromiseRejectionWarning: /srv/aurora/aurora/node_modules/jest-worker/build/WorkerPool.js:25
  } catch {
          ^

SyntaxError: Unexpected token {
    at createScript (vm.js:80:10)
    at Object.runInThisContext (vm.js:139:10)
    at Module._compile (module.js:616:28)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/srv/aurora/aurora/node_modules/jest-worker/build/index.js:38:42)

Did I do something wrong?
The api seems to work since I can reach it with a normal http request at port 5000 on the host.

Hope you can help me
best regards
Ingo

Adding multiple users

Describe the bug
I don't see any options in the UI to add additional users after you've signed in with the first user. The /setup route seems to be up after the database has been initialized, though. Is it possible to add additional users through there? Am I supposed to disable the setup route somehow, so malicious users don't setup additional users?

Correct claim that this is anonymous

In your GitHub repo and your doc you claim this is anonymous:

Collect Anonymous Data.

You apparently use browser fingerprinting, thus it does not use cookies.

From your website, there is this object:

audio: Object { value: 35.7383340000, duration: 34 }
canvas: Object { value: {โ€ฆ}, duration: 3 }
colorDepth: Object { value: 24, duration: 0 }
colorGamut: Object { value: undefined, duration: 0 }
contrast: Object { value: undefined, duration: 0 }
cookiesEnabled: Object { value: true, duration: 0 }
cpuClass: Object { value: undefined, duration: 0 }
deviceMemory: Object { value: undefined, duration: 1 }
domBlockers: Object { value: undefined, duration: 10 }
fontPreferences: Object { value: {โ€ฆ}, duration: 49 }
fonts: Object { value: (1) [โ€ฆ], duration: 44 }
forcedColors: Object { value: undefined, duration: 1 }
hardwareConcurrency: Object { value: 4, duration: 1 }
hdr: Object { value: undefined, duration: 0 }
indexedDB: Object { value: true, duration: 0 }
invertedColors: Object { value: undefined, duration: 0 }
languages: Object { value: (2) [โ€ฆ], duration: 0 }
localStorage: Object { value: true, duration: 0 }
math: Object { value: {โ€ฆ}, duration: 0 }
monochrome: Object { value: 0, duration: 0 }
openDatabase: Object { value: false, duration: 0 }
osCpu: Object { value: "Linux x86_64", duration: 0 }
platform: Object { value: "Linux x86_64", duration: 0 }
plugins: Object { value: [], duration: 0 }
reducedMotion: Object { value: false, duration: 0 }
screenFrame: Object { value: (4) [โ€ฆ], duration: 1 }
screenResolution: Object { value: (2) [โ€ฆ], duration: 0 }
sessionStorage: Object { value: true, duration: 0 }
timezone: Object { value: "Europe/Berlin", duration: 0 }
touchSupport: Object { value: {โ€ฆ}, duration: 1 }
vendor: Object { value: "", duration: 0 }
vendorFlavors: {โ€ฆ}

This still identifies users and thus is not anonymous. Also, it is personal data according to the GDPR โ€“ the EU data privacy regulation.
As such, your claim is misleading and users using this in the EU should be aware of thet fact due to the legal implications involved.

Proposed solution

  • remove the word "anonymous", it's at best "pseudonymous".
  • Document that fact in the docs.
  • Describe in detail how the (fingerprinting) mechanism works there.
  • Maybe a new feature request, but a template for a privacy policy would be nice โ€“ or at least a privacy policy for your site people can link to (in their privacy policies), to find out what data is collected and what is used for fingerprinting.

Backlink German forum: https://www.heise.de/forum/heise-online/Kommentare/Aurora-Webseiten-ohne-Cookies-auswerten-Anonymitaet-der-Nutzer-wahren/Umfangreiches-Hardware-Fingerprinting/thread-6789280/#posting_39170868

Support for other Database types?

Currently i have a server that's already running a MySQL instance, and i want to test Aurora up.
I noticed it uses Knex.JS for ORM, and Knex.JS does supports MySQL.
Would Aurora give compatibility if the knexfile.js is changed to mysql instead of PostgreSQL?

What data can I show?

Hi!

Currently, Aurora Supports some Graph Displaying data, but I have poor ideas about what next data could be displayed.

Any suggestions?

Wrong port is used by UI for API calls

I tried setting up aurora by following the official instructions using docker.

I used the provided docker-compose.yaml and modified it a bit: I needed a port mapping as port 3000 and 5000 were already used on my server. Also I set NEXT_PUBLIC_API_URL to the domain of my server.

Here you can see my docker-compose.yaml file:

version: "3.7"
services:
  ui:
    image: ghcr.io/useaurora/aurora/aurora
    ports:
      - "22081:3000"
    environment:
      NEXT_PUBLIC_API_URL: "http://MY_DOMAIN_HERE.org:22080/"
    depends_on:
      - postgres

  api:
    image: ghcr.io/useaurora/api/api
    ports:
      - "22080:5000"
    environment:
      DB_CONNECTION: pg
      DB_HOST: postgres
      DB_PORT: 5432
      DB_DATABASE: aurora
      DB_USERNAME: aurora
      DB_PASSWORD: aurora
      DB_SSL: "false"
      JWT_SECRET: MY_JWT_SECRET
    depends_on:
      - postgres

  postgres:
    image: postgres:12-alpine
    environment:
      POSTGRES_DB: aurora
      POSTGRES_USER: aurora
      POSTGRES_PASSWORD: aurora
    volumes:
      - aurora_postgres:/var/lib/postgresql/data

volumes:
  aurora_postgres:

Now when i go to the /setup page and press "Initialize Database!" nothing happens. In the consol of the browser i can see that a POST to http://MY_DOMAIN_HERE.org:22081/v2/initialize/database fails with 404. So the problem is that the UI uses the wrong port 22081, the correct one would be 22080. So it feels like NEXT_PUBLIC_API_URL is ignored.

Collect API call fails when user language is set to "de"

Hey!

I'm using Firefox 89.0.2 on MacOS
Everything worked fine while my language setting was set to "English (Canada)" navigator.language === "en-CA"
When I set my language to "German" which correspondents to navigator.language === "de" it stopped working.

It's the https://auroraapi.example.com/v2/collect call that fails

statusCode	500
code	"23502"
error	"Internal Server Error"
message	"insert into \"locales\" (\"local\", \"location\", \"name\", \"tag\") values ($1, $2, $3, $4) returning * - null value in column \"location\" violates not-null constraint"

Request body was

element	"/"
fingerprint	"c9dab441c9d31bd3f1fcc10a89daa9f0"
language	"de"
referrer	""
seed	"1c070be13184f4086e42472a862b5f3c"
type	"pageView"

My guess would be, that the language parser does not like "de" and wants "de-DE"?

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.