Giter VIP home page Giter VIP logo

voriteam / golink Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nownabe/golink

0.0 0.0 0.0 14.56 MB

A URL shortener for creating concise, memorable short links, suitable for organization-scoped use, such as in companies or schools.

Home Page: https://chrome.google.com/webstore/detail/golink/clecngohjeflemkblbfdfbjkjnigbjok

License: Apache License 2.0

Shell 0.29% JavaScript 0.19% Go 37.58% TypeScript 58.55% CSS 0.61% HTML 2.78%

golink's Introduction

Golink (go/link)

⚠️This fork is intended for internal Vori usage. We have customize the extension to work for our Trotto server.

A URL shortener for creating concise, memorable short links, suitable for organization-scoped use, such as in companies or schools.

golink-demo.mp4

Alternatives

Considering other options? Here are some similar platforms:

Golinks has the following advantages compared to these alternatives:

  • Self-hosted: You have full control of Golink backend.
  • Fully-managed: Golink can be built on fully-managed infrastructure.
  • Easy to deploy: You can complete to deploy Golink in just three simple steps.
  • Cost-effective: You can get started with Golink at no cost.
  • No DNS configuration: Redirect through the Golink Chrome extension.
  • Chrome extension with Manifest V3: Manifest V3 is more secure than V2 and V2 will be end-of-life.

Golink Origin

Golink originated from Google's internal short links. If you are curious about history of go/, dive into the stories on these websites:

Usage

For General Users

  1. Install the Golink Chrome Extension.
  2. Right-click the extension icon and select Options.
  3. Input your Golink URL and then click the Save button.

Setup for Administrators

Prerequisites

Additionally, you need to execute the following command:

gcloud auth login

Configure Your Project

Set your project ID:

gcloud config set project <YOUR-PROJECT-ID>

Deploy Applications

Clone this repository:

git clone https://github.com/nownabe/golink
cd golink

Run the deploy script. Replace <REGION> with one of App Engine regions.

./deploy.sh <REGION>

For instance:

./deploy.sh us-central1

Configure Identity-Aware Proxy

Begin by accessing the Google Cloud Console to set up the OAuth consent screen.

  1. Choose User Type.
    • Opt for a user type based on your needs. For exclusive access to members of your organization, select Internal. Note: choosing External doesn't mean open access. Users can't access your Golink unless you grant explicit permission.
  2. Enter App information
    • App name: Golink
    • User support email: Your email or a Google Group
    • Developer contact information: Your email or alternate contact emails
    • Finish by clicking SAVE AND CONTINUE
  3. You don't have to configure scopes.

Proceed to Identity-Aware Proxy. Turn on IAP for the App Engine app. If you encounter an error status before enabling, you can safely disregard it at this time.

Add Users

To make Golink accessible to all members of your organization, execute:

gcloud iap web add-iam-policy-binding \
  --role roles/iap.httpsResourceAccessor \
  --member domain:<YOUR-COMPANY-DOMAIN>

If you prefer to grant access on an individual basis:

gcloud iap web add-iam-policy-binding \
  --role roles/iap.httpsResourceAccessor \
  --member user:<EMAIL>

You have the option to specify Google Groups too:

gcloud iap web add-iam-policy-binding \
  --role roles/iap.httpsResourceAccessor \
  --member group:<EMAIL>

Examples:

gcloud iap web add-iam-policy-binding \
  --role roles/iap.httpsResourceAccessor \
  --member domain:your-company.example.com

gcloud iap web add-iam-policy-binding \
  --role roles/iap.httpsResourceAccessor \
  --member user:[email protected]

gcloud iap web add-iam-policy-binding \
  --role roles/iap.httpsResourceAccessor \
  --member group:[email protected]

Retrieve Your Golink URL

Determine your Golink URL with:

echo "https://$(gcloud app describe --format "get(defaultHostname)")"

Then notify your team members to enter this URL in Golink Chrome Extension Options. Enjoy using golinks!

Distribute Golink extension to your organization

You can enforce Golink Chrome extension to be installed in your organization members' browsers.

  1. Open https://admin.google.com and navigate to Devices > Chrome > Apps & extensions > Users & browsers.
  2. Click the yellow plus button at the bottom right and then click "add from Chrome Web Store".
  3. Enter clecngohjeflemkblbfdfbjkjnigbjok in the "View app by ID" textbox and click the "Select" button.
  4. Set "Permissions and URL access" to "Allow all permissions".

golink's People

Contributors

renovate[bot] avatar nownabe avatar clintonb avatar

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.