All Projects → heiseonline → Embetty Server

heiseonline / Embetty Server

Licence: mit
🐙 Proxy and provider of data for heiseonline/embetty

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Embetty Server

Shariff Backend Php
👮 PHP backend for Shariff. Shariff enables website users to share their favorite content without compromising their privacy.
Stars: ✭ 128 (+1.59%)
Mutual labels:  privacy, backend
Cms
MaxSite CMS
Stars: ✭ 123 (-2.38%)
Mutual labels:  backend
Librefox
License: Mozilla Public License 2.0
Stars: ✭ 1,574 (+1149.21%)
Mutual labels:  privacy
Zeyple
Postfix filter/hook to automatically encrypt outgoing emails with PGP/GPG
Stars: ✭ 122 (-3.17%)
Mutual labels:  privacy
Gobetween
☁️ Modern & minimalistic load balancer for the Сloud era
Stars: ✭ 1,631 (+1194.44%)
Mutual labels:  backend
Reqman
Reqman is a tool that can quickly help back-end engineers with api testing, as well as a nodejs-based crawler tool.
Stars: ✭ 123 (-2.38%)
Mutual labels:  backend
Onionbrowser
An open-source, privacy-enhancing web browser for iOS, utilizing the Tor anonymity network
Stars: ✭ 1,702 (+1250.79%)
Mutual labels:  privacy
Cookiescanner
Cookie Scanner for GDPR compliance
Stars: ✭ 126 (+0%)
Mutual labels:  privacy
I2pd
🛡 I2P: End-to-End encrypted and anonymous Internet
Stars: ✭ 1,796 (+1325.4%)
Mutual labels:  privacy
Whoogle Search
A self-hosted, ad-free, privacy-respecting metasearch engine
Stars: ✭ 4,645 (+3586.51%)
Mutual labels:  privacy
Roll Call
📞 Free and reliable audio calls for everyone w/ browser p2p.
Stars: ✭ 1,563 (+1140.48%)
Mutual labels:  privacy
Slides
it is a repository to store all slides used by Triton Ho's public presentation and course.
Stars: ✭ 1,782 (+1314.29%)
Mutual labels:  backend
Locationwithoutprompt
A proof of concept to show how easy it is to get coarse location of the user without using Core Location
Stars: ✭ 123 (-2.38%)
Mutual labels:  privacy
Privacy Respecting
Curated List of Privacy Respecting Services and Software
Stars: ✭ 1,663 (+1219.84%)
Mutual labels:  privacy
Grapheneos.org
Sources for the GrapheneOS website.
Stars: ✭ 125 (-0.79%)
Mutual labels:  privacy
Ext Solr
A TYPO3 extension that integrates the Apache Solr search server with TYPO3 CMS. dkd Internet Service GmbH is developing the extension. Community contributions are welcome. See CONTRIBUTING.md for details.
Stars: ✭ 118 (-6.35%)
Mutual labels:  backend
Hosts.extras
Extra rules for https://github.com/StevenBlack/hosts project
Stars: ✭ 120 (-4.76%)
Mutual labels:  privacy
Databunker
Secure storage for personal records built to comply with GDPR
Stars: ✭ 122 (-3.17%)
Mutual labels:  privacy
Eshoponcontainersddd
Fork of dotnet-architecture/eShopOnContainers in full DDD/CQRS design using my own patterns
Stars: ✭ 126 (+0%)
Mutual labels:  backend
Awesome Humane Tech
Promoting Solutions that Improve Wellbeing, Freedom and Society
Stars: ✭ 2,234 (+1673.02%)
Mutual labels:  privacy

embetty-server · Build Status Dependency Status JavaScript Style Guide

Embetty displays remote content like tweets or YouTube videos without compromising your privacy. embetty-server acts as a proxy and provides the necessary data.

Embetty

Embetty server can be run in two different ways:

It's necessary to configure a reverse proxy to make Embetty server reachable either way.

Running Embetty server with Docker

