Coder Social home page Coder Social logo

thedevs-network / kutt Goto Github PK

View Code? Open in Web Editor NEW
8.1K 76.0 1.0K 3.74 MB

Free Modern URL Shortener.

Home Page: https://kutt.it

License: MIT License

JavaScript 0.28% HTML 20.52% Dockerfile 0.11% TypeScript 76.26% Shell 2.83%
url-shortener nextjs react urlshortener shorten-urls

kutt's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kutt's Issues

"Enter password"-page doesn't hide the password

When using the password feature, the site doesn't mask the user input in the password field. The TextInput component should be updated to mask the characters when given a certain property.

Error when create a shortlink

Hi,

I got error when i try to create a shortlink, as below:

`Erroraxios.lib.core:createError in createError
Error
Request failed with status code 403
/Users/Victoria/dev/projects/shortener/kutt/node_modules/axios/lib/core/createError.js in createError at line 16:15

  • @param {Object} config The config.
  • @param {string} [code] The error code (for example, 'ECONNABORTED').
  • @param {Object} [request] The request.
  • @param {Object} [response] The response.
  • @returns {Error} The created error.
    */
    module.exports = function createError(message, config, code, request, response) {
    var error = new Error(message);
    return enhanceError(error, config, code, request, response);
    };
    /Users/Victoria/dev/projects/shortener/kutt/node_modules/axios/lib/core/settle.js in settle at line 18:12
    /Users/Victoria/dev/projects/shortener/kutt/node_modules/axios/lib/adapters/http.js in IncomingMessage.handleStreamEnd at line 201:11
    events.js in emitNone at line 111:20
    events.js in IncomingMessage.emit at line 208:7
    _stream_readable.js in endReadableNT at line 1064:12
    internal/process/next_tick.js in _combinedTickCallback at line 138:11
    internal/process/next_tick.js in process._tickDomainCallback at line 218:9`

Any help as highly appreciate, thanks

Custom root page and 404 page redirects

It would be great to have custom root page redirect and custom 404 page redirect for custom domains settings (in settings).
Where hiding admin console under /admin/ with a lock screen for users only.

Browser Extension

What about having a browser extension like when you click on the extension icon it generates you directly a shorten url without leaving the page ?

Option for public stats

Its very important for short URL service that Non logged in user can also view stat. Because short URL service is for tracking links. So there should be a option to make individual link stat public or private.

So there is two scenario not logged-in user and logged-in user

When user in not logged-in

There will be a drop down button. None, Public, Private. Non logged in user can select one of options:

When nothing is selected : https://techtun.es/R62z6c+ will only show target url.
When Public is selected : https://techtun.es/R62z6c+ will show stat publicly to anyone without logged-in.
When Private is selected : Non logged-in user will get message that he need to login.

When user is logged-in

There will be a dropdown in Table after the delete button. Logged in user can select one of the options:

When nothing is selected (by default) : https://techtun.es/R62z6c+ will only show target url.
When Public is selected : https://techtun.es/R62z6c+ will show stat publicly to anyone without logged-in.
When Private is selected : https://techtun.es/R62z6c+ will show stat privately with logged-in .

In setting page there also be an option what will be the default stat option. Public or Private by default none.

Looking forward to implement this feature.

Wrong user-agent detection in Kutt

Hi i'm using Kutt service with custom domain, i'm currently tracking a link inside instagram stories, most users are coming from Android and iOS but the most visit is coming from IE which is obviously not true, even if it was it should have been MS Edge not IE. wanted to report this issues, i hope i gets fixed.
2018-05-19_16-15-42

Inacurate stats.

Stats are not accurate and they usually get multiplied due to way they're being retrieved from database.

Shortened URL IDs not unique for same Long Url (multiple calls)

Hello,

Thanks for this brilliant initiative in the url-shortening space!

Please, will it not be most preferable if multiple calls to shorten a Long Url (via ~/api/url/submit) return a unique short url (kutt.it/unique-id-for-this-long-url)? For the same API Key at least?

[It returns different shortened urls, for each call, for same long url, right now.]

This will put this service on par, with goo.gl (which has been shut down).

Thanks, please.

Why Graphical Database?

Thank you for develop such a great tool with the new tools, but as a Web developer and Data Engineer I have a question , why you using Neo4j for database of this tool while this tool ( url shortener) dosen't need the features of graphical database?

Are you going to implement some features which use the features of graph concepts or you just use it because it's a new and trending database?

Error: Request failed with status code 403

I get this warning when try to submit a url:

