tinyurl
v1.0.7
Tinyurl هو عنوان URL بسيط بناء على Java. المشروع مفتوح المصدر (ترخيص Apache ، الإصدار 2.0)
# SystemProperty / Default value
org.javastack.tinyurl.config=[classpath]/org.javastack.tinyurl.properties
file:///etc/tinyurl/org.javastack.tinyurl.properties
أو https://config-server/tinyurl/org.javastack.tinyurl.properties
# Parameter / Default value
storage.dir=[webapp]/WEB-INF/storage/
whitelist.file=file://[storage.dir]/whitelist.conf
check.flags=WHITELIST,CONNECTION
check.cache.millis=60000
connection.timeout.millis=10000
read.timeout.millis=30000
dump.key=[random]
#
# Default KVStore Persistence
storage.class=org.javastack.tinyurl.PersistentKVStore
#
# Optional MySQL Persistence (default: not enabled)
#storage.class=org.javastack.tinyurl.jdbc.PersistentMySQL
#storage.url=jdbc:mysql://localhost:3306/tinyurl
#storage.username=tinyurl
#storage.password=secret
#
# QR Codes
#base.url=https://tiny.javastack.org/r/
#qr.size.min=50
#qr.size.max=1000
#qr.size.default=300
org.javastack.tinyurl.PersistentKVStore
: KVSTORE PROSISTENCE (افتراضي ، محمول)org.javastack.tinyurl.jdbc.PersistentMySQL
: MySQL Prosistenceexample: https://tiny.javastack.org/r/
CATALINA_OPTS="-Dorg.javastack.tinyurl.config=file://${CATALINA_BASE}/conf/org.javastack.tinyurl.properties"
في tomcat/bin/setenv.sh (linux)GRANT ALL ON tinyurl.* TO 'tinyurl'@'%' IDENTIFIED BY 'secret';
واجهة برمجة التطبيقات للتقصير بسيطة للغاية:
# Method: POST
# Path: /tiny
# Content-Type: application/x-www-form-urlencoded
# Parameter: "url=${longURLencoded}"
# Example: curl -i -d "url=https%3A%2F%2Fgithub.com%2Fggrandes%2Ftinyurl%2F" ${BASE_URL}/tiny
أعد شيئًا كهذا:
HTTP/1.1 200 OK
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 19
Cache-control: must-revalidate, max-age=0
{ "id": "iN8diz" }
# Method: GET
# Path: /q/{id}
# Example: curl -i ${BASE_URL}/q/iN8diz
أعد شيئًا كهذا:
HTTP/1.1 200 OK
Cache-Control: public
Content-Type: image/png
Content-Length: 475
.PNG...binary-data...
# Method: GET
# Path: /r/{id}
# Example: curl -i ${BASE_URL}/r/iN8diz
أعد شيئًا كهذا:
HTTP/1.1 302 Found
Location: https://github.com/ggrandes/tinyurl/
Content-Length: 0
Cache-control: must-revalidate, max-age=0
القيم المتشددين الحالية:
KEY_SPACE
هو: 6 أحرف (Base64 هو 64^ks (6) = 68.719.476.736 Keys Max)مستوحاة في goo.gl و bit.ly و cort.as ، هذا الرمز هو نسخة java-minimalistic.