A powerful and feature-rich tool designed to crawl, manage, and organize links from Kick channel chats in real-time.
- Real-time Link Crawling: Connects to a Kick user's chat and automatically captures any links shared.
- Link Management:
- Displays a clean, organized list of all captured links.
- Tracks link frequency and identifies duplicate shares.
- Marks links as "opened" to keep track of what you've seen.
- Urgent Messaging: Users with "trusted" status can send urgent messages or links, triggering an audio notification.
- User and Link Blacklisting:
- Blacklist specific users to ignore their messages entirely.
- Blacklist specific links to prevent them from appearing in the list.
- Temporary Timeouts: Temporarily mute a user or a specific link for a configurable duration.
- Advanced Filtering and Search:
- Filter links by "Urgent," "Duplicates," or view historical links.
- Search for links by sender, URL, or the content of the message.
- Batch Operations: Open multiple links at once, either from the top or bottom of the list.
- Persistent History: Previously captured links are saved locally and reloaded on startup.
- Settings Management:
- Export your current settings (blacklists, trusted users, etc.) to a JSON file.
- Import settings from a file to quickly set up a new session.
- Test Mode: A built-in test mode generates random links to help you test the application's functionality without needing a live chat.
- Frontend: React with TypeScript
- UI: Tailwind CSS for styling
- State Management: React Hooks (
useState,useEffect,useCallback,useMemo) - Real-time Communication: WebSocket connection to Kick's chat servers
- Local Storage: Browser's
localStorageis used to persist settings and link history.
- Clone the repository:
git clone https://github.com/aguvener/linkcrawler.git
- Navigate to the project directory:
cd linkcrawler - Install dependencies:
npm install
To start the development server, run:
npm run devBy default, the application will connect to the chat of the user configured via the VITE_DEFAULT_USER env var (falls back to BurakSakinOl). To connect to a different user's chat, append a query parameter to the URL in your browser:
http://localhost:5173/?user=<username>
Environment variables (via .env or shell) influence defaults:
VITE_DEFAULT_USER: Default Kick username used on startup when?user=is not provided.VITE_APP_VERSION: Automatically injected by Vite frompackage.jsonduring build; used by the update notification system.
Example .env.local:
VITE_DEFAULT_USER=MyFavoriteStreamer
All configuration is managed through the Settings modal within the application.
- General: Manage blacklisted and trusted users.
- Links: Manage blacklisted links.
- Timeouts: View and manage active user and link timeouts.
- Advanced:
- Test Mode: Enable or disable test mode.
- Data Management: Export or import your application settings.
- Reset All Settings: Clear all data from your browser's local storage and reset the application to its default state.