ONLINE TOOLS (codetabs.com)
version 0.9.0
- Count LOC (lines of code) online from github/gitlab repos or zipped uploaded folder
- CORS proxy
- Github Gitlab Stars graphical history
- IP GeoLocation
- Alexa Ranking
- HTTP Headers
- API weather temp
- Video To Gif
- Random Data API
In order to run this program you need installed
apt install curl git p7zip zip unzip ffmepg gifsicle
COUNT LOC ONLINE
DEMO and DOCS online
- Enter user/repo , then click add or select a zipped folder and upload it
- Can count GitHub and GitLab repos
- Max GitHub/GitLab Repo size : 500 mb, greater repos will not work.
- File max size for upload 200mb;
- Can select a branch different than master using &branch=branchName
- Can ignore files or directories writing them separated by commas in the ignoreBox.
- Petitions are limited to 1 every 5 secs. You will get a 429 error if you exceed
- Default colors are the same as github.
- You can edit the colors of the segments by clicking on any point of it. Segment will randomly change color as it is clicked.
API LOC
-
curl Request
add -L flag
curl -L https://api.codetabs.com/v1/loc?source=username/reponame
-
Make a GET HTTP Request
https://api.codetabs.com/v1/loc?github=USERNAME/REPONAME
https://api.codetabs.com/v1/loc?gitlab=USERNAME/REPONAME
If you want a different branch than master
https://api.codetabs.com/v1/loc?SOURCE=USERNAME/REPONAME&branch=branchName
Ignore files or directories
https://api.codetabs.com/v1/loc?SOURCE=USERNAME/REPONAME&ignored=DIRNAME1,DIRNAME2,FILENAME
Example :
https://api.codetabs.com/v1/loc?github=jolav/betazone
https://api.codetabs.com/v1/loc?gitlab=jolav/chuletas
https://api.codetabs.com/v1/loc?github=imageMagick/imageMagick&branch=gh-pages
https://api.codetabs.com/v1/loc?github=jolav/betazone&ignored=www,main.go
Response (JSON) :
[
{
"language": "JavaScript",
"files": 1,
"lines": 176,
"blanks": 14,
"comments": 6,
"linesOfCode": 156
},
... more languages
{
"language": "Total",
"files": 8,
"lines": 921,
"blanks": 132,
"comments": 46,
"linesOfCode": 743
}
]
CORS-PROXY
Read DOCS online
- Free CORS proxy server to bypass same-origin policy related to performing standard AJAX requests to 3rd party services. You can use to prevent mixed content of images and JSON data proxying the resources to serve them under https.
- API URL => append the url with the resource you want to "https://api.codetabs.com/v1/proxy/"
- Each request is limited to 5mb size download to avoid abuse.
- Only suppports GET request.
- Limit : 5 request per second. Once reached subsequent requests will result in error 429 (too many requests) until your quota is cleared.
GITHUB GITLAB STARS GRAPHICAL HISTORY
DEMO online
- Select Github or GitLab source.
- Enter user/repo , then click add.
- Petitions are limited to 1 every 5 secs. You will get a 429 error if you exceed
- You can edit the colors of the lines by clicking on any point of it. Line will randomly change color as it is clicked.
IP GEOLOCATION
Demo and Docs online
- Free service that provides a public secure API (CORS enabled) to retrieve geolocation from any IP or hostname.
- 10 request per second. Once reached subsequent requests will result in error 429 until your quota is cleared.
- This API requires no key or signup.
- JSON and XML supported
- IPv4 and IPv6 supported
- CORS support out of the box makes this perfect to your front end apps or webs
Examples
https://api.codetabs.com/v1/geolocation/json
https://api.codetabs.com/v1/geolocation/json?q=codetabs.com
https://api.codetabs.com/v1/geolocation/xml?q=8.8.8.8
https://api.codetabs.com/v1/geolocation/xml?q=2a00:1450:4006:803::200e
Response JSON :
{
"ip": "172.168.90.240",
"country_code": "FR",
"country_name": "France",
"region_code": "IDF",
"region_name": "Ile-de-France",
"city": "Paris",
"zip_code": "75001",
"time_zone": "Europe/Paris",
"latitude": 48.8628,
"longitude": 2.3292
}
ALEXA
Tool for know Alexa Ranking Top 1 million about a website.
Get Alexa Ranking Online
- Petitions are limited to 5 per second. You will get a 429 error if you exceed
HEADERS
Tool to get list of response headers including redirect chain of a HTTP connection
DEMO and DOCS online
- Petitions are limited to 5 per second. You will get a 429 error if you exceed
WEATHER
Read DOCS online
- Petitions are limited to 5 per sec. You will get a 429 error if you exceed
- CORS is enabled allowing Javascript make requests across domain boundaries
- Supported formats, json and xml
VIDEO2GIF
Video2Gif Converter online
- Tool for converting videos to animated gifs
- File max size 100mb
- Limit : 1 request every 30 seconds. Once reached subsequent requests will result in error 429 (too many requests) until your quota is cleared.
Parameters
Frames : Set frame rate (frames per second). Max value 10, default 5.
Start : Seek to given time position in seconds. "hh:mm:ss" syntax is also supported. Default is from start
- 100 - begin from second 100
- 01:40 - begin from minute 1 and second 40
Duration : Restrict the captured video sequence to the duration specified in seconds. "hh:mm:ss" syntax is also supported. Default is all duration
- 200 - take 200 seconds from start
- 03:20 - take 3 minutes and 20 seconds from start
Scale : Set width:height , if one parameter is -1 it will automatically determine the other while preserving the aspect ratio. Default is 320:160. Max 480.
- 480:480 set width = 480 and height = 480
- 380:-1 set width = 380 and height automatically preserving the aspect ratio
- -1:320 set height = 320 and width automatically preserving the aspect ratio
RANDOM DATA API
Demo and Docs online
- Api to generate random data
- Only suppports GET request.
- Limit : 10 request per seconds. Once reached subsequent requests will result in error 429 (too many requests) until your quota is cleared.
Endpoints
- Get Random Integers
http Request :
GET https://api.codetabs.com/v1/random/integer?range=X-Y
Examples
Get random number between 1-10 both inclusive
https://api.codetabs.com/v1/random/integer?min=1&max=10
You can also specify how many times you want the result with the parameter times.
Default is 1 and there is no need to specify it. Max times = 10.000
https://api.codetabs.com/v1/random/integer?min=1&max=10×=50
- List with randomized order
http Request :
GET https://api.codetabs.com/v1/random/list?len=X
Max list elements : 10.000
Example: Get random order numbers for a list of 1000 elements
https://api.codetabs.com/v1/random/list?len=1000
TO DO
-
WWW clean unused parts, css, etc
-
WWW change web design
-
ALL Fix the tests. They are outdated and unusable.
-
LOC Save Historical Data
-
LOC Gitlab
-
LOC Bitbucket
-
LOC Use same colours for languages as github
-
LOC Change cgag/loc
-
LOC Select different branch than master
-
LOC toggle pie chart to showing non blank lines
-
LOC box to ignore patterns such as ./vendor
-
LOC update line count when hiding languages
-
STARS Save Historical Data (unstar = problem)
-
STARS Gitlab
-
STARS Optimize doing far fewer requests. Extrapolate data
-
GEOLOCATION Use csv data instead bin for remove dependency and load all data in memory ???
-
WEATHER Search more sources for weather data
-
VIDEO2GIF Get better compression
Acknowledgment
-
This site includes Ben Boyter boyter/scc for counting lines of code.
-
This site includes IP2Location LITE data available from https://lite.ip2location.com.