Skip to content

Latest commit

 

History

History
190 lines (154 loc) · 12.4 KB

README.md

File metadata and controls

190 lines (154 loc) · 12.4 KB

IP Grabber
Inspiration from ipgrabber by baum1810
Made with ❤️ by John Wick.
Add me on Discord - JohnWick#0001. Happy tracking!

📨 IP Logger with Discord Webhook

Tired of 429?:

This IP logger uses Discord webhooks to send data to a specified Discord channel. Instead of using a persistent webhook, the application creates a new webhook, sends the data, and then deletes it for each request. This approach is adopted to bypass Discord's rate limiting, which restricts the number of requests a client can make within a certain period. Rate limiting prevents spamming or overloading Discord's API. Thanks to our create-send-delete process, you can enjoy smooth and uninterrupted IP logging without worrying about hitting rate limits! 🚀

💬 Frequently Asked Questions (FAQs)

Click to expand

Q: Can I customize the appearance and information displayed on the page?

A: Yes, you can customize the appearance of the page by modifying the htmlContent variable in the app.js file. Feel free to change the text, styles, or layout to fit your preferences. Moreover, you can change the information captured and sent by the webhook by modifying the embed object in the app.js file.

Q: How can I ensure the privacy and security of my captured data?

A: To ensure the privacy and security of your captured data, make sure to protect your environment variables, such as Discord bot token, channel ID, and IPinfo.io API token, by storing them securely. Additionally, you can implement user authentication to restrict access to the logged data, ensuring that only authorized users can view the information.

Q: Can I use this IP Logger in conjunction with other services, such as databases or analytics tools?

A: Yes, you can extend the functionality of this IP Logger to work with other services like databases or analytics tools. For example, you can store the logged data in a database like MongoDB or PostgreSQL for long-term storage and analysis, or integrate with an analytics service for real-time data visualization.

Q: What browsers and devices does this IP Logger support?

A: The IP Logger should work across most modern browsers and devices, including mobile phones. However, user agent detection might be less accurate or unsupported for some outdated browsers or non-standard devices.

Q: Can I track multiple endpoints with this IP Logger?

A: Yes, you can track multiple endpoints by creating additional routes and modifying the Express application accordingly. You can also customize the data captured and the webhook messages for each endpoint to suit your needs.

Table of Contents


🚀 Deployment

  1. Click the Deploy button below to get started. All the work has been done for you! However, if you want to avoid an unnecessary headache, continue reading into the next instructions!

  2. During the deployment setup process, you'll need to add the required environment variables as explained in the Environment Variables section. Note: See Enviornmental Variables in the next section for clarity!

  3. After adding the environment variables, click "Deploy" to deploy your project.

Deploy with Vercel


Click to see pictures and clear instructions if you don't know what you are doing!

1. Add a name for a repo if you didn't go the easy route and clone it first!

2. Go to settings of failed deploy from dashboard.

3. Add the environmental variables - [channel_id, bot_token, ip_token]

4. Redeploy the application from the failed deployment screen.

Step 1 Step 2 Step 3 Step 4

🔒 Environment Variables

Before deploying the application, you need to provide some environment variables. To do this, follow these steps during the deployment setup process shown in the GIF above:

  1. Scroll down to the "Environment Variables" section.
  2. Add the following variables:
  • channel_id: Your Discord channel ID where the webhook should send messages.
  • bot_token: Your Discord bot token for creating and managing webhooks.
  • ip_token: Your IPinfo.io API token for fetching IP address information.
  • redirect_url: The URL where users will be redirected at log completion.

By storing these variables in the Vercel dashboard, you prevent exposing sensitive information and make it easier to manage the variables across different environments (e.g., development, staging, and production).

When you update the values of the environment variables in the Vercel dashboard, they will automatically be applied to your application without the need to modify your code.

Read more about Vercel's Environment Variables for best practices and usage.


⚙️ Customization

You can customize various aspects of your IP Logger to create a unique and personalized experience. Here are some ideas:

Click to expand

• Custom Bot Avatar

You can set a custom avatar for the bot in webhook messages by modifying the app.js file. Look for the const embed = new MessageBuilder() block and add the .setAvatar() method with the URL of your image. Here's an example:

const embed = new MessageBuilder()
  ...
  .setTimestamp()
  .setAvatar('https://example.com/your-image.png'); // set to custom image url 

Page Appearance: Modify the htmlContent variable in the app.js file to change the text, styles, or layout. You can use custom CSS or JavaScript to create unique animations or effects, adjust colors and fonts, or change the overall layout to fit your preferences.

Webhook Embed: Customize the data sent by the webhook by modifying the embed object in the app.js file. You can add, remove, or modify fields to change the information displayed, adjust the styling of the embed or create different visuals by using different colors, images, or icons.

Dynamic Content: Add dynamic content to your IP Logger by using JavaScript to generate random greetings, images, or messages, or by pulling content from external sources like APIs, databases, or other services. This can provide a more engaging experience for visitors and make your IP Logger stand out.

Responsive Design: Ensure that your IP Logger looks great on all devices by implementing a responsive design. You can use CSS media queries, flexbox, or CSS grid to create layouts that adapt to various screen sizes and orientations.

Additional User Data: You can extend the data captured by the IP Logger by adding support for more request headers, utilizing JavaScript to collect additional client-side data, or integrating with external APIs to gather more detailed information. This could include data such as browser language, screen resolution, or device type.

Testing, testing: Thoroughly test your customizations across different browsers and devices. This is the tedious part everyone loves but it is the only way to ensure that your IP Logger remains accessible and functional for everyone so you don't miss your VIP target (:


🛠️ Debugging and Logging

When adding new features or customizing the application, you might encounter issues or errors. To help with troubleshooting and debugging, you can enable logging in your Vercel application.

  1. In your Vercel project dashboard, go to the Settings tab.
  2. Navigate to the Environment Variables section.
  3. Add a new environment variable with the key LOG_LEVEL and a value of debug. This will enable detailed logging in your application.

After setting the LOG_LEVEL environment variable, redeploy your application for the changes to take effect.

To view the logs, go to the Deployments tab in your project's Vercel dashboard, click on the desired deployment, and then click on the Functions tab. Here, you can select a function to view its logs.

When you're finished debugging, you can remove or change the LOG_LEVEL environment variable to a lower verbosity level (e.g., info, warn, or error) to reduce the log output.

Note: Be cautious when sharing logs, as they may contain sensitive information.


💡 Ideas for Extending the Project

Click to expand

Here are some ideas to further improve the project and expand its capabilities:

  • Geolocation Map: Integrate a map API, like Google Maps or OpenStreetMap, to display the visitor's approximate location on a map within the Discord webhook.
  • Real-time Dashboard: Create a real-time dashboard that shows the number of visitors, their locations, and other data points in a visually appealing manner.
  • Filtering and Alerting: Add filters to ignore specific IP addresses, user agents, or regions and create custom alerts for specific events, such as a high number of visits from a specific region or IP address.
  • Enhanced Analytics: Utilize additional data points, like device type, screen resolution, or referrer, to provide more in-depth visitor analytics.
  • User Authentication: If you send the information elsewhere aside from a Discord channel, implement user authentication to restrict access to the logged data, ensuring that only authorized users can view the information.

Feel free to contribute to the project by submitting a pull request or opening an issue with your ideas and suggestions.


Made with ❤️ by John Wick.
Add me on Discord - JohnWick#0001. Happy tracking!