EnglishFrenchSpanish

OnWorks favicon

flickrfs - Online in the Cloud

Run flickrfs in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command flickrfs that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

NAME


flickrfs - virtual filesystem for flickr online photosharing service

ABOUT


Flickrfs is a virtual filesystem which mounts on your linux machine like any other
partition. Once mounted, it retrieves information about your photos hosted on your flickr
account, and shows them as files. You can now easily copy photos from your local machine
to this mount, and it will automatically upload them to your flickr account. Similary, you
can copy the files from your mount to your local machine, and it will download your images
from flickr.

All the files in the mount have a meta file attached to them, which provides access to
title, description, tags, and license information. Modifying any of these fields and
saving the meta file, will update them on the server as well.

You can easily specify what is the default resolution of photos that you wish to upload,
and the fs will automatically resize (read downsize) the photo, and upload it.

That's not all, the latest verion of flickrfs, provides a syncing mechanism. This
mechanism automatically syncs any changes done online directly to flickr account (using
flickr's web interface or any other third party apps), to your mount. Thus, any
addition/deletion/changes of sets/images is reflected back to your mount. No stale
information! You just to mount it once, and it can be used forever!

USAGE


Configuration
The first time you run flickrfs a directory .flickrfs is created in your $HOME directory.
The directory contains a file named config.txt. Edit the file, to set the following
options:

[configuration]
browser:/usr/bin/x-www-browser
image.size:1024x768
sets.sync.int:300
stream.sync.int:300
add.default.tag:yes
APIKey:f8aa9917a9ae5e44a87cae657924f42d
Secret:3fbf7144be7eca28

The sync intervals are in seconds. The default interval set is 5 mins. The sync of /sets
and /stream is irrespective of each other, so you can change the interval values as you
like.

image.size field specifies the default size that the photos will be resized to before
uploading. If you wish to upload the original size of photos, leave the value blank as
follows. Note that, only a copy of photo is resized, your original photo will not be
resized.

flickrfs will by default add the tag 'flickrfs' to all pictures the user uploads. Set
add.default.tag to 'no' to disable this feature.

The default values of API key and Secret used for authentication are specified in the
config file. You may change them if required.

Create a screen terminal (Optional)
What is screen? See screen(1)

Why? This will keep the fs mounted even when you log out. Next time you log in, you can
directly access the fs, without having to mount it again. Saves effort!

$ screen -S flickrfs

Mount the filesystem
Check if fuse module has already been loaded in kernel.

$ lsmod | grep -i fuse

$ sudo modprobe fuse #If not loaded

First time you are mounting the fs, you need to close all the browser windows. Secondly,
if you are behind a proxy server, set you http_proxy environment variable in the command
line.

$ export http_proxy="http://proxy.address:port"

$ flickrfs /mountpoint

The default web browser used is the system one. If you use something else, you can set it
in config.txt.

Your browser window will open up, and require you to login, and allow authentication to
flickrfs. Once you do that, close your window. Flickrfs will now start downloading
information. Wait a few minutes for your sets to populate. If you wish to view your whole
stream, create a directory stream in your mountpoint.

$ mkdir /mntpoint/stream

You are ready to GO!

See flickrfs in action (Optional)
If you wish, you can view exactly what is flickrfs doing, by checking out the log file
present in $HOME/.flickrfs

$ tail -f ~/.flickrfs/log

Unmount the fs
To unmount the filesystem, execute the following command

$ fusermount -u /mntpoint/

Structure


Flickrfs Home Directory $HOME/.flickrfs:
config.txt:
Allows you to set the default image size, and the time interval for the syncing of
/sets and /stream to flickr online server.

log: log file which keeps record of activity going on in flickrfs. Useful for debugging
purposes. In case you find a bug, post it along with this file on the mailing list.

The filesystem mount point contains these following folders by default:
/sets
/sets folder contains your sets, including your private photos. You can easily add/delete
sets using standard linux commands.

/tags (contains /tags/personal and /tags/public)
/tags/personal folder allows search based upon tags in your photostream. Just create a
folder (use mkdir) whose name is a colon delimited tags like 'tag1:tag2:tag3', and the fs
will search your photostream to match all the photos which contain ALL these tags, and
show them as files inside the directory.

/tags/public does the same thing, but searches for public photos even outside your
photostream.

/stream (not created by default)
/stream folder will contain ALL the photos that are present and accessible in your
photostream. Obviously these wd also include photos from your sets.

This folder is not created by default. You need to create directory named 'stream' in the
root of mount point for the fs to populate the photos. Once the folder is created, it
can't be removed.

Feature List and Usage


Integration with Berkeley DB - Minimal hardware resource consumption by flickrfs
flickrfs has been integrated with Berkeley DB using python's bsddb module. Which means
flickrfs would now store the image information in Berkeley db database, instead of storing
it in memory. Let come millions of images, flickrfs would still consume only negligible
amounts of RAM. Regarding hard disk space, it would be in order of 10s of Megabytes; not
an issue for today's computers.

Performance increase
flickrfs retrieves the sets information in parallel, background threads. Hence, the
directory structure is created quickly, allowing users to start working. If some sets
couldn't be retrieved the first time, they'd be taken care of when *syncing* kicks in.

Secondly, full metadata information of images would only be retrieved when asked for;
though they'll always be listed in the directory. Its just like the way flickrfs handles
images.

Robust execution of flickr operations on small bandwidth
Flickr operations, as in, interactions with flickr server are now fail-safe. flickrfs
handles the URLError exceptions thrown by the operation, checks its result, and retries
the operation multiple times in case of failure. Thus, even if connection is lost
temporarily, flickrfs would continue its operations unaffected.

config file would be automatically created
config.txt file, present in ~/.flickrfs would be created automatically, if not present.
Normally the default values would be fine, but feel free to change it according to your
needs.

Bandwidth information of flickr account
statfs system call is now tied to the bandwidth usage information of your flickr account.
You can view it by running a

$ df -h

Automatic periodic syncing of fs with online server.
flickrfs will automatically sync any changes done directly through flickr web
interface/organizer or any other third party apps, to its local mount dynamically. This
include changes to your /sets and /stream. The photos present in /tags are not synced,
simply because /tags is meant just for searching/downloading purposes. The time interval
can be specified through config.txt file. The default interval specified is 10 mins.

Directly link photos from your stream or tags to sets, without downloading.
Use your ln command to directly add a photo present in your /stream to a set.

$ ln /mntpt/stream/image.jpg /mntpt/sets/yourset/

$ ln /mntpt/tags/personal/../image.jpg /mntpt/sets/yourset/

OR, if you wish to add a new set altogether, just create a new dir before executing link
(ln). When you execute a mkdir, link your first photo quickly, so that the set is created
online. Otherwise, the sync thread will delete the new directory, seeing it as incoherent
with online server.

$ mkdir /mntpoint/sets/newset

Automatic resizing of photos while uploading.
NOTE: This does not affect the original photo. Only a copy is resized, and uploaded.

If your photo resolution is high, fs will automatically downsize (a copy of it, not
original photo) to the resolution specified in config.txt file, before uploading. This
also reduces the image's size, thus useful to people with limited 20MB upload limit. Note
that if the image is smaller than the specified size, it would not be resized, and the
original size will be uploaded.

Unicode Support
More robust unicode support. This feature is still in testing mode, so if you find any
bug, feel free to contact us.

Change photo meta data
Title, Description, Tags, License: Use meta data file associated to photo. For photo named
img1_ID.jpg, the meta data file will be updated to the servers.

$ vim .image1_ID.meta

You may also use 'sed' to do batch operations. For e.g., To change the licenses of all
photos from license:0 'All rights reserved' to license:1 'Attribution-NonCommercial-
ShareAlike License', execute this:

$ sed -i -e 's@license:0@license:1@' .*.meta

Permissions: On the image that you wish to change permissions, execute these statements:

$chmod 755 image_ID.jpg #to make photo public

$chmod 774 image_ID.jpg #to make it available to only friends and family. Not to public.

$chmod 764 image_ID.jpg #to make it available to family only

$chmod 754 image_ID.jpg #to make it available to friends only

$chmod 744 image_ID.jpg #to make it private

Time: Modification time of the image is set to its last update time on flickr, while
creation time is set to the time when the image was uploaded to flickr.

$ ls -l #Sort photos in asc. order according to 'last update'

$ ls -cl #Sort photos in asc. order according to 'date uploaded'

Uploading
Copy the image to either /sets/yourset or /stream, with the directoy name as follows:

$ cp /mycamera/myimage.jpg /mntpoint/stream:tag1:tag2:tag3/

and the photo will be uploaded with the three tags, and an additional tag 'flickrfs'.
Spaces in tags are allowed.

To create a new set, just create a directory in /sets/. The first photo that you copy or
link to that directory will become the primary photo of that set. When you execute a
mkdir, copy your first photo quickly, so that the set is created online. Otherwise, the
sync thread will delete the new directory, seeing it as incoherent with online server.

$ cp /mycamera/myimage.jpg /sets/newset:tag1:tag2:tag3/

Note the '/' at the end of the destination paths. This is required to differentiate b/w a
filename and directory.

Note: /tags/personal can no longer be used for uploading photos. Use /stream for that.

Deleting
Flickrfs doesn't allow/do deletion of photos. It is to prevent a 'rm *' accident!

You can easily remove photos from your sets though.

$ rm /mntpoint/sets/myset/image1_ID.jpg

If the photo is the last photo in the set, the set will be deleted automatically.

Searching
To search your personal photos for tags: tag1, tag2 and tag3; create a directory in
/tags/personal:

$ mkdir /mntpoint/tags/personal/tags1:tags2:tags3

To search public photos, do so in /tags/public.

The directory will store the results as files, with a maximum of 500 files.

Downloading
Copy the image from the mount to your local harddisk, and the original size of the image
will be downloaded. If original size if not present, the accessible largest size of the
photo will be downloaded.

$ cp /mntpoint/../image1_ID.jpg ~/myphotos/

Switch Account
If you wish to switch account, just delete the folder $HOMEDIR/.flickr. This will remove
your cache, and ask for authentication next time you mount the fs.

$ rm -R ~/.flickr/*

Flickrfs User Guide Online


Please visit <http://manishrjain.googlepages.com/flickrfs> to read more about flickrfs
usage and features.

Use flickrfs online using onworks.net services


Free Servers & Workstations

Download Windows & Linux apps

  • 1
    KDiff3
    KDiff3
    This repository is no longer maintained
    and is kept for archival purposes. See
    https://invent.kde.org/sdk/kdiff3 for
    the newest code and
    https://download.kde.o...
    Download KDiff3
  • 2
    USBLoaderGX
    USBLoaderGX
    USBLoaderGX is a GUI for
    Waninkoko's USB Loader, based on
    libwiigui. It allows listing and
    launching Wii games, Gamecube games and
    homebrew on Wii and WiiU...
    Download USBLoaderGX
  • 3
    Firebird
    Firebird
    Firebird RDBMS offers ANSI SQL features
    & runs on Linux, Windows &
    several Unix platforms. Features
    excellent concurrency & performance
    & power...
    Download Firebird
  • 4
    KompoZer
    KompoZer
    KompoZer is a wysiwyg HTML editor using
    the Mozilla Composer codebase. As
    Nvu's development has been stopped
    in 2005, KompoZer fixes many bugs and
    adds a f...
    Download KompoZer
  • 5
    Free Manga Downloader
    Free Manga Downloader
    The Free Manga Downloader (FMD) is an
    open source application written in
    Object-Pascal for managing and
    downloading manga from various websites.
    This is a mirr...
    Download Free Manga Downloader
  • 6
    UNetbootin
    UNetbootin
    UNetbootin allows you to create bootable
    Live USB drives for Ubuntu, Fedora, and
    other Linux distributions without
    burning a CD. It runs on Windows, Linux,
    and ...
    Download UNetbootin
  • More »

Linux commands

  • 1
    abc2abc
    abc2abc
    abc2abc - a simple abc
    checker/re-formatter/transposer ...
    Run abc2abc
  • 2
    abc2ly
    abc2ly
    abc2ly - manual page for abc2ly
    (LilyPond) 2.18.2 ...
    Run abc2ly
  • 3
    coqdoc
    coqdoc
    coqdoc - A documentation tool for the
    Coq proof assistant ...
    Run coqdoc
  • 4
    coqide
    coqide
    coqide - The Coq Proof Assistant
    graphical interface ...
    Run coqide
  • 5
    g.gui.vdigitgrass
    g.gui.vdigitgrass
    g.gui.vdigit - Interactive editing and
    digitization of vector maps. KEYWORDS:
    general, user interface, GUI, vector,
    editing, digitizer ...
    Run g.gui.vdigitgrass
  • 6
    g.listgrass
    g.listgrass
    g.list - Lists available GRASS data
    base files of the user-specified data
    type optionally using the search
    pattern. KEYWORDS: general, map
    management, list ...
    Run g.listgrass
  • More »

Ad