yaxim - a lean XMPP/Jabber client for Android

Related tags

App yaxim
Overview

yaxim (Yet Another XMPP Instant Messenger)

yaxim is a lean Jabber/XMPP client for Android. It aims at usability, low overhead and security, and works on low-end Android devices starting with Android 4.0.

Check the yaxim homepage for latest news and downloads.

Features

  • Easy configuration and usability, using one XMPP account
  • Keeping your connection when the phone is started and on mobile/WiFi network changes
  • Chatting with friends and in group chats
  • Sending and receiving of text messages, images and files
  • Managing of your contact list
  • more...

Links

Build Instructions

yaxim is written in Java and source code is maintained in git. The official repository is yaxim-org, whereas experimental development work happens in ge0rg's repo. You will need Android Studio 3.x to compile the app.

To compile yaxim, the following steps need to be taken:

# fetch source code from github
git clone https://github.com/yaxim-org/yaxim.git
cd yaxim

# initialize submodules
git submodule init
git submodule update

# you can stop here, or go on to compile with gradle:

# compile and install debug version of yaxim or Bruno
gradle installYaximDebug
gradle installBrunoDebug

# compile release APKs for both
# create RELEASE_STORE_FILE according to http://stackoverflow.com/a/25391891/539443
gradle assembleRelease

License

MIT License

android-remote-stacktrace: Copyright (c) 2009 Mads Kristiansen, Nullwire ApS

