{"id":48924458,"url":"https://github.com/huffmanks/echo-link","last_synced_at":"2026-04-17T06:30:37.206Z","repository":{"id":332619331,"uuid":"1130658668","full_name":"huffmanks/echo-link","owner":"huffmanks","description":"Self-hosted client app for Linkding.","archived":false,"fork":false,"pushed_at":"2026-04-08T19:16:03.000Z","size":2207,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-08T21:20:23.784Z","etag":null,"topics":["bookmark-manager","linkding"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/huffmanks.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-08T20:26:22.000Z","updated_at":"2026-04-08T19:16:17.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/huffmanks/echo-link","commit_stats":null,"previous_names":["huffmanks/linkding-client","huffmanks/echo-link"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/huffmanks/echo-link","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huffmanks%2Fecho-link","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huffmanks%2Fecho-link/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huffmanks%2Fecho-link/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huffmanks%2Fecho-link/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/huffmanks","download_url":"https://codeload.github.com/huffmanks/echo-link/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huffmanks%2Fecho-link/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31918457,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"online","status_checked_at":"2026-04-17T02:00:06.879Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bookmark-manager","linkding"],"created_at":"2026-04-17T06:30:34.426Z","updated_at":"2026-04-17T06:30:37.193Z","avatar_url":"https://github.com/huffmanks.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EchoLink\n\n![Screenshot of EchoLink interface.](https://huffmanks.com/portfolio/images/projects/echo-link.png)\n\nA self-hosted client app for Linkding, designed for a fast, clean and modern bookmarking experience across your devices.\n\n## Features\n\n- Clean, responsive interface.\n- Seamless integration with Linkding API.\n- Bookmark search, filtering and organization.\n- Mobile-friendly and optimized for quick access.\n- Self-hosted and privacy-focused.\n\n## Usage\n\n### docker-compose.yml\n\n```yaml\nservices:\n  linkding:\n    image: sissbruecker/linkding:latest\n    container_name: linkding\n    ports:\n      - \"9090:9090\"\n    volumes:\n      - ./data:/etc/linkding/data\n    environment:\n      LD_CSRF_TRUSTED_ORIGINS: ${LD_CSRF_TRUSTED_ORIGINS}\n      LD_USE_X_FORWARDED_HOST: \"true\"\n      # optional\n      LD_SUPERUSER_NAME: ${LD_SUPERUSER_NAME}\n      LD_SUPERUSER_PASSWORD: ${LD_SUPERUSER_PASSWORD}\n    restart: unless-stopped\n  echo-link:\n    image: huffmanks/echo-link:latest\n    container_name: echo-link\n    ports:\n      - \"${APP_PORT}:${APP_PORT}\"\n    environment:\n      APP_PORT: ${APP_PORT}\n      LINKDING_CONTAINER_URL: ${LINKDING_CONTAINER_URL}\n      LINKDING_API_TOKEN: ${LINKDING_API_TOKEN}\n      # optional\n      ECHOLINK_USER_NAME: ${ECHOLINK_USER_NAME}\n      LINKDING_EXTERNAL_URL: ${LINKDING_EXTERNAL_URL}\n    depends_on:\n      - linkding\n    restart: unless-stopped\n```\n\n### .env\n\n```txt\n# --- ECHOLINK ---\nAPP_PORT=3000\nLINKDING_CONTAINER_URL=http://linkding:9090\nLINKDING_API_TOKEN=\n\n# Optional\nECHOLINK_USER_NAME=\nLINKDING_EXTERNAL_URL=http://localhost:9090\n\n# --- LINKDING ---\n# see https://linkding.link/options/#ld_csrf_trusted_origins\nLD_CSRF_TRUSTED_ORIGINS=http://localhost:3000,https://echo.lan.domain.com\n\n# Optional\nLD_SUPERUSER_NAME=\nLD_SUPERUSER_PASSWORD=\n```\n\n## Start container\n\n```sh\ndocker compose up -d\n```\n\n## Open web UI\n\n```sh\nopen http://localhost:3002\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhuffmanks%2Fecho-link","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhuffmanks%2Fecho-link","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhuffmanks%2Fecho-link/lists"}