9 | This is a URI:teller trap page. 10 |
11 |17 | Want to find out more? 18 |
19 |20 | Visit URI:teller now 21 |
22 |9 | Are they calling back from beyond the cloud? 10 |
11 | 12 | Let's find out! 13 || Time | 6 |IP | 7 |ASN | 8 |User Agent | 9 |
|---|---|---|---|
2 |
3 | [](https://circleci.com/gh/HowNetWorks/uriteller)
4 |
5 | **NOTE: The hosted site, https://uriteller.io, is no longer active. As a replacement check out [Canarytokens](https://canarytokens.org/) and [RequestBin](https://github.com/Runscope/requestbin).**
6 |
7 | URI:teller is a service for monitoring how chat apps, social network sites and such fetch their link previews. See the companion [blog post](https://medium.com/hownetworks/uri-teller-a-call-for-the-curious-20694617db1c) talking about the original motivation and further uses.
8 |
9 | The code in this repository is built for the Google Cloud Platform. See [Prerequisites](#prerequisites) for more info about that.
10 |
11 | ## Technical Name-dropping
12 |
13 | URI:teller uses Google's [Cloud Datastore](https://cloud.google.com/datastore/) as the database and [Cloud Pub/Sub](https://cloud.google.com/pubsub/) for passing work between services. Stackdriver [Debugger](https://cloud.google.com/debugger/), [Trace](https://cloud.google.com/trace/) and [Error Reporting](https://cloud.google.com/error-reporting/) work if their respective APIs are enabled. The frontend service sends analytics to Google Analytics whent the `GA_TRACKING_ID` environment variable is set.
14 |
15 | The code is written in ES2015 plus some extensions, such as modules and `.vue` component files. [Babel](https://babeljs.io/) then compiles the source to JavaScript that [Node.js](https://nodejs.org/en/) and browsers can handle. For styling: [SASS](http://sass-lang.com/).
16 |
17 | [Vue](https://vuejs.org/) allows reusing the same view code for both server-side and in-browser rendering.
18 |
19 | [Express](http://expressjs.com/) (with its [Helmet](https://helmetjs.github.io/) on) powers the server side code.
20 |
21 | On the browser [Bootstrap 4](https://v4-alpha.getbootstrap.com/) makes things look nice. [Webpack 2](https://webpack.github.io/) crumples the code, styles and other assets into an easily distributable bundle.
22 |
23 | [CircleCI](https://circleci.com/) runs the build process on every repository push. CircleCI also deploys the site whenever the `production` branch gets an update.
24 |
25 | ## Prerequisites
26 |
27 | ### Google Cloud Platform
28 |
29 | This project is made to be hosted in the Google Cloud Platform (namely in the
30 | [Google App Engine Node.js flexible
31 | environment](https://cloud.google.com/appengine/docs/flexible/nodejs/)), so you
32 | need an account: https://cloud.google.com/
33 |
34 | Install and initialize Google Cloud SDK: https://cloud.google.com/sdk/docs/
35 |
36 | Create a new project from the [Google Cloud Platform
37 | Console](https://console.cloud.google.com/) or use an already existing one. Set
38 | your project's id `PROJECT_ID` as default with:
39 |
40 | ```sh
41 | $ gcloud config set project