(node:29527) UnhandledPromiseRejectionWarning: Error: Error: Request failed with status code 403
    at fn.catch.err (/path/to/kutt/server/server.js:27:13)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:160:7)
(node:29527) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
(node:29527) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

404 error - custom domain

I used the IP provided in the settings panel to point A record to it and then added the domain name on the settings page. But I'm getting a 404 error, am I doing anything wrong or should i " * " or something on DNS record. My site has SSL installed is that any of problem

[FR] Support custom port

Enter a port into the long URL - When accessing the shortened URL no redirect happens. Ideally, a custom port would be supported. If not possible to have a custom port, maybe this should be detected by the API and shown to the user in the UI?

Example using port 80 for Google;
image

Thanks,
Lewis

Create report form

Create a form in the report page so visitors can easily report abusive, malware or phishing links.

Kutt Integration with ShareX

Hello,

I am trying to integrate Kutt https://github.com/thedevs-network/kutt#api with shareX with Custom Short URL https://github.com/ShareX/CustomUploaders like Yourls https://github.com/ShareX/CustomUploaders/blob/master/yourls.org.sxcu

but could not figure out how to do that and what to enter which field on Custom ShortURL making interface see the screenshot https://zdrive.techtunes.com.bd/s/JYr9qcJWk2orPC3

I have also generate API key and passed the value as Header Value of X-API-Key see the screenshot https://zdrive.techtunes.com.bd/s/N2r3bF3k6XD78PS

In debug window its showing {"error":"No target has been provided."}
https://zdrive.techtunes.com.bd/s/4MeEReQrd2TP9cX

How to integrate Kutt with ShareX properly?

Android App

Is developing an android app possible with the api?

Dockerised version

Nice job!
It would be great if you can provide some docker based version of kutt.
It would be awesome if domain can be set just by changing some env variable :)

Run Kutt in development mode on Windows 10

ping @GingerPlusPlus @MKRhere @poeti8 @trgwii


I ran the npm run dev command in CMD on Windows 10 with Node.js v6.11.0 and Neo4j Desktop 1.0.14.

I got this error output:

C:\Server\wamp64\www\~url-shortener\kutt>npm run dev

> [email protected] dev C:\Server\wamp64\www\~url-shortener\kutt
> node ./server/server.js

C:\Server\wamp64\www\~url-shortener\kutt\server\controllers\authController.js:59
exports.recaptcha = async (req, res, next) => {
                          ^
SyntaxError: Unexpected token (
    at createScript (vm.js:56:10)
    at Object.runInThisContext (vm.js:97:10)
    at Module._compile (module.js:542:28)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (C:\Server\wamp64\www\~url-shortener\kutt\server\server.js:10:14)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:389:7)
    at startup (bootstrap_node.js:149:9)
    at bootstrap_node.js:504:3
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] dev: `node ./server/server.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Suriyaa\AppData\Roaming\npm-cache\_logs\2018-02-18T15_23_28_018Z-debug.log

C:\Server\wamp64\www\~url-shortener\kutt>

My npm log file: 2018-02-18T15_23_28_018Z-debug.log.

How can I fix this issue?

Question about Neo4j

First, congratulations for the awesome project! But I would like to know a few things recarding the chosen stack of the project.

Why do you chose Neo4j as the main database? Why not some other relational or key-value database? What you took into account to make that choice? Why a graph database is the best fit for a url shortener?

Title for each long/short link pair

kutt.it is the best tool for link shortening. It feels modern, straightforward, and it's easy to use. One thing that I think would make it even better is allowing the user to optionally add a title for their long/short link pair.

I'm often using kutt-it to shorten links to Google docs. Once you've got ten of them in there it's not easy to tell at a glance which is which. Which document was the work plan? There are too many links for which the beginning has exactly the same name to know.

Sometimes I skirt this problem by using custom path to describe what I am linking to. But if the app tells me that the custom path is not valid, then it's a mystery link. A mystery long ling and a mystery short link for which case I need to click through them all to find the one I intend to use.

Adding an optional title field for link pairs could solve both of these problems! ๐Ÿ’ก

Show long url with appending +

like other link shorteners it should show the long url with appending + to the short url

shor tlink with redirect: https://kutt.it/abcd
show full url preview: https://kutt.it/abcd+

Import tool?

Has anyone created a tool maybe using the api to import bit.ly /a.n.other service links to Kutt.it (just before I embark on this!)

Are you down?

I am receiving 502 Bad Gateway with my sortlinks.

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.