GithubHelp home page GithubHelp logo

rdmark / afpfs-ng Goto Github PK

View Code? Open in Web Editor NEW

This project forked from 007/afpfs-ng

2.0 0.0 0.0 2.17 MB

afpfs-ng/libafpclient is an open source client for the Apple Filing Protocol

License: GNU General Public License v2.0

Shell 0.02% C 95.65% Makefile 0.66% Roff 3.16% M4 0.51%

afpfs-ng's Introduction

Apple Filing Protocol Client Library - afpfs-ng - libafpclient

Description

AFPFS is a client implementation of the Apple Filing Protocol written in C which can be used to access AFP shares exposed by multiple devices, notably Mac OS X computers, linux devices exporting shares with netatalk, Apple Airport and Time Capsule products as well as other NAS devices from various vendors.

Installation

Pretty standard unix stuff:

If you are using a bootstrapped tarball, you can skip this step. You may need to install autoconf / automake / libtool / aclocal first.

./bootstrap

Configure, build and install the software.

./configure && make && sudo make install && echo 'done!'

Use --disable-fuse and/or --disable-gcrypt if your system cannot meet those dependancies. (note that disabling gcrypt will prevent you from using encrypted login/password auth.)

The command line tool needs ncurses-dev and libreadline-dev to compile. Install them with sudo apt-get install ncurses-dev libreadline-dev on ubuntu/debian.

Usage

You can either use afpfs to mount an AFP share with fuse or with the command-line client.

fuse

Mount the time_travel volume from delorean.local (in this example, my time capsule's hostname) on /mnt/timetravel without authentication:

$ mount_afp afp://delorean.local/time_travel /mnt/timetravel

Same, with authentication:

$ mount_afp afp://simon:[email protected]/time_travel /mnt/timetravel

Same, with authentication, forcing the UAM of your choice (usually not needed):

$ mount_afp afp://simon;AUTH=DHX2:[email protected]/time_travel /mnt/timetravel

Unmount the volume:

$ fusermount -u /mnt/timetravel

command line client

Open volume time_travel on delorean.local:

$ afpcmd afp://simon:[email protected]/time_travel

Connect anonymously to delorean.local, list all available volumes:

$ afpcmd afp://simon:[email protected]/

cd to change directories, ls to list, get file to retrieve file, put file to put file... and help for a list of supported commands.

Credits and license

This is a fork of the original afpfs-ng project that has gone unmaintained for quite some time. It is so far the only available open source AFP client.

This repository includes many patches collected by the XBMC project (www.xbmc.org) as well as mine, in a bid to improve stability, performance and to implement new features.

Check AUTHORS for a somewhat complete list of contributors.

The original afpfs-ng webiste can be found on the Wayback Machine.

This project retains the original author's license and is distributed under the GPL.

afpfs-ng's People

Contributors

alexthepuffin avatar rdmark avatar demonfoo avatar mulbrich avatar simonvetter avatar

Stargazers

 avatar Dave Wongillies avatar

afpfs-ng's Issues

afpcmd: can't parse AUTH arguments

the internal URL parsing test fails:

afpcmd: test
Testing URL parsing
url doesn't parse
* Could not parse afp://user::name;AUTH=authtype:pa@@sword@server/volume/path
url doesn't parse
* Could not parse afp://username;AUTH=authtype:password@server/volume/path
url doesn't parse
* Could not parse afp://username;AUTH=authtype:password@server:548/volume/path
* Parsed afp://username:password@server/volume/path correctly
* Parsed afp://username@server/volume/path correctly
* Parsed afp://server/volume/path correctly
* Parsed afp://server/ correctly
* Parsed afp://server:22/ correctly
* Parsed afp://server:22 correctly
* Parsed afp://server:22/volume/ correctly

also, actually using the AUTH argument does not work

afpcmd: view leads to segfault

Connect to any server, create a new text file, use the "view" command on that text file. Segfault (Linux, macOS, FreeBSD)

afpcmd: mv to nested subdir is buggy

If you have a dir structure like: /1/2/ with dir "2" empty

And do mv file 1/2, then the file gets renamed to "2" and the dir "2" is removed

Note that this doesn't happen when doing mv file 1/2/ with a trailing slash

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.