forked from YOURLS/YOURLS
-
Notifications
You must be signed in to change notification settings - Fork 0
Your Own URL Shortener.
License
kruvas/YOURLS
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="X-UA-Compatible" content="chrome=1"> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>YOURLS: Your Own URL Shortener</title> <style type="text/css" media="screen"> /* Default Style */ body { font-family: Verdana, Arial; font-size: 12px; color: #595441; background:#F3FAFD; } p { padding-left: 10px; } code { background:#eaeaef; padding:0 2px; } tt { background:#ffc; padding:0 2px; } pre tt { display:block; } blockquote { margin: 10px 20px 0px 20px; padding: 10px; border: 1px solid #8d8d8d; background-color: #f5f5f5; } li { margin-top: 20px; } ul li ul li { margin-top: 10px; } a, a:active, a:link, a:visited { color: #5b87b4; text-decoration: none; } a:hover { color: #5577a5; text-decoration: underline; } div.sshot { } div.sshot p { color:#5577a5; font-size:90%; } div.sshot img { margin-bottom:1em; border-bottom:1px solid #ccc; } /* Place Holder Style */ #Container { width: 780px; margin-left: auto; margin-right: auto; } #Content { background-color: #fff; border: 1px solid #2A85B3; padding: 10px; margin-top: -13px; -moz-border-radius:15px; -webkit-border-radius:15px; } /* Title Style */ h1 { font-family: Verdana, Arial; font-size: 22px; font-weight: bold; color: #2a85b3; border-bottom: 1px solid #2a85b3; margin-bottom: 10px; background:transparent url(http://yourls.org/images/yourls-logo.png) top center no-repeat; padding-top:90px; } h1:hover span { color: #73A4D6; } h2 { font-family: Verdana, Arial; font-size: 18px; font-weight: bold; color: #5b87b4; } h2:before { content: '\00BB'; color:#BFE0FE; } h3 { font-family: Verdana, Arial; font-size: 14px; font-weight: bold; color: #73a4d6; margin-top:2em; } h3:before { content: '\00BB'; color:#BFE0FE; } /* Tabs */ ul#Tabs { font-family: Verdana, Arial; font-size: 12px; font-weight: bold; list-style-type: none; padding-bottom: 28px; border-bottom: 1px solid #2A85B3; margin-bottom: 12px; margin-right:30px; margin-left:30px; z-index: 1; } #Tabs li.Tab { float: right; height: 25px; background-color: #deedfb; margin: 2px 0px 0px 5px; border: 1px solid #2A85B3; -moz-border-radius-topleft:5px; -moz-border-radius-topright:5px; -webkit-border-top-left-radius:5px; -webkit-border-top-right-radius:5px; } #Tabs li.Tab a { float: left; display: block; color: #666666; text-decoration: none; padding: 5px; } #Tabs li.Tab a:hover { background-color: #bfe0fe; border-bottom: 1px solid #bfe0fe; } /* Selected Tab */ #Tabs li.SelectedTab { float: right; height: 25px; background-color: #fff; margin: 2px 0px 0px 5px; border-top: 1px solid #2A85B3; border-right: 1px solid #2A85B3; border-bottom: 1px solid #fafafa; border-left: 1px solid #2A85B3; -moz-border-radius-topleft:3px; -moz-border-radius-topright:3px; -webkit-border-top-left-radius:3px; -webkit-border-top-right-radius:3px; } #Tabs li.SelectedTab a { float: left; display: block; color: #666666; text-decoration: none; padding: 5px; cursor: default; } /* Copyright */ #Copyright { text-align:center; margin-top:20px; } #Copyright p { padding:10px; background:white; margin:0 auto; width:750px; -moz-border-radius:10px; -webkit-border-radius:10px; border:1px solid #2A85B3; -moz-border-radius-bottomleft:30px; -moz-border-radius-bottomright:30px; -webkit-border-bottom-left-radius:25px; -webkit-border-bottom-right-radius:25px; } #Copyright p a { background:#fff url(http://yourls.org/images/favicon.gif) 2px center no-repeat; padding-left:20px; } </style> </head> <body> <div id="Container"> <!-- Title --> <h1>YOURLS: <span>Y</span>our <span>O</span>wn <span>URL</span> <span>S</span>hortener</h1> <!-- Tabs --> <ul id="Tabs"> <li id="ShowcaseTab" class="Tab"><a href="#Showcase" onclick="toggle(this);">More</a></li> <li id="FAQTab" class="Tab"><a href="#FAQ" onclick="toggle(this);">FAQ</a></li> <li id="APITab" class="Tab"><a href="#API" onclick="toggle(this);">API</a></li> <li id="PluginTab" class="Tab"><a href="#Plugin" onclick="toggle(this);">WordPress plugin</a></li> <li id="ConfigTab" class="Tab"><a href="#Config" onclick="toggle(this);">Configuration</a></li> <li id="InstallTab" class="Tab"><a href="#Install" onclick="toggle(this);">Install/Upgrade</a></li> <li id="AboutTab" class="SelectedTab"><a href="#About" onclick="toggle(this);">About</a></li> </ul> <!-- Content --> <div id="Content"> <!-- Index --> <div id="AboutDiv"> <h2>About YOURLS</h2> <h3>What is YOURLS</h3> <p>YOURLS is a small set of PHP scripts that will allow you to run your own URL shortening service (<em>a la</em> TinyURL). You can make it private or public, you can pick custom keyword URLs, it comes with its own API. You will love it.</p> <p>There's a <a href="#Plugin" onclick="toggle(this);">WordPress plugin</a> available for YOURLS, making integration with your blog a snap: create short URLs and tweet them automagically as you publish blog posts.</p> <h3>YOURLS Features</h3> <ul> <li><tt>Public</tt> (everybody can create short links) or <tt>private</tt> (your links only)</li> <li>Sequential or custom URL keyword</li> <li>Handy <tt>bookmarklet</tt> to easily shorten and share links</li> <li>Awesome <tt>stats</tt>: historical click reports, referrers tracking, visitors geo-location</li> <li>Neat <tt>AJAXed</tt> interface</li> <li>Cool developer <tt>API</tt></li> <li>Friendly <tt>installer</tt></li> </ul> <h3>Screenshots</h3> <div class="sshot"> <p>Main admin dashboard</p> <img src="http://yourls.org/images/admin-dashboard.gif" /> <p>Stats for each short URL</p> <img src="http://yourls.org/images/stats_1.png" /> <img src="http://yourls.org/images/stats_2.png" /> <img src="http://yourls.org/images/stats_3.png" /> <p>See a live example of YOURLS stats on <a href="http://yourls.org/download+">http://yourls.org/download+</a></p> </div> <h2>Download</h2> <p><a href="http://yourls.org/download">Download YOURLS</a> from Google Code</p> <p>You can follow YOURLS' development on the <a href="http://yourls.org/revisions">revision list</a> and get current snapshot <a href="http://yourls.org/svnco">using SVN</a></p> <h2>Credits</h2> <p>YOURLS is made by:</p> <ul> <li><a href="http://yourls.org/lesterchan" title="Visit Lester Chan's site">Lester Chan</a> &ndash <a href="http://twitter.com/gamerz">@GamerZ</a> on Twitter</li> <li><a href="http://yourls.org/ozh" title"Visit Ozh's site">Ozh Richard</a> &ndash <a href="http://twitter.com/ozh">@Ozh</a> on Twitter</li> </ul> </div> <!-- Installation Instructions --> <div id="InstallDiv" style="display: none;"> <h2>Fresh Install</h2> <ol> <li>Unzip the YOURLS archive</li> <li>Copy <code>includes/config-sample.php</code> to <code>includes/config.php</code></li> <li>Open <code>includes/config.php</code> with a raw text editor (like Notepad) and fill in the required settings</li> <li>Upload the unzipped files to your domain <code>public_html</code> or <code>www</code> folder</li> <li>Create a new database (see <a href="#Config" onclick="toggle(this);">Configuration</a> – you can also use an existing one)</li> <li>Point your browser to <code>http://yoursite.com/admin/</code></li> </ol> <h2>Upgrade from YOURLS 1.4</h2> <ol> <li>Unzip the YOURLS archive</li> <li>Upload files to your server, overwriting your existing install</li> <li>Point your browser to <code>http://yoursite.com/admin/</code></li> </ol> <h2>Upgrade from YOURLS 1.3 or earlier</h2> <ol> <li>Make a copy of your <code>config.php</code></li> <li>Delete all files including <code>.htaccess</code> in YOURLS root directory</li> <li>Unzip the YOURLS archive, upload the files</li> <li>Copy <code>config-sample.php</code> to <code>config.php</code> and fill in details. <strong>Don't start with your old config file</strong>, use the new sample config file.</li> <li>In your new <code>config.php</code>, add the <em>defines</em> for <code>YOURLS_DB_TABLE_URL</code> and <code>YOURLS_DB_TABLE_NEXTDEC</code> you had in your previous config file <li><strong>Backup the database!</strong></li> <li>Point your browser to <code>http://yoursite.com/admin/</code> and follow instructions</li> <li>After upgrade is well and over, remove the define <code>YOURLS_DB_TABLE_NEXTDEC</code> from your config file</li> </ol> </div> <!-- Configuration Instructions --> <div id="ConfigDiv" style="display: none;"> <h2>Configuration (in includes/config.php)</h2> <h3>MySQL settings</h3> <ul> <li><code>YOURLS_DB_USER</code><br/> your MySQL username<br/> <em>Example:</em> <tt>'joe'</tt></li> <li><code>YOURLS_DB_PASS</code><br/> your MySQL password<br/> <em>Example:</em> <tt>'MySeCreTPaSsW0rd'</tt></li> <li><code>YOURLS_DB_NAME</code>: The database name<br/> <em>Example:</em> <tt>'yourls'</tt></li> <li><code>YOURLS_DB_HOST</code><br/> The database host<br/> <em>Example:</em> <tt>'localhost'</tt></li> <li><code>YOURLS_DB_PREFIX</code><br/> The name prefix for all the tables YOURLS will need<br/> <em>Example:</em> <tt>'yourls_'</tt></li> </ul> <h3>Site options</h3> <ul> <li><code>YOURLS_SITE</code><br/> Your (short) domain URL, no trailing slash<br/> <em>Example:</em> <tt>'http://ozh.in'</tt></li> <li><code>YOURLS_HOURS_OFFSET</code><br/> Timezone GMT offset<br/> <em>Example:</em> <tt>'-5'</tt></li> <li><code>YOURLS_PRIVATE</code><br/> Private means protected with login/pass as defined below. Set to false for public usage (on an intranet for instance)<br/> <em>Example:</em> <tt>'true'</tt></li> <li><code>YOURLS_UNIQUE_URLS</code><br/> Allow multiple short URLs for a same long URL<br/> Set to <tt>true</tt> to allow only one pair of shortURL/longURL (default YOURLS behavior), or to <tt>false</tt> to allow creation of multiple short URLs pointing to the same long URL (as bit.ly does)<br/> <em>Example:</em> <tt>'true'</tt></li> <li><code>YOURLS_COOKIEKEY</code><br/> A random secret hash used to encrypt cookies. You don't have to remember it, make it long and complicated. Hint: generate a unique one at <a href="http://yourls.org/cookie">http://yourls.org/cookie</a><br/> <em>Example:</em> <tt>'qQ4KhL_pu|s@Zm7n#%:b^{A[vhm'</tt></li> <li><code>yourls_user_passwords</code><br/> A list of username(s) and password(s) allowed to access the site if private<br/> <em>Example:</em> <tt>'joe' => 'mypassword'</tt></li> </ul> <h3>URL Shortening settings</h3> <ul> <li><code>YOURLS_URL_CONVERT</code><br/> URL shortening method: base <tt>36</tt> or <tt>62</tt>. See <a onclick="toggle(this);" href="#FAQ">FAQ</a> for more explanations</li> <li><code>yourls_reserved_URL</code><br/> A list of reserved keywords that won't be used as short URLs. Define here negative, unwanted or potentially misleading keywords<br/> <em>Example:</em> <tt>'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick', 'gay'</tt></li> </ul> <h3>Optional settings</h3> <ul> <li><code>YOURLS_PRIVATE_INFOS</code><br/> If <code>YOURLS_PRIVATE</code> is set to <tt>true</tt>, you can still easily make your individual stat pages public. To do so, override the global private setting with:<br/> <tt>define('YOURLS_PRIVATE_INFOS', false);</tt> </li> <li><code>YOURLS_PRIVATE_API</code><br/> If <code>YOURLS_PRIVATE</code> is set to <tt>true</tt>, you can still easily make your API public. To do so, override the global private setting with:<br/> <tt>define('YOURLS_PRIVATE_API', false);</tt> <li><code>YOURLS_NOSTATS</code><br/> If <code>YOURLS_NOSTATS</code> is set to <tt>true</tt>, redirects won't be logged and there will be not stats available.<br/> </li> </ul> <h3>Advanced settings</h3> <p>File <code>includes/yourls-load.php</code> contains a few more undocumented but self explanatory and commented settings. Add them to your own <code>config.php</code> if you know what you're doing</p> </div> <!-- WordPress plugin --> <div id="PluginDiv" style="display:none"> <h2>WordPress Plugin</h2> <h3>Features</h3> <ul> <li>Generate short URLs for each new post or page</li> <li>Generate short URLs for all your old posts and pages if wished</li> <li>Send a tweet on your Twitter account with the post title and short URL as you publish them</li> <li>Works if YOURLS is hosted on the same server or on a remote server</li> <li>Also compatible with tr.im, is.gd, tinyurl.com and bit.ly for maximum fun</li> </ul> <h3>Screenshots</h3> <div class="sshot"> <img src="http://yourls.org/images/wpplugin.gif"/> </div> <h3>Download & more informations</h3> <ul> <li>Download <a href="http://yourls.org/plugin">YOURLS: WordPress to Twitter</a> from the official WordPress plugin repository</li> <li>More information, tips and feedback on <a href="http://yourls.org/plugindoc">the plugin page</a> from planetOzh</li> </ul> </div> <!-- API --> <div id="APIDiv" style="display:none"> <h2>YOURLS' API</h2> <h3>Features</h3> <ul> <li>Generate or get existing short URLs, with sequential or custom keyword</li> <li>Get some statistics about your links: top clicked links, least clicked links, newest links</li> <li>Output format: JSON, XML, or simple raw text</li> <li>Authentify either with login/password or using a secure passwordless mechanism</li> </ul> <h3>Usage</h3> <p>You need to send parameters to <code>http://yoursite.com/yourls-api.php</code> either via <code>GET</code> or <code>POST</code>. These parameters are:</p> <ul> <li>A valid <code>username</code> / <code>password</code> pair, or your <code>signature</code> (see <a href="http://code.google.com/p/yourls/wiki/PasswordlessAPI">Passwordless API requests</a>)</li> <li>The requested <code>action</code>: <tt>"shorturl"</tt> (get short URL for a link), <tt>"expand"</tt> (get long URL of a shorturl), <tt>"url-stats"</tt> (get stats about one short URL) or <tt>"stats"</tt> (get stats about your links)</li> <li>With <tt>action = "shorturl"</tt> : <ul> <li>the <code>url</code> to shorten</li> <li>optional <code>keyword</code> for custom short URLs</li> <li>output <code>format</code>: either <tt>"json"</tt>, <tt>"xml"</tt> or <tt>"simple"</tt></li> </ul> </li> <li>With <tt>action = "expand"</tt> : <ul> <li>the <code>shorturl</code> to expand (can be either 'abc' or 'http://site/abc')</li> <li>output <code>format</code>: either <tt>"json"</tt>, <tt>"xml"</tt> or <tt>"simple"</tt></li> </ul> </li> <li>With <tt>action = "url-stats"</tt> : <ul> <li>the <code>shorturl</code> for which to get stats (can be either 'abc' or 'http://site/abc')</li> <li>output <code>format</code>: either <tt>"json"</tt> or <tt>"xml"</tt></li> </ul> </li> <li>With <tt>action = "stats"</tt> : <ul> <li>the <code>filter</code>: either <tt>"top"</tt>, <tt>"bottom"</tt> , <tt>"rand"</tt> or <tt>"last"</tt></li> <li>the <code>limit</code> (maximum number of links to return)</li> <li>output <code>format</code>: either <tt>"json"</tt> or <tt>"xml"</tt></li> </ul> </li> </ul> <h3>Sample return</h3> <pre><tt><result> <url> <id>62019439011</id> <keyword>shorter</keyword> <url>http://somereallylongurlyouneedtoshrink.com/</url> <date>2009-06-23 18:08:07</date> <ip>127.0.0.1</ip> </url> <status>success</status> <message>http://somereallylongurlyouneedtoshrink.com/ (ID: shorter) added to database</message> <shorturl>http://yoursite.com/shorter</shorturl> </result></tt></pre> <h3>Sample file</h3> <p>There's a sample file included that serves as an example on how to play with the API</p> </div> <!-- FAQ Instructions --> <div id="FAQDiv" style="display: none;"> <h2>FAQ</h2> <h3>Server requirements</h3> <ol> <li>A server with <strong>mod_rewrite</strong> enabled</li> <li>At least <strong>PHP 4.3</strong></li> <li>At least <strong>MYSQL 4.1</strong></li> <li><em>Note</em>: YOURLS can also run on Nginx (<a href="http://foolrulez.org/blog/2009/08/foolz-us-make-yourls-work-on-ngin/">Read more</a>)</li> </ol> <h3>Server recommendations</h3> <ul> <li>PHP <a href="http://www.php.net/curl">CURL extension</a> installed if you plan on playing with the API</li> </ul> <h3>Limitations</h3> <ul> <li>Maximum length of long URLs to be shortened is <strong>2000 characters</strong></li> <li>Maximum length of custom keyword is <strong>200 characters</strong></li> <li>That makes about <strong>8 sexdecillions of centillions</strong> of available URLs (<a href="http://en.wikipedia.org/wiki/Names_of_large_numbers">seriously</a>. That's a 355 digits number). </li> </ul> <h3>Difference Between Base 36 And Base 62 Encoding</h3> <ul> <li>Base 36 encoding uses <code>0123456789abcdefghijklmnopqrstuvwxyz</code></li> <li>Base 62 encoding uses <code>0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz</code></li> <li>Stick to one setting, don't change after you've created links as it will change all your short URLs!</li> <li>Base 36 is the default and should be picked.</li> </ul> <h3>Getting a short domain name for your YOURLS install</h3> <ul> <li>Unless you plan on making it public, any shared hosting should be fine</li> <li><a href="http://domai.nr/">Domainr</a> is a fun search tool that might inspire and help you</li> <li>Aim for exotic top level domains (.in, .im, .li ...), they're often cheap and a lot are still available. <a href="https://www.gandi.net/domain/buy/search/">Gandi</a> is a pretty comprehensive registrar, for instance.</li> </ul> <h3>YOURLS needs its own .htaccess</h3> <ul> <li>You cannot install YOURLS and, say, WordPress, in the same directory. Both of them need to handle URLs differently</li> <li>If you want to install YOURLS on the same domain than your blog, give it its own (short) subdirectory, such as yourblog.com/s/ (for "short") or yourblog.com/x/ (for "exit")</li> </ul> <h3>If YOURLS generates 404 for your short URLs</h3> <ul> <li>Make sure <strong>mod_rewrite</strong> is enabled with your Apache server</li> <li>Some (crappy) hosts such as GoDaddy or 1and1 need <a href="http://code.google.com/p/yourls/issues/detail?id=25">a small fix</a> to .htaccess</li> </ul> <h3>Feedback, feature requests and bug reporting</h3> <ul> <li>Please don't get in touch directly by mail or Twitter. <a href="http://yourls.org/support">Please</a>.</li> <li>Check the <a href="http://code.google.com/p/yourls/wiki/RoadMap">Road Map</a> for future features</li> <li>Raise an <a href="http://yourls.org/issues">issue here</a> and give all the details. Thanks!</li> </ul> </div> <!-- Showcase --> <div id="ShowcaseDiv" style="display: none;"> <h2>Showcase</h2> <h3>Here are a few examples of sites running YOURLS with a unique design or concept</h3> <ul> <li><a href="http://mrte.ch/">http://mrte.ch/</a><br/> Mr Tech's public YOURLS setup, listing top links and some stats</li> <li><a href="http://xib.me/">http://xib.me/</a></br/> A nicely styled YOURLS public interface</li> <li><a href="http://s4c.in/">http://s4c.in/</a><br/> Shorten 4 Charity, a public YOURLS setup with shortened links displayed within a frame containing ads for charities </li> <li><a href="http://girv.in/">http://girv.in/</a><br/> John Girvin's YOURLS setup with all links in a sortable display</li> <li><a href="http://www.iyeman.net/">http://www.iyeman.net/</a><br/> Example of portal for your online self with links to your places (blog, Twitter) and your URL shortener</li> <li><a href="http://vb.ly/">http://vb.ly/</a><br/> Public YOURLS setup run by famous sex writer Violet Blue as "the internet's first and only sex-positive url shortener"</li> </ul> <h2>More stuff about or with YOURLS</h2> <ul> <li><a href="http://screenr.com/nTs">http://screenr.com/nTs</a><br/> A screencast explaining how to setup YOURLS</li> <li><a href="http://v007.me/836">YOURLS: Short URL Widget</a><br/> Creates a fully configurable widget that outputs the short URL to the current post or page</li> <li><a href="http://foolrulez.org/blog/2009/09/yourls-widget-released">YOURLS Widget for WordPress</a><br/> This widget adds a convenient short URL service into your sidebar. Check the above link for a live example</li> <li><a href="http://github.com/pjain/WWW-Shorten-Yourls">WWW-Shorten-Yourls</a><br/> A Perl module to shorten URLs using YOURLS</li> <li><a href="http://www.chrismarquardt.com/blog.php?id=7952283233607249761">Textexpander and YOURLS</a><br/> Making YOURLS and Textexpander on the Mac play together</li> <li><a href="http://www.eugenegordin.com/etc/how-to-use-your-custom-yourls-shortener-with-tweetie-2.html">YOURLS and Tweetie 2</a><br/> How to set up Tweetie2 so it uses your own service</li> <li><a href="http://remkusdevries.com/how-to-setup-tweetdeck-with-yourls/">YOURLS and TweetDeck</a><br/> How to set up TweetDeck so it uses your own service</li> <li><a href="http://www.mrtech.com/forums/index.php/topic,2524.0.html">YOURLS hacks</a><br/> How to enhance YOURLS for spam control/throttling, unshortening and weekly stats <li><a href="http://code.google.com/p/yourls/issues/detail?id=137">Export URLS as text list</a><br/> A simple script to list all URLs, one per line, in plain text (for using as an indexer config file, for example)</li> <li>YOURLS featured on <a href="http://lifehacker.com/5335216/make-your-own-url-shortening-service">Lifehacker</a></li> </ul> </div> </div> <!-- content --> </div> <!-- container --> <div id="Copyright"><p><a href="http://yourls.org/">YOURLS</a>: Your Own URL Shortener<br />All Free & GPL – 2009</p></div> <script type="text/javascript"> /* <![CDATA[*/ // Dynamically get tabs function getTabs() { var d = document.getElementById('Tabs'); var matches = d.innerHTML.match(/<li id="(.+?)Tab"/g); var tabs = [] for (i in matches) { tabs[i]= matches[i].replace('<li id="','').replace('Tab"', ''); } tabs = tabs.reverse(); return (tabs) } // Toggle tab display function toggle(el) { //var tabs = ["About", "Install", "Config", "Plugin", "FAQ"]; var target = el.toString().replace(/^.*#/, ''); for (var tab in tabs) { // reinit tabs document.getElementById(tabs[tab]+'Tab').className = 'Tab'; // reinit divs document.getElementById(tabs[tab]+'Div').style.display= 'none'; } // highlight & display target document.getElementById(target+'Div').style.display = 'block'; document.getElementById(target+'Tab').className = 'SelectedTab'; try { el.blur(); } catch(err) {} } // Get tab list var tabs = getTabs(); // On page load/refresh display required tab if (location.hash) { toggle(location.hash); } /* ]]> */ </script> </body> </html>
About
Your Own URL Shortener.
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- PHP 93.2%
- JavaScript 6.8%