MemorizingTrustManager: Copyright (c) 2010 Georg Lukas

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Comments
  • offline message end-to-end encryption via AGP

    offline message end-to-end encryption via AGP

    Security is essential for mobile instant messaging. While OTR is very common in Jabber implentations nowadays it is quite impractical in a mobile environment. In those environments network connections aren't stable, IPs change, partys become offline from time to time. As OTR needs both partys online for direct handshake OTR won't work flawlessly in such environments. One solution might be to give up some of the nice additional privacy properties of OTR and switch back to simply Public Key Crypto. Therefore:

    Please integrate AGP (http://thialfihar.org/projects/apg/) into Yaxim. Make Yaxim the first working secure mobile messenger!

    feature request 
    opened by hmeyer 18
  • check for server connection

    check for server connection

    Just got into situation when yaxim looked like it was connected, but actually it seemed not to be. Yaxim resource was not listed on my PC. After switching on WiFi the client successfully detected new connection and reconnected back.

    I'm sure if it is reproducible. Maybe there are some forms of ping-pong functionality in XMPP protocol like in IRC?

    connection service 
    opened by one-dash 18
  • Not enough notifications in carbon copy chat

    Not enough notifications in carbon copy chat

    You mentioned this in issue #104, but I finally understood what you meant, and I disagree with it. :-1: In a carbon copy chat, I would prefer if no notifications were only silenced for outgoing messages, but not for incoming ones. IIUC, at present all notifications after the first one are silenced.

    The scenario that makes this awkward is if you've somehow missed the first notification, you do not get a chance to recover, because no more notifications are played. I'll agree that this may be a matter of taste, but the number of messages I've missed this way since I've upgraded is staggering. :/

    opened by inducer 15
  • Use with carbons and gajim leads to crashes

    Use with carbons and gajim leads to crashes

    Hi there,

    when I enable carbons in both gajim and yaxim running against an ejabberd (git from two days ago), yaxim crashes. I sent a report via the Google crash reporter. What else can I do to help debug this?

    Thanks! Andreas

    connection 
    opened by inducer 14
  • Mobile-friendly homepage

    Mobile-friendly homepage

    We need a homepage that conveys the following information:

    • What is yaxim?
    • What distinct features do we have, compared to other XMPP clients?
    • Screenshots! Screenshots! More screenshots!
    • Download links to Market and APKs
    • Contact and support
    • GitHub links

    The page should be designed in a clean and mobile-friendly way (display well on Android 2.x, low footprint)

    The GitHub wiki is very cumbersome and heavy on mobile, even though it is easy to edit. We need something better soon!

    opened by ge0rg 14
  • Actionbar

    Actionbar

    Referring to this comment

    I think, my work on my actionbar branch may be ready for a review, therefore I am creating this pull request.

    What I implemented:

    • Action bar shows app title
    • The "home action" in the roster shows your current status and lets you change it
    • There are 2 additional actions on the right to toggle the visibility of offline contacts and to add new contacts
    • In the chat activity the home action (with the yaxim logo) brings you back to the roster, probably fixing issue #28
    • Reworked status icons so they fit into the action bar and are better recognizable there

    What needs clarification/work:

    • I would like to show the online status of the contact in the chat activity in some kind of sub-title, but that's not yet supported by the actionbar - I will have to patch it.
    • For now I don't show the connectivity status in the chat activity, because I think that information is redundant in the notification bar just a few pixels above.

    Sorry about the first 4 commits, they don't really fit into this work. I needed the first one to be actually able to build yaxim and I don't know how to get rid of the other 3 in this branch. I can "revert" them, if you don't want them.

    opened by michaelkanis 13
  • go away when screen is off / go DnD when phone is silent

    go away when screen is off / go DnD when phone is silent

    It would be very convenient to client set status to 'away' when device's screen goes off. The status message could be configurable by user. That's a standard feature for many smartphone IM clients

    feature request 
    opened by one-dash 12
  • reconnect fail

    reconnect fail

    i found have a presence status not send when reconnect. abnormal xml content

    D/SMACK   (26206): 04:39:25 下午 SENT (1120524336): <stream:stream to="61.144.230.158" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" version="1.0">
    D/SMACK   (26206): 04:39:25 下午 RCV  (1120524336): <?xml version='1.0' encoding='UTF-8'?><stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" from="61.144.230.158" id="e217ed1c" xml:lang="en" version="1.0">
    D/SMACK   (26206): 04:39:25 下午 RCV  (1120524336): <stream:features><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"></starttls><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>JIVE-SHAREDSECRET</mechanism><mechanism>PLAIN</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><compression xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><auth xmlns="http://jabber.org/features/iq-auth"/></stream:features>
    D/SMACK   (26206): 04:39:25 下午 SENT (1120524336): <starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>
    D/SMACK   (26206): 04:39:25 下午 RCV  (1120524336): <proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>
    D/SMACK   (26206): 04:39:26 下午 SENT (1120524336): <stream:stream to="61.144.230.158" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" version="1.0">
    D/SMACK   (26206): 04:39:26 下午 RCV  (1120524336): <?xml version='1.0' encoding='UTF-8'?><stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" from="61.144.230.158" id="e217ed1c" xml:lang="en" version="1.0"><stream:features><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>JIVE-SHAREDSECRET</mechanism><mechanism>PLAIN</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><compression xmlns="http://jabber.org/features/compress"><method>zlib</method></compression>
    D/SMACK   (26206): 04:39:26 下午 RCV  (1120524336): <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl"/>
    D/SMACK   (26206): 04:39:26 下午 SENT (1120524336): <stream:stream to="61.144.230.158" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" version="1.0">
    D/SMACK   (26206): 04:39:26 下午 RCV  (1120524336): <?xml version='1.0' encoding='UTF-8'?><stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" from="61.144.230.158" id="e217ed1c" xml:lang="en" version="1.0"><stream:features><compression xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
    D/SMACK   (26206): 04:39:26 下午 SENT (1120524336): <iq id="Q0q47-29" type="set"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><resource>android</resource></bind></iq>
    D/SMACK   (26206): 04:39:26 下午 RCV  (1120524336): <iq type="result" id="Q0q47-29" to="61.144.230.158/e217ed1c"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>[email protected]/android</jid></bind></iq>
    D/SMACK   (26206): 04:39:26 下午 SENT (1120524336): <iq id="Q0q47-30" type="set"><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></iq>
    D/SMACK   (26206): 04:39:26 下午 RCV  (1120524336): <iq type="result" id="Q0q47-30" to="[email protected]/android"/>
    D/SMACK   (26206): 04:39:26 下午 SENT (1120524336): <iq id="Q0q47-31" type="get"><query xmlns="jabber:iq:roster" ></query></iq>
    D/SMACK   (26206): User logged (1120524336): [email protected]@61.144.230.158:0/android
    D/SMACK   (26206): 04:39:26 下午 Connection reconnected (1120524336)
    D/SMACK   (26206): 04:39:26 下午 RCV  (1120524336): <iq type="result" id="Q0q47-31" to="[email protected]/android"><query xmlns="jabber:iq:roster"><item jid="[email protected]" name="nihao@15915454251" subscription="both"><group>recent</group></item><item jid="[email protected]" name="abc@13242031330" subscription="both"><group>recent</group></item></query></iq>
    

    the end i can't receive any message.

    the normal xml content:

    D/SMACK   (28371): 04:44:51 下午 SENT (1122240984): <stream:stream to="61.144.230.158" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" version="1.0">
    D/SMACK   (28371): 04:44:51 下午 RCV  (1122240984): <?xml version='1.0' encoding='UTF-8'?><stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" from="61.144.230.158" id="a0f0daa4" xml:lang="en" version="1.0">
    D/SMACK   (28371): 04:44:51 下午 RCV  (1122240984): <stream:features><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"></starttls><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>JIVE-SHAREDSECRET</mechanism><mechanism>PLAIN</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><compression xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><auth xmlns="http://jabber.org/features/iq-auth"/></stream:features>
    D/SMACK   (28371): 04:44:51 下午 SENT (1122240984): <starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>
    D/SMACK   (28371): 04:44:51 下午 RCV  (1122240984): <proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>
    D/SMACK   (28371): 04:44:51 下午 SENT (1122240984): <stream:stream to="61.144.230.158" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" version="1.0">
    D/SMACK   (28371): 04:44:51 下午 RCV  (1122240984): <?xml version='1.0' encoding='UTF-8'?><stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" from="61.144.230.158" id="a0f0daa4" xml:lang="en" version="1.0"><stream:features><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>JIVE-SHAREDSECRET</mechanism><mechanism>PLAIN</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><compression xmlns="http://jabber.org/features/compress"><method>zlib</method></compression>
    D/SMACK   (28371): 04:44:51 下午 RCV  (1122240984): <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl"/>
    D/SMACK   (28371): 04:44:51 下午 SENT (1122240984): <stream:stream to="61.144.230.158" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" version="1.0">
    D/SMACK   (28371): 04:44:51 下午 RCV  (1122240984): <?xml version='1.0' encoding='UTF-8'?><stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" from="61.144.230.158" id="a0f0daa4" xml:lang="en" version="1.0"><stream:features><compression xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
    D/SMACK   (28371): 04:44:51 下午 SENT (1122240984): <iq id="qW872-2" type="set"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><resource>android</resource></bind></iq>
    D/SMACK   (28371): 04:44:51 下午 RCV  (1122240984): <iq type="result" id="qW872-2" to="61.144.230.158/a0f0daa4"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>[email protected]/android</jid></bind></iq>
    D/SMACK   (28371): 04:44:51 下午 SENT (1122240984): <iq id="qW872-3" type="set"><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></iq>
    D/SMACK   (28371): 04:44:51 下午 RCV  (1122240984): <iq type="result" id="qW872-3" to="[email protected]/android"/>
    D/SMACK   (28371): 04:44:51 下午 SENT (1122240984): <iq id="qW872-4" type="get"><query xmlns="jabber:iq:roster" ></query></iq>
    D/SMACK   (28371): User logged (1122240984): [email protected]@61.144.230.158:0/android
    D/SMACK   (28371): 04:44:51 下午 SENT (1122240984): <iq id="qW872-6" type="set"><enable xmlns='urn:xmpp:carbons:2'/></iq>
    D/SMACK   (28371): 04:44:51 下午 RCV  (1122240984): <iq type="result" id="qW872-4" to="[email protected]/android"><query xmlns="jabber:iq:roster"><item jid="[email protected]" name="nihao@15915454251" subscription="both"><group>recent</group></item><item jid="[email protected]" name="哈哈@13242031330" subscription="both"><group>recent</group></item></query></iq>
    D/SMACK   (28371): 04:44:51 下午 SENT (1122240984): <presence id="qW872-7"><status></status><priority>0</priority><c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://www.igniterealtime.org/projects/smack" ver="3YmikjSEMVj608AOmlVKqaBwfbk="/></presence>
    D/SMACK   (28371): 04:44:51 下午 RCV  (1122240984): <iq type="result" id="qW872-6" to="[email protected]/android"/>
    D/SMACK   (28371): 04:44:51 下午 RCV  (1122240984): <presence id="qW872-7" from="[email protected]/android" to="[email protected]/android"><status/><priority>0</priority><c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://www.igniterealtime.org/projects/smack" ver="3YmikjSEMVj608AOmlVKqaBwfbk="/></presence>
    
    opened by chasel 11
  • Does not connect by system start

    Does not connect by system start

    Wenn I start Android yaxim fails to connect my account most times (I experienced only once that it worked). After I close the app and restart it, it works. I tried with the f-droid and the nightly version. The error message is "getaddrinfo: EACCES (Permission denied)". It tries again and again, but fails always.

    opened by jonnius 11
  • Cannot connect since 0.8.4

    Cannot connect since 0.8.4

    Hi,

    Since I upgraded to version 0.8.4, I cannot connect. Not sure it is caused by Yaxim, but I get this error in the logcat:

     W/System.err( 8912): org.xmlpull.v1.XmlPullParserException: undefined prefix: stream (position:START_TAG <{null}stream:error>@1:14 in java.io.BufferedReader@407
    ef288)
    W/System.err( 8912):    at org.kxml2.io.KXmlParser.exception(KXmlParser.java:273
    )
    W/System.err( 8912):    at org.kxml2.io.KXmlParser.error(KXmlParser.java:269)
    W/System.err( 8912):    at org.kxml2.io.KXmlParser.adjustNsp(KXmlParser.java:248
    )
    W/System.err( 8912):    at org.kxml2.io.KXmlParser.parseStartTag(KXmlParser.java
    :751)
    W/System.err( 8912):    at org.kxml2.io.KXmlParser.nextImpl(KXmlParser.java:342)
    W/System.err( 8912):    at org.kxml2.io.KXmlParser.next(KXmlParser.java:1378)
    W/System.err( 8912):    at org.jivesoftware.smack.PacketReader.parsePackets(Pack
    etReader.java:325)
    W/System.err( 8912):    at org.jivesoftware.smack.PacketReader$1.run(PacketReade
    r.java:70)
    
    

    Reverting to version 0.8.2 makes it work again.

    Regards, Valentin Lorentz

    Sent via Hubroid

    opened by progval 11
  • yaxim licensing is inconsistent: change license to GPLv3

    yaxim licensing is inconsistent: change license to GPLv3

    Currently, yaxim is licensed under GPLv2, and uses Apache-licensed SMACK and ActionBarSherlock. Unfortunately for us, GPLv2 and Apache are incompatible, therefore yaxim can not be distributed as it is right now.

    As we can not kick out either library, we need to make yaxim compliant by "upgrading" to GPLv3. For this, I would like to get the OK from all devs who integrated more than 10 commits into yaxim (the code from other contributors can be rewritten rather easily if they care enough to complain).

    My smart git log analysis revealed that the following persons are in this elitarian group:

    • Georg Lukas (thats me, I'm ok with the change)
    • Sven Pfleiderer
    • Jan Kiszka (OK)
    • tuxmobil (OK)
    • Michael Kanis (OK)

    Everybody listed above, please state if you are ok with a license change to GPLv3!

    opened by ge0rg 10
  • Make scanning clipboard for JIDs optional

    Make scanning clipboard for JIDs optional

    It might be a

    convenience feature [ see #280 ]

    but some people don't need/want this feature. So make this feature an opt-out - feature. Until now I could not find any setting which disables this feature.

    You could, if disabled, add an additional Screenshot_20221223-095757~2.png - menu Entry where the user can execute this feature manually if needed.

    opened by NCC1701M 2
  • WIP: switch to monal-im/fpush push system

    WIP: switch to monal-im/fpush push system

    These are the needed changes to make yaxim use the new fpush pushserver rather than the old abandoned mod_push_appserver.

    The title is prefixed with "WIP:" because I could not get the build system to build the project (some missing dependencies) and thus wasn't able to check if it compiles cleanly.

    opened by tmolitor-stud-tu 0
  • Share with yaxim: intent not cleared

    Share with yaxim: intent not cleared

    When you share an image with yaxim, then switch to another app, then come back, the intent will remain in the activity stack and the image will be reposted each time you bring the original chat to the foreground.

    frontend 
    opened by ge0rg 0
  • HTTP Upload headers not used

    HTTP Upload headers not used

    • yaxim 0.9.9a-4-g e27e415
    • XEP-0363 implementation utilizing <header>
    C:
    <iq to='share.example.net' id='y6mO8-120' type='get'>
      <request xmlns='urn:xmpp:http:upload:0' filename='IMG_20210129_012916.jpg' size='199871' content-type='image/jpeg'/>
    </iq>
    
    S:
    <iq id="y6mO8-120" to="[email protected]/yaxim.859C45FD" type="result" from="share.example.net">
      <slot xmlns="urn:xmpp:http:upload:0">
        <get url="https://share.example.net/file_share/o35x3G_omPCeWzZw/IMG_20210129_012916.jpg"/>
        <put url="https://share.example.net/file_share/o35x3G_omPCeWzZw/IMG_20210129_012916.jpg">
          <header name="Authorization">Bearer u3y6RZrNvRAkgKZT_Yge</header>
        </put>
      </slot>
    </iq>
    

    On upload the HTTP PUT request is missing the Authorization header.

    Support for headers is mandatory

    [...] the client MUST include all allowed headers that came with the slot assignment.

    frontend xep 
    opened by Zash 0
Owner
yaxim Organization
This is the group developing the yaxim XMPP client
yaxim Organization
An unofficial Zerotier Android client patched from official client

An unofficial Zerotier Android client patched from official client

KAAAsS 819 Dec 29, 2022
MEGA Android Client - A fully-featured client to access your Cloud Storage provided by MEGA

A fully-featured client to access your Cloud Storage provided by MEGA. This document will guide you to build the application on a Linux machine with Android Studio.

Mega Limited 1.1k Jan 3, 2023
Twidere-Android Twidere is a powerful twitter client for Android 1.6+ 1 , which gives you a full Holo experience and nearly full Twitter's feature.

Twidere for Android Material Design ready and feature rich Twitter/Mastodon/Fanfou app for Android 4.1+. Enjoy Fediverse now! Twidere-Android is maint

Twidere Project 2.7k Jan 2, 2023
An MVP Dribbble client for Android Mobile, Tablet, Wear and TV.

Bourbon ![Sidebar] (https://img.shields.io/badge/Sidebar-06%2F05%2F2016-orange.svg) Bourbon is a simple Dribbble client built for Android Mobile, Wear

Joe Birch 1.1k Dec 12, 2022
An open source Hacker News client for Android.

Hacker News Come chat with us on Gitter.im! An open source Hacker News client for Android phones & tablets. Available on the Google Play Store How to

Matthew Bishop 227 Dec 11, 2022
📱:newspaper: Android client for the Nextcloud news/feed reader app

Nextcloud News Reader – Android App The Nextcloud News Reader Android App is under AGPLv3 License terms. Bugs and enhancements can be reported under:

Nextcloud 589 Dec 31, 2022
Android client for Seafile

Seafile Android Client The application has been published onto the market for easy access: Contributors See Contributors Graph Build the APK Make sure

null 462 Dec 29, 2022
GitHub client for Android based on the abandoned official app

ForkHub ForkHub started off as a fork of the official Android app from GitHub, and has since seen lots of improvements. You can see a comprehensive li

Jon Ander Peñalba 2.8k Dec 28, 2022
📱:newspaper: Android client for the Nextcloud news/feed reader app

Nextcloud News Reader – Android App The Nextcloud News Reader Android App is under AGPLv3 License terms. Bugs and enhancements can be reported under:

Nextcloud 591 Jan 8, 2023
An android client application for the awesome kanji learning website wanikani.com

End of Life This project has reached EOL status. It will no longer be updated, patched, or supported. If you are interested in continuing the work, fe

İhsan Işık 507 Nov 12, 2022
A simple android Twitter client written in Kotlin

Blum Blum is an unofficial, simple, fast Twitter client written in Kotlin. This project is a complete rewrite of the Java version. Screenshot Build To

Andrea Pivetta 77 Nov 29, 2022
A project which demonstrate how to develop a custom client on android for dribbble.com

##What is this? This is a project with custom client app on android for https://dribbble.com, which you can browse the popular icon and animation, lik

ZhangLei 599 Nov 14, 2022
A light Sina Weibo client for Android

BlackLight 新浪微博客户端 请注意,当前BlackLight的开发已经被冻结,直到2016年高考后重启。 The development progress has been FROZEN till June 2016. 详细介绍以及Changelog请见Play商店。 https://pl

Paper Airplane Dev Team/纸飞机开发团队 884 Nov 22, 2022
DNS over HTTPS / DNS over Tor / DNSCrypt client, firewall, and connection tracker for Android.

RethinkDNS + Firewall for Android An OpenSnitch-inspired firewall and network monitor + a pi-hole-inspired DNS over HTTPS client with blocklists. In o

null 1.1k Jan 5, 2023
Twire is an alternative and open source Twitch client for Android

Twire This is a fork of the Pocket Plays for Twitch Android application. More information in this issue. Twire is an open source, ad-free Twitch brows

Twire 749 Jan 2, 2023
Github client for Android

OctoDroid This application provides access to GitHub and lets you stay connected with your network Download Main features Repository List repositories

Azwan Adli 1.5k Dec 30, 2022
This is a Reddit client on Android written in Java

Infinity-For-Reddit This is a Reddit client on Android written in Java. It does not have any ads and it features clean UI and smooth browsing experien

null 2.6k Jan 9, 2023
Free and Open Source, full-featured torrent client for Android

Free and Open Source, full-featured torrent client for Android

Yaroslav Pronin 1.3k Jan 8, 2023
Redditek - A reddit client for Android developped in Kotlin

Redditech The Redditech project is a reddit client created using Kotlin and Redd

Arthur Robine 1 Jan 6, 2022