The docker image exposes the server on port 8080 and can be configured using environment variables.

$ docker run \
  -p 8080:8080 \
  --name embetty \
  --rm \
  -e VALID_ORIGINS=https://example.com \
  -e TWITTER_ACCESS_TOKEN_KEY=... \
  -e TWITTER_ACCESS_TOKEN_SECRET=... \
  -e TWITTER_CONSUMER_KEY=... \
  -e TWITTER_CONSUMER_SECRET=... \
  heiseonline/embetty-server:latest

Running Embetty server with a process manager

This requires Node.js version 8 or later.

  1. Install Embetty server by running yarn global add @heise/embetty-server. This makes the embetty command available on the server.
  2. Setup a process manager like Forever, PM2 or StrongLoop Process Manager.
  3. Configure the Process manager to run embetty start. The command embetty start --help prints a list of all supported options.

Configuration

Embetty server can be configured using the following environment variables:

Variable Required Description
URL_BASE no The base URL of the Embetty server instance, e.g. https://my-server.com/path/to/embetty.
DEBUG no This variable controls the output of log messages. You may set it to embetty.* to log all Embetty messages to STDOUT.
EMBETTY_CACHE no Connection string of a cache adapter. Currently Redis (example: redis://) and LRU (example: lru://) are supported.
PORT no This variable can be used to specify the port on which Embetty Server listens. Default: 3000
TWITTER_ACCESS_TOKEN_KEY [1] Twitter Access Token
TWITTER_ACCESS_TOKEN_SECRET [1] Twitter Access Token Secret
TWITTER_CONSUMER_KEY [1] Twitter consumer Key (API Key)
TWITTER_CONSUMER_SECRET [1] Twitter consumer Secret (API Secret)
VALID_ORIGINS yes Contains a comma-separated list of allowed origins. Examples: https://example.com, https://a.example.com,https://b.example.com or *.

Twitter

To display tweets with Embetty, the Twitter environment variables listed above need to be defined. Both tokens, the key and the secret can be obtained by creating a Twitter app.

Testing the server setup

The setup can be tested by sending a request to the running server. If everything was set up correctly, JSON data and the HTTP status code 200 are returned.

$ curl -i http://localhost:8080/version
$ curl -i http://localhost:8080/tweet/985882036777955328
$ curl -i http://localhost:8080/video/youtube/m6UOo2YGbIE-poster-image

Using Embetty with Google AMP ⚡️

Embetty server supports Google AMP ⚡️ out of the box via <amp-iframe>:

Tweet:

<amp-iframe width="200" height="100"
  sandbox="allow-scripts allow-same-origin"
  layout="responsive"
  resizable
  frameborder="0"
  src="https://your-site.com/path/to/embetty-server/tweet/1004988454978179072.amp"
>
  <div overflow tabindex=0 role=button aria-label=""></div>
</amp-iframe>

Vimeo:

<amp-iframe width="200" height="100"
  sandbox="allow-scripts allow-same-origin"
  layout="responsive"
  resizable
  frameborder="0"
  src="https://your-site.com/path/to/embetty-server/video/vimeo/1084537.amp"
>
  <div overflow tabindex=0 role=button aria-label=""></div>
</amp-iframe>

YouTube:

<amp-iframe width="200" height="100"
  sandbox="allow-scripts allow-same-origin"
  layout="responsive"
  resizable
  frameborder="0"
  src="https://your-site.com/path/to/embetty-server/video/youtube/m6UOo2YGbIE.amp"
>
  <div overflow tabindex=0 role=button aria-label=""></div>
</amp-iframe>

Facebook:

<amp-iframe width="200" height="100"
  sandbox="allow-scripts allow-same-origin"
  layout="responsive"
  resizable
  frameborder="0"
  src="https://your-site.com/path/to/embetty-server/video/facebook/10156049485672318.amp"
>
  <div overflow tabindex=0 role=button aria-label=""></div>
</amp-iframe>

Contributing to Embetty

See Contributing.

License

Embetty server is MIT licensed.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].