Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/acm-uiuc/linkry
ACM Link Shortener
https://github.com/acm-uiuc/linkry
Last synced: about 18 hours ago
JSON representation
ACM Link Shortener
- Host: GitHub
- URL: https://github.com/acm-uiuc/linkry
- Owner: acm-uiuc
- License: bsd-3-clause
- Created: 2023-01-18T03:16:45.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2023-12-02T23:49:56.000Z (12 months ago)
- Last Synced: 2024-04-09T11:30:29.462Z (7 months ago)
- Language: JavaScript
- Size: 560 KB
- Stars: 0
- Watchers: 8
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# Linkry - Link Shortener
Linkry is an internal tool for shortening links and reducing link rot by redirecting users to an origin site from an organization-controlled link.
## Installation
Pull the published Docker container using the appropriate version: `docker pull ghcr.io/acm-uiuc/linkry:latest`.
Create a `.env` file that contains the following keys:
```bash
NODE_ENV=production # or development if in development mode
BASE_URL=go.acm.illinois.edu # production URL
BASE_PROTO=https # http vs. https
AAD_CLIENT_ID=0 # Client ID in Azure Active Directory (ensure idtoken flow is enabled).
AAD_TENANT_ID=0 # Azure AD Tenant ID
AAD_CLIENT_SECRET= # Azure AD client secret for respective client ID.
brandTitle=ACM Link Shortener # HTML title
brandLoginProvider=ACM # Custom name for AAD Auth Provider
brandLogoPath=https://go.acm.illinois.edu/static/img/white-banner.svg # path to banner logo
brandOrgHome=https://acm.illinois.edu # main home page
brandStatusURL=https://status.acm.illinois.edu # Status page
brandCopyrightOwner=ACM @ UIUC # Corporation Name
brandDomainHint=acm.illinois.edu # Azure AD Domain Hint (optional, not needed for ACM deployments)
DB_FILE=/usr/src/app/db.sqlite3 # where the DB of links is.
GROUPS_PERMITTED=ACM Link Shortener Admins, ACM Exec # Groups that can access the link shortener
```
Then, use the following docker-compose.yml in the same directory and run `docker-compose up` to start the application (it will be exposed on port 9215):
```yml
version: '3'
services:
linkry:
image: ghcr.io/acm-uiuc/linkry:latest
restart: on-failure
environment:
- DB_FILE=/usr/src/app/db.sqlite3
ports:
- "9215:9215"
volumes:
- ./.env:/usr/src/app/.env
- ./db.sqlite3:/usr/src/app/db.sqlite3
```## Usage
Linkry integrates with Azure AD to only allow authorized ACM @ UIUC users to create link redirections. After you log in with your ACM @ UIUC credentials, you will be presented with a portal that will allow you to shorten links. In the navigation bar, there is also a "My Links" tab that will allow you to delete or edit any links you have previously made. Users must be assigned to a group that permits them access to the link shortener.
## Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.## Authors
Maintainer: Dev Singh ()## License
[BSD 3-Clause](https://raw.githubusercontent.com/acm-uiuc/linkry/master/LICENSE)